Problem
OpenCode exits before the model call when AgentProfile instructions are materialized under the host write jail.
Reproduction
- Run current CLI Bridge commit
4176081 with BRIDGE_BACKENDS=opencode, OPENCODE_EXECUTOR=host, and BRIDGE_JAIL_MODE=write-jail.
- Send an OpenCode turn with a temporary project as
cwd and an AgentProfile that contains prompt.instructions.
- The profile materializer creates
.opencode/profile-instructions.md and opencode.json.
- OpenCode exits 1 before any model usage.
Observed bridge error:
opencode exited 1: Error: Unexpected error
Unknown: FileSystem.writeFile (<workspace>/.opencode/.gitignore)
The receipt reports the requested instructions as supported and materialized, but the run returns zero calls and zero tokens.
Expected
OpenCode profile materialization and the write jail must compose. The runner should be able to initialize its generated config without making the tracked project writable.
A durable fix could place generated OpenCode state in the writable scratch tree, pre-materialize every required generated file, or mount only the generated config area writable. It must not weaken the project read-only boundary silently.
Product impact
A valid Braid AgentProfile with instructions fails through CLI Bridge before model execution. Removing prompt.instructions avoids this specific failure, so the profile dimension is the trigger.
Problem
OpenCode exits before the model call when AgentProfile instructions are materialized under the host write jail.
Reproduction
4176081withBRIDGE_BACKENDS=opencode,OPENCODE_EXECUTOR=host, andBRIDGE_JAIL_MODE=write-jail.cwdand an AgentProfile that containsprompt.instructions..opencode/profile-instructions.mdandopencode.json.Observed bridge error:
The receipt reports the requested instructions as supported and materialized, but the run returns zero calls and zero tokens.
Expected
OpenCode profile materialization and the write jail must compose. The runner should be able to initialize its generated config without making the tracked project writable.
A durable fix could place generated OpenCode state in the writable scratch tree, pre-materialize every required generated file, or mount only the generated config area writable. It must not weaken the project read-only boundary silently.
Product impact
A valid Braid AgentProfile with instructions fails through CLI Bridge before model execution. Removing
prompt.instructionsavoids this specific failure, so the profile dimension is the trigger.