Repository navigation
Record child Runs and Spec runs in Command status - #781
Merged
Merged
Conversation
Combine Pass stages, dispatch records and idle status with independently written child Run records. Keep same-process dispatches in dispatched and child processes in children, preserving each child's dispatch context.
Preserve child Run and Spec Ticket trees in recent and complete Command history. Retain completion times and history provenance, and cover completed child trees alongside historical filtering. Validation: cargo check --all-targets; cargo fmt --check; cargo clippy --all-targets -- -D warnings; cargo test (1,902 passed, two ignored).
This was referenced Oct 18, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Command records and text/JSON
statusnow cover the whole Command tree. Each process atomically replaces only its own record; the README documents the added fields.Closes #769.
Evidence
status_nests_a_pickups_spec_with_running_waiting_merged_and_not_started_ticketsfailed becausecommandswas empty during the Pickup run.After: the same test passes, showing Pickup → Spec → concurrent-capable child Runs and the complete Ticket roster. Tests also cover failed Tickets, Spec review, completed child stages, and a SIGKILL child reported as
died at implement.status_shows_a_base_fix_under_the_run_that_started_itfound the child labeledRun.After: it passes with
Base fixnested under its starting Run.cargo test --test status status_names_a_foreign_blocker_without_making_a_ticket_look_self_blocked -- --exact --nocapture, failed withTicket #21 · waiting on #21for a foreign blocker.After: that exact command passes; foreign blockers keep their full URL. The regression is retained.
Test seams
thirdshiftbinary with the existing fake GitHub and Harness: Pickup dispatch, Spec Ticket states and concurrent Runs, Base fix nesting, killed child liveness, and text/JSON status.Review coverage
Independent Standards and Spec reviews used
issue-711, pinned toorigin/issue-711atdc99a350f295d12ecee683f0e183bc1bddde7d63. Both reviewers inspected the 14 files changed through9e8ba5b, including the finding fixes and regression. The final diff has 15 changed files. No generated-output exclusions.Unread under both Standards and Spec:
tests/command_logs.rs, and the later title-lookup ordering correction insrc/run.rs(earlier hunks were reviewed). After the bounded follow-ups, the full suite exposed older log inventory assertions and two continuation regressions. The test helper now excludes metadata files while preserving all log assertions; top-level Runs again fetch their title after Claim creation, with the new early lookup restricted to child Runs. The implementing agent inspected both corrections.Standards: one P3 duplication finding, addressed by sharing completion accounting in
CommandRecord::finish. Spec: one P2 foreign-blocker naming finding, reproduced with the reviewer's exact test and fixed. Both follow-up reviews found no additional findings.Unaddressed findings
Standards
None.
Spec
None.
Merge Danger
Door: two-way
Additive record fields default when reading earlier records; no record migration or deletion.
Blast Radius: status
Changes record creation and status rendering for Runs, Spec runs, Pickup dispatches and Base fixes. Factory scheduling and Delivery decisions retain their existing behavior.
Built with codex · gpt-6.1-sol · high