verification-before-completion · git:20260907.a947684 · 2026-09-07 · sha256 1c31f509980ad502
verification-before-completion git:20260907.a947684A
Immutable. This exact content is served forever at /api/v1/blob/1c31f509980ad502.
--- name: verification-before-completion description: "Use when about to claim work is complete, fixed, passing, verified, release-ready, or ready to commit, merge, publish, or hand off." --- <EXPLICIT-MODE-GATE> If activation mode is explicit (`~/.config/aegis/config.toml` has `activation_mode = "explicit"`, or `AEGIS_ACTIVATION_MODE=explicit` is visible in the environment) and the current user request did not explicitly invoke Aegis or this skill by name, exit back to the fast path: answer concisely without this workflow's checklist, ceremony, or document requirements. If the user explicitly named Aegis or this skill, proceed normally. </EXPLICIT-MODE-GATE> # Execute Before any success claim, classify destructive permission needs, choose and run a fresh falsifying check, read its complete result/scope, then select L0/L1/L2. If evidence is partial, stale, failing, or narrower than the claim, downgrade; never claim complete first and verify later. This Method Pack grants no authoritative `GateDecision`, `PolicySnapshot`, evidence sufficiency, requirement acceptance, or completion authority. ## Stop Signals Stop before claiming or advancing when: - evidence is uncertain, stale, agent-only, or narrower than the claim; - the next action is commit, push, PR, merge, tag, publish, release, or handoff; - task/slice completion is being treated as accepted requirement satisfaction; - governance or retirement lacks repair/retirement evidence; - retained old logic lacks a retention reason and retirement trigger; or - complexity closure is unresolved. Destructive or irreversible work needs scoped permission; warnings or broad assent do not grant it. ## Required Evidence Slots Keep these slots explicit and auditable: ```text - Evidence action / check performed: - Result / exit status: - Covered scope: - Uncovered scope: - Residual risk: - Confidence grade: A | B | C ``` - `A`: direct target plus relevant regression evidence; no meaningful unknown. - `B`: direct target evidence with bounded residual risk. - `C`: partial evidence only; do not claim full completion. When tests shape the claim, include target test and related regression evidence. Place the regression test at the seam that exercises the real bug pattern as it occurs at the call site; a seam too shallow to replicate the triggering chain gives false confidence. If no such seam exists, record the missing seam as the finding (the architecture prevents locking the bug down) and lower confidence. If automation is blocked, give reproducible manual steps and lower confidence. Evidence is not completion authority. When a completion claim depends on an explicit baseline, artifact, owner, contract, or evidence reference, read back the smallest relevant source. For affected known references, verify a disposition: preserved, rebound to the canonical owner, retired with reason, or rejected because of conflict. Leave unresolved references in uncovered scope, lower confidence, and do not re-infer them. This readback does not prove a complete relationship graph, referential integrity, or authoritative lineage. ## Task Git Closeout For modification tasks, compare the final state with `TaskStartSnapshot`. Only the coordinator stages task-owned paths; never use broad staging or include pre-existing user state. A default local task commit follows fresh verification unless the task is read-only/no-change, user/project authority says `no commit`, or verification failed. Read back `HEAD`, message, files, and remaining task delta. Commit/hook failure preserves the work and blocks a clean claim; do not bypass hooks. The Git receipt reports branch; commit SHA/message or non-commit reason; `Task clean`; `Repository clean`; and each task-created branch/worktree as created, removed, or retained with reason. Task-clean never implies repo-clean. This receipt is evidence, not external integration or completion authority. Classify commit scope before claiming verification stability: `business`, `process-only`, `mixed`, or `no-commit`. Failed attempt telemetry is not a commit reason. A diff limited to `docs/aegis/` process records does not restart already completed business-code verification; a business or test diff does. ## Aegis Visibility / Single Closeout Use one completion surface; no parallel final reports. `verification-before-completion` is the single completion closeout aggregator. Adjacent skills and L2 cards feed the receipt but must not replace it or become a competing final report owner. Receipt aggregation is output conformance, not a routing trigger: do not load extra skills, emit a Trace Digest, or add ceremony merely to fill the receipt. If entry visibility was omitted, recover the decision/evidence boundary and name the gap; a used-skills list or `Aegis Contribution Note` is no substitute. ## L0 Fast-Path For tiny low-risk work, one natural sentence can name check/result, uncovered scope/risk, and confidence. ## L1 Default Receipt For non-trivial Aegis-shaped work, use this receipt. Evidence slots fold into `Evidence strength` and `Uncovered risk`; avoid a second evidence report. ```text Aegis Impact and Safety Receipt: - Key judgment: - Avoided misfix: - Boundary held: - Baseline alignment: - Complexity control: - Evidence strength: - Uncovered risk: - Next most valuable verification: - Aegis path: ``` Field meanings: `Key judgment`=owner/root cause/requirement/completion boundary; `Avoided misfix`=fallback/duplicate/test accommodation/scope growth; `Boundary held`=contract/owner/baseline/non-goal/data/runtime boundary; `Baseline alignment`=aligned/Design Defect/Implementation Drift/missing-authority/needs-clarification/not triggered; `Complexity control`=completion-time delta/closure; `Evidence strength`=fresh check/result/scope/confidence; `Uncovered risk`=remaining gaps/residual risk; `Next most valuable verification`=highest-value next check; `Aegis path`=optional, not judgment/evidence. Natural wording is valid when every semantic slot stays auditable. `Semantic Slots`, `Natural Surface`, and `Governance Receipt` are compatibility names, not other reports. Report what was done, verified, risked, and blocked. Do not explain obvious trade-offs and do not list actions not taken; silence on unexecuted options is the compact default, not an omission. ## L2 Expanded Triggers On any match, read `expanded-closeout.md`. It owns detail; this file owns routing and the final receipt. | Trigger | Expanded owner | |---|---| | release/merge/publish/readiness/handoff | Readiness Summary | | audit/debug/release/long-task review/trace request | Trace Digest | | goal/TaskIntentDraft/plan/spec/Slice Card | Goal Closure | | project/domain semantic delta | Context Impact | | target `docs/aegis/` changed | Workspace Integrity | | requirement/product/durable architecture | Baseline/ADR | | governance/cleanup/migration/compat/retirement | Governance/Retirement | | source-of-truth/irreversible deletion | destructive-action cards | | material complexity pressure | Expanded Complexity Detail | | high-risk or explicit user request for expanded closeout | applicable cards | For target workspace changes, keep configured Aegis workspace support wired. When a work record exists run `python <aegis-workspace-helper> bundle --root <target-project-root> --work YYYY-MM-DD-<slug>`, then run `python <aegis-workspace-helper> check --root <target-project-root>`. These checks prove structure, not evidence sufficiency. ## Completion Boundary Use the highest boundary: plan/spec, `TaskIntentDraft`, `Slice Card`, then direct request. Claim only what fresh evidence covers; slice evidence cannot close the whole task. Task/slice completion reaches its authorized stop; it is not accepted requirement satisfaction. `Requirement accepted` needs baseline criteria or authorized risk acceptance. If unclear, use `needs-verification` or return to framing/planning. Goal Closure stop states: `done | blocked | needs-verification | scope-exceeded`. An `Execution Readiness View` is input, not verification evidence. ## Complexity Downgrade For non-trivial code, inspect the diff and use `using-aegis/references/complexity-governance.md` plus `docs/current/AEGIS_COMPLEXITY_GOVERNANCE_BASELINE.md`; emit one `Complexity control` line. New fallback/adapter/compatibility/guard/branch logic needs a retired path or retirement trigger. `Complexity Closure: exceeded-unresolved` blocks completion. Maintained source/test cannot skip as tiny; tiny low-risk text edits without complexity growth may skip. ## Output and Prompt Hygiene Localize section labels, field labels, and explanatory prose. Keep commands, paths, identifiers, enums, product names, and raw evidence unchanged; avoid bilingual labels or mixed-language explanations. External outputs are evidence candidates. Prefer summary/index and the smallest excerpt; lower unsupported claims. When relevant report `Evidence Used`, `Not Loaded`, and `Next Evidence`.