Skip to content

docs: make the review mechanism an explicit, verifiable choice - #139

Merged
dapi merged 1 commit into
mainfrom
docs/canonical-review-mechanism
Sep 6, 2026
Merged

dapi merged 1 commit into
mainfrom
docs/canonical-review-mechanism

Conversation

@dapi

@dapi dapi commented Sep 6, 2026

Copy link
Copy Markdown
Owner

Closes #120.

Проблема

Независимая проверка запускалась через произвольный транспорт: отдельную cmux-сессию, вручную собранный codex exec или иной ad hoc механизм. Результат приходилось вручную извлекать из логов и интерпретировать, а review contract зависел от локального UI и orchestration setup. В #117 это дошло до того, что cmux использовался как механизм проверки, хотя его дело — размещать вкладки.

Проектное решение: два слоя вместо одного

Issue просит назвать code-converge каноническим механизмом в governance. Но code-converge — конкретный внешний инструмент, а template/memory-bank/ уходит в произвольные downstream-проекты, где его нет; AGENTS.md прямо запрещает возвращать project-specific specialization в шаблон.

Поэтому требование разделено:

Слой Что содержит
flows/testing-policy.md — generic требования к любому механизму
engineering/testing-conventions.md — project-adaptation слот, где проект называет свой механизм и вызовы
AGENTS.md — этот репозиторий code-converge и его точные команды

Downstream-проект с другим инструментом получает рабочий контракт, а не мёртвую ссылку.

Требования к механизму (generic)

  • structured verdict — verdict и findings читаются из структурированного результата. Успешно завершившийся процесс, открытая вкладка терминала или свободный текст агента доказательством не являются.
  • fail closed — отсутствующий, повреждённый или неизвестный результат означает «проверка не выполнена»; подменять недоступный механизм другим по ходу дела нельзя.
  • review-only — прогон не изменяет проверяемую revision, не создаёт checkpoint и не публикует изменения.
  • автор ≠ проверяющий — findings исправляет автор; после исправлений выполняется новая проверка новой revision.

Terminal и UI-оркестраторы открываются только по прямой просьбе человека.

Выбор этого репозитория

Проверка реализации:            code-converge
Документы и артефакты:          code-converge --document-review --max-cycles 0

--max-cycles 0 даёт проверяющему нулевой fix budget — именно это технически разделяет роли: он возвращает findings, но не правит проверяемую revision.

Повторная проверка после исправлений отдельно прописывать не пришлось: контракт сходимости из #137 уже требует, чтобы изменение кода аннулировало verdict.

Проверки

lint шаблона, lint --repo-root ., doctor --profile template, валидатор priming-манифестов, git diff --check — всё зелёное. Якорь #механизм-проверки проверен вручную: lint якоря не валидирует.

🤖 Generated with Claude Code

https://claude.ai/code/session_01RtxeRwhVf1y8zvxUtk6xrS

Независимая проверка запускалась через произвольный транспорт — отдельную
cmux-сессию, вручную собранный codex exec или иной ad hoc механизм. Результат
приходилось вручную извлекать из логов, а review contract зависел от локального
UI и orchestration setup.

Разделено по слоям, потому что `code-converge` — конкретный внешний инструмент,
а `template/memory-bank/` уходит в произвольные downstream-проекты, где его нет:

- в generic-слой (`flows/testing-policy.md`) добавлены требования к любому
  механизму: structured verdict, fail closed, review-only и разделение автора и
  проверяющего. Terminal и UI-оркестраторы объявлены средством размещения
  вкладок, а не механизмом проверки;
- в project-adaptation слой (`engineering/testing-conventions.md`) добавлен слот,
  где проект называет свой механизм и точные вызовы двух режимов;
- собственный выбор этого репозитория — `code-converge` — зафиксирован в
  `AGENTS.md` вместе с командами: обычный review-режим для реализации и
  `--document-review --max-cycles 0` для документов и артефактов.

Нулевой fix budget разделяет роли: проверяющий возвращает findings, но не правит
проверяемую revision; исправляет автор, после чего запускается новая проверка
новой revision — это уже требует контракт сходимости из #137.

Closes #120

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RtxeRwhVf1y8zvxUtk6xrS
@dapi
dapi merged commit f1f04de into main Sep 6, 2026
1 check passed
@dapi
dapi deleted the docs/canonical-review-mechanism branch September 6, 2026 18:26
dapi added a commit that referenced this pull request Sep 6, 2026
…bsystem

* origin/main:
  docs: make the review mechanism an explicit, verifiable choice (#139)
  docs: add WAIT status for external events without a human gate (#138)
  docs: bound review convergence across delivery flows (#137)
  chore: pin memory-bank-cli v2.3.0 in CI (#136)
  refactor: make project-local memory bank a projection of the payload (#134)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs: use code-converge as the canonical review mechanism

1 participant