spec: archive quiet-user-feedback and sync canonical specs (#50)
Specs security / security (push) Successful in 8s
Specs verify / verify (push) Successful in 10s

Native archive применил 9 added и 12 modified требований без удалений; все 10 сценариев сохранены. Новый canonical spec frontend-user-feedback внесён в AI_INDEX.
This commit was merged in pull request #52.
This commit is contained in:
2026-10-17 22:18:27 +03:00
parent 5a7e319caf
commit f0478c6d6b
26 changed files with 654 additions and 129 deletions
@@ -0,0 +1,70 @@
# Completion Evidence — quiet-user-feedback
Факты поставки, наблюдённые 2026-10-17 перед native archive. Все 31 task
отмечены выполненными; реализация и документация проверены по состоянию
`origin/develop` соответствующих репозиториев, а не по отметкам в `tasks.md`.
Change координировался между тремя репозиториями. Delivery шла не в одном
потоке: `frontend` поставлен 2026-10-06, `specs` и `docs` отстали и были
завершены 2026-10-17 по `WealthLedger/specs#50` и `WealthLedger/docs#51`.
## Delivery Map
| Область | Поставленный scope | Коммит |
| --- | --- | --- |
| frontend | Тихое чтение: удалены ручное обновление и повтор на экранах просмотра, индикатор фоновой работы и предупреждение о синхронизации. Добавлены ограниченный retry GET и модель первичного ожидания. | `5b30bb8` |
| specs | Delta-спецификации согласованы с canonical specs после часовой синхронизации; новый spec `frontend-user-feedback`. | `6682f0c`, merge `5a7e319` |
| docs | ADR 021 о тихом чтении; `ui-resilience` и затронутые `domains/**` приведены к AS-IS. | merge `e8e3ef6` |
## Нормативное поведение
Решение определено по фактической реализации. Два независимых изменения
оказались совместимы и вместе образуют принятое поведение:
- `frontend 5b30bb8` (2026-10-06) убрал индикацию собственного чтения клиента
и ручные действия повтора.
- `frontend 3c226f8` (2026-10-09, `WealthLedger/main#22`) добавил показ
состояния источника из `meta`: время последнего успеха, устаревание, исход
последней часовой попытки и неполноту.
Запрет change относится к индикации собственного чтения клиента и ручному
повтору. Состояние источника — свойство данных, а не отчёт о техническом
процессе, и остаётся видимым. Ошибки явных действий пользователя сохраняются.
## Проверки
| Проверка | Результат |
| --- | --- |
| `npx openspec validate quiet-user-feedback --strict` | valid |
| `npx openspec archive quiet-user-feedback --yes` | `Totals: + 9, ~ 12, - 0, → 0` |
| Сохранность 10 сценариев, которые удалили бы исходные `MODIFIED`-блоки | 10/10 присутствуют в canonical specs после archive |
| specs `npm run verify`, `npm run check:openspec` | pass; `openspec 1.13.1 on Node 24.21.0` |
| docs `npm run verify` | exit 0, новый ADR охвачен gate |
| specs PR #51, docs PR #52 | по 3/3 required checks |
Код-основание нормативного поведения, снятое с `frontend/origin/develop`:
```
retry actions в src/pages/** 0
Button/onClick в SourceSyncStatus.tsx 0
sourceTime + attempt renders 3
GET_DEADLINE_MS 15_000
RETRY_DELAYS_MS [1000, 2000]
INITIAL_WAIT_BUDGET_MS 10_000
```
## Ограничения
Отметки `[x]` задач 8.1–8.4 были проставлены 2026-10-06 без фактической работы
в `docs`: ADR отсутствовал, а `ui-resilience.md` описывал отменённое ручное
обновление. Расхождение обнаружено при подготовке archive и устранено в
`WealthLedger/docs#51`; archive до этого не выполнялся. `[x]` в `tasks.md`
этого change не является доказательством поставки.
Исходные delta-блоки устарели относительно canonical specs и при archive
удалили бы 10 принятых сценариев. Они переписаны в `6682f0c` до archive.
`frontend` gates в рамках завершения не перезапускались: реализация принята
в `develop` 2026-10-06 и работами 2026-10-17 не изменялась. Независимая QA
по schema `wealth-ledger-sdd` не требуется; semantic review выполнен по
фактическому коду и состоянию документации.