Skip to content

Add Runtime collaboration console - #131

Merged
yyjeqhc merged 11 commits into
mainfrom
feat/runtime-collaboration-console
Aug 23, 2026
Merged

Add Runtime collaboration console#131
yyjeqhc merged 11 commits into
mainfrom
feat/runtime-collaboration-console

Conversation

@yyjeqhc

@yyjeqhc yyjeqhc commented Aug 23, 2026

Copy link
Copy Markdown
Owner

Summary

Add a focused Runtime Collaboration Console on top of the existing /runtime surface and Workflow Session collaboration primitives.

  • Add Server overview and per-Runner machine views with bounded, authorization-aware runtime/project/session summaries.
  • Add read-only Workflow Session collaboration observation with retained message threads and bounded long-poll refresh.
  • Add Human Join for Note / Guidance / Question / Todo posting through the canonical Session message path.
  • Add request-scoped ACK echo for ACK-required high-priority Guidance, including bounded urgent-guidance ToolResult redelivery when the current request omits the ACK.
  • Keep ACK observational only: historical ACK never proves current model-context retention, and durable resolution remains separate.
  • Add factual Session liveness (working, recently active, idle, pending attention) without claiming host/model state.
  • Consolidate Runtime Console information architecture, remove the duplicate Project selector, add project filtering, and make manual Refresh visibly report progress/result while recovering a paused collaboration loop.
  • Harden async structured-validation terminal evidence so same-target terminal success resolves prior failures without duplicate bookkeeping across Session event eviction, restart, or concurrent reconciliation.
  • Serialize terminal validation snapshot acquisition through materialization so stale snapshots cannot evict markers established from newer authoritative Job inventory.
  • Preserve existing project:read compatibility while gating runtime-wide and full collaboration data with runtime:read; keep Runtime Console browser-only routes out of GPT Actions/OpenAPI.

Architecture boundaries

This PR intentionally does not add Room/Discussion/Participant state, presence/typing, scheduler/worker pools, automatic model wake-up/routing, filesystem/worktree/task leases, a Runner-local HTTP UI server, or a generic orchestrator.

Workflow Session remains the bounded execution/evidence unit. Collaboration messages remain Session-local retained metadata. The Server still cannot wake a model after its host turn has ended; urgent Guidance is only piggybacked onto an already-occurring model-facing ToolResult.

Request-scoped ACK semantics

For an open ACK-required Guidance message M:

  1. A normal Session-recorded tool call that does not echo M receives bounded session_attention containing the Guidance body.
  2. A later request with ack_session_message_ids=[M] executes the original tool normally and suppresses M only in that response.
  3. If a subsequent request omits M, the unresolved Guidance body is returned again.
  4. first_ack_observed_at is observability only and is never used as sticky suppression or a read/delivery receipt.
  5. resolve_session_message remains the durable way to stop future reminders.

Missing ACK is never an execution fence: edits/shell/etc. still execute normally and the ToolResult can carry the unresolved Guidance afterward.

Validation / review evidence

Final effective evidence on the reviewed HEAD includes:

  • Frontend typecheck/build/dist consistency: PASS
  • Frontend tests: 64/64 PASS
  • Runtime Console HTTP: 12/12 PASS
  • Request-scoped ACK: 2/2 PASS
  • Validation Job focused suite: 4/4 PASS
  • Stale terminal-snapshot concurrency regression: 1/1 PASS
  • Async same-target failure -> terminal success regression: 1/1 PASS
  • Validation summary: 7/7 PASS
  • Session store/persistence focused coverage: PASS
  • cargo check --all-targets -p webcodex: PASS, 0 warnings / 0 errors
  • cargo fmt -- --check: PASS after formatting
  • git diff --check: PASS
  • Independent review: ACCEPTED, no remaining correctness blocker found

Evidence-history note

The Workflow Session ledger contains some transient development-time failures that are not current-code failures:

  • finish_coding_task may report historical validation_mixed because two temporary syntax errors were recorded under validation identities that were not automatically paired with later successful identities. Subsequent authoritative checks/tests passed and unresolved final validation failures are zero.
  • An intermediate cargo fmt -- --check reported formatting differences only; the formatter was run and the final fmt check passed.
  • Several early focused-test commands used incorrect filters / --exact names and therefore executed 0 tests. Those invocations are explicitly not treated as validation evidence; the same intended tests were rerun with working substring filters and actually executed/passed.

Delivery state

This branch was independently reviewed before opening the PR. No deployment, Server/Runner restart, merge, release, or publication is part of this PR creation.

@yyjeqhc yyjeqhc added the run-ci Run the heavy pull-request CI jobs for an owner-authored PR label Aug 23, 2026
@yyjeqhc
yyjeqhc force-pushed the feat/runtime-collaboration-console branch from b1ea32e to 379298b Compare August 23, 2026 14:54
@yyjeqhc
yyjeqhc enabled auto-merge (squash) August 23, 2026 14:55
@yyjeqhc
yyjeqhc disabled auto-merge August 23, 2026 15:20
@yyjeqhc
yyjeqhc merged commit 0f30874 into main Aug 23, 2026
7 of 8 checks passed
@yyjeqhc
yyjeqhc deleted the feat/runtime-collaboration-console branch August 23, 2026 15:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

run-ci Run the heavy pull-request CI jobs for an owner-authored PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant