Archive verified session-oriented SDD v2 delivery

This commit is contained in:
2026-09-07 22:28:34 +03:00
parent 04a07b390f
commit a342e9d63f
9 changed files with 909 additions and 74 deletions
+90 -19
View File
@@ -8,17 +8,34 @@
### Requirement: Completion Evidence сохраняет фактическое завершение change
Durable development documentation SHALL хранить для завершённого change ссылку на canonical OpenSpec archive, Delivery Map, commit identifiers изменённых репозиториев, точные выполненные verification commands, их наблюдённые результаты и итог independent read-only review. Completion Evidence MUST создаваться из фактов после выполнения работы, MUST быть доступно из устойчивого index или registry и MUST NOT дублироваться как unchecked task либо планируемый результат внутри archived change.
Canonical archived OpenSpec change SHALL хранить Completion Evidence с
фактической Delivery Map, commit identifiers изменённых delivery areas, точными
выполненными verification commands и их observed results, а также итогом
independent read-only review. Completion Evidence MUST создаваться только после
существования этих фактов, MUST быть доступно вместе с canonical archive и MUST
NOT представляться как unchecked Task, планируемый результат или обязательная
docs-мутация для area со статусом `N/A`.
#### Scenario: Участник проверяет основание terminal status
- **WHEN** участник открывает evidence завершённого change в новой сессии
- **THEN** он может проследить связь от change и Delivery Map к фактическим commits, локальным gates и independent review без восстановления контекста из чата
- **WHEN** участник открывает canonical archive завершённого change в новой
сессии
- **THEN** он может проследить связь от Delivery Map к фактическим commits,
affected local gates и independent review без восстановления контекста из
чата или параллельного evidence store
#### Scenario: Реализация ещё продолжается
- **WHEN** часть commands, commits или review ещё не существует
- **THEN** documentation не представляет ожидаемые значения как Completion Evidence и change остаётся незавершённым
- **WHEN** часть delivery commits, commands, observed results или review ещё не
существует
- **THEN** change не представляет ожидаемые значения как Completion Evidence и
не получает terminal status
#### Scenario: Технический change не меняет as-built documentation
- **WHEN** фактическая Delivery Map обоснованно устанавливает `docs: N/A`
- **THEN** Completion Evidence сохраняет эту причину рядом с canonical archive
и не требует несвязанного изменения docs repository
### Requirement: Важные архитектурные решения фиксируются в ADR
Репозиторий docs SHALL содержать ADR для выбора локального хранилища, API-контракта, gRPC-интеграции T-Bank, хранения T-Bank токенов, устойчивости upstream-вызовов, auth-сессий и frontend-кэша. Каждый ADR MUST описывать контекст, решение и последствия.
@@ -35,37 +52,91 @@ Durable development documentation SHALL хранить для завершённ
- **THEN** ее feature-документ существует и отражает фактическое поведение
### Requirement: OpenSpec change закрывается только после полной верификации
Функциональный OpenSpec change MUST содержать все требуемые артефакты, реализацию, критические тесты, успешную проверку `opsx-verify` и связанную документацию до архивирования.
OpenSpec change MUST содержать все обязательные planning artifacts и
завершённые implementation-owned Tasks до архивирования. Archive MUST быть
заблокирован, пока отсутствует успешный canonical gate любой affected area,
semantic и acceptance verification реализации относительно approved artifacts
либо independent read-only review без Critical и Important findings; для area
со статусом `N/A` MUST существовать конкретная проверяемая причина.
#### Scenario: Команда пытается архивировать незавершенное изменение
- **WHEN** для изменения отсутствует реализация, верификация или feature-документ
- **THEN** изменение не считается готовым к архивированию
- **WHEN** для change отсутствует обязательный artifact, implementation-owned
результат, affected-area gate, semantic или acceptance verification,
допустимый independent review либо требуемая as-built documentation
- **THEN** change не архивируется и остаётся незавершённым без confirmation
override
#### Scenario: Delivery area не затронута
- **WHEN** Delivery Map помечает area как `N/A`
- **THEN** archive допускает отсутствие её commit и gate только при наличии
конкретной проверяемой причины
### Requirement: Документация процесса содержит remediation registry
Репозиторий `docs` SHALL содержать immutable versioned audit snapshots в `docs/audits` и versioned remediation registry в разделе development documentation. Registry MUST документировать source audit, допустимые статусы, связанные OpenSpec changes, следующую рекомендуемую задачу и evidence завершённых remediation changes.
Репозиторий `docs` SHALL содержать immutable versioned audit snapshots в
`docs/audits` и versioned remediation registry в development documentation.
Registry MUST документировать source audit, допустимые статусы, связанные
OpenSpec changes и следующую рекомендуемую задачу. Для завершённого
audit-derived change registry MUST ссылаться на canonical archive и его
Completion Evidence, а не дублировать commits и verification results как
отдельный evidence store.
#### Scenario: Участник проекта ищет состояние технических улучшений
- **WHEN** участник открывает development documentation
- **THEN** он может найти audit snapshot и registry через documentation indexes и определить, какие findings planned, active, done, deferred или accepted
- **THEN** он может найти audit snapshot и registry через documentation indexes
и определить, какие findings planned, active, done, deferred или accepted
#### Scenario: Завершён audit-derived change
- **WHEN** связанный OpenSpec change архивирован после успешной проверки
- **THEN** registry обновляется с archive path, commits затронутых репозиториев и результатами exact verification commands
- **WHEN** связанный OpenSpec change получил terminal status после успешной
проверки
- **THEN** registry содержит его итоговый статус и ссылку на canonical archive
с Completion Evidence
### Requirement: Durable documentation is not a parallel SDD store
Репозиторий `docs` SHALL хранить только долговечную architecture, development, feature, audit и remediation documentation вместе с completion evidence. Документация MUST описывать фактическое текущее состояние поставленной системы и MUST NOT представлять планируемое или частично реализованное поведение как доступное. Change-specific requirements, proposals, designs, delta specifications и tasks MUST храниться только в canonical OpenSpec store и MUST NOT пересказываться в `docs` как параллельная спецификация в другом формате. Docs SHALL обновляться после реализации и проверки соответствующей области; она MAY ссылаться на canonical OpenSpec change, но MUST сохранять собственную as-built задачу и не копировать его нормативный текст.
Репозиторий `docs` SHALL хранить только долговечную architecture, development,
feature, audit и remediation documentation. Документация MUST описывать
фактическое текущее состояние поставленной системы и MUST NOT представлять
планируемое или частично реализованное поведение как доступное. Change-specific
requirements, proposals, designs, delta specifications, tasks и Completion
Evidence MUST храниться только в canonical OpenSpec store и MUST NOT
пересказываться в `docs` как параллельная спецификация или evidence store. Docs
SHALL обновляться после реализации и проверки только когда её as-built subject
действительно affected.
#### Scenario: Change требует постоянной документации
- **WHEN** завершённый change должен оставить устойчивое объяснение решения или evidence
- **THEN** documentation фиксирует реализованное состояние или completion evidence и ссылается на canonical OpenSpec change без дублирования его requirements, design или tasks
- **WHEN** завершённый change меняет поставленное поведение, архитектурную
границу, устойчивое решение или другой as-built subject docs
- **THEN** documentation фиксирует реализованное состояние и MAY ссылаться на
canonical OpenSpec change без дублирования его planning artifacts или
Completion Evidence
#### Scenario: Agent планирует незавершённый change
- **WHEN** агент создаёт requirements, design или tasks для незавершённого изменения
- **THEN** он сохраняет их под `specs/openspec` и не создаёт framework-specific planning document или описание будущего поведения в `docs`
- **WHEN** агент создаёт requirements, design или tasks для незавершённого
изменения
- **THEN** он сохраняет их в canonical OpenSpec store и не создаёт
framework-specific planning document или описание будущего поведения в docs
#### Scenario: Реализация расходится с прежней документацией
- **WHEN** проверенный change изменяет поставленное поведение, архитектурную границу или устойчивое решение
- **THEN** affected docs обновляется до фактического текущего состояния до terminal status и не сохраняет прежнее утверждение как действующее
- **WHEN** проверенный change изменяет поставленное поведение, архитектурную
границу или устойчивое решение
- **THEN** affected docs обновляется до фактического текущего состояния до
terminal status и не сохраняет прежнее утверждение как действующее
#### Scenario: Docs не входит в Delivery Map
- **WHEN** технический change не меняет ни один as-built subject docs и Delivery
Map устанавливает `docs: N/A` с проверяемой причиной
- **THEN** terminal status не требует изменения docs только ради Completion
Evidence
### Requirement: Устойчивая документация имеет доступные фактические точки входа
Репозиторий `docs` SHALL содержать indexes архитектуры, разработки и фич,