CB-618: correct the role-agent entry — one charter file, and agent files need name:

Dai Ha
2026-08-22 12:37:00 +02:00
parent 48b30d1baf
commit aa750de78e
+17 -3
@@ -2010,9 +2010,23 @@ its charter to a file. Files fix that for both backends and make the contract re
an agent pinned to `openai/gpt-5.6-terra` run with `-m opencode/x-preview-f-free` reported
`> pin · x-preview-f-free`. A `model:` here is silently overridden on every spawn. The model stays
in `bridged.yaml`, which also keeps role and backend as the separate axes the role pools need.
- **The reply charter is still injected, not filed.** "End every turn with `bridge_reply`" must reach
a member that has no repo checkout, so it keeps its inline delivery. Verified that `--agent` and
`--append-system-prompt` compose: both the agent body and the appended rule are in force.
- **Both charters travel in one file, or Claude Code will not start** (CB-618). The CLI refuses the
two prompt flags together: `Error: Cannot use both --append-system-prompt and
--append-system-prompt-file. Please use only one.` The first cut of this feature put the role
charter on the file flag and left the reply charter inline, and every claude-code spawn with a role
charter died at launch — reported by bridged as `spawn_timeout`, which hides the cause completely.
So when a role charter is present, both go in the one file with the reply charter **last**: last is
where the reply rule must sit, because it is the rule that must survive. A member with no role
charter keeps the inline flag, which is also the only form that reaches a member with no repo
checkout.
- **A `.claude/agents/` file needs `name:` in its frontmatter** (CB-618). With only `description:`
the file is skipped in silence and the launch fails with `--agent 'architect' not found. Available
agents: claude, Explore, ...`. The OpenCode files take their name from the filename and need no
such key, so the two formats are not interchangeable even though the bodies are identical.
- **Measured together, on the real binary.** `claude --agent architect --append-system-prompt-file
<both charters>` answered `ROLEOK, REPLYOK, yes` — agent body, role charter and reply charter all
in force at once. Both defects above shipped green because every test read the argv bridged builds
and none ran the binary that has to accept it (see #113).
### Found while cataloguing, not by looking for bugs