Context
The MCP tool loopover_build_progress_snapshot (src/mcp/server.ts:2078, via buildLoopProgress) is gated only by enforceToolRateLimit, calling the pure buildProgressSnapshot function on caller-supplied data. Same auth/purity tier as loopover_check_slop_risk (which has full REST/CLI parity already). No REST route or CLI mirror exists for this one.
Requirements
- Add
POST /v1/loop/progress-snapshot delegating to the existing pure buildProgressSnapshot function.
- Add a matching CLI subcommand/stdio tool.
Deliverables
Test Coverage Requirements
99%+ Codecov patch coverage on every changed line and branch in the new route/tool/CLI code, plus a test asserting output parity between the mirrored surfaces for identical input.
Expected Outcome
The progress-snapshot builder is available over REST/CLI, matching its same-tier sibling check_slop_risk's existing parity.
Links & Resources
Precedent: POST /v1/lint/slop-risk (src/api/routes.ts:3164) + slopRiskCli (loopover-mcp.js:3098).
Context
The MCP tool
loopover_build_progress_snapshot(src/mcp/server.ts:2078, viabuildLoopProgress) is gated only byenforceToolRateLimit, calling the purebuildProgressSnapshotfunction on caller-supplied data. Same auth/purity tier asloopover_check_slop_risk(which has full REST/CLI parity already). No REST route or CLI mirror exists for this one.Requirements
POST /v1/loop/progress-snapshotdelegating to the existing purebuildProgressSnapshotfunction.Deliverables
POST /v1/loop/progress-snapshotrouteTest Coverage Requirements
99%+ Codecov patch coverage on every changed line and branch in the new route/tool/CLI code, plus a test asserting output parity between the mirrored surfaces for identical input.
Expected Outcome
The progress-snapshot builder is available over REST/CLI, matching its same-tier sibling
check_slop_risk's existing parity.Links & Resources
Precedent:
POST /v1/lint/slop-risk(src/api/routes.ts:3164) +slopRiskCli(loopover-mcp.js:3098).