docs: record OpenSpec resilience evidence

This commit is contained in:
2026-08-26 10:14:16 +03:00
parent d80e2e32b2
commit 79727de9ff
2 changed files with 69 additions and 14 deletions
+12 -14
View File
@@ -21,20 +21,18 @@
## Текущее состояние workflow
- Bootstrap change: [`2026-08-23-establish-audit-remediation-workflow`](../../specs/openspec/changes/archive/2026-08-23-establish-audit-remediation-workflow/) — `archived`; это process foundation и не закрывает ни одного Audit ID.
- Последний завершённый audit remediation change: [`2026-08-26-harden-openspec-sdd-quality`](../../specs/openspec/changes/archive/2026-08-26-harden-openspec-sdd-quality/) — `archived`; SDD26-01–SDD26-03, SDD26-09, SDD26-12, SDD26-17, SDD26-21 и SDD26-28–SDD26-30 закрыты.
- Единственный active change: [`harden-openspec-sdd-agent-resilience`](../../specs/openspec/changes/harden-openspec-sdd-agent-resilience/) — schema v3, deterministic planning failures и повторный SDD review.
- Последний завершённый audit remediation change: [`2026-08-26-harden-openspec-sdd-agent-resilience`](../../specs/openspec/changes/archive/2026-08-26-harden-openspec-sdd-agent-resilience/) — `archived`; SDD26R2-01–SDD26R2-06 закрыты.
- Единственный active change: отсутствует.
## Текущая задача
Завершить `harden-openspec-sdd-agent-resilience`, выполнить affected-area gates,
semantic verification и independent review, затем архивировать change.
Создать следующий remediation change, когда владелец выберет продолжение.
## Следующая рекомендуемая задача
`assess-auth-platform-options` для AUD24-02 остаётся следующим planned item, но
не запускается параллельно active remediation change. Change применит Solution
Assessment к существующей реализации и зрелым auth platforms, включая Better
Auth, и не предрешает миграцию.
`assess-auth-platform-options` для AUD24-02. Change применит Solution Assessment
к существующей реализации и зрелым auth platforms, включая Better Auth, и не
предрешает миграцию.
## Реестр findings
@@ -47,12 +45,12 @@ Auth, и не предрешает миграцию.
| Audit ID | Нормализованный claim | Sources | Disposition | Remediation status | Evidence, rationale или review trigger |
| --- | --- | --- | --- | --- | --- |
| SDD26R2-01 | Сократить и визуально приоритизировать instructions, сохранив самодостаточные critical rules и единый основной язык. | [D2], [Gr2], [Z2] | confirmed | active | `harden-openspec-sdd-agent-resilience`: schema v3 начинает каждую instruction с `Critical Rules`, устраняет длинные повторения и оставляет English для exact OpenSpec tokens. |
| SDD26R2-02 | Delta Spec template не должен предрешать `ADDED` и должен показывать все допустимые operations без активных пустых sections. | [K2] | confirmed | active | `harden-openspec-sdd-agent-resilience`: neutral comment-only guide; operation sections создаются только по фактической delta. |
| SDD26R2-03 | Planning verifier должен отличать defect артефакта от неверного invocation и failure окружения. | [Z2], [Q2] | confirmed | active | `harden-openspec-sdd-agent-resilience`: отдельные result prefixes и exit statuses; только `artifact-validation` разрешает менять artifact. Retry counter отклонён владельцем как лишнее состояние. |
| SDD26R2-04 | Apply должен читать точные native `contextFiles` и локальные правила affected repositories. | [K2] | confirmed | active | `harden-openspec-sdd-agent-resilience`: CLI-resolved `contextFiles` + repository-local `AGENTS.md`; отдельный context mapping не вводится. |
| SDD26R2-05 | `N/A` rationale должно объяснять техническую необходимость, но его смысл нельзя надёжно валидировать простым text heuristic. | [Q2] | confirmed | active | `harden-openspec-sdd-agent-resilience`: verifier отклоняет пустой, separator-only и unresolved placeholder; semantic sufficiency остаётся owner/reviewer responsibility. |
| SDD26R2-06 | Граница mechanical Apply fix должна явно исключать Requirement, Scenario, architecture и Verification changes. | [Q2], [Z2] | confirmed | active | `harden-openspec-sdd-agent-resilience`: schema v3 перечисляет допустимые mechanical edits и semantic reapproval boundary. |
| SDD26R2-01 | Сократить и визуально приоритизировать instructions, сохранив самодостаточные critical rules и единый основной язык. | [D2], [Gr2], [Z2] | confirmed | done | 2026-08-26; [archive](../../specs/openspec/changes/archive/2026-08-26-harden-openspec-sdd-agent-resilience/); specs `8462a3ba75d6dda491b9221699357c58d8f8e3cc`, `779a1e1305f8c209a4f98fae7f87718e48d61b37`; docs `d80e2e32b2ebadcd93a53105e1ac337fe2c1f4f6`; commands/results: [Completion Evidence](completion-evidence.md#2026-08-26-harden-openspec-sdd-agent-resilience). |
| SDD26R2-02 | Delta Spec template не должен предрешать `ADDED` и должен показывать все допустимые operations без активных пустых sections. | [K2] | confirmed | done | 2026-08-26; тот же [archive](../../specs/openspec/changes/archive/2026-08-26-harden-openspec-sdd-agent-resilience/), delivery commits и [Completion Evidence](completion-evidence.md#2026-08-26-harden-openspec-sdd-agent-resilience). |
| SDD26R2-03 | Planning verifier должен отличать defect артефакта от неверного invocation и failure окружения. | [Z2], [Q2] | confirmed | done | 2026-08-26; тот же [archive](../../specs/openspec/changes/archive/2026-08-26-harden-openspec-sdd-agent-resilience/), delivery commits и [Completion Evidence](completion-evidence.md#2026-08-26-harden-openspec-sdd-agent-resilience). Retry counter отклонён владельцем как лишнее состояние. |
| SDD26R2-04 | Apply должен читать точные native `contextFiles` и локальные правила affected repositories. | [K2] | confirmed | done | 2026-08-26; тот же [archive](../../specs/openspec/changes/archive/2026-08-26-harden-openspec-sdd-agent-resilience/), delivery commits и [Completion Evidence](completion-evidence.md#2026-08-26-harden-openspec-sdd-agent-resilience); отдельный context mapping не введён. |
| SDD26R2-05 | `N/A` rationale должно объяснять техническую необходимость, но его смысл нельзя надёжно валидировать простым text heuristic. | [Q2] | confirmed | done | 2026-08-26; тот же [archive](../../specs/openspec/changes/archive/2026-08-26-harden-openspec-sdd-agent-resilience/), delivery commits и [Completion Evidence](completion-evidence.md#2026-08-26-harden-openspec-sdd-agent-resilience); semantic sufficiency оставлена owner/reviewer. |
| SDD26R2-06 | Граница mechanical Apply fix должна явно исключать Requirement, Scenario, architecture и Verification changes. | [Q2], [Z2] | confirmed | done | 2026-08-26; тот же [archive](../../specs/openspec/changes/archive/2026-08-26-harden-openspec-sdd-agent-resilience/), delivery commits и [Completion Evidence](completion-evidence.md#2026-08-26-harden-openspec-sdd-agent-resilience). |
| SDD26R2-07 | Exact Requirement heading в `Covers` нужно копировать дословно и проверять детерминированно. | [Z2] | already-covered | accepted | 2026-08-26; SDD26-12 уже требует exact heading, а planning verifier отклоняет неизвестную reference и uncovered Requirement. Review trigger: удаление или ослабление exact-reference check. |
| SDD26R2-08 | Добавить `Target Repositories` в Proposal или расширить owner area произвольными repository paths. | [G2], [Gr2] | rejected | accepted | 2026-08-26; Proposal сохраняет intent без implementation topology; фиксированная Delivery Map отражает фактические четыре repos. Пересмотреть только при добавлении новой delivery area в workspace. |
| SDD26R2-09 | Хранить machine-readable approval markers внутри versioned artifacts. | [Gr2], [K2] | rejected | accepted | 2026-08-26; approval identity принадлежит разговору с Change Owner. Marker дублировал бы external state и мог бы ложно выглядеть действующим после upstream change. Review trigger: воспроизводимый случай ложного approval после потери conversation state. |
+57
View File
@@ -7,6 +7,63 @@ delivery commits, точные verification commands с наблюдёнными
итог independent read-only review. Записи добавляются после archive и являются
неизменяемой историей поставки.
## 2026-08-26-harden-openspec-sdd-agent-resilience
**Change:** harden-openspec-sdd-agent-resilience (schema `wealth-ledger-sdd` v3)
**Archive path:** `specs/openspec/changes/archive/2026-08-26-harden-openspec-sdd-agent-resilience`
**Specs sync:** три новых и три изменённых Requirements слиты в
`openspec-authority-and-lifecycle` и `multi-repository-delivery`; post-archive
strict validation — 20 main specs и 32 archived changes без ошибок.
### Delivery Map
| Area | Status | Outcome |
| --- | --- | --- |
| frontend | N/A | Client behavior, implementation и local gate не менялись |
| backend | N/A | API behavior, implementation и local gate не менялись |
| specs | affected | Schema v3, operation-neutral template, failure taxonomy, controlled fixtures, Delta Specs и archive/sync поставлены |
| docs | affected | Шесть reports сохранены одним snapshot, claims triaged, lifecycle/ADR/registry синхронизированы |
### Delivery commits
| Repo | Commit | Subject |
| --- | --- | --- |
| specs (implementation) | `8462a3ba75d6dda491b9221699357c58d8f8e3cc` | feat: harden OpenSpec agent resilience |
| specs (archive/sync) | `779a1e1305f8c209a4f98fae7f87718e48d61b37` | docs(specs): archive OpenSpec resilience change |
| docs (as-built) | `d80e2e32b2ebadcd93a53105e1ac337fe2c1f4f6` | docs: record second OpenSpec schema review |
| docs (evidence) | current evidence commit | docs: record OpenSpec resilience evidence |
### Verification
| Command (repo) | Наблюдённый результат |
| --- | --- |
| `bash scripts/verify-openspec-planning.test.sh` (specs, RED before implementation) | failed as expected: прежний verifier не выдавал `artifact-validation`, schema оставалась v2 |
| `bash scripts/verify-openspec-planning.sh definitely-missing-change` (specs, review reproduction) | до fix: exit 1 `artifact-validation`; после fix: exit 2 `Planning invocation failed` |
| `bash scripts/verify-openspec-planning.test.sh` (specs) | pass; positive stage cases, controlled ADDED/MODIFIED/REMOVED/RENAMED, artifact/invocation/environment failures, N/A и instruction contracts |
| `bash scripts/verify-openspec-authority.test.sh` (specs) | pass; controlled-invalid authority cases отклонены по ожидаемым причинам |
| `PATH=/Users/ksv741/.nvm/versions/node/v22.21.0/bin:$PATH bash specs/scripts/verify-workspace-change.sh harden-openspec-sdd-agent-resilience` (workspace, pre-archive) | pass; specs/docs affected, frontend/backend/runtime-openapi N/A; schema/change valid, 20/20 main specs, docs 37 Markdown files / 0 issues |
| `openspec archive harden-openspec-sdd-agent-resilience --yes --store wealth-ledger-specs` (specs) | pass; archived as `2026-08-26-harden-openspec-sdd-agent-resilience`; +3/~3 Requirements synced |
| `openspec validate --specs --strict --store wealth-ledger-specs` (specs, post-archive) | pass; 20 passed, 0 failed |
| `openspec validate --archived --strict --store wealth-ledger-specs` (specs, post-archive) | pass; 32 passed, 0 failed |
| `openspec schema validate wealth-ledger-sdd --verbose` (specs, post-archive) | pass; dependency graph and templates valid |
| `bash scripts/verify-openspec-authority.sh` (specs, post-archive) | pass; OpenSpec CLI 1.10.0, authority `wealth-ledger-specs` |
| `PATH=/Users/ksv741/.nvm/versions/node/v22.21.0/bin:$PATH npm run verify` (docs) | pass; Node 22.21.0, 37 Markdown files, 0 issues |
| `git diff --check` (specs/docs) | pass |
Schema instruction source уменьшился с 348 строк / 22,215 bytes до 209 строк /
14,197 bytes без числового blocking threshold. Все 12 Tasks завершены до
archive; semantic verification сопоставила delivery со всеми 6 Requirements и
20 Scenarios.
### Independent read-only review
Verdict: **PASS**. Итог после remediation review findings: Critical — 0,
Important — 0, Minor — 0. Reviewer подтвердил schema v3 и `Critical Rules`,
operation-neutral template и four-operation fixture, три failure category,
structural/semantic границу `N/A`, native `contextFiles` + local `AGENTS.md`,
cascade/mechanical assertions и snapshot/registry/as-built consistency без
scope creep.
## 2026-08-25-align-domain-model-and-money-contract
**Change:** align-domain-model-and-money-contract (schema `wealth-ledger-sdd`)