Skip to content

Add Console log inventory and live conversation readers - #853

Merged
JacobStephens2 merged 2 commits into
issue-776from
issue-819
Oct 20, 2026
Merged

JacobStephens2 merged 2 commits into
issue-776from
issue-819

Conversation

@JacobStephens2

@JacobStephens2 JacobStephens2 commented Oct 20, 2026 •

Copy link
Copy Markdown
Owner

Summary

The Console can list and read current-layout Command and Session logs, including a Spec run's child Runs. Live readers append rendered HTML from byte offsets and preserve the reader's open tool groups and follow choice.

Command / Spec run → Command and child Run log inventory
  ↔ thirdshift logs [--command <id>] --json
  → exact log reader ↔ thirdshift logs --file <id> [--follow]
      Command log → plain text
      Session log → conversation, folded tools, collapsed thinking
        new complete lines → HTML stream → append existing DOM

Closes #819

Evidence

  • Before: the Standards reproduction returned one Command-view log versus two logs from its declared CLI pair. The new exact-owner regression also failed because the selector was unavailable.
    After: the shared --command filter and focused CLI/HTTP parity regression pass.
  • Before: holding a live log stream open made the existing binary-replacement test time out.
    After: streams close on executable replacement; the retained regression passes.
  • cargo test --test console: 8 passed, covering both harnesses, unknown events, escaping, current-layout inventory, child logs, byte offsets and updates.
  • cd console && npm test: 5 passed, including live appends without redraw, tool folding across batches, partial lines, reconnect offsets, following and a 390 px viewport.
  • cargo test --locked: passed (full Rust suite; 2 pre-existing ignored unit tests).
  • cargo check, cargo fmt --check, and cargo clippy --all-targets -- -D warnings: passed.
  • The preserved manual Codex-diff reproduction intentionally fails; see the Spec finding below.

Merge Danger

Door: two-way

Read-only Console views and additive CLI log selectors; no persisted log migration.

Blast Radius: logs

Console log presentation and following; current-layout inventory includes Security logs under the Console's existing access gate.

Test seams

  • The thirdshift binary's logs CLI and Console HTTP pages, using real filesystem log fixtures.
  • The Console conversation reader's rendered output for real-shaped Claude stream-json and Codex exec JSON events.
  • The browser's log reader and its SSE connection, using appended fixture lines and observable DOM identity and follow behavior.

Unaddressed findings

Standards

None. The documented CLI parity violation and both heuristic findings (duplicated line framing and log-kind display strings controlling behavior) are addressed and verified in the follow-up review.

Spec

  • S1, P2 — Codex unified edit diffs remain unavailable from retained events. The unrealistic fixture is corrected and src/console/conversation.rs:109 now renders the complete event through a visible fallback. The official FileUpdateChange schema records only path and kind, with no old/new text. This refutes the initial fixture's assumption that the reader receives changes[].diff; it does not refute the requested diff requirement. The reviewer's exact command failed as reported, and python3 console/reproductions/codex-edit-diff.py keeps that failing requirement reproduction. Capturing genuine patch evidence changes Session log retention beyond this reader; #854 asks the Day shift to choose capture or explicitly accept the specified plain fallback. No current files or historical patches are guessed.

Review coverage

Independent Standards and Spec reviews used issue-776, pinned to its fetched remote tip 37b87debc3f73ad71b338af8cceb4028dc6351f9. Both reviewers inspected all 25 changed files, including the final fix hunks and the retained reproduction. Unread changed files: none under either axis. Generated-output exclusions: none.

Built with codex · gpt-6.1-sol · high

@JacobStephens2
JacobStephens2 marked this pull request as ready for review October 20, 2026 00:41
@JacobStephens2
JacobStephens2 merged commit b557e4d into issue-776 Oct 20, 2026
19 checks passed
@JacobStephens2
JacobStephens2 deleted the issue-819 branch October 20, 2026 00:42
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