Skip to content

Implement SBX read-only host-config projection at the stable guest path #606

Closed

Description

@mogul

Problem

ADR 0035 specifies a per-sandbox host-config directory mounted read-only at /var/lib/acq/host on both backends. MSB implements this with --volume <hostdir>:/var/lib/acq/host:ro, but the current SBX adapter does not mount host config at all. SBX positional :ro mounts preserve the host absolute path in the guest and do not provide a distinct destination path.

This blocks #600: released provider bundles can be validated and staged under host config, but cannot be presented at the stable provider-contract path /var/lib/acq/host/models/providers/<providerId> with a proven VMM-enforced read-only boundary. Guest copies or ordinary kit overlays remain writable by the passwordless-sudo agent and are not acceptable substitutes.

Acceptance criteria

  • A supported SBX mechanism mounts one sandbox's host-config directory read-only at /var/lib/acq/host, or the architecture adopts an equally stable provider-neutral path with explicit consumer wiring.
  • Guest root cannot modify staged files.
  • Host and guest paths, lifecycle cleanup, and sandbox-name collision handling are tested offline.
  • Live SBX validation records the actual mount and write-denial result.
  • Project selected provider inputs read-only for agent kits #600 can stage provider inputs once and consume the same guest contract on SBX and MSB.

Relationships

Blocks: #600.
Related: ADR 0035 and GSA-TTS/agentic-coding-patterns#357.

AI-assisted issue drafting (OpenCode). Human review required.

Activity

  1. mogul commented on Oct 21, 2026

    @mogul
    ContributorAuthor

    🤖 Architecture decision: current SBX has no supported destination-mapped read-only mount, so Quickstart will not guess a flag or use a guest-writable workaround. The contract will evolve through GSA-TTS/agentic-coding-patterns#521: preserve the stable provider-relative layout while the backend supplies a proven read-only root. MSB keeps /var/lib/acq/host; SBX uses its supported same-path :ro mount and communicates the root neutrally to harness consumers. #606 will implement the SBX side after the versioned Patterns contract is released.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions