Skip to content

Record live Runs and add machine-wide status - #777

Merged
JacobStephens2 merged 3 commits into
issue-711from
issue-768
Oct 18, 2026
Merged

JacobStephens2 merged 3 commits into
issue-711from
issue-768

Conversation

@JacobStephens2

@JacobStephens2 JacobStephens2 commented Oct 18, 2026 •

Copy link
Copy Markdown
Owner

Summary

Run on an Issue URL
  → atomically replace its Command record at each stage
  → retain outcome, cause, and observed branches/PR left behind
status [--json]
  → read every repository under logs.dir
  → compare process id and native process start identifier
  → show live Commands or “died at <stage>”

Adds host, issue/title, Harness/Model/Effort, Session log, stage history and stage age. Documents the version 1 JSON API for agents and the Console. Record write failures warn once without changing the Run's outcome. Broader Command kinds and history remain in #711's later Tickets.

Closes #768

Evidence

  • Before: cargo test --test status rejected status as an Issue URL. Exact Spec reproductions failed on incorrect retained branch facts and colliding record filenames.
    After: All nine status tests, all nine Continuation tests, and all eleven Command-log tests pass. All three branch reproductions and the exact collision test pass; their tests are retained.
  • Recorder effects tests cover one warning on write failure, unchanged outcome, a reused process id, and separate records for Commands sharing an issue and stamp.
  • Final checks: cargo fmt --check; cargo clippy --all-targets -- -D warnings; cargo nextest run --test-threads 8 --no-fail-fast --status-level fail --final-status-level fail — 1,881 passed, 2 skipped. The full cargo test run also passed; Nextest validates the final committed tree including the last record-isolation fix.
  • Tested on Linux. The macOS path uses native proc_pidinfo start timestamps and zombie detection; macOS execution remains for CI.

Test seams: the thirdshift binary with the existing fakes and a waiting Harness; the existing recorder effects adapter for write failures and reused process ids.

Review coverage: Standards and Spec each read all 18 changed files, including supporting sources. No generated-output exclusions. No changed file was left unread. The Standards stage-type finding and both Spec findings (branch retention and record ownership) are addressed.

Unaddressed findings

  • Standards: None.
  • Spec: None.

Merge Danger

Door: two-way

Additive Command records and a read-only CLI; existing logs remain usable after rollback.

Blast Radius: observability

Run lifecycle recording and machine-wide status. Recording failures leave delivery outcomes unchanged.

Built with codex · gpt-6.1-sol · high

@JacobStephens2
JacobStephens2 merged commit dc99a35 into issue-711 Oct 18, 2026
18 checks passed
@JacobStephens2
JacobStephens2 deleted the issue-768 branch October 18, 2026 15:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant