docs/context-integration.md § Qualification status names this issue as the owner of the environment its release bar needs and of the current per-scenario status. This issue tracks both.
Current status
No recorded real-provider evidence exists for any BYO Context scenario. #2143 carried this as an explicit release risk at launch — "Formal real-surface Claude Code and Codex QA was not run for this PR… therefore remain explicit release risks until that evidence is recorded" — and it has not been discharged. BYO Context has been on npm latest since 0.5.18 (2026-07-30).
The release bar
Set in #2242 and owner-accepted. Three checks, each needing recorded evidence from real Claude Code and Codex surfaces:
| # |
Check |
Case |
Status |
| 1 |
global, directory and session-only setup |
cross-surface/external-context-multi-team-scope-routing (1–2, 4) |
not run |
| 2 |
two or more real Teams with clear, overlapping, missing and non-matching SCOPE bodies |
cross-surface/external-context-multi-team-scope-routing (5–7) |
not run |
| 3 |
single- and multi-Team BYO writes with the mandatory new user confirmation |
cross-surface/external-context-write-routing |
not run |
Directory activation within check 1 additionally depends on #2208 (#2213 hid the unstable option), so that portion cannot go green while #2208 is open.
The scenarios dropped from the original 11-item gate — dynamic setup choices and /hooks consent, membership revocation and binding movement, SCOPE admin approval, v2 store backup, legacy Plugin migration, cross-organization isolation and Client switching, bootstrap error recovery — stay defined in packages/qa/cases/ and are qualified when a change touches them rather than on every release. They are not tracked here as release blockers.
What the cell has to provide
packages/qa/AGENTS.md classifies release qualification as full-isolated: a Docker-backed cell plus a temporary worktree, never the operator's checkout or shared local services, reaching QA READY before case selection. The three checks above add:
- throwaway provider homes bridged to real Codex and Claude Code installations;
- two or more disposable Teams with authored root
SCOPE.md bodies, covering clear, overlapping, missing and non-matching cases;
- disposable source and Context Tree repositories, with source repos deliberately absent from Team resources;
- an active Context Reviewer plus a usable forge identity, so the external Write preflight can succeed.
The second organization, second account, legacy v2 store and legacy full Plugin are no longer needed for the release bar — they belong to the change-triggered scenarios.
Why a developer machine cannot substitute
The only real Team on a developer machine is the operator's own, and a persistent Plugin install writes into the same ~/.claude user scope that hosts the running Claude session.
Check 3 additionally needs a human. It verifies that a BYO Tree write stops and waits for a new user reply even when one Team is authorized and the original request already asked for a write. The check exists to prove a human is required, so an agent supplying that confirmation is the failure mode being tested. It needs a named human co-driver in the qualification plan; automation cannot substitute.
Evidence
Per case-file Evidence sections, kept outside the source repository per packages/qa/README.md. #2240 tracks one case that currently has no Evidence section to file against.
Retitled and rescoped after #2242 replaced the 11-item gate with this three-check bar.
docs/context-integration.md§ Qualification status names this issue as the owner of the environment its release bar needs and of the current per-scenario status. This issue tracks both.Current status
No recorded real-provider evidence exists for any BYO Context scenario. #2143 carried this as an explicit release risk at launch — "Formal real-surface Claude Code and Codex QA was not run for this PR… therefore remain explicit release risks until that evidence is recorded" — and it has not been discharged. BYO Context has been on npm
latestsince0.5.18(2026-07-30).The release bar
Set in #2242 and owner-accepted. Three checks, each needing recorded evidence from real Claude Code and Codex surfaces:
cross-surface/external-context-multi-team-scope-routing(1–2, 4)cross-surface/external-context-multi-team-scope-routing(5–7)cross-surface/external-context-write-routingDirectory activation within check 1 additionally depends on #2208 (#2213 hid the unstable option), so that portion cannot go green while #2208 is open.
The scenarios dropped from the original 11-item gate — dynamic setup choices and
/hooksconsent, membership revocation and binding movement, SCOPE admin approval, v2 store backup, legacy Plugin migration, cross-organization isolation and Client switching, bootstrap error recovery — stay defined inpackages/qa/cases/and are qualified when a change touches them rather than on every release. They are not tracked here as release blockers.What the cell has to provide
packages/qa/AGENTS.mdclassifies release qualification asfull-isolated: a Docker-backed cell plus a temporary worktree, never the operator's checkout or shared local services, reachingQA READYbefore case selection. The three checks above add:SCOPE.mdbodies, covering clear, overlapping, missing and non-matching cases;The second organization, second account, legacy v2 store and legacy full Plugin are no longer needed for the release bar — they belong to the change-triggered scenarios.
Why a developer machine cannot substitute
The only real Team on a developer machine is the operator's own, and a persistent Plugin install writes into the same
~/.claudeuser scope that hosts the running Claude session.Check 3 additionally needs a human. It verifies that a BYO Tree write stops and waits for a new user reply even when one Team is authorized and the original request already asked for a write. The check exists to prove a human is required, so an agent supplying that confirmation is the failure mode being tested. It needs a named human co-driver in the qualification plan; automation cannot substitute.
Evidence
Per case-file
Evidencesections, kept outside the source repository perpackages/qa/README.md. #2240 tracks one case that currently has noEvidencesection to file against.Retitled and rescoped after #2242 replaced the 11-item gate with this three-check bar.