Reviewer Audit
Latest corpus-mode reviewer output (T-1484/T-1485 v1.5).
Pass A is the cheap drift signal (file-hash diff vs baseline);
Pass B re-executes ## Verification blocks inside a worktree at
each task's completion SHA. Both are read-only; the data shown here comes from the most
recent YAML written under .context/audits/reviewer/.
Run via cron: fw reviewer audit --pass-a /
fw reviewer audit --pass-b.
See Reviewer Overrides for TTL'd false-positive suppressions.
Pass A — Drift Signal
{% if pass_a %}
Source: {{ pass_a_path }}
Scanned: {{ pass_a.tasks_scanned }}
{% if pass_a.limit %}(limit {{ pass_a.limit }}){% endif %}
When: {{ pass_a.scan_timestamp }}
STABLE: {{ pass_a.totals.STABLE }} DRIFTED: {% if pass_a.totals.DRIFTED > 0 %} {{ pass_a.totals.DRIFTED }} {% else %}{{ pass_a.totals.DRIFTED }}{% endif %} NO-BASELINE: {{ pass_a.totals['NO-BASELINE'] }} NO-VERIFICATION: {{ pass_a.totals['NO-VERIFICATION'] }}
{% set drifted = pass_a.per_task | selectattr('verdict', 'equalto', 'DRIFTED') | list %} {% if drifted %}Drifted tasks ({{ drifted|length }})
| Task | Changed | Missing | Unchanged | Files (first 10) |
|---|---|---|---|---|
| {{ row.task_id }} | {{ row.n_changed }} | {% if row.n_missing > 0 %}{{ row.n_missing }}{% else %}0{% endif %} | {{ row.n_unchanged }} |
{% for f in row.changed_files %}{{ f }}{% if not loop.last %}, {% endif %}{% endfor %}
|
No drifted tasks in the latest scan.
{% endif %} {% else %}No Pass A audit YAML yet. Run fw reviewer audit --pass-a --baseline first to seed baselines, then fw reviewer audit --pass-a to scan.
Pass B — Worktree Re-execution
{% if pass_b %}
Source: {{ pass_b_path }}
Scanned: {{ pass_b.tasks_scanned }}
{% if pass_b.limit %}(limit {{ pass_b.limit }}){% endif %}
When: {{ pass_b.scan_timestamp }}
PASS: {{ pass_b.totals.PASS }} FAIL: {% if pass_b.totals.FAIL > 0 %} {{ pass_b.totals.FAIL }} {% else %}{{ pass_b.totals.FAIL }}{% endif %} NO-VERIFICATION: {{ pass_b.totals['NO-VERIFICATION'] }} ERROR: {{ pass_b.totals.ERROR }}
{% set fails = pass_b.per_task | rejectattr('overall', 'equalto', 'PASS') | rejectattr('overall', 'equalto', 'NO-VERIFICATION') | list %} {% if fails %}Non-PASS tasks ({{ fails|length }})
| Task | Verdict | SHA | PASS | FAIL | SKIPPED | ERROR | Note |
|---|---|---|---|---|---|---|---|
| {{ row.task_id }} | {% if row.overall == 'FAIL' %}FAIL {% else %}{{ row.overall }}{% endif %} | {{ (row.sha or 'none')[:8] }} | {{ row.n_pass }} | {{ row.n_fail }} | {{ row.n_skipped }} | {{ row.n_error or 0 }} | {{ row.error or '' }} |
No FAIL or ERROR tasks in the latest scan.
{% endif %} {% else %}No Pass B audit YAML yet. Run fw reviewer audit --pass-b to scan.