feat: add fast forge work-record reconciliation
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Build and Publish Multi-Context Image / build-and-push (push) Successful in 24s

Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a053ff-1d6f-7fe2-ac1c-a6eb40a42a0c
This commit is contained in:
tegwick 2026-08-30 22:38:54 +02:00
parent a65cef02cf
commit 34f5cb3fc3
22 changed files with 799 additions and 162 deletions

View file

@ -15,31 +15,19 @@ Look for TODOs, open branches, half-finished files. Note done vs. started but in
Propose 13 workplans — each a coherent strand, weeks to months, anchored to a
roadmap phase. **Wait for approval before creating.**
**Step 4 — Write the workplan file; fix-consistency registers it (ADR-001)**
**Step 4 — Write the workplan file; Repo Manager projects it (ADR-001)**
```
workplans/{WP_PREFIX}-NNNN-<slug>.md ← write this, commit it
```
Then register by running the consistency check — do **not** call
`create_workplan`/`create_task` yourself; manual registration duplicates what
C-06 creates from the file:
Then run the deterministic, forge-derived sync — do **not** call
`create_workplan`/`create_task` yourself:
```bash
statehub fix-consistency --repo {REPO_SLUG}
uv run --project ~/repo-manager rmgr sync --path . --push
```
C-06 creates the hub workplan + tasks and writes `state_hub_workstream_id`
(legacy frontmatter name — holds the workplan UUID) and `state_hub_task_id`
back into the file.
If C-06/C-11 is skipped because the host is not the identifier registrar,
commit and push the new workplan, then invoke the governed fallback once:
```bash
uv run --project ~/repo-manager rmgr registrar-reconcile \
--path . --confirm-primary --push
```
Never export `STATEHUB_REGISTRAR` or create the hub records manually. If the
fallback is unavailable, send one request to `repo-manager` and keep working
from the authoritative files.
Repo Manager writes deterministic `state_hub_workstream_id` and
`state_hub_task_id` values, pushes the file, verifies `primary/railliance01`,
and asks central to derive that exact Forgejo commit. If connectivity is down,
the queued receipt is pending evidence; rerun the same command later.
**Step 5 — Record the setup**
```