repo-manager/workplans/RMGR-WP-0017-projection-retry-convergence.md
tegwick 8735a3549b docs: close reviewed projection retry and receipt fix
Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a07ff8-19d0-7820-b4d0-1353833cb7fc
2026-09-10 16:32:58 +02:00

70 lines
2.6 KiB
Markdown

---
id: RMGR-WP-0017
type: workplan
title: "Make reviewed projection retries and receipts reliable"
domain: infotech
repo: repo-manager
status: finished
owner: codex
topic_slug: infotech
created: "2026-09-10"
updated: "2026-09-10"
related: [RMGR-WP-0012, HFACT-WP-0001, STATE-WP-0090]
state_hub_workstream_id: "d02fe1bd-957f-59b2-9027-b14db4c71f42"
---
Follow-up to HFACT-WP-0001-T02's observed HTTP 409 when a reviewed retirement
acknowledgement changes at the same source commit. File/Forge authority, primary
identity, exact commit and explicit retirement acknowledgement stay unchanged.
## Bind retries to the complete request
```task
id: RMGR-WP-0017-T01
status: done
priority: high
state_hub_task_id: "df916063-1f8c-5d5b-9926-9854aebb6af8"
```
Digest the method, repository route and full POST body into the idempotency key.
Identical retries retain their key; an explicit review acknowledgement uses a
different key. Retain acknowledgement and expected instance in queued metadata.
## Verify the returned primary and commit
```task
id: RMGR-WP-0017-T02
status: done
priority: high
state_hub_task_id: "5a4eb2a6-7414-5c09-b3c1-8992ff80b390"
```
Reject incomplete or mismatched primary/repository/commit receipts instead of
reporting success or discarding pending state. Keep the two-request fast path.
## Prove convergence and synchronize
```task
id: RMGR-WP-0017-T03
status: done
priority: high
state_hub_task_id: "736c4f0b-7311-58f4-9e9f-390ac930cb29"
```
Run real-Git/mocked-transport regressions, the full suite and targeted lint.
Commit/sync; verify exact primary receipts on the selected factory chain using
the corrected client. STATE-WP-0090 owns the server's description/note fix and
live projection convergence. Preserve all existing identities and source files.
Validation: all seven new regressions failed on the original client. The fixed
client passes all 188 repository tests and targeted Ruff checks. Identical
requests replay; changed reviewed payloads do not collide. Exact receipt checks
retain the two-request path. Live synchronization evidence remains T03.
Completed: exact primary receipts verified for secrets-engine, railiance-platform
and prj-helixforge-factory, each through the unchanged two-request fast path.
The promoted STATE-WP-0090 parser matches all 24 selected tasks without repair;
independent rederivation returns noop/zero changes for all three. Evidence:
state-hub/docs/evidence/2026-09-10-projection-convergence.json. No residual in this
bounded client defect; HFACT T02 retains backlog readiness and STATE-WP-0091 owns
the separate capacity issue exposed by server promotion.