docs: simplify verification workflow
This commit is contained in:
@@ -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 значения и предположения не считаются завершением.
|
||||
|
||||
Reference in New Issue
Block a user