Skip to content

Show Run metrics and weekly trends - #1150

Merged
JacobStephens2 merged 5 commits into
issue-981from
issue-1036
Oct 23, 2026
Merged

JacobStephens2 merged 5 commits into
issue-981from
issue-1036

Conversation

@JacobStephens2

@JacobStephens2 JacobStephens2 commented Oct 23, 2026 •

Copy link
Copy Markdown
Owner

Summary

thirdshift metrics <command> → Run metrics + child Runs
thirdshift metrics           → weekly groups → independent signals

Adds local, read-only Run metrics and weekly trends. Spec views include Ticket Runs and Base fixes. Trends group independent signals by UTC start week, repository, Harness, requested Model, Effort and session kind; --from, --through and repeatable --repo narrow them. Retained Unaddressed findings have separate Standards, Spec and Security summaries. Security reviews use their own retained setup, with unknown setup left missing, including Resumes.

Past Command records supply the metrics they hold without being rewritten. Text and versioned JSON expose the same signals, with no combined score. Updates the guide and hand-written site pages.

Closes #1036

Evidence

  • Before: the initial historical-Run test failed with not a GitHub issue URL: metrics; the weekly-trends test failed because no trends form existed.
    After: focused metrics, retained completion-metrics and command-surface tests pass.
  • Before: both Spec reviewer reproductions failed as predicted: a Claude Security review was attributed to Codex, and its Resume with no setup evidence inherited Codex instead of remaining missing.
    After: both exact reviewer commands pass; their tests are retained in tests/metrics.rs.
  • cargo check --all-targets and cargo clippy --all-targets -- -D warnings passed. Focused checks after the first base merge: 37 passed. On final head c45a450, all 17 metrics/completion tests, the Console metrics route regression and all 44 site checks passed.
  • /usr/bin/time -p scripts/affected-tests issue-981 on 942871a: all 44 site checks passed; Rust stopped after 224 passes and two Console sign-in HTTP timeouts (626.30 s including compilation). Both exact failing tests passed on isolated reruns. Before reconciliation, the same selection passed all 2,378 Rust tests and 44 site checks (2001.16 s, including compilation).
  • Final-head CI passed on c45a450; its complete Rust/quality job took 703 s (11m43s), including compilation. Console, site and release-build checks also passed. The earlier 942871a CI's existing Console Stop failure passed its exact local rerun, then its CI retry passed without source changes. No test limits were relaxed. The successful final-head CI supplies full-suite validation after the last base merge.
  • Test seam: the whole binary reading local Command-record fixtures and running against fake Harnesses (parent Spec Spec: Run metrics, the signals each Run leaves, kept apart #981, Seam 1).

Merge Danger

Door: two-way

Read-only views; no record migration.

Blast Radius: readers

Changes metrics output and shared record-reading/session-evidence code. Existing show --json retains its saved-metrics behavior; older records remain compatible. The base merge also includes Console rendering of missing retained metrics.

Unaddressed findings

Standards

None. The classification smell was addressed with StageName::is_session.

Spec

None. The session-setup attribution finding and its follow-up Resume case were reproduced, fixed and covered by retained tests. No decision was deferred to a Spec or the Day shift.

Security

None. Guidance-mode review of the dbaed56...HEAD diff against base issue-981 (pinned merge base dbaed56) found no introduced Security finding: thirdshift metrics is a local read-only view over the machine's own Command records with no network, IPC, privilege, or cross-principal path. The <command> selector matches in-memory records only (src/logs/reading/selection.rs), --from/--through accept only Monday dates and --repo only owner/repository charset with equality filtering (src/args.rs), session evidence stays gated on owning-Command equality (src/session/recording.rs), and past-Run reconstruction never writes back (src/logs/reading.rs). cargo test --test metrics passes (9 passed). No proof-of-concept failed, so no fix was made and no regression test was added.

Security review outcome

No unaddressed introduced findings.

Review coverage

Reviewed with thirdshift-code-review against issue-981 pinned to 380e63aad00d0b17420282eaff0e39d312c6a97c, including inherited #1033/#1034/#1035/#1040 changes. Standards: 1 finding, addressed. Spec: 1 finding, addressed. Fresh independent reviews after merging the base, plus each axis's Console merge follow-up, found no additional findings. Each axis read all 43 changed files and its supporting sources; unread changed files: none. Generated-output exclusions: none; changed generated output was read.

Final reports and per-axis files-read lists are retained at .thirdshift-review-uQpmi8/standards.md and .thirdshift-review-uQpmi8/spec.md in the session worktree.

Built with codex · gpt-6.1-sol · xhigh

@JacobStephens2
JacobStephens2 merged commit 0d186a3 into issue-981 Oct 23, 2026
18 checks passed
@JacobStephens2
JacobStephens2 deleted the issue-1036 branch October 23, 2026 13:37
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