docs: simplify verification workflow

This commit is contained in:
2026-08-26 23:14:09 +03:00
parent 76d4de4428
commit 4af0a9c055
8 changed files with 40 additions and 96 deletions
+11 -14
View File
@@ -147,37 +147,34 @@ contract либо другое существенно труднообратим
## Guardrails и local gates
CI пока отсутствует, поэтому обязательные gates выполняются локально одним и тем же способом человеком, AI-агентом и workspace verifier:
CI пока отсутствует, поэтому обязательные gates выполняются локально человеком или AI-агентом:
| Область | Canonical gate |
| --- | --- |
| frontend | `npm run verify` в `frontend` |
| backend | `npm run verify` в `backend` |
| specs | `bash specs/scripts/verify-workspace-change.sh <change>` из workspace root |
| specs | native strict validation из canonical store |
| docs | `npm run verify` в `docs` |
Каждый gate non-mutating и fail-fast. Auto-fix commands выполняются отдельно и не служат доказательством корректности. Runtime preflight отклоняет неподдерживаемый Node до application checks; OpenSpec preflight аналогично отклоняет несовместимую CLI version до операций со store.
Каждый gate non-mutating и fail-fast. Auto-fix commands выполняются отдельно и не служат доказательством корректности. Node 22 задан `.nvmrc` и `engines`; OpenSpec commands всегда используют canonical store.
Hard guardrail должен иметь исполняемую локальную проверку. Правило без надёжной проверки помечается как guidance и учитывается в review, но не выдаётся за автоматический запрет. Новые frameworks, checkers и thresholds добавляются только после оценки поддерживаемого решения, maintenance cost и реально защищаемого риска.
Root `.opencode/commands` и `.opencode/skills` являются локальными
non-authority entrypoints. Они должны соблюдать fixed store, version preflight,
one-artifact approvals и hard archive blockers, но не имеют отдельного
versioned projection source.
non-authority entrypoints. Они должны соблюдать fixed store, one-artifact
approvals и hard archive blockers, но не имеют отдельного versioned projection
source.
Текущая exact OpenSpec CLI version читается только из
`specs/openspec/.cli-version`. Новая stable release не меняет contract
автоматически. Upgrade выполняется отдельным SDD change после isolated проверки
schema, agent workflow, canonical store и positive/negative fixtures;
историческое evidence сохраняет фактическую прежнюю version.
OpenSpec schema и changes валидируются native CLI с явным canonical store.
## Verify, archive и Completion Evidence
Structural validation OpenSpec проверяет schema и форму артефактов, но не соответствие реализации. До archive обязательны:
1. успешные canonical gates всех affected areas;
2. semantic verification реализации против Proposal, Delta Specs, Design и Tasks;
3. independent read-only review без Critical и Important findings;
4. завершённый checklist без unchecked tasks.
2. native strict validation completed change и main specs из canonical store;
3. semantic verification реализации против Proposal, Delta Specs, Design и Tasks;
4. independent read-only review без Critical и Important findings;
5. завершённый checklist без unchecked tasks.
Archive не имеет confirmation override для этих blockers. После успешного archive применяется двухфазная фиксация: сначала commits поставленных изменений и archive/sync, затем Completion Evidence с уже существующими delivery commit IDs, после чего отдельный final docs commit сохраняет evidence. Evidence ссылается на предшествующий as-built docs commit, если docs affected; при `N/A` сохраняет причину и не выдумывает implementation commit. Собственный final evidence commit не может ссылаться сам на себя и сообщается итогом archive workflow. Только фактические commits, выполненные команды и наблюдённые результаты могут быть evidence; planned значения и предположения не считаются завершением.