Журнал доказательств
Журнал доказательств отвечает на один вопрос: почему этот work.id можно закрыть? В нём — вывод команд, трассы файлов, результаты проверок и вердикты гейтов рядом с BVC-контрактом. Как и код, всё проходит через git.
Что считается доказательством
Evidence машиночитаем. Сообщения в чате и слова «готово» для Tier A не достаточны.
Вывод команд
npm test, bvc lint, свои скрипты — exit code, stdout/stderr и время привязаны к work.id. Результаты CI можно ссылать так же.
Трассы связей
work.id ↔ файлы ↔ тесты ↔ решения AN. Битые связи видны в диагностике до merge, а не после продакшена.
Tier-проверки
Tier A требует детерминированного proof. B/C добавляют опциональные и environment-гейты. Матрица видна в UI и в метках контракта.
От захвата до done
MCP-инструменты задают порядок; пропуск шага оставляет задачу открытой — PolicyViolation или missing_evidence.
- claim_work_item Агент берёт work.id и читает контракт
- правки target_files Только внутри allowlist
- запуск команд Только разрешённые скрипты
- submit evidence JSON + логи
- assert_task_ready_for_done Вердикт гейта → done
Проверки живут в контракте
Секция Checks в BVC и MCP-гейты используют одно определение готовности — у агента и человека один и тот же список missing[].
#ImplementTraceLinksV1@ru<[
Базис:
Текущая трассировка шагов не валидируется в CI
Нет связи work.id ↔ файлы ↔ тесты
Вектор:
Реализовать валидатор трассировки
Добавить MCP-инструмент get_unified_linkage
Цель:
Любая задача с trace.* метками имеет автоматическую проверку целостности
Метки:
profile: work_item
tier: A
trace.codegen: false
Checks:
npm run test:deterministic
bvc lint intent/**/implement-trace-links-v1.work.bvc
]>claim_work_item("implement-trace-links-v1")
→ get_work_contract(work_id)
→ edit target_files
→ run allowed commands
→ validate_evidence(structured_json)
→ assert_task_ready_for_done(work_id)
→ add_work_item_evidence + completeПроверки и память в UI
В матрице видно, чего не хватает. В памяти — что уже доказано и закрыто: аудит-след для следующей сессии.
Проверки решают, можно ли закрыть задачу
Матрица tier A/B/C: детерминированные команды, опциональные проверки и environment-гейты. assert_task_ready_for_done возвращает violations[] — вердикт контракта, а не слова агента.
Память проекта хранит проверенные результаты
Закрытые задачи с валидным evidence становятся записями памяти со ссылками на work.id и файлы. Следующая сессия опирается на git, а не на пересказ прошлого чата.
Задача — машиночитаемый BVC-контракт, а не тикет из чата
В панели задачи: Базис, Вектор, Цель, анализ, решения, проверки и evidence. Агент читает projection через get_work_contract и знает, какие файлы, команды и гейты обязательны до закрытия.
Готовность к завершению
Закрытие требует evidence, checks и трассируемого контракта. Гейт возвращает, какое поле или команда не прошли — не общую ошибку.
Записи доказательств
Строки и структурированные записи связывают команды, diff, трассы и итог проверки с одним work.id. Review и blame — через git.
Локально по умолчанию
Журнал — файлы в репозитории. Отдельной SaaS-базы нет: PR-review применим к evidence так же, как к коду.