29 lines
3.1 KiB
Markdown
29 lines
3.1 KiB
Markdown
## 1. Run process-session protocol
|
|
|
|
- [x] 1.1 Persist a new logical session ID and start timestamp for each newly supervised process while retaining it during Run output resumption.
|
|
- [x] 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.
|
|
- [x] 1.3 Add Run tests for new process generations and Run restart/resumption retaining the session.
|
|
- [x] 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
|
|
|
|
- [x] 2.1 Persist and validate immutable session metadata on log streams, including session-scoped Run stream recognition.
|
|
- [x] 2.2 Select active supervised-process streams and add session-boundary SSE events with selected-session-only replay and live filtering.
|
|
- [x] 2.3 Add Platform service/API tests covering stale history exclusion, new-session switches, and command/log separation.
|
|
- [x] 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
|
|
|
|
- [x] 3.1 Extend frontend log contracts and SSE parsing for session boundaries.
|
|
- [x] 3.2 Make the terminal clear and follow a switched session automatically, and provide an explicit historical-stream view.
|
|
- [x] 3.3 Add frontend tests for current-session replay, live session switch, and separated history.
|
|
|
|
## 4. End-to-end verification
|
|
|
|
- [x] 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`).
|