Conversation
There was a problem hiding this comment.
1 issue found across 380 files
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="packages/capture-kit/src/durable-capture/session-binding.fixtures.ts">
<violation number="1" location="packages/capture-kit/src/durable-capture/session-binding.fixtures.ts:22">
P3: `lookup` throws "Test session retired" whenever the address has no entry, including the first-time case where `set` was never called for it (all callers `set` before binding). A never-registered session isn't retired, so the message misleads when a test binds to a typo'd or unseeded address. Use a distinct message for the unregistered case, e.g. "Test session not found".</violation>
</file>
Note: This PR contains a large number of files. cubic selects up to 200 of the highest-priority eligible files for this review, so some files may not have been reviewed.
Re-trigger cubic
971332d to
26db357
Compare
d3d0c57 to
7e46a5a
Compare
Size Report
Startup median (7 runs, lower is better):
|
26db357 to
bc132d7
Compare
e4ea909 to
408192c
Compare
bc132d7 to
2ce928f
Compare
|
Rechecked the original 26-thread review against the runtime tree inherited from #3170 at The scanner fixes are at Four threads are resolved with evidence: log truncation preserves its inode; the legacy guard control never waits behind an external guard; release already waits for the guard; and a real exclusive write against the hardened lock directory returns handled The remaining owning-layer reviews stay open:
Test-control and documentation findings are tracked too: distinguish successor envelopes, assert cleanup reports, remove stale fixture projections/no-op methods, make the zombie control match its title, and strengthen the remaining fixture controls. The guard-held release assertion and ADR release wording are now corrected in the later parent The earlier “fake process group” diagnosis was too strong. In #3131’s exact-head Integration Tests job, screenshot cleanup signals group These follow-ups remain tracked in #3116. Review findings are assessed at their owning boundary, including regression controls, before resolution. |
408192c to
94807d3
Compare
|
At 2ce928f the R7 gate still misses foreign session writes in most files that hold a The rule to enforce is this: every Could the Not blocking: the same ~120-line tracking layer exists only to avoid a false match when The open cubic-dev-ai threads do not apply to this 2-file diff, so please resolve them. They point at files outside this change (inherited from the #3170 base or not in this diff): interaction-touch-fill.ts:213, daemon-client-lifecycle.ts:232, session-repair-tombstone.ts:74, session-test-suite.test.ts:500, screen-recording-session-binding.ts:15, screen-recording-session-binding.ts:19, capture-kit adoption.ts:66, daemon-registration-owner.ts:318, selector-runtime-backend.ts:90, host-kit process-lock.ts:189, installation.md:123, store-factory.ts:22, session-binding.fixtures.ts:22, session-replay-divergence-observation.test.ts:130, app-log-session-resource.test.ts:382, adoption.test.ts:91, failed-finish.test.ts:149, daemon-exit-wait.test.ts:223, durable-capture-resource.fixtures.ts:67, daemon-client-lifecycle.ts:429. I read the code but did not run the scanner or its tests, so the gap above comes from reading |
2ce928f to
14c30ab
Compare
408192c to
111f50f
Compare
|
Consolidated into #3155 as part of reducing #3116 to seven PRs. The composition preserves the complete pre-consolidation source tree, including tests and later review corrections. This PR is superseded; its review discussion and native evidence remain available. Outstanding findings transfer to the owning keeper in the implementation record. |
|
Summary
Finish the session-write scanner review for #3155 and #3116. Optional chains, record clones/rest copies and destructured refs keep their ownership identity. Nested writes through a tracked
SessionRef.sessionreach R7; unrelated request session names stay outside that recognition.Patch-return collection skips nested functions. Fixtures must parse as valid modules, preventing parser recovery from masking invalid examples. Two files changed; the scanner remains a scoped AST gate.
Validation
Reconciled head:
14c30ab142d4e977ab6467f3fc84a070f59e0294. The review base pins #3170 at111f50f783b703adc6731537f9b3581bae4b040e; #3170 remains a prerequisite.pnpm check:affected --base 111f50f783b703adc6731537f9b3581bae4b040e --runpasses all runnable checks.git range-diffconfirms the reviewed patch is unchanged; both files are byte-identical to the prior head.2ce928f5e6. Checks on the reconciled head are pending. No device run is required for this tooling-only diff.