Skip to content

feat(group-chat): add mixed-runtime participants - #2226

Open
wtj-0527 wants to merge 34 commits into
EKKOLearnAI:mainfrom
wtj-0527:feat/group-chat-mixed-runtime-participants
Open

feat(group-chat): add mixed-runtime participants#2226
wtj-0527 wants to merge 34 commits into
EKKOLearnAI:mainfrom
wtj-0527:feat/group-chat-mixed-runtime-participants

Conversation

@wtj-0527

@wtj-0527 wtj-0527 commented Jul 26, 2026

Copy link
Copy Markdown
Collaborator

Summary

This Draft PR adds mixed-runtime Hermes Studio Group Chat participants while preserving participant identity, runtime isolation, fixed-chain request provenance, and fail-closed lifecycle behavior.

Runtime and identity

  • Keeps Hermes, Codex, and Claude participants bound to their own runtime/profile/session identity.
  • Prevents ordinary Coding Agent chat sessions and Group Chat participant sessions from reusing one another's runner/native session identity.
  • Preserves the original durable depth-0 user request as trusted chain_request data while keeping predecessor output as separate untrusted context.

Lifecycle hardening

  • Adds durable runtime mutation fences with token, Room, actor scope, kind, and expiry checks.
  • Adds heartbeat lease renewal and fail-closed participant deletion, Room deletion, and context clearing.
  • Uses reference-counted local Room admission pauses; each lifecycle releases only its own lease.
  • Binds participant fence consumption to token + roomId + actorId + kind='participant' inside the destructive transaction and rolls back when exactly one fence is not consumed.
  • Keeps heartbeat/fence cleanup in nested finally blocks even when runtime finalizers fail.
  • Restricts cleanup to ownership-proven Group Chat Coding Agent sessions and their owned evidence.

Exact candidate identity

  • PR head: 76efd3e5a0db496b07600b3b11b4f1b14daf4e11
  • Git tree: 8455627d974f92ddc1e047afb33a94572b895be4
  • Changed paths: 23
  • Immutable-review diff SHA256: bf6af797710d65d98e4d41732d60ffcfb744dbd70770d33da5552838325e5908
  • Independent immutable-tree review: PASS

Local verification

All commands below were run against the exact candidate bytes before push:

  • Directly related lifecycle tests: 3 files / 118 tests passed
  • All changed server test files: 14 files / 289 tests passed
  • Server TypeScript (tsc --noEmit): PASS
  • Client TypeScript (vue-tsc -b): PASS
  • Harness contract (npm run harness:check): PASS
  • Production build (npm run build): PASS
  • Immutable disposable snapshot build: PASS
  • git diff --check: PASS

The broad repository suite has a known non-green baseline and is not represented here as green. The focused candidate gates above are the authoritative local evidence.

Current delivery state

  • PR remains Draft.
  • No merge or auto-merge is enabled.
  • GitHub CI must be evaluated only for exact head 76efd3e5a0db496b07600b3b11b4f1b14daf4e11; checks from earlier heads are superseded.
  • No new image or LPK is claimed by this revision yet. A unique test package will be produced only after exact-head CI succeeds.
  • No installed Hermes Studio instance was modified, restarted, replaced, or deployed during this work.

@wtj-0527
wtj-0527 force-pushed the feat/group-chat-mixed-runtime-participants branch from f202e73 to 2a243f8 Compare July 27, 2026 10:39
@wtj-0527
wtj-0527 marked this pull request as ready for review July 29, 2026 13:01
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.

2 participants