Skip to content

Show elapsed time before Run and Spec run outcomes - #747

Merged
JacobStephens2 merged 4 commits into
mainfrom
issue-51
Oct 17, 2026
Merged

JacobStephens2 merged 4 commits into
mainfrom
issue-51

Conversation

@JacobStephens2

@JacobStephens2 JacobStephens2 commented Oct 17, 2026 •

Copy link
Copy Markdown
Owner

Summary

Report elapsed wall time for a top-level Run or Spec run on stderr before its final outcome, using the existing Run notification duration format.

command starts → sample monotonic clock
command ends
  skipped Pass / pure review → existing output
  child Run    → existing outcome
  top level    → Took: 1h 2m 3s → existing outcome/PR line

Closes #51

Evidence

  • Before: cargo test --test progress_lines ends_a_successful_run_by_naming_the_pr failed: expected one elapsed summary, found zero.
    After: The same test passes, with one elapsed line immediately before the PR outcome and only the PR URL on stdout, with notifications disabled.

  • Failure and graceful interruption checks preserve exit code 1 and the original cause.

  • A linear Spec run produces one elapsed summary; its two child Runs produce none.

  • Deterministic duration cases cover fractional seconds, minute/hour boundaries, and durations beyond 24 hours.

  • Final validation: cargo test (1783 passed, 2 ignored), cargo fmt --check, and cargo clippy --all-targets -- -D warnings passed.

Test seams

  • CLI command stdout, stderr and exit status, using real Git repositories and fake external Harness/GitHub executables: Run/Spec run endings, child Run suppression, failure, interruption, disabled notifications and skipped Pass output.
  • Shared progress duration formatter: injected Duration values at second/minute/hour boundaries, preserving the Run notification's existing format.

Unaddressed findings

Standards: None.

Spec: None.

Security: None.

Security review outcome

No unaddressed introduced findings.

Review coverage

  • Security: Guidance-mode review of git diff b58d24d287aa956679f59341482eaaf709dc9a64...HEAD and supporting command lifecycle, logging, notification and child-output code found no introduced security findings. Read the relevant attack-class guidance; no repository SECURITY.md or dedicated threat model was present. Offline checks in a network-isolated sandbox passed: 43 unit tests, all 11 progress_lines integration tests, and the linear Spec run test.
  • Standards: S1 (duplicated elapsed assertions) addressed with shared test support. No remaining findings; unread changed files: none.
  • Spec: SPEC-1 (elapsed output on pure Architecture/Security passes) reproduced with the reviewer's exact command, fixed, and retained as a regression test. The exact command failed before and passed after. No remaining findings; unread changed files: none.

Reports are retained in .thirdshift-review-wZmfRL/standards.md and .thirdshift-review-wZmfRL/spec.md in the Run's worktree.

Merge Danger

Door: two-way

Blast Radius: terminal

Adds a stderr summary to top-level Run/Spec endings. Existing outcomes, stdout URLs, exit codes and notification content are preserved.

Built with codex · gpt-6.1-sol · high

@JacobStephens2
JacobStephens2 marked this pull request as draft October 17, 2026 05:55
@JacobStephens2
JacobStephens2 marked this pull request as ready for review October 17, 2026 05:55
@JacobStephens2
JacobStephens2 merged commit 106d16e into main Oct 17, 2026
18 checks passed
@JacobStephens2
JacobStephens2 deleted the issue-51 branch October 17, 2026 06:12
@JacobStephens2 JacobStephens2 mentioned this pull request Oct 17, 2026
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.

show time run too in stderr output near end of run before the PR line perhaps

1 participant