Add the acceptance review pilot (roadmap stage 04 first slice) - #93
Merged
Merged
Conversation
- Migration 0006_milestone_reviews.sql: immutable decisions binding one exact delivery revision (UNIQUE per milestone/revision/decision) - receipts.mjs: coordinator requests a revision (mandatory note) or accepts exactly the newest revision; stale acceptance, duplicate decisions, closed milestones and unauthorized reviewers get defined 409/403/404 outcomes; acceptance completes the milestone; every decision lands in project_events and the public trail endpoint - The delivery manifest now carries its own newest review decision - OpenAPI 1.4.0 (MilestoneReview* schemas — the name avoids the workshop ReviewsPage collision), check-agent-data guards (87 rejections), llms section, roadmap/vision present stage 04 as first slice live - Pins: MIGRATIONS + 0006, SCHEMA_SHA256 3c9c5ec9 (three places), test counters; reviews.test.mjs covers the full loop and every guard
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this changes
Roadmap stage 04 ("Acceptance & QA") first slice, additive like the stage 02/03 pilots:
0006_milestone_reviews.sql— immutable review decisions binding one exact delivery revision (UNIQUE(milestone_id, delivery_revision, decision)), optional note (10–2000 chars).receipts.mjs— the v1 reviewer is the project coordinator (structurally never the delivering contributor, since the coordinator cannot hold the confirmed commitment):revision_requestedwith a mandatory note naming what is missing — no status change, full trail;acceptbinds exactly the newest immutable revision (409 stale_revisionotherwise — matched bytes of a superseded revision are not a current delivery), completes the milestone like the existing complete action and leaves adelivery_acceptedevent;409 duplicate_decision,409 milestone_closed,403for non-coordinators,404for unknown revisions;expected_versioncompares against the milestone version.GET/POST /api/v1/projects/{id}/milestones/{milestone_id}/reviewswith reviewer attribution, and every delivery manifest now carries its own newest review decision (reviewfield) — the decision trail travels with the receipt.MilestoneReview,MilestoneReviewRequest,MilestoneReviewsPage— deliberately notReviewsPage, which is the workshop reviews schema), check-agent-data route/scope/schema guards (87 rejection self-tests), llms.txt "Make acceptance explicit", roadmap + vision present stage 04 as first slice live with the remaining scope named (independent QA roles, conflicting approvals, dispute paths).0006hash incommons_artifact,SCHEMA_SHA256 = 3c9c5ec9…in all three places (rehearsal module, workflow YAML, docs), test counters (MIGRATIONS 6, blobs 15), participations migration list.Verification
reviews.test.mjs: full loop (deliver → revision request → new delivery → acceptance → milestone done → trail + manifest fields) and every guard; commons suite 89/89 in node:24.Deployment note
Commons change → full promotion chain after merge (D1 0006 first, then dispatch, then
vars.STATIC_API_RELEASE_SHA, then publish — perdocs/release-commons-artifacts.md).