Implement observe/reconcile/update-task-status CLI path: workplan parse, JSON projection index, git-backed task status writeback with correlation events, and E2E pytest plus evidence artifacts. Finish foundation workplan.
1.6 KiB
1.6 KiB
RMGR-WP-0001-T05 — vertical slice proof
Date: 2026-08-09
Contract: helixforge.repo-manager 0.1 (subset implemented)
Slice steps
| # | Requirement | Implementation | Proof |
|---|---|---|---|
| 1 | Represent a repository | rmgr observe / observe_repository |
Snapshot JSON with slug, classification, revision |
| 2 | Index declared work | rmgr reconcile → .repo-manager/index.json |
workplan + task records from workplans/ |
| 3 | Emit normalized change | events on index: repo.command.applied, repo.work.indexed |
event log with correlation_id |
| 4 | File-backed transition | rmgr update-task-status |
task status: patched in workplan file |
| 5 | Git evidence | gitops.commit_paths |
evidence.git_sha required; commit message includes correlation_id |
| 6 | Rebuilt projection | re-observe after command | task status + head_sha match evidence |
Automated proof
cd ~/repo-manager && pytest tests/test_e2e_vertical_slice.py -q
Live CLI proof
Artifacts:
docs/evidence/t05-e2e-proof.jsondocs/evidence/t05-command-result.json
Hub-core note
Events are written to the local index event log in contract-shaped JSON. HTTP
delivery to hub-core port.events is dual-run work (extraction P3 / hub-core
ports), not required to prove Git authority + projection rebuild.
Limits of this slice (honest)
- Projection store is local JSON, not Postgres yet (ADR-001 production DB still planned).
- No FastAPI server in this slice; CLI implements the same commands.
- Authz is not enforced (dev path); production requires policy port.
- Single command type implemented:
repo.work.update_task_status.