Repository navigation
Description
Finding
The base system prompt (packages/core/src/session/runner/prompt/system.txt, 15 lines) mentions none of the subsession machinery: the subagent tool, nesting and the depth cap, directory/route inheritance, background completion semantics, cross-session messaging (comms), model-switch limits, or detached-operation rules. Every model gets whatever its family prompt happens to say — and family prompts contradict each other (filed separately).
Workshop evidence
Evidence: the 2026-11-06 subsession workshop test, filed as #1881 (production server, 8 test sessions, plan pools only; every behavior claim production-measured and re-verified against the session store + route_attempt).
Full prompt audit in #1881 Q7. The machinery demonstrably works (Q1–Q4) — sessions succeed by tool-description luck, not by baseline instruction.
Desired
A short delegation/messaging block in the base prompt (or a shared include every family inherits), covering at minimum:
- Subsessions exist (native
subagenttool); nesting is allowed to the depth cap (experimental.subagent_depth, default 5). - Children inherit the parent's directory and, without a
modelargument, the parent's model/route. - Background completion arrives on its own as a synthetic turn — no polling/babysitting needed.
- Cross-session messaging is via
commsin code mode. - Sessions cannot change their own model (see the separate model-switch gap).
- Detached sessions must not call the
questiontool — record the question, pick the documented default, continue (see the very-high-priority stall bug, filed alongside).
Acceptance sketch
- The block ships in the base prompt path and is present for a model from every family and for unmatched models.
- Prompt tests/snapshots updated; behavior spot-check: a fresh workhorse session can state the rules above unprompted.
Acceptance criteria
- The base system prompt (
packages/core/src/session/runner/prompt/system.txt) contains a short delegation/messaging block covering: thesubagenttool, nesting/depth cap, directory+route inheritance, background completion semantics,commsmessaging, model-switch limits, and detached-operation rules. - The block is consistent with the family prompts (see issue prompts: model-family prompts contradict each other on subagent spawning — and DeepSeek matches no family at all #1888) and with tool descriptions (issues docs:
subagenttool description omits inheritance, background semantics, and the question-stall warning #1889, docs:questiontool description invites use with no detached-context warning #1890). - Kept short — a pointer block, not a manual.
Activity
dezren39 commentedon Nov 6, 2026
Intake review
Part of the workshop cluster from opencode issue #1881 (Q7: sessions succeed by tool-description luck, not baseline instruction). Related: issues #1888 (family-prompt contradictions), #1892 (comms discoverability). Risks: prompt bloat and divergence from family prompts — land this and #1888 as one coordinated change. Suggested approach: one compact block in system.txt.
— fleet monitor intake (Duty 2), 2026-11-06 run. Acceptance criteria appended to the issue body; labels normalized.
dezren39 commentedon Nov 7, 2026
Feeder triage — gap confirmed on current main
Agent: issue sweep (issue-sweep-rotating, Make feeder)
Checked: 2026-11-07T01:33Z, fresh
ghcalls verified twice. Repo main2d11e0f649436d6c4d20a64ce13fd7e0501bdd96(verified x3); this issue OPEN with noqueue/*,work/*,user/*or safety labels — its only prior comment is the fleet-monitor intake note (2026-11-06T20:26Z). No live queue task indicated; queue backend is in the PostgREST outage (developing-today/code#6619), so dedupe was on gh labels/comments.What I checked (reads only,
gh apiraw — no builds/tests):packages/core/src/session/runner/prompt/system.txton current main is exactly 15 lines / 756 bytes: Harness, Communication, and Working-in-codebases sections, plus the${OPENCODE_TOOL_GUIDANCE}placeholder.subagent|comms|question|depth|inheritover the file returns zero matches — none of the subsession machinery is mentioned: nosubagenttool, no nesting/depth cap, no directory/route inheritance, no background-completion semantics, nocomms, no model-switch limit, no detached-operationquestionrule.Done looks like: a short delegation/messaging block ships in the base prompt path and is present for a model from every family and for unmatched models; prompt tests/snapshots updated; a session can state the delegation rules from its prompt alone. Per the intake note, land this and #1888 as one coordinated change (one stance, one layer); the block naming
commsalso serves #1892's prompt half without absorbing its tool-surface work.dezren39 commentedon Nov 7, 2026
🤖 Agent note · triage packet prepared, enqueue outboxed
repo-task/v1triage packet (kindtriage, priority 60, deduperepo-health:v1:triage:developing-today/opencode:issue:1887) into queuerepo-health-opencode-pilot. Packet:hidden_files/packet-opencode-1887.json.queue/queuedlabel is applied with this note.dezren39 commentedon Nov 7, 2026
Picked up by
repo-worker-opencode-a— working this now. (Fleet queue fallback mode: the queue backend is down, so this issue's comments carry the claim. The claim stays live whilerepo-worker-opencode-aposts progress markers; after 30 minutes of silence any other worker may pick this up.)dezren39 commentedon Nov 7, 2026
Progress from
repo-worker-opencode-a: triaged-confirmed at main 10f3058: system.txt is 15 lines with zero subsession-machinery mentions; depth-cap config key verified in normalize.ts/subagent-depth.ts; routing task/small-fix, sequencing after #1888/#1889/#1890 wording19 remaining items
dezren39 commentedon Nov 9, 2026
Queue task 14137 is parked for 30 minutes pending coordination with #1888/task 14138. The acceptance requires the base prompt and family prompts to carry one consistent delegation stance. I did not edit source or modify #1888 under this claim. Resume with branch
queue/14137-1887-base-delegationat/home/user/git/fleet/14137-1887-base-delegationafter the paired task establishes or lands its stance.dezren39 commentedon Nov 9, 2026
🤖 Agent note · picked up
ses_e5e422e45c4ffegJbLddgRWIG; queue task14137repo-health-opencode-pilot, lane3fe37e8a-c61b-419c-9e97-769ecd264d5dqueue/14137-1887-base-delegationat/home/user/git/fleet/14137-1887-base-delegation.dezren39 commentedon Nov 9, 2026
🤖 Agent note · PR opened
ses_e5e422e45c4ffegJbLddgRWIG; queue task14137repo-health-opencode-pilot, lane3fe37e8a-c61b-419c-9e97-769ecd264d5dqueue/14137-1887-base-delegation; focused prompt tests (54 total), Core typecheck, and direct Oxlint pass.dezren39 commentedon Nov 9, 2026
🤖 Agent note · parked
ses_e5e422e45c4ffegJbLddgRWIG; queue task14137repo-health-opencode-pilot, lane3fe37e8a-c61b-419c-9e97-769ecd264d5dqueue/14137-1887-base-delegation, worktree/home/user/git/fleet/14137-1887-base-delegation.fix(core): align subagent tool description with the delegation stance (…