Files
browser/openspec/changes/follow-current-supervised-log-session/tasks.md
T

3.1 KiB

1. Run process-session protocol

  • 1.1 Persist a new logical session ID and start timestamp for each newly supervised process while retaining it during Run output resumption.
  • 1.2 Include session metadata in durable process log batches and make autonomous process stream IDs generation-scoped without changing non-process/job log behavior.
  • 1.3 Add Run tests for new process generations and Run restart/resumption retaining the session.
  • 1.4 Make source-file replay idempotent across crashes, retain undrained retired generations, atomically replace aggregated spool segments, and upgrade live legacy journal entries.

2. Platform active-session feed

  • 2.1 Persist and validate immutable session metadata on log streams, including session-scoped Run stream recognition.
  • 2.2 Select active supervised-process streams and add session-boundary SSE events with selected-session-only replay and live filtering.
  • 2.3 Add Platform service/API tests covering stale history exclusion, new-session switches, and command/log separation.
  • 2.4 Gate initial current-session replay on online Run process facts and publish empty/recovered session boundaries on supervised process observations.

3. Terminal live and history views

  • 3.1 Extend frontend log contracts and SSE parsing for session boundaries.
  • 3.2 Make the terminal clear and follow a switched session automatically, and provide an explicit historical-stream view.
  • 3.3 Add frontend tests for current-session replay, live session switch, and separated history.

4. End-to-end verification

  • 4.1 Extend local debug smoke to prove first-generation output, process/Run generation switch, and post-switch terminal output.
  • 4.2 Run OpenSpec validation, focused unit tests, structural validation, and the complete local smoke; record any external-environment blocker precisely.
    • 2026-08-15 verification passed: openspec validate follow-current-supervised-log-session --strict; go test ./api ./service ./domain ./dto ./validator in platform/; go test ./runtime ./spool ./protocol in run/; npm --prefix platform_web test -- ServerManagementTerminalDrawer client schemas/serverManagement; scripts/check-structure.sh; bash -n scripts/local-debug/smoke.sh.
    • 2026-08-15 complete local smoke command attempted: LOCAL_DEBUG_ROOT=/private/tmp/browser-local-debug-current-session-smoke LOCAL_DEBUG_PLATFORM_PORT=18198 LOCAL_DEBUG_WEB_PORT=5192 LOCAL_DEBUG_SELF_START=true scripts/dev-smoke.sh.
    • Current supervised log-session proof passed inside that smoke, including generation A replay, Run restart/resumption, generation B switch on the same SSE connection, and explicit-history exclusion; evidence file: /private/tmp/browser-local-debug-current-session-smoke/smoke/current-log-session-verification.json.
    • External blocker: the complete smoke later failed in the platform Docker distribution builder at the host-native Run generation step because go mod download timed out fetching github.com/dustin/go-humanize@v1.0.1 from proxy.golang.org (dial tcp 142.251.33.209:443: i/o timeout).