Sprint Completion Gate Template

Issue Type: Sprint Gate Parent: [Sprint Epic, e.g., M0-GLUE] Labels: gate, process, required-for-close


Purpose

This gate ensures the sprint cannot close without verification that implementation is complete—not just “appears complete.” It operationalizes lessons from the 75% Pattern (Aug 2025 stubs, Jan 2026 #728/#734).

This issue blocks sprint closure until all criteria have explicit sign-off.


Gate 1: Persistence Layer Audit

Purpose: Verify that user-facing “success” messages correspond to actual database writes.

Criteria

Evidence Required

Flow Success Message DB Table E2E Test Name Verified By
example: Project creation “Added to portfolio” projects test_project_creation_persists [initials]
         
         

Sign-off


Gate 2: Anti-Flattening Verification

Purpose: Ensure implementation matches design intent and conversational quality standards.

Criteria

Evidence Required

Design Document Reference: ___________

Parrot Confirmation Audit:

Colleague Test Log: | Flow | Tested Phrase | Pass/Fail | Notes | |——|—————|———–|——-| | | | | | | | | | |

Sign-off


Gate 3: Multi-Tenancy Sanity Check

Purpose: Verify user-scoped data is actually user-scoped with no cross-user leakage.

Skip if sprint has no user-data features. Mark N/A with justification.

Criteria

Evidence Required

Grep Results (must be empty or justified):

grep -r "user_id=\"default\"" --include="*.py" services/ web/
grep -r "owner_id=None" --include="*.py" services/ web/

Result: ___________

Cross-User Test Name: ___________

New Endpoints Audit: | Endpoint | Has RequestContext | Uses user_id | Verified | |———-|——————-|————–|———-| | | | | |

Sign-off


Final Sprint Closure

All Gates Must Pass

Sprint Closure Authorization

Sprint: _________ **Closure Date**: ___________ **Authorized By**: _____________


Usage Notes

  1. Create this issue when sprint epic is created
  2. Link as blocker to sprint epic closure
  3. Fill in evidence as work progresses (don’t batch at end)
  4. Require sign-off from someone other than primary implementer where possible
  5. Archive completed gates in sprint retrospective

Template Version: 1.0 Created: February 3, 2026 Origin: Ship #028 “Conversation ≠ Reality” learning