docs(architecture): Layer 3 — Storage broker zone + Control-plane MCP/operator split#189
Conversation
…/operator split Verified against the rclone-filestore binary (Go, anthropic.filestore.v1alpha Connect-RPC): the guest's mutable user-data mount is served by a host-side storage broker that holds the storage-backend credential; the guest holds only a session-scoped handle (filesystem_id). That credential class is distinct from the LLM-egress credential injected at the Egress trust-edge from Credential custody, and the inbound mount path is distinct from the outbound egress path. - Storage broker drawn as a 6th trust zone (was 5): host-side, guest-facing mount interface, governs the inbound data path; distinct from Credential custody (no guest interface, outbound-only). NFR-SEC-25/23 reconciled — the storage-backend credential is held by the Storage broker, not custody. - Control plane stated as one zone with two interfaces — agent-facing MCP and operator/lifecycle; the kill-switch is reachable only on the operator interface, never over MCP. The two-container split is a Layer 6 concern. - New §7.1 separates the two guest-data paths (mount-in vs egress-out). - Token taxonomy gains the storage-mount handle (four classes); synced between 02-trust-boundaries §8 and manifesto/02-nfrs §Token TTL taxonomy. - Zone count synced across 02-trust-boundaries, 03-c4-context, 04-bounded- contexts, glossary, 02-nfrs (six zones; five collapse into Agent Execution). Skill-mount classes (public read-only / user mutable) are deferred to the SkillProvider ADR (post-v1, NFR-SEC-24/42), not drawn here. Image signing / digest-pin remains a forward NFR (#180), not asserted as observed. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (5)
WalkthroughThis PR refines the Open Computer Use trust-boundary architecture by introducing a Storage broker as a sixth trust zone. The change updates scope, zone definitions, guest-data paths (Storage mount vs. Egress), token taxonomy to include Storage-mount handle class, and cascades updates across the trust diagram, C4 context, bounded contexts, glossary, and NFR documentation. ChangesStorage broker trust-zone model refinement
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…list-only egress Advisor + binary/competitor research resolved how the broker's backend leg reaches the object store without the SigV4-vs-proxy conflict the user flagged: - Guest speaks a file-operation interface to the broker, NOT the object-store protocol. The broker is the object-store client and signs its own backend requests, so no middlebox ever rewrites a request signature. (Anthropic's rclone-filestore is a custom anthropic.filestore.v1alpha Connect-RPC fork, not a stock S3 mount; Daytona runs the same runner-is-S3-client shape.) - The broker's backend leg traverses the Egress trust-edge in allow-list-only mode (no TLS termination), so the signature stays intact while all outbound still passes the single audited egress (NFR-SEC-16). A direct broker→backend dial bypassing the edge is forbidden. - Content inspection / DLP runs at the broker on plaintext, before signing — not at the edge, which sees only ciphertext on this leg. - Backend credential is STS-scoped per session to the prefix the filesystem_id names, held by the broker, never the guest. Fixed the .mmd PROXY→OBJ edge (was mislabeled with the LLM custody-injection semantics; the object-store leg is the broker's, broker-signed, allow-list-only). Reconciled docs/future-architecture/architecture/06-storage.md: removed the STS-token-in-guest / stock-rclone-as-target drift; stock rclone→S3 is now labeled interim-PoC-only, broker model is the target. The allow-list-only egress routing of the broker's backend leg is OUR design choice, not observed Anthropic behavior (their broker→cloud controls were not in the sources). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Description retired during the initial-public-release history consolidation. The canonical content lives in docs/architecture/ at the current tip.