Files
specs/openspec/changes/archive/2026-08-23-harden-openspec-authority-and-lifecycle/tasks.md
T

7.3 KiB
Raw Blame History

1. Canonical OpenSpec authority

  • 1.1 Обновить корневой AGENTS.md и frontend/AGENTS.md, backend/AGENTS.md, specs/AGENTS.md, docs/AGENTS.md: объявить wealth-ledger-specs/specs/openspec единственным SDD store, потребовать --store wealth-ledger-specs, запретить versioned framework-specific planning artifacts вне store и сохранить исключение references/**.
  • 1.2 В каждом из восьми .opencode/commands/opsx-*.md и восьми .opencode/skills/openspec-*/SKILL.md заменить conditional store-selection guidance на fixed wealth-ledger-specs; все OpenSpec commands, читающие или изменяющие change, должны содержать --store wealth-ledger-specs и не должны допускать nearest-root/global-default fallback.
  • 1.3 Изменить .opencode/commands/opsx-archive.md и .opencode/skills/openspec-archive-change/SKILL.md: блокировать archive без подтверждающего обхода, если отсутствует tasks.md, любой planning artifact не done/skipped или в tasks есть - [ ]; описать post-archive evidence и commits как действие после archive, не как task change.

2. Read-only authority verifier

  • 2.1 Создать specs/scripts/verify-openspec-authority.sh, который по собственному расположению определяет workspace, не делает writes и проверяет specs/.openspec-store/store.yaml, единственный project-owned specs/openspec, пять AGENTS.md, все шестнадцать .opencode entrypoints, отсутствие generated fallback wording и известных framework planning locations вне store; исключить references/**, .git, dependencies и generated outputs.
  • 2.2 Добавить в verifier понятные сообщения для каждого нарушенного инварианта и ненулевой exit status; success path должен сообщать проверенное canonical authority без изменения tracked files.
  • 2.3 Добавить в specs/AGENTS.md documented command verifier и выполнить read-only проверки success path, дополнительного openspec/ root, неявного entrypoint и запрещённого planning location на временных fixtures, не изменяя project-owned tracked files.

3. Durable documentation и remediation state

  • 3.1 Создать в docs/development краткую durable documentation authority/lifecycle contract: границы specs/openspec, docs, application repos и references/**; объяснить, что requirements, design и tasks не дублируются вне canonical store.
  • 3.2 Добавить документ в docs/development/README.md и убедиться, что он ссылается на canonical OpenSpec store, а не создаёт второй change-specific SDD artifact.
  • 3.3 Обновить docs/development/audit-remediation.md: сделать harden-openspec-authority-and-lifecycle active change для WL-P1-03/WL-P1-04 и убрать его из формулировки «ещё не создан», не помечая findings как done до фактического archive evidence.

4. Historical archive reconciliation

  • 4.1 Собрать read-only evidence из OpenSpec archive и Git history specs, docs, backend и frontend для 2026-08-17-redesign-position-cards; установить фактические archive path и commits либо документировать недостающий факт.
  • 4.2 Только если evidence подтверждено, отметить tasks 6.2 и 6.3 archived change как complete и добавить dated reconciliation note с exact commands, observed results и различием между исходным archive и текущей проверкой; не менять implementation files, delta specs, archive date или историю Git.

5. Pre-archive verification

  • 5.1 Запустить authority verifier из workspace root и из frontend, backend, specs и docs; зафиксировать в change точные команды и observed results для дальнейшего completion evidence.
  • 5.2 Нормализовать RFC 2119 маркеры в brokerage-account-ledger через delta-spec без изменения требований или сценариев; выполнить openspec validate harden-openspec-authority-and-lifecycle --type change --strict --store wealth-ledger-specs, openspec validate --specs --strict --store wealth-ledger-specs и git diff --check в каждом затронутом Git repository; устранить все blocking results.
  • 5.3 Выполнить независимый read-only review delta specs, policy boundaries, archive gate, verifier exclusions и historical reconciliation; подтвердить, что tasks не содержат post-archive bookkeeping или commit/registry-completion checkbox.

Pre-archive verification evidence — 2026-08-23

  • bash specs/scripts/verify-openspec-authority.sh из workspace root — OpenSpec authority verified: wealth-ledger-specs at specs/openspec.
  • cd frontend && bash ../specs/scripts/verify-openspec-authority.sh — success с тем же результатом.
  • cd backend && bash ../specs/scripts/verify-openspec-authority.sh — success с тем же результатом.
  • cd specs && bash scripts/verify-openspec-authority.sh — success с тем же результатом.
  • cd docs && bash ../specs/scripts/verify-openspec-authority.sh — success с тем же результатом.
  • bash specs/scripts/verify-openspec-authority.test.sh — success; fixture подтверждает success path, дополнительный project-owned OpenSpec root, неявный store selection (включая вызов в скобках), conditional --store "<id>", archive override wording, запрещённый docs/superpowers/plans и исключение references/**.
  • openspec validate harden-openspec-authority-and-lifecycle --type change --strict --store wealth-ledger-specs — Change 'harden-openspec-authority-and-lifecycle' is valid.
  • Первый запуск openspec validate --specs --strict --store wealth-ledger-specs выявил baseline brokerage-account-ledger: strict validator требует RFC 2119 SHALL или MUST, тогда как main spec использовала русское «ДОЛЖНА». По явному решению владельца change получил delta-spec, нормализующий только маркеры без изменения requirements или scenarios.
  • Повторный openspec validate --specs --strict --store wealth-ledger-specs — 14 passed, 0 failed.
  • git diff --check в frontend, backend, specs и docs — exit 0.
  • Независимый read-only review 2026-08-23 — Critical/Important findings отсутствуют; проверены все 16 .opencode entrypoints, hard archive gate, exclusions verifier и historical reconciliation.