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

Merged
slaid098 merged 1 commit from chore/config/track-subagent-depth into main 2026-08-19 01:33:57 +03:00
Owner

Что сделано

Добавлен top-level ключ subagent_depth: 3 в .opencode/opencode.json (git-tracked клон) — на line 3, сразу после "$schema", симметрично live-конфигу.

Почему

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

Watch out

— значение 3 = main agent → general subagent → explore/scout/vision subagent (3 уровня глубины). general уже ограничен permission.task: {"*": "deny", "explore": "allow", "scout": "allow", "vision": "allow"} — может вызывать только explore/scout/vision, не general/reviewer/memory-syncer. subagent_depth=3 даёт глубину для этих разрешённых вызовов (сейчас падает с subagent_depth limit reached (1) т.к. live-конфиг добавлен после старта процесса, не загрузился).
— live-конфиг /root/.config/opencode/ НЕ трогался (bind-mount, запрещено правилом Config Edits). Drift закроется после merge + restart opencode.

Pending

— Restart opencode после merge (пользователь сделает сам).
— Документирование subagent_depth в skill configure-opencode (опционально, отдельным PR).

Closes #111

## Что сделано Добавлен top-level ключ `subagent_depth: 3` в `.opencode/opencode.json` (git-tracked клон) — на line 3, сразу после `"$schema"`, симметрично live-конфигу. ## Почему Ключ `subagent_depth: 3` присутствовал в live-конфиге `/root/.config/opencode/opencode.json`, но отсутствовал в git-tracked клоне — drift (правка мимо git, нарушает правило `## Config Edits` из AGENTS.md). Без ключа в git source of truth, любой reset/reinstall потеряет настройку. После restart opencode подхватит значение из git-tracked конфига (через bind-mount). ## Watch out — значение `3` = main agent → general subagent → explore/scout/vision subagent (3 уровня глубины). `general` уже ограничен `permission.task: {"*": "deny", "explore": "allow", "scout": "allow", "vision": "allow"}` — может вызывать только explore/scout/vision, не general/reviewer/memory-syncer. `subagent_depth=3` даёт глубину для этих разрешённых вызовов (сейчас падает с `subagent_depth limit reached (1)` т.к. live-конфиг добавлен после старта процесса, не загрузился). — live-конфиг `/root/.config/opencode/` НЕ трогался (bind-mount, запрещено правилом Config Edits). Drift закроется после merge + restart opencode. ## Pending — Restart opencode после merge (пользователь сделает сам). — Документирование `subagent_depth` в skill `configure-opencode` (опционально, отдельным PR). Closes #111
chore(config): track subagent_depth in opencode.json
All checks were successful
CI (always) / bootstrap (pull_request) Successful in 6s
CI / bootstrap (pull_request) Successful in 7s
Permission Security Check / check (pull_request) Successful in 13s
CI / lint (pull_request) Successful in 33s
CI / typecheck (pull_request) Successful in 33s
CI / complexity (pull_request) Successful in 21s
CI / test (3.13) (pull_request) Successful in 1m43s
637d7b57a3
Author
Owner

Code Review Summary

Минимальный конфиг-фикс: добавлен top-level ключ subagent_depth: 3 в .opencode/opencode.json (git-tracked), закрывающий drift с live-конфигом. JSON валиден, позиция после $schema симметрична live-конфигу, cross-file readers не затронуты.

Positives

  • Drift закрыт корректно: правка только в workspace clone, live-конфиг (~/.config/opencode/) не трогался — соответствует правилу Config Edits из AGENTS.md и skill configure-opencode.
  • Позиция ключа (line 3, сразу после $schema) идентична live-конфигу — после merge + restart порядок ключей не разойдётся.
  • PR body: все 4 heading'а заполнены осмысленно, Watch out объясняет семантику значения 3 и причину текущего падения (subagent_depth limit reached (1)), Pending честно фиксирует отложенные шаги.
  • Cross-file impact проверен: check-permissions.py читает opencode.json через json.load и обращается только к permission.bash — добавление top-level ключа его не ломает; других readers subagent_depth в репо нет.

Suggestions (info, not blocking)

  • .opencode/skills/configure-opencode/SKILL.md:3 [docs] Секция «Структура top-level ключей» не упоминает subagent_depth. PR уже фиксирует это в Pending как опциональный отдельный PR — согласен, не блокирует.
  • .opencode/opencode.json:3 [style] Значение 3 — magic number в конфиге; для конфиг-файла это норма (JSON не поддерживает комментарии/константы), но в Watch out PR уже задокументирована семантика — достаточно.

Verdict: APPROVE

## Code Review Summary Минимальный конфиг-фикс: добавлен top-level ключ `subagent_depth: 3` в `.opencode/opencode.json` (git-tracked), закрывающий drift с live-конфигом. JSON валиден, позиция после `$schema` симметрична live-конфигу, cross-file readers не затронуты. ### Positives - Drift закрыт корректно: правка только в workspace clone, live-конфиг (`~/.config/opencode/`) не трогался — соответствует правилу Config Edits из AGENTS.md и skill `configure-opencode`. - Позиция ключа (line 3, сразу после `$schema`) идентична live-конфигу — после merge + restart порядок ключей не разойдётся. - PR body: все 4 heading'а заполнены осмысленно, Watch out объясняет семантику значения `3` и причину текущего падения (`subagent_depth limit reached (1)`), Pending честно фиксирует отложенные шаги. - Cross-file impact проверен: `check-permissions.py` читает `opencode.json` через `json.load` и обращается только к `permission.bash` — добавление top-level ключа его не ломает; других readers `subagent_depth` в репо нет. ### Suggestions (info, not blocking) - **.opencode/skills/configure-opencode/SKILL.md:3** [docs] Секция «Структура top-level ключей» не упоминает `subagent_depth`. PR уже фиксирует это в Pending как опциональный отдельный PR — согласен, не блокирует. - **.opencode/opencode.json:3** [style] Значение `3` — magic number в конфиге; для конфиг-файла это норма (JSON не поддерживает комментарии/константы), но в Watch out PR уже задокументирована семантика — достаточно. ### Verdict: APPROVE
slaid098 deleted branch chore/config/track-subagent-depth 2026-08-19 01:33:57 +03:00
Sign in to join this conversation.
No reviewers
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!112
No description provided.