fix(acp): owner-filter transcript history and refresh retained MCP #644
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/mausbot-acp-owner"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Native ACP transcript exports currently expose all captured turns in a granted workspace, including other principals, while session/load silently retains stale client MCP servers.
Capture server-authored owner/workspace/session provenance and filter scoped transcript exports against it. Add an exact session_id filter for the custodian device ledger. Legacy unowned rows remain operator-only; watermarks advance over inspected rows. Retained session/load replaces HTTP MCP config and discovery cache atomically, refuses active prompts, and preserves ownership/conversation state. Unsupported MCP transports reject explicitly.
Tests cover foreign owner/workspace and metadata spoofing at the TCP router, legacy rows, exact session filtering, capture isolation/unwind, and MCP replacement versus active turns. The implementation head
1088a0e7ddpassed all 14 CI contexts. The new head2f7671909cchanges only the documented capture default and requires its own CI results. git diff --check passes. Git's merge simulation against main9d594c09 succeeds; no rebase or force push is needed.Independent fresh-context reviewer review_644 found no code blockers, including compatibility with main's #650 cancellation and #665 integration. One P3 documentation finding (capture is default-on with opt-out) is fixed in
2f767190. Review was static; it did not execute tests or live acceptance. Full authenticated prompt-to-WAL export and live MCP rediscovery remain acceptance coverage limits, not claimed by these seam tests.Dependency for talos MausBot PR #200. No daemon deployment, runtime restart, permission-mode change or credentials. Requires coordinator review/merge and deployment from merged main before using these capabilities. Existing historical captures without ownership are not guessed/backfilled; native ACL does not replace custodian per-device authorization. See docs/mausbot/acp-retained-history.md.
Exact head
1088a0e7validation completed: cargo test --lib --no-default-features --features acp acp::tests --no-fail-fast: 127 passed, 0 failed. cargo test --lib --no-default-features --features acp transcript_capture_gate_and_emit_turn_wal: 1 passed. cargo fmt and git diff --check passed. Tests use local fixtures and loopback ACP servers; no live daemon changes or credential access.