Skip to content

Keep the Console Inbox live - #855

Merged
JacobStephens2 merged 7 commits into
issue-776from
issue-818
Oct 20, 2026
Merged

JacobStephens2 merged 7 commits into
issue-776from
issue-818

Conversation

@JacobStephens2

@JacobStephens2 JacobStephens2 commented Oct 20, 2026 •

Copy link
Copy Markdown
Owner

Summary

Command records + log lengths → one Console observer → SSE notification
  → fetch Inbox → idiomorph → preserve selection and folds
Stream unavailable → poll every 5 seconds

Server-observed log growth drives the heartbeat; Silent Runs stay flat.
Needs you drives the tab title and urgent favicon. New Commands are marked
using optional browser storage.

Closes #818

Test seams

  • Console binary over HTTP with fixture Command records and logs: events, current HTML, health and log-growth observations.
  • Playwright against the actual Console: morphing, selection, folds, stream fallback, title/favicon, heartbeat and browser storage.

Evidence

  • Before: /events returned 404; the Inbox stayed stale and its title was static.
    The reviewers' two selection reproductions both failed, and both retained
    Playwright regressions failed before the fixes.
  • After: six Console HTTP tests and all 13 Playwright tests pass, covering
    stream events, polling, log-growth heartbeat, Silent and reduced motion,
    selection/folds/scroll, title/favicon and optional browser storage.
    The dispatch reviewer's original reproduction now passes. Logical selection
    survives a move into folded Done and regains focus when Done opens.
  • cargo test --locked, cargo fmt --check and
    cargo clippy --all-targets -- -D warnings pass on the final tree.
    The Rust suite includes 1,065 passing unit tests (two ignored) and all
    integration tests.
  • Hosted Linux full-suite, Console browser, site and release-build checks pass.
    macOS tests are still running or queued.

Review

Reviewed against issue-776 at 37b87de using independent Standards and Spec
reviewers. Standards: one small duplication fixed. Spec: both selection
findings reproduced and fixed, with regression tests retained.

After the review follow-ups, src/console.rs received a test-only adjustment
to measure CLI parity after attaching Axum router state. Both parity guard
tests pass.

All 14 changed files were read by both reviewers. No changed files were left
unread, and no generated-output exclusions were used.

Merge Danger

Door: two-way

Blast Radius: Console

Unaddressed findings

Standards

None. S1's duplicated log-length parsing now uses one helper.

Spec

None. Both dispatch identity and selection in folded sections were fixed.

Built with codex · gpt-6.1-sol · high

Preserve the live Inbox alongside the Console log inventory and readers. Keep stable row identities, heartbeat observations, CLI route parity, and shutdown of both Inbox and log streams during binary replacement.

Validated with cargo check --locked, cargo test --locked, cargo fmt --check, cargo clippy --all-targets -- -D warnings, and all 14 Console browser tests.
Preserve live Inbox updates alongside History, Security, exact peeks and keyboard navigation. Keep selection and folds across pushes, and retain both branches' regression coverage.
Preserve live Inbox routing while adding Lanes and Stages navigation. Register both new pages with the existing typed route dispatch and retain both branches' regression coverage.
Preserve live Inbox event routing and typed dispatch while integrating Waterfall navigation and both CLI parity commands. Retain both branches' regression coverage.

Validated with cargo check --locked --all-targets, cargo test --locked, cargo fmt --check, cargo clippy --locked --all-targets -- -D warnings, and all 24 Console browser tests.
@JacobStephens2
JacobStephens2 merged commit da440c4 into issue-776 Oct 20, 2026
19 checks passed
@JacobStephens2
JacobStephens2 deleted the issue-818 branch October 20, 2026 05:31
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