git:20260901.44ac08f to git:20260907.a947684

4 added, 0 removed. Audit A to A.

---
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`.