chore: harden SDD governance workflow
This commit is contained in:
@@ -1,24 +1,36 @@
|
||||
# Specs
|
||||
|
||||
## Назначение
|
||||
## Назначение и authority
|
||||
|
||||
Репозиторий единственных versioned SDD-артефактов и canonical OpenSpec store: `wealth-ledger-specs` в `specs/openspec` (относительно workspace). Все функциональные изменения планируются в `openspec/changes/<change>/` до реализации в frontend или backend.
|
||||
Этот репозиторий — единственный versioned SDD authority. Canonical OpenSpec store — `wealth-ledger-specs`, физический root от workspace — `specs/openspec` (локально `openspec`). OpenSpec commands, читающие или изменяющие change, всегда получают `--store wealth-ledger-specs`; nearest-root или default-store fallback запрещён.
|
||||
|
||||
## Проверка
|
||||
Proposal, Delta Specs, Design, Tasks, changes и archives хранятся только в `openspec`. Не создавать versioned planning artifacts вне него, включая `superpowers/plans`; `../references/**` read-only. `docs` хранит as-built state и Completion Evidence, но не копию change artifacts.
|
||||
|
||||
## Workflow и verification
|
||||
|
||||
Поддерживаемая CLI version задана в `openspec/.cli-version`; новые changes используют project-local schema `wealth-ledger-sdd`. Артефакты создаются по одному после approval Change Owner. Общая policy: [`../docs/development/engineering-governance.md`](../docs/development/engineering-governance.md); lifecycle: [`../docs/development/openspec-authority-and-lifecycle.md`](../docs/development/openspec-authority-and-lifecycle.md); audit work: [`../docs/development/audit-remediation.md`](../docs/development/audit-remediation.md).
|
||||
|
||||
Из workspace canonical pre-archive gate:
|
||||
|
||||
```bash
|
||||
openspec validate <change> --type change --store wealth-ledger-specs
|
||||
openspec instructions apply --change <change> --json --store wealth-ledger-specs
|
||||
bash scripts/verify-openspec-authority.sh
|
||||
bash scripts/verify-runtime-openapi.sh
|
||||
bash specs/scripts/verify-workspace-change.sh <change>
|
||||
```
|
||||
|
||||
## Границы
|
||||
Для scoped diagnostics из `specs`:
|
||||
|
||||
- Change содержит proposal, design, delta-specs и tasks; требования и задачи живут здесь, не в delivery-plan файле или коде.
|
||||
- Реализация отмечается в tasks только после выполненной работы. Перед архивированием change проходит `opsx-verify` и получает связанную документацию в `../docs`.
|
||||
- Не хранить код приложений и долгоживущие ADR в этом репозитории.
|
||||
- Для фактических границ системы и терминов использовать [`../docs/architecture/system-overview.md`](../docs/architecture/system-overview.md) и [`../docs/architecture/domain-glossary.md`](../docs/architecture/domain-glossary.md).
|
||||
- Для задачи по Audit ID, продолжения remediation или выбора следующего улучшения сначала прочитать [`../docs/development/audit-remediation.md`](../docs/development/audit-remediation.md); продолжать или создавать change только в store `wealth-ledger-specs`.
|
||||
- Все OpenSpec commands, читающие или изменяющие change, обязаны указывать `--store wealth-ledger-specs`; nearest-root и global-default selection не поддерживаются.
|
||||
- Не создавать и не коммитить framework-specific planning/spec/task/design artifacts вне `openspec/` (то есть `specs/openspec` от workspace), включая `superpowers/plans`; `../references/**` остаётся read-only исключением.
|
||||
```bash
|
||||
bash scripts/verify-openspec-version.sh
|
||||
openspec schema validate wealth-ledger-sdd --verbose
|
||||
openspec validate <change> --type change --strict --store wealth-ledger-specs
|
||||
openspec validate --specs --strict --store wealth-ledger-specs
|
||||
bash scripts/verify-openspec-authority.sh
|
||||
```
|
||||
|
||||
Structural validation не заменяет semantic verification и independent read-only review. Tasks отмечаются только после выполненной работы; archive не допускает unchecked tasks или verification override.
|
||||
|
||||
## Boundaries
|
||||
|
||||
- Design содержит Delivery Map `frontend`, `backend`, `specs`, `docs` и условный Solution Assessment.
|
||||
- Specs описывают observable behavior, не изменения кода; Design — architecture, не line-by-line implementation; Tasks — implementation checklist без будущего evidence.
|
||||
- Не хранить application code и durable ADR в `specs`.
|
||||
- Для фактической системы и терминов использовать [`../docs/architecture/system-overview.md`](../docs/architecture/system-overview.md) и [`../docs/architecture/domain-glossary.md`](../docs/architecture/domain-glossary.md).
|
||||
|
||||
Reference in New Issue
Block a user