Repository navigation
Description
Relocated from dezren39/darwin-nix#217 on 2026-10-28 (placement audit): mcpx's single source lives in developing-today/code (pkgs/mcpx); re-home tracked at #309. Original body below; issue references inside it are historical (dezren39/nix numbering).
Parent: #181
Summary
The plugin's instructions option pushes onto output.parts, but opencode v1 calls experimental.chat.system.transform with {system: string[]}. Nothing is injected, silently, on every turn.
Found while writing the comparison register (pkgs/mcpx/docs/compare/) and checked against the code at 05c78b2. Each row below links its register entry, which carries the value, effort, risk, the specification text and every source.
Register rows
| row | difference | mcpx @ 05c78b2 | effort |
|---|---|---|---|
| PLG-16 | experimental.chat.system.transform output is {system: string[]} |
✗ broken — writes output.parts; never injected |
S |
Evidence
plugin/opencode/mcpx-session.ts:745-746; v1:packages/opencode/src/session/llm/request.ts:69-73 (opencode 1.18.31).
What to do
output.system.push(text), and a test that runs the hook against v1's call shape.
Ease · Impact · Related
Ease S · Impact low · Related: #189, #47
Acceptance criteria
- The plugin's
instructionsoption actually reaches the system prompt on opencode v1: the hook writes tooutput.system(astring[]), notoutput.parts. - A regression test runs the hook against opencode v1's actual call shape (
experimental.chat.system.transformwith{system: string[]}). - Setting the option with no instructions configured remains a no-op (no empty injection).
Activity
dezren39 commentedon Oct 28, 2026
History carried over from dezren39/darwin-nix#217 (verbatim, oldest first):
@dezren39 · 2026-10-28T04:30:35Z
🤖 Intake review — fleet monitor, 2026-10-27 run
plugin/opencode/mcpx-session.ts:745-746against opencode 1.18.31'srequest.ts:69-73. Related plugin issues: Phase 4: joiner misses an update made without knowing its concurrent add #189, build(deps): bump actions/checkout from 3 to 4 #47.05c78b2(2026-09-30). Re-verify each row against currentmainbefore fixing — a row may have moved since.developing-today commentedon Oct 28, 2026
CODE-863
16 remaining items
dezren39 commentedon Oct 30, 2026
Agent note — picked up (resume)
awaiting_ci: PR fix(mcpx plugin): instructions option writes output.system, opencode v1's shape (#1938) #2617 at head 43ab304. This shift: Codex check + fresh checks; if CI is still jammed, verifying the merged tree on the laptop and merging on that evidence under the standing rule; then close this issue and complete.Merge pull request #2617 from developing-today/queue/3241-1938-instru…
dezren39 commentedon Oct 30, 2026
Agent note — done
instructionsoption now reaches opencode v1's system prompt (output.system, not v2'soutput.parts).process.env, leaking the scratch TMPDIR into daemon.test.ts under Bun) was fixed in 2fb6637 — env is now restored in place — and dispositioned on its thread.bun test plugin/opencode/mcpx/passes 45/0 fail and the Go docs guards (defaults/settings) pass. CI remained queued in the runner jam (CI: hosted runner queue saturates repo-wide (~425 queued runs), so PR checks wait hours behind push and workflow_run traffic #2605); merged on the laptop evidence under the standing merge rule.