Project not found.

Convention: Validation Checkpoints

convention-validation-checkpoints Convention

active convention agent

Convention: Validation Checkpoints

Three verification loops that prevent "marked done but not actually done." Each loop runs at a different cadence and catches different drift.

Loop 1: Per-Ticket Validation

When: Before moving any board item from validation to done.
Who: Ava (or the validation agent via /validate-ticket).
Check How Fail Action
CI green Verify pipeline status on the merged PR's commit Follow <code>sop-ci-pipeline-recovery</code>
QA approved PR has QA approval comment or review Spawn QA agent
Acceptance criteria met Every checkbox in the Forgejo issue is checked Reopen or create follow-up issue
<code>/update-docs</code> run Post-merge doc chain walk completed Run <code>/update-docs</code>
Forgejo issue closed PR body contains <code>Closes #N</code> — verify issue state is closed Close manually

Loop 2: Per-Session Validation

When: Before ending a session (or at natural breakpoints in long sessions).
Who: Ava.
Check How Fail Action
Board state matches reality Items in "In Progress" column should have active work. Items in "Done" should be verified complete. Move misplaced items
Inbox triaged No items sitting in backlog without a triage decision or TODO reference Create TODOs or defer explicitly
Worktrees cleaned <code>git worktree list</code> shows no stale worktrees from completed PRs Remove stale worktrees
Memory updated Key decisions, lessons, and state changes saved to memory Write memory entries
Agent work accounted for All spawned agents have completed. PRs reviewed. No orphan branches. Check agent status, close orphans

Loop 3: Periodic Audit

When: Every session start (lightweight) + on-demand deep audit.
Who: Dottie (spawned by Ava at session start).

Lightweight (Session Start)

Check How Fail Action
Open TODOs aging <code>list_notes(tags="todo,open")</code> — flag any older than 7 days Escalate stale TODOs to Ava
Open bugs aging <code>list_notes(tags="bug,open")</code> — flag any older than 3 days Escalate stale bugs to Ava
Convention compliance spot-check Pick 2-3 recent notes, verify they follow templates Fix inline or create TODO

Deep Audit (On-Demand)

Check How Fail Action
Full note inventory All notes have correct note_type, tags, project, parent_slug Bulk fix
DORA snapshot Measure deployment frequency, lead time, change failure rate, MTTR Report findings
SOP coverage Every known failure mode has a recovery SOP Create missing SOPs
Convention drift Agent definitions match current conventions Update agent notes
Stale issue cleanup Forgejo issues open with no recent activity Close or re-prioritize

The Principle

Verified beats reported. "CI is green" means you checked the pipeline status, not that you assume it passed. "QA approved" means you see the approval comment, not that you sent it to QA. Trust but verify — and verify with the actual system state, not your memory of it.
  • convention-agent-autonomy-levels — what agents can do at each level
  • convention-escalation-triggers — when to stop and ask
  • agent-workflow — the operating model
  • sop-post-merge-docs — the /update-docs chain walk