Skip to content

Only escalate Slow runs far past their Usual range - #2074

Merged
JacobStephens2 merged 9 commits into
mainfrom
issue-1465
Nov 12, 2026
Merged

JacobStephens2 merged 9 commits into
mainfrom
issue-1465

Conversation

@JacobStephens2

@JacobStephens2 JacobStephens2 commented Nov 12, 2026 •

Copy link
Copy Markdown
Owner

Summary

stage age > Usual range top
  → Slow step 1: marker in Working or Landing
age ≥ max(2 × top, top + 5 minutes)
  → Slow step 2: Needs you, notification, urgent favicon

Carry Slow child markers into compact Spec and Pass summaries, including on phones. Keep Silent precedence and the existing Dismissal rules. Update the glossary, manual and site descriptions.

Closes #1465

Evidence

Execution evidence

  • Before: cargo test --test run_health slow_uses_the_repositorys_last_thirty_records_and_escalates_at_twice_the_top failed: left: String("needs you"), right: "working" for the 20-minute step-1 run.
    After: the same command passed: 1 passed; 0 failed.
  • Before: cargo test --bin thirdshift logs::reading::tests::health_tests failed on the short-stage wake-up: 11:00:24 versus expected 11:05:12.
    After: the same command passed: 2 passed; 0 failed, including exact boundaries and Spec/dispatched parent grouping.
  • Before: node --test --test-name-pattern='only step-2 Slow' console/tests/notifications.test.cjs failed with actual /assets/favicon.svg, expected /assets/favicon-urgent.svg; the phone check also reproduced hidden health text.
    After: the same command passed: 1 passed; 0 failed at desktop and phone widths.
  • Before: the Spec review's exact reproduction, node /tmp/issue-1465-child-slow.cjs, failed: step-1 Slow child health text must be visible in its Working Inbox row.
    After: that same reproduction exits 0. Retained as console/tests/slow-children.test.cjs, covering Spec, Pass with Spec and Pass with Ticket rows at both widths.
  • Before: cargo test --test status inbox_puts_live_problems_first_and_points_to_silent_landing_without_duplicating_it reproduced CI's stale fixture: the two-minute run correctly appeared in Working while the test expected step-2 Slow in Needs you.
    After: move that ordering fixture to seven minutes for its one-minute range top, preserving every assertion. The same command passes (1 passed), and cargo test --test status passes (78 passed; 1 ignored).

The elapsed-time Console stream regression passed without a file change. Existing run_health and dismiss suites passed (30 tests; fixture entry points ignored).

Final local selection: CARGO_BUILD_JOBS=2 NEXTEST_TEST_THREADS=3 RUST_TEST_THREADS=3 scripts/affected-tests main passed site checks, then stopped on a five-second sign-in navigation timeout in the existing “Run now confirms the cron Pass options and reports its skip outcome” Console test. Its exact focused rerun, node --test --test-name-pattern='Run now confirms the cron Pass options and reports its skip outcome' console/tests/start.test.cjs, passed (1 passed; 0 failed). CI on 40ed0112 passed formatting, clippy, the full Console and site suites, and release builds; its Rust run passed 2,334 tests before exposing the stale status fixture above. That fixture is corrected in 29413d07; CI is rerunning for the latest head.

Visual evidence

Direct runs, desktop 1440×900: step 1 leaves Needs you

Before
After

Direct runs, phone 390×844: Slow text stays visible

Before
After

Spec child, desktop 1440×900: marker in the parent summary

Before
After

Spec child, phone 390×844: marker in the parent summary

Before
After

Test seams

  • thirdshift status and show, text and JSON: health, Inbox membership and retained Usual ranges.
  • Snapshot::load / evaluate_inbox: sampled times, exact transitions and parent trees.
  • The served Console Inbox, stream, notification and favicon behavior in a browser.

Review coverage

Against refs/remotes/origin/main: Standards raised 1 maintenance finding; Spec raised 1 behavioral finding. Both are fixed. Of the final 21 changed files, Standards read 20 through 40ed0112; Spec read 19 through 97ffcbf6. Spec did not read the final fixture extraction into console/tests/fixtures/run-health.cjs or its caller changes in console/tests/notifications.test.cjs and console/tests/slow-children.test.cjs; Standards read the helper and both callers. Neither axis read the final CI-driven fixture amendment in tests/status.rs. No generated output was excluded; generated manual hunks were read directly.

Unaddressed findings

Standards

None.

Spec

None.

Security

None.

Security review outcome

No unaddressed introduced findings.

Merge Danger

Door: two-way

Reader policy and presentation changes; rollback restores the previous Inbox behavior.

Blast Radius: Inbox

Live health grouping, parent summaries, notification counts and favicon urgency.

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

@JacobStephens2
JacobStephens2 merged commit bd9ff6f into main Nov 12, 2026
24 checks passed
@JacobStephens2
JacobStephens2 deleted the issue-1465 branch November 12, 2026 02:29
@JacobStephens2 JacobStephens2 mentioned this pull request Nov 12, 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.

Only a Slow run far past its Usual range enters Needs you

1 participant