The independent-verification pass is necessary because authors are systematically blind to their own claims. T-009's review-fix arc surfaced this: the agent self-reported "all accepted findings fixed"; the maintainer's question ("Have all accepted findings been fixed?") caught a silently-skipped runtime EL check. That exact failure mode — "we say it's done; nobody else checked" — is what this skill closes.
-
Read the artefact list and the settled-decisions context. Approval reviews are most useful when the agent does not re-litigate decisions that have already been made. The prompt to the reviewing agent must name explicitly:
- What artefacts are under review.
- What decisions were made deliberately and should not be reversed (e.g. "free-function form of
current_el settled by ADR-0024 §Open questions", "QEMU smoke deferred per settled item N").
- The commit range that produced the artefacts.
-
Build a verification list (V1..VN). For each non-trivial claim an artefact makes about its own state, write one verification item. Each item names the file:line that should evidence the delivery. If the artefact is a task file, walk its Acceptance Criteria + Definition of Done line by line; each item becomes one verification entry.
-
Run the gates yourself. Do not trust the artefact's commit message about what gates passed. Reproduce locally:
cargo fmt --all -- --check
cargo host-clippy
cargo kernel-clippy
cargo host-test
cargo kernel-build
cargo +nightly miri test --workspace --exclude tyrne-bsp-qemu-virt
cargo llvm-cov --workspace --exclude tyrne-bsp-qemu-virt --summary-only
If any number drifts from what the artefacts claim, that is a High finding. (T-011's commit body's per-file pre-state test counts were off by 1–2 in two of three files; the headline was correct. This kind of small drift is normal but worth recording.)
-
Spot-check the audit-log discipline. For each unsafe-touching artefact, verify:
- Every new
unsafe block has a // SAFETY: comment with (a) why-unsafe-is-required, (b) invariants, (c) rejected alternatives.
- Each cited audit-log entry is real, complete, and matches the source.
- Any post-introduction body changes to an audit entry went via Amendment blocks per
unsafe-policy.md §3 — not in-place edits. The introducing-commit boundary, not the merge boundary, locks an entry's body. UNSAFE-2026-0017's "Discipline note for future readers" paragraph is the canonical reference.
-
Walk the review dimensions across the diff. For each modified file:
- Correctness — does the code do what the artefact says? Are edge cases handled?
- Security — does any path bypass a capability check or pre-flight?
- Performance / optimization — any path that introduces unjustified overhead?
- Potential bugs — race conditions, TOCTOU, off-by-one, integer overflow.
- Refactor suggestions — places where the code could be simpler without changing behaviour.
- Documentation quality — broken cross-references, stale prose, Mermaid syntax.
Each finding is an entry, not a free-form note.
-
Per-artefact AC audit. For each task file under review, produce a table mapping every AC item and DoD item to ✅ / 🟡 / ❌ with a file:line citation. The maintainer uses this table to flip checkboxes in the task file.
-
Verdict. One paragraph per artefact:
- ✅ ready — promote to Done / Accepted.
- 🟡 ready with follow-up — promote, but the cited follow-up should land in the next commit / PR.
- ❌ blocked — do not promote until the cited finding is fixed.
-
Open questions section — for decisions you would like the maintainer to confirm but do not recommend reversing on your own authority. Especially useful when the work makes a non-obvious choice and the reviewer wants to flag it without claiming it's wrong.
-
Process notes — observations about how the work was developed (commit granularity, audit-log discipline, review-prompt quality) that the next task should adopt or avoid. This is the slow-feedback channel that makes the project's discipline compound across sessions.
The settled-decisions context (input #1) names things that should not be re-litigated. Within the review itself, also avoid: