Skip to content

docs(backend): correct stale 'msb from Phase 2' framing; msb is the default (#307) - #308

Merged
wz-gsa merged 2 commits into
mainfrom
feat/backend-agnostic-docs-307
Aug 12, 2026
Merged

docs(backend): correct stale 'msb from Phase 2' framing; msb is the default (#307)#308
wz-gsa merged 2 commits into
mainfrom
feat/backend-agnostic-docs-307

Conversation

@wz-gsa

@wz-gsa wz-gsa commented Aug 10, 2026

Copy link
Copy Markdown
Collaborator

Summary

Closes #307. The acq-kits READMEs + kits.yaml described sbx today; msb from Phase 2, and docs/repository-ecosystem.md framed cross-repo mounting as an sbx-only ("Docker's sbx CLI") capability. Both are now factually wrong — msb ships and is the default.

Change

  • acq-kits READMEs (git-ssh-sign, agentic-coding-playbook, usai-provider, zscaler-ca-certificate, + acq-kits/README.md) + kits.yaml: sbx today; msb from Phase 2msb (the default) and sbx today; ppp later.
  • docs/repository-ecosystem.md: cross-repo multi-workspace mounting reframed to acq (either backend, msb default); "Quickstart owns sbx CLI setup" → "owns acq backend setup (msb and sbx)"; command-syntax pointer leads with the neutral acq Quick Start, keeping QUICKSTART_SBX as the sbx-specific detail.

Left legitimately-sbx content untouched (frozen sbx-kits/ shim, verify scripts, schema enum, per-kit parity tables, historical notes). Framing avoids hardcoding the backend set.

Verification

make validate passes; INDEX/CATALOG regenerate with no change.

Rollback

Revert. Docs-only.

Sibling of GSA-TTS/agentic-coding-quickstart#296 + the playbook feat/backend-agnostic-references PR. AI-assisted (OpenCode). Requires human review.

@wz-gsa
wz-gsa requested a review from a team as a code owner August 10, 2026 21:16

@mogul mogul left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With the exception of migration notes, we should avoid pinning any current doc to the specific set of backends supported by acq or the phases during which they're developed/added, so we can minimize what will go stale. This also respects acq as an abstraction; this repo should minimize its knowledge of the acq backends.

Comment thread docs/repository-ecosystem.md Outdated
For `sbx` command syntax and examples, see the
For backend command syntax and examples, see the quickstart guide — the neutral
[Quick Start](https://github.com/GSA-TTS/agentic-coding-quickstart/blob/main/docs/QUICKSTART.md)
for `acq`, and the sbx-specific

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section is not SBX-specific.

Comment thread docs/repository-ecosystem.md Outdated
When working with multiple repositories simultaneously, you can mount them into a single sandbox
using Docker's `sbx` CLI. This enables workflows where an agent can reference one repo while
editing another.
via `acq` (the wrapper that runs on either backend — `msb`, the default, or `sbx`). This enables

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
via `acq` (the wrapper that runs on either backend — `msb`, the default, or `sbx`). This enables
via `acq` (the sandboxing wrapper). This enables

Comment thread docs/repository-ecosystem.md Outdated
### Repository Ownership

- **Quickstart** owns the detailed `sbx` CLI setup instructions
- **Quickstart** owns the detailed `acq` backend setup instructions (`msb` and `sbx`)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- **Quickstart** owns the detailed `acq` backend setup instructions (`msb` and `sbx`)
- **Quickstart** owns the detailed `acq` setup instructions

Comment on lines +9 to +10
> form consumed by `acq`, which selects an isolation backend (`msb` — the
> default — and `sbx` today; `ppp` later). It replaces the former `sbx-kits/playbook-kit/` sbx-only spec.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
> form consumed by `acq`, which selects an isolation backend (`msb` — the
> default — and `sbx` today; `ppp` later). It replaces the former `sbx-kits/playbook-kit/` sbx-only spec.
> form consumed by `acq`, which abstracts the isolation backend. It replaces the former `sbx-kits/playbook-kit/` sbx-only spec.

Comment on lines +12 to +13
> form consumed by `acq`, which selects an isolation backend (`msb` — the
> default — and `sbx` today; `ppp` later). It replaces the former `sbx-kits/git-ssh-sign/` sbx-only spec.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
> form consumed by `acq`, which selects an isolation backend (`msb` — the
> default — and `sbx` today; `ppp` later). It replaces the former `sbx-kits/git-ssh-sign/` sbx-only spec.
> form consumed by `acq`, which abstracts the isolation backend. It replaces the former `sbx-kits/git-ssh-sign/` sbx-only spec.

Comment on lines +8 to +9
> form consumed by `acq`, which selects an isolation backend (`msb` — the
> default — and `sbx` today; `ppp` later). It replaces the former `sbx-kits/usai-provider-kit/` sbx-only

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
> form consumed by `acq`, which selects an isolation backend (`msb` — the
> default — and `sbx` today; `ppp` later). It replaces the former `sbx-kits/usai-provider-kit/` sbx-only
> form consumed by `acq`, which abstracts the isolation backend. It replaces the former `sbx-kits/usai-provider-kit/` sbx-only

Comment on lines +10 to +11
> form consumed by `acq`, which selects an isolation backend (`msb` — the
> default — and `sbx` today; `ppp` later). It replaces the former `sbx-kits/zscaler-ca-certificate/`

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
> form consumed by `acq`, which selects an isolation backend (`msb` — the
> default — and `sbx` today; `ppp` later). It replaces the former `sbx-kits/zscaler-ca-certificate/`
> form consumed by `acq`, which abstracts the isolation backend. It replaces the former `sbx-kits/zscaler-ca-certificate/`

# Maps each neutral (schemaVersion: "hybrid/v1") kit to the backends that
# support it and a prose parity note describing any per-backend capability
# difference. For Phase 2 the supported backends are sbx and msb; ppp arrives in
# difference. The supported backends today are msb (the default) and sbx; ppp arrives in

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should probably just update this to not refer to specific backends or phases, since it will only go stale.

@@ -5,7 +5,7 @@ Neutral, backend-agnostic **mixin kits** for
isolation-backend wrapper. A kit configures an agentic-coding sandbox
declaratively (network egress, files to drop, lifecycle commands, agent
context); `acq` translates the neutral spec into whichever backend is active

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
context); `acq` translates the neutral spec into whichever backend is active
context); `acq` translates the neutral spec into whichever backend is active.

declaratively (network egress, files to drop, lifecycle commands, agent
context); `acq` translates the neutral spec into whichever backend is active
(`sbx` today; `msb` from Phase 2; `ppp` later).
(`msb` — the default — and `sbx` today; `ppp` later).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
(`msb` — the default — and `sbx` today; `ppp` later).

wz-gsa added a commit that referenced this pull request Aug 11, 2026
…rations

Per Bret's review (#308): don't name concrete backends or phases in the kit
docs — acq is the abstraction and any list will go stale. Applied his
suggestions verbatim:
- acq-kits READMEs: 'selects an isolation backend (msb — default — and sbx
  today; ppp later)' -> 'abstracts the isolation backend'.
- acq-kits/README.md intro: drop the trailing backend-list clause; 'acq
  translates the neutral spec into whichever backend is active.'
- kits.yaml header: drop 'backends today are msb and sbx; ppp in Phase 3' ->
  'acq abstracts the isolation backend; the authoritative set lives in the acq
  wrapper, not here.'
- repository-ecosystem.md: cross-repo mounting via 'acq (the sandboxing
  wrapper)'; 'Quickstart owns the detailed acq setup instructions'; command
  pointer no longer labels the section sbx-specific.

Co-authored-by: OpenCode Agent <william.zujkowski@gsa.gov>
@wz-gsa
wz-gsa force-pushed the feat/backend-agnostic-docs-307 branch from d1918e4 to 07320d8 Compare August 11, 2026 12:46
@wz-gsa

wz-gsa commented Aug 11, 2026

Copy link
Copy Markdown
Collaborator Author

Applied all suggestions verbatim — acq-kits READMEs now say 'acq abstracts the isolation backend', the intro drops the trailing backend-list clause, kits.yaml no longer names backends/phases, and repository-ecosystem.md uses 'acq (the sandboxing wrapper)' with a non-sbx-specific command pointer. Rebased on main.

@mogul
mogul enabled auto-merge (squash) August 11, 2026 21:07
wz-gsa added 2 commits August 12, 2026 15:28
…efault (#307)

The workspace now ships two isolation backends via acq — msb (the DEFAULT) and
sbx — with ppp deferred. But the acq-kits READMEs + kits.yaml still described
'sbx today; msb from Phase 2', and repository-ecosystem.md framed cross-repo
mounting as an sbx-only ('Docker's sbx CLI') capability. Both are now factually
wrong and steer users to sbx over the default.

- acq-kits/README.md, git-ssh-sign, agentic-coding-playbook, usai-provider,
  zscaler-ca-certificate READMEs + kits.yaml: 'sbx today; msb from Phase 2'
  -> 'msb (the default) and sbx today; ppp later'.
- docs/repository-ecosystem.md: cross-repo multi-workspace mounting reframed to
  acq (either backend, msb default); 'Quickstart owns sbx CLI setup' ->
  'owns acq backend setup (msb and sbx)'; command-syntax pointer now leads with
  the neutral acq Quick Start, keeping QUICKSTART_SBX as the sbx-specific detail.

Left legitimately-sbx content untouched (frozen sbx-kits/ shim, verify scripts,
schema enum, per-kit parity tables, sbx-specific historical notes). Framing
avoids hardcoding the backend set so ppp slots in without further churn.

make validate passes; INDEX/CATALOG regenerate with no change.

Sibling of quickstart#296 + the playbook feat/backend-agnostic-references PR.
Closes #307.

AI-assisted (OpenCode). Requires human review.

Co-authored-by: OpenCode Agent <william.zujkowski@gsa.gov>
…rations

Per Bret's review (#308): don't name concrete backends or phases in the kit
docs — acq is the abstraction and any list will go stale. Applied his
suggestions verbatim:
- acq-kits READMEs: 'selects an isolation backend (msb — default — and sbx
  today; ppp later)' -> 'abstracts the isolation backend'.
- acq-kits/README.md intro: drop the trailing backend-list clause; 'acq
  translates the neutral spec into whichever backend is active.'
- kits.yaml header: drop 'backends today are msb and sbx; ppp in Phase 3' ->
  'acq abstracts the isolation backend; the authoritative set lives in the acq
  wrapper, not here.'
- repository-ecosystem.md: cross-repo mounting via 'acq (the sandboxing
  wrapper)'; 'Quickstart owns the detailed acq setup instructions'; command
  pointer no longer labels the section sbx-specific.

Co-authored-by: OpenCode Agent <william.zujkowski@gsa.gov>
@wz-gsa
wz-gsa force-pushed the feat/backend-agnostic-docs-307 branch from 213208f to e7559ae Compare August 12, 2026 19:29
@wz-gsa
wz-gsa merged commit d882bd4 into main Aug 12, 2026
7 checks passed
@wz-gsa
wz-gsa deleted the feat/backend-agnostic-docs-307 branch August 12, 2026 19:30
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.

Make user-facing docs backend-agnostic (fix stale 'msb from Phase 2'; msb is default)

2 participants