acpmux: add authenticated Cloud trigger chat delivery

Merged
TE
5d ago
+2514-84

Implements authenticated Cloud trigger chat delivery on acpmux with fixed session identities, scoped RPCs, durable receipts, quiet turn isolation, restart recovery, and purge-safe reuse.

The daemon now validates host identity and trigger scope on every operation, fences readback to the exact durable turn and prompt digest, rejects collisions and stale imports, and exposes the trigger-chat CLI path. The test coverage exercises authorization, fixed-id lifecycle, collision and expiry behavior, restart/readback recovery, delivery receipts, quiet notifications, and malformed credentials.

This is one cohesive security and lifecycle change: authorization must bind the delivery to a fixed chat, the journal must attest that exact prompt and turn, and recovery/quiet/purge handling must preserve those same boundaries. Splitting those paths into independently shipped changes would leave incomplete enforcement.

Base integration preserves sender metadata, human-turn admission/interrupt protection, and inbox release. It also restores the prompt_sender module registration that an earlier merge lost, which caused the Windows compile error.

Authorization is pinned by build configuration to the existing environment/origin table and defaults to production. Release builds reject development and staging before network access. HTTPS certificate/hostname validation, no redirects, and no environment proxy constrain the authority that can attest each active principal. Debug acceptance artifacts explicitly select development at compile time. An enrolled Linux guest with the new root host identity IPC is required; non-Linux trigger authorization fails closed, and older guests without an identity receipt need fresh enrollment.

Validation at a3aac4350821c96537d11184b8ac56f091730f5c passed in https://github.com/manaflow-ai/cmux/actions/runs/41290619157: authority 2/2, trigger chat 10/10, durable delivery 10/10, quiet 5/5, fixed IDs 7/7, background turns 8/8, purge 1/1, sender metadata 3/3, agent inbox 19/19, release authority refusal 3/3. The previously failing human-steer test now passes, and the Linux cmux-tui build passed.

That clippy run exposed three warnings (unused accessor and two owned path comparisons). Final head 68bfabb2e56ab816869d8682bf1ddc7278096362 fixes only those warnings. Strict cargo clippy -p acpmux --lib -- -D warnings, the same suites, and a replacement build/artifact are running in https://github.com/manaflow-ai/cmux/actions/runs/41291157112. Output includes the stripped executable, source snapshot SHA, PR head, SHA-256 digest, compile-time authority choice, file type, and required runtime libraries.

Agent session: agent session