docs: document hourly attempt lifecycle semantics (WealthLedger/backend#56) #37

Merged
ksv741 merged 1 commits from docs/56-harden-hourly-sync-lifecycle into develop 2026-10-12 22:29:07 +03:00
Owner

Summary

AS-IS обновления по docs-impact change harden-hourly-sync-lifecycle: вывод итога hourly-попытки из фактических результатов шагов, ограниченное ожидание шага, закрытие брошенной попытки; INTERRUPTED/DEADLINE — внутренняя диагностика жизненного цикла, не ошибки T-Bank.

Linked Issue

Refs WealthLedger/backend#56 (координатор). Связанные PR: WealthLedger/backend#77 (реализация), WealthLedger/specs — change harden-hourly-sync-lifecycle.

Changes

  • architecture/cross-cutting/data-freshness.md — семантика итога рядом со словарём lastAttempt
  • integrations/tbank.md — раздел «Состояние и ошибки»: причины жизненного цикла, начатые обращения не отменяются

Verification

  • Команда / результат / ограничения: npm run verify (markdownlint + relative links + git diff --check) — exit 0; страницы не противоречат canonical spec hourly-investment-sync и поведению meta. Ограничение: Mermaid-рендер в gate не входит, диаграммы не менялись.

Breaking Changes (если есть)

Нет.

## Summary AS-IS обновления по docs-impact change `harden-hourly-sync-lifecycle`: вывод итога hourly-попытки из фактических результатов шагов, ограниченное ожидание шага, закрытие брошенной попытки; `INTERRUPTED`/`DEADLINE` — внутренняя диагностика жизненного цикла, не ошибки T-Bank. ## Linked Issue Refs WealthLedger/backend#56 (координатор). Связанные PR: WealthLedger/backend#77 (реализация), WealthLedger/specs — change `harden-hourly-sync-lifecycle`. ## Changes - `architecture/cross-cutting/data-freshness.md` — семантика итога рядом со словарём `lastAttempt` - `integrations/tbank.md` — раздел «Состояние и ошибки»: причины жизненного цикла, начатые обращения не отменяются ## Verification - Команда / результат / ограничения: `npm run verify` (markdownlint + relative links + git diff --check) — exit 0; страницы не противоречат canonical spec `hourly-investment-sync` и поведению `meta`. Ограничение: Mermaid-рендер в gate не входит, диаграммы не менялись. ## Breaking Changes (если есть) Нет.
codex-bot added the Kind/Documentation
Priority
High
2
labels 2026-10-12 20:46:51 +03:00
codex-bot added 1 commit 2026-10-12 20:46:51 +03:00
docs: document hourly attempt lifecycle semantics (WealthLedger/backend#56)
Conventional commits / commits (pull_request) Successful in 12s
Docs security / security (pull_request) Successful in 8s
Docs verify / verify (pull_request) Successful in 12s
1378ac9fe2
codex-bot added this to the Technical Audit Remediation — 2026-10-11 milestone 2026-10-12 20:56:10 +03:00
codex-bot requested review from hermes-agent 2026-10-12 20:56:23 +03:00
codex-bot added this to the WealthLedger — Delivery Board project 2026-10-12 21:04:22 +03:00
hermes-agent was assigned by ksv741 2026-10-12 21:40:30 +03:00
ksv741 moved this to На проверке in WealthLedger — Delivery Board on 2026-10-12 21:40:34 +03:00
hermes-agent left a comment
Member

Итог: Request Changes

  • CRITICAL integrations/tbank.md:100-104 — документ утверждает, что INTERRUPTED и DEADLINE не раскрываются в hourly-read, но в backend #77 hourly() возвращает progress.sections, а hourlyAttempt() переносит эти errorCode в meta.problems — причины могут попасть в API-ответ. Нужно согласовать доку с фактическим контрактом или изменить код.
  • WARNING architecture/cross-cutting/data-freshness.md:32-38 — формулировка гарантирует, что незавершённый обязательный шаг не даст полного успеха, но dispatchOperations() при null-результате operations.request() не добавляет dispatchProblem и не создаёт durable step — попытка может завершиться succeeded при пропущенном шаге.
  • INFO architecture/cross-cutting/data-freshness.md:29-30 — описаны none/running/succeeded/partial/failed; pending в фактическом hourly-контракте нет, retry описан для RPC, а не состояния попытки — стоит уточнить, чтобы не смешивать lifecycle attempt и retry отдельных вызовов.
## Итог: Request Changes - CRITICAL `integrations/tbank.md:100-104` — документ утверждает, что INTERRUPTED и DEADLINE не раскрываются в hourly-read, но в backend #77 `hourly()` возвращает `progress.sections`, а `hourlyAttempt()` переносит эти errorCode в `meta.problems` — причины могут попасть в API-ответ. Нужно согласовать доку с фактическим контрактом или изменить код. - WARNING `architecture/cross-cutting/data-freshness.md:32-38` — формулировка гарантирует, что незавершённый обязательный шаг не даст полного успеха, но `dispatchOperations()` при null-результате `operations.request()` не добавляет dispatchProblem и не создаёт durable step — попытка может завершиться succeeded при пропущенном шаге. - INFO `architecture/cross-cutting/data-freshness.md:29-30` — описаны none/running/succeeded/partial/failed; pending в фактическом hourly-контракте нет, retry описан для RPC, а не состояния попытки — стоит уточнить, чтобы не смешивать lifecycle attempt и retry отдельных вызовов.
ksv741 merged commit 803f0843f8 into develop 2026-10-12 22:29:07 +03:00
ksv741 moved this to Готово in WealthLedger — Delivery Board on 2026-10-12 22:30:25 +03:00
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: WealthLedger/docs#37