Repository navigation
Conversation
Move default OpenCode provisioning on both backends to the pinned generic devenv base with its required agent kit. Preserve explicit image and template overrides. Co-authored-by: OpenCode [gpt-5.6-terra] <bret.mogilefsky@gsa.gov>
Use the shell template-selection token for the generic OpenCode base while retaining OpenCode provenance, kit installation, and attach behavior. Co-authored-by: OpenCode [gpt-5.6-terra] <bret.mogilefsky@gsa.gov>
|
Updated draft PR with SBX synthesizes a native agent kit from its positional agent token even when Verification: focused SBX/image/migration Bats, full serial offline Bats (740 tests), ShellCheck, Live follow-up requested: |
Treat option-led post-separator arguments as OpenCode agent flags while preserving command-led shell escapes. Co-authored-by: OpenCode [gpt-5.6-terra] <bret.mogilefsky@gsa.gov>
|
Updated draft PR with Verification passed: focused migration/SBX Bats, full serial offline Bats (740 tests), ShellCheck, Live follow-up: rerun |
Context
Implements ADR-0030 for the default
acq run opencode .path. Both MSB and SBX now use the pinned generic devenv base instead of an OpenCode-specific image or SBX native OpenCode template.Plan
ghcr.io/gsa-tts/agentic-coding-patterns/devenv-shell@sha256:7b923fb5e722ad27c751ead836f24145c4cea3fac015a3ba753bd7473891e1e7only for the default OpenCode path.ACQ_MSB_IMAGE > --image > ACQ_IMAGEfor MSB; explicit SBX--templateremains authoritative.--kit.shellonly as SBX's template-selection token for the generic default, preventing SBX from synthesizing a duplicate nativeopencodekit. acq retains OpenCode as the logical agent for provenance, required-kit selection, and attach behavior.opencodeentrypoint; retain explicit-- CMDescapes and project activation wrapping.opencode-aipostinstall fallback from the generic default path and update ADR-0030, backend, and failure-mode documentation.Verification
bash -n acq acq.backends/agents.sh acq.backends/common.sh acq.backends/msb.sh acq.backends/sbx.sh scripts/verify-backendspassed.ACQ_BATS_JOBS=1 ./scripts/test-acq-bats(740tests).npm run checkpassed, including pre-commit, ShellCheck, offline Bats, and executable-bit checks.git diff --checkpassed.Live Validation Gap
A macOS SBX live run found that SBX synthesizes a native
opencodekit from the positional agent token even with the generic template, causing a duplicate kit-name failure. Commitea93761fixes this and adds an explicit verifier assertion. Re-run the following on sandbox-capable hosts before readiness:Rollback
Revert commits
ea93761andb147788to restore the former default image/template behavior. Existing sandboxes are unchanged; newly created default OpenCode sandboxes can be removed and recreated after rollback.Security Impact
The default uses an immutable multi-architecture digest and a pinned, metadata-validated agent kit. The generic path fails closed when the required kit is unavailable or malformed, does not permit CLI kits to suppress it, and removes the default unpinned npm postinstall fallback. No authentication, authorization, secret handling, or egress policy is broadened.
AI Disclosure
AI-assisted implementation by OpenCode [gpt-5.6-terra]. Human review is required before deployment.
This PR remains draft pending human review and required live backend validation.