Conversation
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes
- Initialize pending-prompt state in the retention fixture — the fixture now passes
prompts: new ClaudePromptRegistry()alongsidechildWorkandtranslatortodrainClaudeChildWork, satisfying the session parameter's now-requiredpromptsfield.
The production contract in src/main/claude/claude-child-work-evidence.ts:146 picks 'childWork' | 'translator' | 'prompts', and claudeWaitingChildIds reads session.prompts.awaitsAnswer(...) (:127). ClaudePromptRegistry is exactly ClaudeSession.prompts (src/main/claude/claude-structured-session-state.ts:159), so the fixture state is the real type, not a stub. An empty registry makes awaitsAnswer always false, so draining adds no waiting children and the retention test's 50 MiB output, digest, truncation, and no-extra-join assertions still pin the same behavior.
Making the field optional instead would hide missing state in real sessions, so initializing it in the fixture is the right call for a test-only repair.
Verified locally: the focused suite passes (3 tests) and pnpm tc:node exits 0 against this head.
deepseek-v4.1-flash (free via Pullfrog for OSS) | 𝕏
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. 🧰 Additional context used📚 Code guidelines (1)No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (1)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 6 remain after this review. 📝 WalkthroughWalkthroughThe large-result retention test now imports Priority: ⬇️ Low Merge Risk: ⚪ Minimal · up to This change only updates test setup; the large-result retention checks remain in place, with no production behavior change or actionable merge-blocking risk. Architecture SummaryArchitecture risk: 🔵 Low · up to The change affects 1 system. Changed systems: Architecture concerns Review detailsSystems and components
Before / after behavior
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings
🛠️ Fix failing CI checks 💡
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Closing this duplicate after #24952 merged both fixture repairs into main at I verified the merged changes and all published checks passed or were skipped, including all five test shards and typechecks. Our separate fixture qualification remains preserved; no commit from this PR is claimed as merged. Thanks @OrcaWin for the merged repairs, and @brennanb2025 for the original tests in #22634 and #24518. |

ELI5
Main's Node typecheck fails because the Claude output-retention test omits the session's new pending-prompt state. Initialize that state so the existing test can compile again.
What Changed
The retention fixture supplies an empty instance of the existing Claude prompt registry alongside its child-work decoder and journal translator. Its 50 MiB output, digest, truncation and no-extra-join assertions remain intact.
Why
The updated child-work reader requires the registry to identify children waiting on permission. Giving this test the same session state keeps that contract checked; making the production field optional would conceal missing state in real sessions.
Linked Issue
Follow-up to #22634, contributed by @brennanb2025. This fixes the omitted fixture initialization after that merge.
Visual Proof
N/A — this initializes test state and changes no product interface.
Testing
Exact main
752871bindependently reproduces the missing-promptsNode type error. The one-file repair passes the Node typecheck, 19 tests across the retention and permission-request suites, full-file lint, formatting, all six changed-code checks and the official full-repository anti-slop scan. Tests use background launch mode and private HOME, XDG and temporary directories.Review
Independent read-only review confirms that the empty registry has no pending requests or callbacks and all other 32,306 parent source entries remain exact. No production Claude or execution protocol changes are included.
Agent skill upstream boundary
Notes
The fixture uses the existing platform-independent registry. SSH, mobile and native input behavior are outside this test-state repair.
Checklist