feat(RMGR-WP-0003): production pilot dual-run config, bulk, push
Config file dual-run (env override), writeback_push, bulk-status facade on State Hub, pilot example config, evidence and finished workplan.
This commit is contained in:
parent
a00a4264da
commit
5921b65c49
6 changed files with 324 additions and 55 deletions
93
workplans/RMGR-WP-0003-production-pilot-dual-run.md
Normal file
93
workplans/RMGR-WP-0003-production-pilot-dual-run.md
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
---
|
||||
id: RMGR-WP-0003
|
||||
type: workplan
|
||||
title: "Production pilot dual-run: config, bulk path, push-seal"
|
||||
domain: infotech
|
||||
repo: repo-manager
|
||||
status: finished
|
||||
owner: codex
|
||||
topic_slug: repo-manager
|
||||
created: "2026-08-11"
|
||||
updated: "2026-08-11"
|
||||
parent_project: prj-state-hub-retirement
|
||||
parent_workplan: SHR-WP-0001
|
||||
stream: S1
|
||||
related:
|
||||
- RMGR-WP-0002
|
||||
- STATE-WP-0079
|
||||
- specs/ArchitectureBlueprint.md
|
||||
---
|
||||
|
||||
# Production pilot dual-run: config, bulk path, push-seal
|
||||
|
||||
## Goal
|
||||
|
||||
Make Stage B dual-run **operable in production for a pilot set** without relying
|
||||
only on ad-hoc API process env vars, and close remaining high-frequency mutation
|
||||
gaps (bulk status, post-writeback push) so STATE-WP-0079 can expand cutover.
|
||||
|
||||
**Not in scope:** full C-rule port, Postgres registry, MCP rewrite, Stage C
|
||||
host_paths SoR, dashboards.
|
||||
|
||||
## Dual-run config file (shared RM + SH)
|
||||
|
||||
```task
|
||||
id: RMGR-WP-0003-T01
|
||||
status: done
|
||||
priority: high
|
||||
```
|
||||
|
||||
Load dual-run settings from `~/.repo-manager/dual-run.yaml` (and optional
|
||||
`RM_DUAL_RUN_CONFIG` path), with env vars still overriding. Fields: writeback,
|
||||
reconcile, pilot_repos, writeback_push, meter_path. Document and unit-test.
|
||||
|
||||
**Result:** Config loader in RM + SH dual_run modules; env overrides file.
|
||||
|
||||
## Bulk task-status dual-run on State Hub
|
||||
|
||||
```task
|
||||
id: RMGR-WP-0003-T02
|
||||
status: done
|
||||
priority: high
|
||||
```
|
||||
|
||||
When dual-run writeback is on for the task's repo, `POST /tasks/bulk-status-sync`
|
||||
delegates each status change to RM (same as PATCH). Preserve progress events on
|
||||
SH. Failures log and fall back to native DB-only (file via later C-15).
|
||||
|
||||
**Result:** bulk_status_sync hooks try_writeback_for_task per status change.
|
||||
|
||||
## Push-seal after RM writeback
|
||||
|
||||
```task
|
||||
id: RMGR-WP-0003-T03
|
||||
status: done
|
||||
priority: high
|
||||
```
|
||||
|
||||
When `writeback_push: true` (or `RM_WRITEBACK_PUSH=1`), RM writeback path pushes
|
||||
after commit (best-effort, never force). SH facade passes push=true for pilot.
|
||||
Meter push_ok/fail. Align with C-16/C-17 semantics (skip push issues as meter
|
||||
only; do not force).
|
||||
|
||||
**Result:** writeback_push config/env; SH facade sets push=writeback_push_enabled().
|
||||
|
||||
## Pilot defaults + operator runbook
|
||||
|
||||
```task
|
||||
id: RMGR-WP-0003-T04
|
||||
status: done
|
||||
priority: medium
|
||||
```
|
||||
|
||||
Ship example config for pilot `repo-manager`, update `docs/dual-run.md`, capture
|
||||
`docs/evidence/wp0003-*.md` with meter summary command for STATE-WP-0079.
|
||||
|
||||
**Result:** `config/dual-run.pilot.example.yaml`, dual-run.md, evidence note.
|
||||
|
||||
## Acceptance
|
||||
|
||||
- [x] Config file drives dual-run (env override still works)
|
||||
- [x] Bulk status uses RM writeback when flagged
|
||||
- [x] Optional push after writeback
|
||||
- [x] Evidence + runbook for pilot expansion
|
||||
Loading…
Add table
Add a link
Reference in a new issue