feat(config): reasoningEffort max for all agents, fix review suggestions #101
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Контекст
После PR #100 (general → glm-5.2, vision-агент, удалён plan) reviewer оставил 5 info-suggestions (не блокирующие). Пользователь хочет явно зафиксировать максимальный уровень мышления (
reasoningEffort: "max") для всех агентов с model, чтобы не зависеть от model-specific default (дока opencode.ai/docs/models не указывает default для ollama-cloud моделей; для OpenAI это medium/high, для остальных — модель-специфичный).Задача
.opencode/opencode.json(секцияagent) добавить"reasoningEffort": "max"к записям:general(glm-5.2),reviewer(deepseek-v4-pro),vision(minimax-m3),explore,scout,memory-syncer(deepseek-v4-flash).plan— не трогать (без model, наследует глобальную из UI)..opencode/agents/vision.md: добавить deny-правила для oracle-скриптов в bash allow-список (6 правил:python3 *pipeline-status.py*,python3 .opencode/scripts/pipeline-status.py*, и аналоги дляspec-status.py,project-status.py— как вreviewer.md:63-72).tests/test_permissions.py:369: docstring «All 5 subagents» → «All 6 subagents».tests/test_permissions.py:431-469: вынести_parse_frontmatter/_parse_yaml_blockв общий helper (напримерtests/conftest.py), убрать дублирование ~40 строк..opencode/agents/vision.md: добавить trailing newline.opencode.json: добавить"serena_*": falseвtoolsуvision(симметрия сmemory-syncer).Контракты
reasoningEffort— camelCase, поле в записи агента вopencode.json(секцияagent.<name>), передаётся провайдеру как model option (дока opencode.ai/docs/agents «Additional»)."max"поддерживается всеми 4 моделями: glm-5.2 (high/max), minimax-m3 (low/medium/high/max), deepseek-v4-flash/pro (effort).vision.mdbash deny-правила — формат как вreviewer.md:63-72(glob-паттерны с*).tests/conftest.py— если файла нет, создать; helper-функции импортируются изtest_agent_frontmatter.pyиtest_permissions.py.Инварианты
planНЕ получаетreasoningEffort(нет model).check-permissions.py— exit 0.uv run pytest tests/ -x -q).Граничные случаи
tests/conftest.pyуже существует — добавить helper туда, не перезаписывая содержимое._parse_frontmatterиспользуется в других тестах — обновить импорты везде.serena_*: falseу vision не ломает его работу (vision использует antidetect-browser MCP + Read, не Serena).Влияние на связанные компоненты
tests/test_permissions.py,tests/test_agent_frontmatter.py— рефакторинг парсера..opencode/agents/vision.md— bash permission..opencode/opencode.json— agent секция.opencode-config-007.md(reasoningEffort max для всех агентов).Вне scope
plan(primary без model).Критерии приемки
uv run pytest tests/ -x -q— все зелёные.python3 .opencode/scripts/check-permissions.py— exit 0.opencode.jsonу 6 агентов с model есть"reasoningEffort": "max".vision.mdесть 6 deny-правил для oracle-скриптов и trailing newline.visionвtoolsесть"serena_*": false.