# 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 ```bash cd ~/repo-manager && pytest tests/test_e2e_vertical_slice.py -q ``` ## Live CLI proof Artifacts: - `docs/evidence/t05-e2e-proof.json` - `docs/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`.