Skip to content

feat: add RFD 533-inspired attach/detach foundation - #46

Merged
lsaether merged 2 commits into
mainfrom
feat/rfd-533-acp-attach
May 26, 2026
Merged

lsaether merged 2 commits into
mainfrom
feat/rfd-533-acp-attach

Conversation

@lsaether

@lsaether lsaether commented May 26, 2026

Copy link
Copy Markdown
Owner

Summary

  • Narrow this PR to an RFD #533-inspired attach/detach foundation instead of claiming full RFD lifecycle implementation.
  • Handle session/attach and session/detach proxy-locally without forwarding them to the wrapped agent.
  • Keep lifecycle/resolution authoritative in amux/*; remove fabricated proxy-owned session/update siblings for prompt, turn, permission, and disconnect events.
  • Keep attach response top-level fields standards-shaped and move amux-specific roster data under result._meta.amux.connectedClients.
  • Preserve pending-permission reissue on attach, while documenting first-writer-wins: a late generic client reply may be dropped if another peer already answered; amux-aware clients observe amux/agent_request_resolved.
  • Restore the design principle that the mux MUST NOT fabricate session/* notifications; proxy method responses are explicitly not fabrication.

Test Plan

  • cargo fmt --check
  • cargo clippy --all-targets --all-features -- -D warnings
  • cargo test

Notes

@lsaether lsaether changed the title feat: align attach facade with RFD 533 feat: add RFD 533-inspired attach facade May 26, 2026
@lsaether lsaether changed the title feat: add RFD 533-inspired attach facade feat: add RFD 533-inspired attach/detach foundation May 26, 2026
@lsaether
lsaether merged commit 50df695 into main May 26, 2026
1 check passed
@lsaether
lsaether deleted the feat/rfd-533-acp-attach branch May 26, 2026 21:44
lsaether added a commit that referenced this pull request May 27, 2026
Cuts v0.1.3 — rooms + RFD #533 attach polish.

Highlights since v0.1.2:
- Rooms abstraction with compaction-aware transcripts (#58) and
  cross-segment turn-bookend carry in historyPolicy: full (#59).
  Closes #56.
- RFD #533-inspired session/attach + session/detach foundation (#46)
  with replay ordering (#47), streamed history delivery (#53), and
  ?replay=skip opt-out for attach-aware clients (#50).
- amux/* active-turn controls (steer #41, queue #41, cancel #30)
  plus replay-safe agent request lifecycle openings (#33).
- Safe-by-default client-tool blocking (fs/* + terminal/*) with
  --unsafe-debug-client-tool-broadcast escape hatch (#36).
- amux/session_context surfaces the mux/agent cwd to subscribers (#35).

Validation:
- cargo fmt --check
- cargo clippy --all-targets -- -D warnings
- cargo test (63 unit + 78 integration = 141 tests)

Co-authored-by: lsaether <25539605+lsaether@users.noreply.github.com>
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