review · v1.0.2 · 2026-09-30 · sha256 f7a113328d8f98b8
review v1.0.2A
Immutable. This exact content never changes and is served at /api/v1/blob/f7a113328d8f98b8.
--- name: "review" description: "Enter the Review phase of CocoBrew. Aggregates findings from Code Quality Advisor, CocoCupper intelligence, spec compliance check, and decision coverage gate. Produces review.md with decision points. Requires developer approval before $ship can proceed." version: "1.0.2" author: "CocoPlus" tags: - cocoplus - lifecycle-engine --- You are executing the Review phase (5/6) of CocoBrew. Before proceeding, verify that `.cocoplus/` exists. If not: output "CocoPlus not initialized in this directory. Run `$pod init` to begin." Then stop. Read `.cocoplus/lifecycle/meta.json`. Verify `phases_completed` contains `"test"`. If not: output "The Test phase must be completed before review. Run `$test` first." Then stop. ## Aggregate Findings Collect from these sources: **1. Code Quality Findings** Look for files matching `.cocoplus/quality-findings-*.md`. Read all and extract critical and high severity findings. **2. CocoCupper Findings** Read `.cocoplus/grove/cupper-findings.md`. Extract the most recent 5 findings. **3. Spec Compliance Check** Read `.cocoplus/lifecycle/spec.md` (Success Criteria, Deliverables) and `.cocoplus/lifecycle/test.md`. For each success criterion: was it tested? Did it pass? For each deliverable: does the file/table/artifact exist? **4. Test Summary** Read `.cocoplus/lifecycle/test.md`. Extract pass/fail summary. **5. Decision Coverage Check** Extract key decisions from `plan.md` (and `discuss.md` if it exists): evaluation target, data source, accuracy threshold, model to use, warehouse assignment, production safety requirements. For each extracted decision, scan implementation artifacts — SQL functions, evaluation configurations, `flow.json` stage definitions, prompt files — for evidence that the decision is honored in the implementation. A decision is **honored** if the artifact reflects the stated value or approach. A decision is a **Coverage Gap** if it is present in plan/discuss but absent or contradicted in the implementation. Coverage Gaps are severity-equivalent to must-fix. `$ship` is blocked until all Coverage Gaps are resolved or explicitly acknowledged with a documented rationale written into `review.md`. ## Write Review Document Write `.cocoplus/lifecycle/review.md`: ```markdown # Review Report **Date:** [ISO 8601 timestamp] **Phase:** Review (5/6) **Phase ID:** review-YYYYMMDD-001 ## Quality Findings [Critical and high severity findings from Code Quality Advisor] If none: "No critical quality findings." ## Intelligence Insights [CocoCupper findings — top 5] If none: "No CocoCupper analysis available." ## Spec Compliance | Criterion | Tested | Result | |-----------|--------|--------| [Table of success criteria vs test results] ## Deliverable Checklist | Deliverable | Present | Notes | |-------------|---------|-------| [Table of deliverables vs existence check] ## Test Summary Passed: [N] / [Total] ## Decision Coverage | Decision | Source | Honored | Notes | |----------|--------|---------|-------| [Table of plan/discuss decisions vs implementation evidence] Coverage Gaps (if any): [list — each blocks $ship until resolved or acknowledged with rationale] ## Decision Points [List any items requiring developer decision before shipping] ## Approval Status PENDING DEVELOPER APPROVAL ``` ## Request Developer Approval Present the review summary and ask: "Review complete. Do you approve this review and want to proceed to Ship? (yes/no/revise)" - If yes: update review.md `## Approval Status` to `APPROVED — [timestamp]` - If no: output "Review rejected. Rework required. Re-run phases as needed." - If revise: output "Which section needs revision? (quality/compliance/test)" ## Update State Only if approved: Update `lifecycle/meta.json` — add review to phases_completed. Append to AGENTS.md (≤200 lines): `Phase: Review (5/6) — APPROVED` ## Git Commit (only if approved) ``` git add .cocoplus/lifecycle/review.md .cocoplus/lifecycle/meta.json .cocoplus/AGENTS.md git commit -m "docs(review): quality and compliance review approved" ``` Output: "Review approved. Commit created. You may now proceed to `$ship`." ## Anti-Rationalization | Shortcut / Temptation | Why It Fails | |-----------------------|--------------| | Approve the review automatically if no critical findings exist | Developer must explicitly approve — auto-approval bypasses the mandatory human gate | | Skip spec compliance check if tests all passed | Tests passing does not mean spec criteria are covered; compliance check verifies mapping, not just pass rate | | Write review.md before aggregating all sources | Missing a source (CocoCupper, quality findings, decision coverage) produces an incomplete review that under-reports problems | | Treat Coverage Gaps as advisory | Coverage Gaps block $ship the same as must-fix findings — tests verify what code does; coverage verifies what it was meant to do | ## Exit Criteria - [ ] `.cocoplus/lifecycle/review.md` exists with `## Spec Compliance`, `## Decision Coverage`, and `## Approval Status` sections - [ ] `## Decision Coverage` table lists every key decision from `plan.md` and `discuss.md` (if present) with honored/gap status - [ ] `## Approval Status` contains `APPROVED` (not just `PENDING`) - [ ] `.cocoplus/lifecycle/meta.json` `phases_completed` array contains `"review"` - [ ] Git commit with message `docs(review): quality and compliance review approved` exists in log