chore(config): track subagent_depth in opencode.json #111

Closed
opened 2026-08-19 01:30:20 +03:00 by slaid098 · 0 comments
Owner

Контекст

Ключ subagent_depth: 3 присутствовал в live-конфиге /root/.config/opencode/opencode.json (line 3), но отсутствовал в git-tracked клоне /root/workspace/opencode-config/.opencode/opencode.json — drift (правка мимо git, нарушает правило ## Config Edits из AGENTS.md). Без этого ключа в git source of truth, любой reset/reinstall потеряет настройку.

Задача

Добавить subagent_depth: 3 в .opencode/opencode.json (git-tracked клон), закоммитить, создать PR. Значение 3 = main agent → general subagent → explore/scout/vision subagent (3 уровня глубины).

Контракты

  • Ключ top-level в opencode.json, сразу после $schema (симметрично live-конфигу).
  • Значение: 3 (integer).
  • JSON валиден после правки.

Инварианты

  • Правка ТОЛЬКО в git-tracked клоне /root/workspace/opencode-config/.opencode/opencode.json, НЕ в ~/.config/opencode/ (bind-mount, запрещено правилом Config Edits).
  • Live-конфиг уже содержит 3 (drift) — после merge PR live синхронизируется через bind-mount автоматически (git-tracked = source for bind-mount on restart).

Граничные случаи

  • Ключ уже в live, но не в git → после restart opencode подхватит значение (сейчас не грузится, т.к. добавлено после старта процесса).
  • permission.task для general уже настроен: {"*": "deny", "explore": "allow", "scout": "allow", "vision": "allow"} — general может вызывать только explore/scout/vision, не general/reviewer/memory-syncer. subagent_depth=3 даёт глубину для этих разрешённых вызовов.

Влияние на связанные компоненты

  • .opencode/opencode.json — +1 строка.
  • Live-конфиг /root/.config/opencode/ — без изменений (drift закроется после restart opencode).
  • Поведение subagent'ов после restart: general сможет делегировать в explore/scout/vision с глубиной 3 (сейчас падает с subagent_depth limit reached (1)).

Вне scope

  • Restart opencode (пользователь сделает сам после merge).
  • Документирование subagent_depth в skill configure-opencode (можно отдельным PR).
  • Другие ключи из drift'а (если есть — отдельная задача).

Критерии приемки

  1. .opencode/opencode.json содержит "subagent_depth": 3 на top-level.
  2. JSON валиден.
  3. PR создан, CI green.
  4. Review APPROVE.
  5. Merge.
## Контекст Ключ `subagent_depth: 3` присутствовал в live-конфиге `/root/.config/opencode/opencode.json` (line 3), но отсутствовал в git-tracked клоне `/root/workspace/opencode-config/.opencode/opencode.json` — drift (правка мимо git, нарушает правило `## Config Edits` из AGENTS.md). Без этого ключа в git source of truth, любой reset/reinstall потеряет настройку. ## Задача Добавить `subagent_depth: 3` в `.opencode/opencode.json` (git-tracked клон), закоммитить, создать PR. Значение 3 = main agent → general subagent → explore/scout/vision subagent (3 уровня глубины). ## Контракты - Ключ top-level в opencode.json, сразу после `$schema` (симметрично live-конфигу). - Значение: `3` (integer). - JSON валиден после правки. ## Инварианты - Правка ТОЛЬКО в git-tracked клоне `/root/workspace/opencode-config/.opencode/opencode.json`, НЕ в `~/.config/opencode/` (bind-mount, запрещено правилом Config Edits). - Live-конфиг уже содержит `3` (drift) — после merge PR live синхронизируется через bind-mount автоматически (git-tracked = source for bind-mount on restart). ## Граничные случаи - Ключ уже в live, но не в git → после restart opencode подхватит значение (сейчас не грузится, т.к. добавлено после старта процесса). - `permission.task` для general уже настроен: `{"*": "deny", "explore": "allow", "scout": "allow", "vision": "allow"}` — general может вызывать только explore/scout/vision, не general/reviewer/memory-syncer. subagent_depth=3 даёт глубину для этих разрешённых вызовов. ## Влияние на связанные компоненты - `.opencode/opencode.json` — +1 строка. - Live-конфиг `/root/.config/opencode/` — без изменений (drift закроется после restart opencode). - Поведение subagent'ов после restart: general сможет делегировать в explore/scout/vision с глубиной 3 (сейчас падает с `subagent_depth limit reached (1)`). ## Вне scope - Restart opencode (пользователь сделает сам после merge). - Документирование `subagent_depth` в skill `configure-opencode` (можно отдельным PR). - Другие ключи из drift'а (если есть — отдельная задача). ## Критерии приемки 1. `.opencode/opencode.json` содержит `"subagent_depth": 3` на top-level. 2. JSON валиден. 3. PR создан, CI green. 4. Review APPROVE. 5. Merge.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
slaid098/opencode-config#111
No description provided.