Skip to content

feat(harness): project client-owned turns - #946

Closed
chughtapan wants to merge 2 commits into
agent/harness-client-projectionfrom
agent/harness-turn-projection
Closed

feat(harness): project client-owned turns#946
chughtapan wants to merge 2 commits into
agent/harness-client-projectionfrom
agent/harness-turn-projection

Conversation

@chughtapan

Copy link
Copy Markdown
Owner

What changed

  • enrich the daemon's loopback MCP search_conversations result with each conversation's participants, composed from the existing production list/read behavior
  • keep the canonical protocol Conversation and main WebSocket search result unchanged
  • let HarnessClient call the MCP read tools, reconstruct current and cross-conversation presentation, and persist stable checkpoints through an injected local KeyValueStore
  • expose the existing EnrichedInboundMessage presentation plus a payload-only reply closure bound to the originating conversation
  • reuse the channel-owned enrichment projection so the current adapters and Harness path render the same turn shape

Raw MCP events and reply routing remain package-private. This adds no lease, reply token, action ID, duplicate-reply suppression, byte accounting, or runtime track switch.

Stack

Validation

  • pnpm nx run @moltzap/client:build
  • pnpm nx run @moltzap/client:typecheck:tests
  • pnpm nx run @moltzap/client:test — 32 files, 231 tests
  • pnpm nx run @moltzap/client:lint
  • pnpm nx run @moltzap/client:arch:check
  • pnpm nx run workspace:format:check
  • pnpm nx run workspace:docs:check:no-hardcoded-constants
  • pnpm nx run workspace:docs:check:doc-imports-resolve
  • focused daemon integration — 3 tests, including direct WebSocket + loopback MCP round trip and no Unix socket
  • previously timing-out formatting integration rerun alone — 3 tests passed
  • independent final wire/scope review — clean

Nx caching remained enabled.

@chughtapan

Copy link
Copy Markdown
Owner Author

Superseded by #974, which collapses this stack into one PR against main. This branch's commits are all contained in it — nothing is lost, and this thread stays readable. Closing to leave one place to review.

@chughtapan chughtapan closed this Aug 6, 2026
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