Skip to content

Explain Suspended time in stage views and exclude it from Usual ranges - #2059

Merged
JacobStephens2 merged 1 commit into
issue-2026from
issue-2034
Nov 11, 2026
Merged

JacobStephens2 merged 1 commit into
issue-2026from
issue-2034

Conversation

@JacobStephens2

@JacobStephens2 JacobStephens2 commented Nov 11, 2026 •

Copy link
Copy Markdown
Owner

Summary

 stage time = full wall-clock interval
+show / status / Console details / Lanes / Stages: · <duration> suspended when recorded
-Usual range: every completed stage sample
+Usual range: completed stage samples without Suspended time
 Run metrics: full wall-clock seconds and minutes

Closes #2034.

Evidence

Execution evidence

  • cargo test --test status usual_ranges_leave_out_suspended_stages_and_keep_legacy_and_zero_samples
    Before: FAILED; implement bounds were 150.0–375.0 seconds and the all-suspended Repair stage incorrectly had a 120.0–120.0 range.
    After: 1 passed; 0 failed. Bounds are 120.0–240.0; legacy and explicit-zero samples count, clean stages in suspended Commands count, and all-suspended stages have no range.
  • cargo test --test console time_pages_and_command_details_explain_suspended_wall_clock_stage_times
    Before: FAILED on /stages: annotation count left: 0, right: 1.
    After: 1 passed; 0 failed; checks Stages, Lanes and Command details, including ordinary stages and full wall-clock seconds.
  • cargo test --test run_health status_explains_suspended_stage_time_without_changing_its_wall_clock_age
    Before: FAILED; output ended with implement · 10 hr 6 min, missing the recorded suspension.
    After: 1 passed; 0 failed; positive Suspended time is annotated, zero and legacy stages add nothing, and the wall-clock age is retained.
  • Run metrics regression: show_explains_suspended_stage_time_in_text_and_json_and_reads_legacy_stages checks 36360 stage seconds, 606 stage minutes and 607 total minutes through metrics --json.
  • cargo test --test status --test console --test run_health --test show_logs: 400 passed; 0 failed (four ignored subprocess entry points).
  • CARGO_BUILD_JOBS=2 NEXTEST_TEST_THREADS=3 RUST_TEST_THREADS=3 scripts/affected-tests refs/remotes/origin/issue-2026: site tests (68 tests) and cargo build --locked passed. The local Console run had 196 passed, 1 failed: the existing “Start Fix run forwards only to the owning machine with its current run permission” flow timed out in page.waitForURL after 5000 ms. The selector stopped before running the Rust suite.
  • node --test --test-name-pattern='^Start Fix run forwards only to the owning machine with its current run permission$' console/tests/start.test.cjs: 1 passed; 0 failed, rerunning that exact flow.
  • CI passed on published commit d201c8df315ebd8f60f35d9b2303a16ecf30b1c8: the full Rust suite (cargo nextest run), the full Console browser suite, site tests, formatting and clippy. Reused the successful full-suite CI result for this exact head, as the repository's testing guidance requires.

Visual evidence

Stages, 1440×900:

Before
After

Stages, 390×844:

Before
After

Command details, 1440×900:

Before
After

Command details, 390×844:

Before
After

Test seams

  • Console HTTP pages and show --json over fixture Command records: stage annotations and wall-clock durations.
  • status text and JSON over a live fixture Command: timed stage annotation with legacy and explicit-zero compatibility.
  • status --all --json and metrics <command> --json over fixture records: Usual range samples, insufficient samples, and wall-clock Run metrics.

Review coverage

Independent Standards and Spec reviews against refs/remotes/origin/issue-2026: 0 Standards findings; 0 Spec findings. Both read all 13 changed files, including generated site/docs/index.html. Generated-output exclusions: none. Unread changed files: none.

Unaddressed findings

Standards

None.

Spec

None.

Security

None.

Security review outcome

No unaddressed introduced findings.

Merge Danger

Door: two-way

Read-only display and sample selection; no record migration.

Blast Radius: observability

Stage annotations and Usual ranges on this machine; Run metrics retain wall-clock time.

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

@JacobStephens2
JacobStephens2 merged commit 4a924c1 into issue-2026 Nov 11, 2026
16 checks passed
@JacobStephens2
JacobStephens2 deleted the issue-2034 branch November 11, 2026 19:53
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