fix(daemon): emit post-reaper shutdown phase receipts - #1138
Conversation
Project-server drain and terminal store close waited serially after reaper join with no operator start/complete events, so a 5s harness kill could not name which phase stalled.
|
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. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3556f89789
ℹ️ 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".
| log_shutdown_phase( | ||
| "store_close", | ||
| "start", | ||
| store_close_started, | ||
| store_close_deadline, |
There was a problem hiding this comment.
Mark store close as skipped when servers time out
When project_servers.timed_out_count() > 0, these lines still emit store_close_start and later store_close_complete, even though the branch at lines 503–509 does not invoke the terminal owner and only constructs a timeout receipt. This makes the new operator telemetry claim that the durability close ran when it was actually skipped; emit a skipped/blocked outcome or place the boundaries around the branch that performs the close.
AGENTS.md reference: AGENTS.md:L9-L12
Useful? React with 👍 / 👎.
| #[cfg(test)] | ||
| capture_daemon_event_line(&line); | ||
| eprintln!("{line}"); |
There was a problem hiding this comment.
Verify the actual host-visible log sink
The #[cfg(test)] branch adds a shadow observation path to the shared production logger, and the new test scans that private Vec<String> rather than observing what reaches stderr. A regression between formatting and the host-visible sink could therefore leave the shutdown receipts absent while this test remains green; exercise the real process output instead of adding a test-only production port and string-scan acceptance path.
AGENTS.md reference: AGENTS.md:L121-L129
Useful? React with 👍 / 👎.
Performance Comparison
|
d5b6ee1
into
codex/tracedecay-total-redesign-plan-reopened
Summary
daemon_shutdownstart/complete receipts for project-server drain and terminal store close after retirement reapers joinelapsed_msanddeadline_remaining_msso a 5-second dogfood force-kill can name the stalled phase--stop-timeoutchangesNeeded to diagnose PR checkout dogfood force-kills (e.g. #1131 job 102359845662), which previously went silent after
retirement_reapers_joined.Verification
post_reaper_phases_emit_start_and_complete_receiptsplus 13 sibling orchestration tests--no-deps -D warnings, fmt, diff check, commitlint