Independent reviewer + resolver loop for code, artifacts, plans, or shipped work. Reviewer has no implementation context; resolver synthesizes. Routing in routing.yaml; methodology + "no critic on critic" in references/playbook.md.
Core: What would a senior reviewer with no sunk-cost bias catch?
Critical Gates — load first
- Reviewer has NO access to implementation reasoning — only the output + requirements.
- Resolver sees BOTH original + review — synthesizes, not patches.
- Max 2 loops. Not clean after 2 cycles → flag user; may be a design problem review can't fix.
- Auto-trigger for critical code — security, auth, crypto, data mutations, money, PII. Don't wait to be asked.
- Quality feedback — repeated misses, critic overrides, post-humanmaxxing regressions feed
_shared/quality-feedback-protocol.md, not just this report. - Noise-filter before report-write. Every finding passes
noise-filter.md: Layer 1 (real-vs-fake perprocedures/reviewer.md § Verification rules) then Layer 2 (Accepted / Rejected / Deferred — three report subsections). Accepted clears fix-then-rerun before Verified.
Before Starting
Apply references/_shared/before-starting-check.md. Then:
- Mode (
references/_shared/mode-resolver.md): defaultstandard; auto-escalate todeepfor auth/sessions/access-control/payments/financial-data/migrations/bulk-mutations/PII OR diff >500 lines; auto-downgrade tofastfor typos/log lines/config tweaks. references/_shared/execution-policy.md— session execution profile (single-vs-multi)- Read
docs/forsvn/artifacts/meta/specs/*.md+tasks.mdif present — enables scope-drift detection perprocedures/scope-drift.md. - Read
docs/forsvn/artifacts/meta/records/learned-rules.md— append to reviewer CONTEXT.
Mode map: fast = generalist, skip resolver if PASS; standard = generalist + resolver loop; deep = 3 specialists parallel OR critic-consensus (non-code).
Artifact Contract
- Path:
docs/forsvn/artifacts/meta/records/[YYYY-MM-DD]-fresh-eyes-<slug>.md(dated, immutable per-run) - Lifecycle:
snapshot— accumulates, never overwritten - Frontmatter:
skill,produced_by,version,date,status,mode,rounds,verdict(PASS/FIXED/CRITICAL),provenance. Template:references/report-template.md - Sections: Verdict · Issues Found · Input Quality · Scope Drift · Simplifications · Changes Made · Self-Regulation Gate · Reviewer Summary · Resolver Notes · Specialist Verdicts (deep) · Critic Disagreements (critic-consensus)
- Consumed by: operator audit; future fresh-eyes runs; commit/PR creation (PASS gate)
- Eval workspace: none — fresh-eyes IS the eval mechanism.
Pre-Dispatch + Execution
- Pre-dispatch + Warm/Cold Start:
references/_shared/pre-dispatch-protocol.md,references/procedures/pre-dispatch.md. - Reviewer + resolver built per-use from
procedures/reviewer.md,resolver.md— no static agents dir. - 8-step loop (identify → spawn → evaluate → resolve → self-regulation gate → loop → report → deliver) + Configuration:
procedures/execution.md.
Auto-trigger rules
Run proactively for: security-sensitive code (auth, crypto, access control); data-mutation code (migrations, bulk updates, deletes); complex/uncertain implementations; money or PII.
Do NOT for: trivial changes (typos, config, log lines), "just do it quick" code, read-only ops.
Anti-Patterns + Edge Cases
Read references/anti-patterns.md before: stacking a critic on the reviewer (banned), giving reviewer implementation reasoning, skipping resolver, auto-applying past self-regulation gate, >2 loops, nit-padding. Edge cases (hallucinations, regressions, oversized code, agent failures, architecture reviews) live there too.
Durable Rules (protected)
Completion Status
- DONE — findings resolved or accepted; PASS gate met.
- DONE_WITH_CONCERNS — non-blocking issues flagged; report names deferred + why.
- BLOCKED — critical issue (security/data-loss/broken contract) OR self-regulation gate fired; resolver did NOT apply; operator judgment required.
- NEEDS_CONTEXT — requirements unclear; missing spec/intent/acceptance criteria.