Skip to content

Record host Suspended time in Command stages and show - #2038

Merged
JacobStephens2 merged 3 commits into
issue-2026from
issue-2032
Nov 11, 2026
Merged

JacobStephens2 merged 3 commits into
issue-2026from
issue-2032

Conversation

@JacobStephens2

@JacobStephens2 JacobStephens2 commented Nov 11, 2026 •

Copy link
Copy Markdown
Owner

Summary

every 30 seconds, and before stage transitions
  compare wall-clock elapsed with monotonic elapsed
  gap ≥ 60 seconds → save stage Suspended time + one Command log line
show → full wall-clock stage time · Suspended time (when nonzero)

Closes #2032

Test seams: the Command recorder with its scripted Outside clock/files adapter; persisted Command-record deserialization; the thirdshift show CLI in text and JSON.

Evidence

Execution evidence

  • Before: cargo test --bin thirdshift logs::recording::tests
    The new live-stage regression failed with left: Null, right: 120 (30 passed; 1 failed).
    After: the same command passed (33 passed; 0 failed), covering live persistence, one log line per suspension, ignored 30-second clock steps, repeated suspensions, stage transitions, completion and every Command kind. Suspensions are scripted; no test sleeps to produce one.
  • Before: cargo test --test show_logs show_explains_suspended_stage_time_in_text_and_json_and_reads_legacy_stages
    Failed because output contained only implement · 2026-10-03T12:00:00-04:00, without the requested time annotation (0 passed; 1 failed).
    After: the same command passed (1 passed; 0 failed), checking 10 hr 6 min · 9 hr 40 min suspended, unchanged wall-clock seconds and a legacy stage without an annotation or suspension field. The complete show_logs file also passed (17 passed; 1 fixture entry ignored).
  • Final local validation: NEXTEST_TEST_THREADS=3 CARGO_BUILD_JOBS=3 scripts/affected-tests refs/remotes/origin/issue-2026 passed: 68 site tests and 4,237 Rust tests passed; 97 Rust tests skipped. cargo fmt --check also passed.
  • CI passed on 5ad1a81e, including the full Rust suite, cargo fmt --check, cargo clippy --all-targets -- -D warnings, and the Console and site browser checks.

Visual evidence

Manual: Show and read one Command, 1440×900 (desktop).

Before
After

Architecture: Run metrics and Command details, 1440×900 (desktop).

Before
After

Manual: Show and read one Command, 390×844 (mobile).

Before
After

Architecture: Run metrics and Command details, 390×844 (mobile).

Before
After

Unaddressed findings

Standards

None.

Spec

None.

Security

None.

Security review outcome

No unaddressed introduced findings.

Review coverage

thirdshift-code-review compared against refs/remotes/origin/issue-2026 (acb42c1f). Standards raised one low judgement-call finding about duplicated test setup; commit 5ad1a81e addressed it. Spec raised zero findings. Both reviewers read all 12 changed files, including the generated manual's changed HTML. Changed files left unread: none. Generated-output exclusions: none. Reports and initial finding counts are saved in .thirdshift-review-f56kd4/.

Merge Danger

Door: two-way

Rollback restores the previous recorder and display. Existing Command records parse with zero Suspended time; new records omit the field when zero.

Blast Radius: recording

Shared Command recording and show text/JSON. Each Command adds one sampler thread; stage times remain wall-clock times.

Built with codex codex-cli 0.167.1 · gpt-6.1-sol · xhigh

@JacobStephens2
JacobStephens2 merged commit 408359c into issue-2026 Nov 11, 2026
16 checks passed
@JacobStephens2
JacobStephens2 deleted the issue-2032 branch November 11, 2026 18:05
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