Repository navigation
fix(planning): cover the person-held Reconfirm and fix the receipt-line race - #7301
Conversation
…ine race A Reconfirm of a someone-else-decides deferral with a new name typed over the kept one now has a ui_c check that fails when reconfirmOf drops `who`. The ui_c.6 receipt-line flake: the 2 s tick rendered the header before it asked unheard(), so when the 30 s deaf threshold fell between the two calls the rail chip read "No session is listening" while the receipt line still read "Sent to Claude" until the next tick. The tick now renders the rail first, and the check waits on the receipt line instead of reading it once. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01C8UZGiNHApTFuNQ9zKFKk3
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01C8UZGiNHApTFuNQ9zKFKk3
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Claude finished @kyle-sexton's task in 46s —— View job Security review — no issues found
Result: No security-relevant surface. The diff touches only a local test harness: a |
|
claude-security-review has reviewed this pull request through b7f10b6; a later push is reviewed from there. |
|
Claude finished @kyle-sexton's task in 4m 31s —— View job Code review complete
Scope: Findings: none. Traced both fixes against the code they touch:
No paved-path row exists in |
|
Claude finished @kyle-sexton's task in 52s —— View job Security review (
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2a0c89d016
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
claude-review has reviewed this pull request through b7f10b6; a later push is reviewed from there. |
… tick Rendering the rail before the header still let the header lead the rail when unheard() was false at the check and turned true inside renderHeader(). The tick now renders the header, reads unheard() once, and on a flip redraws the rail and then the header. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01C8UZGiNHApTFuNQ9zKFKk3
|
Claude finished @kyle-sexton's task in 49s —— View job Security review (
|
|
Claude finished @kyle-sexton's task in 2m 2s —— View job Code review complete (incremental:
|
No related issue: follow-ups to #7278 and #7280 (interview web view).
Summary
Adds the missing regression check for the person-held Reconfirm fix from #7278, and removes the cause of the intermittent
ui_c.6"the receipt line says the same" failure insurface.test.sh.Fix
ui_cphase 1 check stales asomeone else decides: Danadeferral, typesLee, the architectover it, Reconfirms, and expects the saved defer textsomeone else decides: Lee, the architect. Withwho: personOf(d)removed fromreconfirmOf, it fails (the event text isLee, the architect).unheard()to decide whether to re-render the rail.deaf()is time-based, so when the 30 s threshold fell between those two calls the rail chip read "No session is listening" while the receipt line kept "Sent to Claude" until the next tick. The tick now renders the header, readsunheard()once, and on a flip redraws the rail and then the header;unheard()only turns true as time passes, so neither side can lead the other on that tick (the rail-first version still let the header lead, per the Codex review).surface.test.shskip count 472 -> 473 for the new check; changelog fragment under.changes/planning/.Verification
renderHeader()andunheard()in a scratch copy: phase 6 failed 3/3 with[Sent to Claude: D1]. With the fixed page (delay moved between the rail and header), 3/3 pass; with the old page and the new check, 3/3 pass.surface.test.shfailed the new check; restored.surface.test.shx3 on 2a0c89d: PASS=513 FAIL=0 SKIP=0 each run. On b7f10b6 (final tick): the 1.5 s delay beforeunheard()with the old single-read check passes 3/3;surface.test.shPASS=513 FAIL=0 SKIP=0.watch.test.shPASS=28 FAIL=0;test_round175 OK,test_server194 OK (1 skip),test_exporters171 OK,test_schema25 OK.Related
🤖 Generated with Claude Code
https://claude.ai/code/session_01C8UZGiNHApTFuNQ9zKFKk3