Skip to content

Show when each repository's Pickup Pass last fired - #1334

Merged
JacobStephens2 merged 10 commits into
mainfrom
issue-744
Oct 25, 2026
Merged

JacobStephens2 merged 10 commits into
mainfrom
issue-744

Conversation

@JacobStephens2

@JacobStephens2 JacobStephens2 commented Oct 25, 2026 •

Copy link
Copy Markdown
Owner

Summary

Pass identifies repository
  atomically replace <kind>.last-fired
  continue launch checks, local lock and gates

status / cronjobs / Console
  read per-repository Pass starts
  show last-fired time and age
  keep Activity log skip deduplication

Pickup, Architect and Security starts are recorded even when they skip. Console ages advance locally while the host is quiet. JSON exposes pass_starts; cronjobs --json now returns {jobs, pass_starts} rather than a bare job array. Start times include manual launches and do not infer which cron entry fired.

Closes #744

Evidence

  • Before: cargo test --test activity_log an_unchanged_skip_updates_last_fired_without_adding_activity_lines failed because status had no start inventory.
    After: it passes, checking distinct starts for unchanged skips while the Activity log retains one line.
  • Before: the Spec review's exact browser reproduction showed the same last-fired age three seconds apart.
    After: that command passes (2 sec → 4 sec); node --test console/tests/cronjobs.test.cjs passes both tests, including quiet-page ages on Inbox and Cron jobs.
  • Focused Rust suites passed 202 tests (3 ignored); paired CLI/Console tests cover both repositories, both commands, and both Console pages. Formatting and clippy passed. The explicit child-timezone regression also passed on the UTC CI runner.
  • CI passed on final head f7225e5d: full Linux Rust suite, macOS gate, site tests and Console browser tests.
  • scripts/affected-tests main passed all 50 site tests locally. Its redundant full Rust run was stopped after exact-head CI passed, following docs/testing.md's reuse rule. Local elapsed time: 1,856.48 seconds, compilation included; stopped deliberately rather than reported as a passing local full-suite run.

Test seams

  • CLI Pass invocation → status [--json] and Activity log: every start, including repeated skips, updates a per-repository time without adding log lines.
  • status [--json] / Console Inbox and cronjobs [--json] / Console Cron jobs: paired per-repository times, JSON and elapsed browser ages.

Review coverage

Against fixed main at e5b48aac: Standards raised 3 heuristic smells; Spec raised 1 P2 behavior finding. All were addressed. Each axis read 22 changed files, including generated documentation, with no generated-output exclusions.

Changed file left unread by both axes: src/console/pass_start.html. This one-line shared fragment fixes the last follow-up duplication finding and was introduced after both axes exhausted their single coverage follow-up. The implementing agent inspected it; paired HTTP and browser tests exercise its output.

Unaddressed findings

  • Standards: None; shared inventory collection, typed Pass kinds and the shared label fragment address all 3 findings.
  • Spec: None; the frozen-age finding was reproduced with its exact command, fixed and retained as a browser regression.
  • Security: None; guidance-mode review of the e5b48aa...HEAD diff introduced no finding. Hostile last-fired content is strict-parsed and skipped, hostile repository names render Askama-escaped, and the new state files are fixed-name same-owner local state. Nine local PoC checks plus the activity_log, status and console cronjobs suites passed.

Security review outcome

No unaddressed introduced findings.

Merge Danger

Door: two-way

Reversible local state and reader changes; no migration. Consumers of the former cronjobs --json array must use jobs.

Blast Radius: observability

Affects saved Pass start times, status/cron inventory output and Console age displays.

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

@JacobStephens2
JacobStephens2 merged commit f202d45 into main Oct 25, 2026
18 checks passed
@JacobStephens2
JacobStephens2 deleted the issue-744 branch October 25, 2026 17:33
@JacobStephens2 JacobStephens2 mentioned this pull request Oct 25, 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.

make easy way to answer "are the pickup runs of thirdshift running on this host?"

1 participant