feat(RMGR-WP-0002): dual-run writeback, flags, meter, SH facade
Add dual-run flags/meter, harden task-status (idempotency, UUID, head, push), State Hub adapter for PATCH /tasks and C-15/reconcile proxy, pilot evidence, and finish RMGR-WP-0002.
This commit is contained in:
parent
bb1d030257
commit
310b43079d
14 changed files with 679 additions and 50 deletions
46
docs/evidence/wp0002-completion.md
Normal file
46
docs/evidence/wp0002-completion.md
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
# RMGR-WP-0002 completion evidence
|
||||
|
||||
**Date:** 2026-08-09
|
||||
**Stage:** ArchitectureBlueprint Stage B (dual-run)
|
||||
|
||||
## Delivered
|
||||
|
||||
| Task | Result |
|
||||
| --- | --- |
|
||||
| T01 flags + meter | `src/repo_manager/dual_run.py`, `docs/dual-run.md` |
|
||||
| T02 hardened command | idempotency, expected_head_sha, UUID match, optional push |
|
||||
| T03 SH facade | `state-hub/api/services/repo_manager_dual_run.py` + PATCH `/tasks` hook |
|
||||
| T04 reconcile proxy | `fix_repo` calls `rmgr reconcile` when `RM_RECONCILE` + pilot |
|
||||
| T05 pilot | Fixture + SH facade call → `applied` + git_sha; meter lines |
|
||||
| T06 package | this file + `wp0002-pilot.json` + `mutation-meter-pilot.jsonl` |
|
||||
|
||||
## Operator enable (pilot)
|
||||
|
||||
```bash
|
||||
export RM_WRITEBACK=1
|
||||
export RM_RECONCILE=1
|
||||
export RM_PILOT_REPOS=repo-manager
|
||||
# ensure SH can import/run rmgr:
|
||||
export REPO_MANAGER_SRC=$HOME/repo-manager/src # optional; adapter defaults to ~/repo-manager/src
|
||||
```
|
||||
|
||||
Restart State Hub API process so env is picked up for PATCH dual-run.
|
||||
|
||||
## Rollback
|
||||
|
||||
```bash
|
||||
unset RM_WRITEBACK RM_RECONCILE RM_PILOT_REPOS
|
||||
# restart SH API
|
||||
```
|
||||
|
||||
## Tests
|
||||
|
||||
```bash
|
||||
cd ~/repo-manager && pytest -q # includes test_dual_run.py
|
||||
```
|
||||
|
||||
## STATE-WP-0079 handoff
|
||||
|
||||
Expand `RM_PILOT_REPOS` fleet-wide after meter shows RM writebacks healthy.
|
||||
Meter path: `~/.repo-manager/mutation-meter.jsonl` (or `RM_METER_PATH`).
|
||||
Strangler exit: zero `source=state-hub` checkout mutations for pilot set under load.
|
||||
Loading…
Add table
Add a link
Reference in a new issue