Hadúr Dashboard

Hadur · round 28 · contract v1.4.0 · generated 2026-07-20T23:18:38+00:00
not converged

Convergence

3/7

Verdict: not converged

Multiple signals unmet: S1, S2, S3, S6. See per-signal detail.

SignalNameStatusDetail
S1′ two-clean-rounds-per-lens unmet 28 of 28 rounds count toward NO streak (27 no code identity, 1 dirty worktree); 0/13 lenses satisfied. Short: L1 contract 0/2, L2 persistence-concurrency 0/2, L3 error-surface 0/2, L4 behaviour-idempotency 0/2, L5 data-correctness 0/2, L6 security-secrets 0/2, L7 operator-experience 0/2, L8 test-quality 0/2, L9 enforcement-integrity 0/2, L10 reachability 0/2, L11 performance-resource 0/2, L12 packaging-environment 0/2, L13 free-sweep 0/2.
S2 section-coverage unmet 9 uncovered in last 5 rounds: §9, §10, §11, §13, §14, §16, §17, §19, §19.5
S3 forbidden-aliases-clean unmet bare HadurError raises in modules with typed subclass: hadur_core/handoff.py:89; bare HadurError raises in modules with typed subclass: hadur_core/handoff.py:96; bare HadurError raises in modules with typed subclass: hadur_core/handoff.py:102; bare HadurError raises in modules with typed subclass: hadur_core/handoff.py:104; bare HadurError raises in modules with typed subclass: hadur_core/handoff.py:113; bare HadurError raises in modules with typed subclass: hadur_core/handoff.py:143; bare HadurError raises in modules with typed subclass: hadur_core/handoff.py:145; bare HadurError raises in modules with typed subclass: hadur_core/worktree.py:33; bare HadurError raises in modules with typed subclass: hadur_core/worktree.py:43; bare HadurError raises in modules with typed subclass: hadur_core/sweep/config.py:105 (+ 3 more)
S4 exports-have-tasks met
S5 imports-cite-current met
S6 self-review-populated unmet plan-06-jira-bridge: missing Self-Review section; plan-07-jira-bridge-pull: missing Self-Review section; plan-08-dev-session-bridge: missing Self-Review section; plan-09-hook-portability: missing Self-Review section
S7 lens-coverage met all 13 lenses certifiably exercised. floor: Hadur verifies artifacts, not attention — a certified lens means a distinct reviewer id and a hash-pinned brief naming that lens exist at a code state the loop did not choose. It does NOT mean a reviewer read the code or asked the question; a fabricated brief with a matching hash is always possible.

Hadúr verifies artifacts, not attention: a "met" verdict confirms the recorded evidence (briefs, provenance, code identity) is consistent — it cannot confirm a reviewer actually read the code.

Lenses

L1 contract (exercised) — Does the code match the Contract's §-sections?L1L2 persistence-concurrency (exercised) — Locks, atomicity, crash consistency, lost updates.L2L3 error-surface (exercised) — Does failure surface correctly, and does the exit-code gate hold?L3L4 behaviour-idempotency (exercised) — Trace a user journey end-to-end. Is a re-run idempotent? What does a partial failure leave behind?L4L5 data-correctness (exercised) — Is what we write semantically right — right parent, right label, right round — not merely written without crashing?L5L6 security-secrets (exercised) — Can a credential or PII reach a place with a wider audience? Can hostile input from one side corrupt the other?L6L7 operator-experience (exercised) — Under stress, does the tool tell the truth? Is the documented recovery procedure real?L7L8 test-quality (exercised) — Would these tests fail if the invariant broke?L8L9 enforcement-integrity (exercised) — Is the guard/invariant itself sound, complete, and fail-closed — or correct only on the shapes it already knows?L9L10 reachability (exercised) — Is every declared capability traced to an operator entry point, or is it dead surface?L10L11 performance-resource (exercised) — Time, memory, file handles, unbounded growth, N+1 work.L11L12 packaging-environment (exercised) — Does it install, import, and run outside the author's machine?L12L13 free-sweep (exercised) — Deliberately NOT the lens of the last N rounds (§7.7 tunnel signal).L13
IdNameStateQuestion
L1 contract exercised Does the code match the Contract's §-sections?
L2 persistence-concurrency exercised Locks, atomicity, crash consistency, lost updates.
L3 error-surface exercised Does failure surface correctly, and does the exit-code gate hold?
L4 behaviour-idempotency exercised Trace a user journey end-to-end. Is a re-run idempotent? What does a partial failure leave behind?
L5 data-correctness exercised Is what we write semantically right — right parent, right label, right round — not merely written without crashing?
L6 security-secrets exercised Can a credential or PII reach a place with a wider audience? Can hostile input from one side corrupt the other?
L7 operator-experience exercised Under stress, does the tool tell the truth? Is the documented recovery procedure real?
L8 test-quality exercised Would these tests fail if the invariant broke?
L9 enforcement-integrity exercised Is the guard/invariant itself sound, complete, and fail-closed — or correct only on the shapes it already knows?
L10 reachability exercised Is every declared capability traced to an operator entry point, or is it dead surface?
L11 performance-resource exercised Time, memory, file handles, unbounded growth, N+1 work.
L12 packaging-environment exercised Does it install, import, and run outside the author's machine?
L13 (free sweep) free-sweep exercised Deliberately NOT the lens of the last N rounds (§7.7 tunnel signal).

Lens × Round coverage

2425262728L1not covered (blind spot): L1 × 24not covered (blind spot): L1 × 25not covered (blind spot): L1 × 26not covered (blind spot): L1 × 27clean: L1 × 28L2not covered (blind spot): L2 × 24not covered (blind spot): L2 × 25not covered (blind spot): L2 × 26not covered (blind spot): L2 × 27clean: L2 × 28L3not covered (blind spot): L3 × 24not covered (blind spot): L3 × 25not covered (blind spot): L3 × 26not covered (blind spot): L3 × 27clean: L3 × 28L4not covered (blind spot): L4 × 24not covered (blind spot): L4 × 25not covered (blind spot): L4 × 26not covered (blind spot): L4 × 27clean: L4 × 28L5not covered (blind spot): L5 × 24open: L5 × 25not covered (blind spot): L5 × 26not covered (blind spot): L5 × 27clean: L5 × 28L6not covered (blind spot): L6 × 24not covered (blind spot): L6 × 25open: L6 × 26open: L6 × 27clean: L6 × 28L7not covered (blind spot): L7 × 24not covered (blind spot): L7 × 25open: L7 × 26not covered (blind spot): L7 × 27clean: L7 × 28L8not covered (blind spot): L8 × 24not covered (blind spot): L8 × 25not covered (blind spot): L8 × 26not covered (blind spot): L8 × 27clean: L8 × 28L9open: L9 × 24open: L9 × 25not covered (blind spot): L9 × 26not covered (blind spot): L9 × 27clean: L9 × 28L10not covered (blind spot): L10 × 24open: L10 × 25not covered (blind spot): L10 × 26not covered (blind spot): L10 × 27clean: L10 × 28L11not covered (blind spot): L11 × 24not covered (blind spot): L11 × 25not covered (blind spot): L11 × 26not covered (blind spot): L11 × 27clean: L11 × 28L12not covered (blind spot): L12 × 24not covered (blind spot): L12 × 25not covered (blind spot): L12 × 26not covered (blind spot): L12 × 27clean: L12 × 28L13not covered (blind spot): L13 × 24open: L13 × 25not covered (blind spot): L13 × 26not covered (blind spot): L13 × 27clean: L13 × 28

Findings — round 28

CriticalCritical: 77MajorMajor: 3030MinorMinor: 55NitNit: 00
IdSeverityPlan§LocationEvidenceStatus
R28-P00-M1 Major (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P01-M1 Major (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P00-M2 Major (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P00-M3 Major (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P01-M2 Major (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P01-M3 Major (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P02-M1 Major (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P01-M4 Major (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P02-M2 Major (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P01-M5 Major (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P01-M6 Major (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P01-M7 Major (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P01-M8 Major (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P01-M9 Major (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P02-N1 Minor (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P01-C1 Critical (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P05-M1 Major (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P01-M10 Major (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P03-M1 Major (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P01-C2 Critical (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P01-M11 Major (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P01-M12 Major (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P01-M13 Major (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P05-C1 Critical (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P05-M2 Major (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P05-M3 Major (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P01-M14 Major (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P01-M15 Major (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P05-M4 Major (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P00-N1 Minor (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P00-M4 Major (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P01-C3 Critical (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P01-M16 Major (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P01-N1 Minor (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P05-M5 Major (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P05-M6 Major (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P05-N1 Minor (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P05-N2 Minor (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P00-M5 Major (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P01-C4 Critical (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P06-C1 Critical (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved
R28-P06-C2 Critical (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) (detail omitted in public export) resolved

Trends

12345678910111213141516171819202122232425262728CriticalsMajors
RoundCriticalsMajors
12010
257
355
424
503
615
712
8010
902
1004
1101
1201
1300
1400
1500
16011
1713
1801
1901
2000
2105
2202
2301
2402
2504
2613
2711
28730

Coverage

2425262728§1 Module layoutnot covered (blind spot): §1 Module layout × 24not covered (blind spot): §1 Module layout × 25not covered (blind spot): §1 Module layout × 26not covered (blind spot): §1 Module layout × 27clean: §1 Module layout × 28§2 Canonical imports + forbidden aliasesnot covered (blind spot): §2 Canonical imports + forbidden aliases × 24not covered (blind spot): §2 Canonical imports + forbidden aliases × 25not covered (blind spot): §2 Canonical imports + forbidden aliases × 26not covered (blind spot): §2 Canonical imports + forbidden aliases × 27clean: §2 Canonical imports + forbidden aliases × 28§3 Persistence patternnot covered (blind spot): §3 Persistence pattern × 24not covered (blind spot): §3 Persistence pattern × 25not covered (blind spot): §3 Persistence pattern × 26not covered (blind spot): §3 Persistence pattern × 27clean: §3 Persistence pattern × 28§4 Schema versioningnot covered (blind spot): §4 Schema versioning × 24clean: §4 Schema versioning × 25not covered (blind spot): §4 Schema versioning × 26not covered (blind spot): §4 Schema versioning × 27not covered (blind spot): §4 Schema versioning × 28§5 Error hierarchynot covered (blind spot): §5 Error hierarchy × 24not covered (blind spot): §5 Error hierarchy × 25clean: §5 Error hierarchy × 26clean: §5 Error hierarchy × 27clean: §5 Error hierarchy × 28§6 CLI conventionsclean: §6 CLI conventions × 24clean: §6 CLI conventions × 25clean: §6 CLI conventions × 26clean: §6 CLI conventions × 27clean: §6 CLI conventions × 28§7 Test conventionsnot covered (blind spot): §7 Test conventions × 24not covered (blind spot): §7 Test conventions × 25not covered (blind spot): §7 Test conventions × 26not covered (blind spot): §7 Test conventions × 27clean: §7 Test conventions × 28§8 Cross-module boundariesnot covered (blind spot): §8 Cross-module boundaries × 24clean: §8 Cross-module boundaries × 25clean: §8 Cross-module boundaries × 26not covered (blind spot): §8 Cross-module boundaries × 27clean: §8 Cross-module boundaries × 28§9 §18 Cross-Plan Import Manifest formatnot covered (blind spot): §9 §18 Cross-Plan Import Manifest format × 24not covered (blind spot): §9 §18 Cross-Plan Import Manifest format × 25not covered (blind spot): §9 §18 Cross-Plan Import Manifest format × 26not covered (blind spot): §9 §18 Cross-Plan Import Manifest format × 27not covered (blind spot): §9 §18 Cross-Plan Import Manifest format × 28§18 Amendment processnot covered (blind spot): §18 Amendment process × 24not covered (blind spot): §18 Amendment process × 25not covered (blind spot): §18 Amendment process × 26not covered (blind spot): §18 Amendment process × 27clean: §18 Amendment process × 28§10 Commit formatnot covered (blind spot): §10 Commit format × 24not covered (blind spot): §10 Commit format × 25not covered (blind spot): §10 Commit format × 26not covered (blind spot): §10 Commit format × 27not covered (blind spot): §10 Commit format × 28§11 Version trinitynot covered (blind spot): §11 Version trinity × 24not covered (blind spot): §11 Version trinity × 25not covered (blind spot): §11 Version trinity × 26not covered (blind spot): §11 Version trinity × 27not covered (blind spot): §11 Version trinity × 28§12 Observability hooksnot covered (blind spot): §12 Observability hooks × 24not covered (blind spot): §12 Observability hooks × 25not covered (blind spot): §12 Observability hooks × 26not covered (blind spot): §12 Observability hooks × 27clean: §12 Observability hooks × 28§13 Phase-0 blockers (per plan)not covered (blind spot): §13 Phase-0 blockers (per plan) × 24not covered (blind spot): §13 Phase-0 blockers (per plan) × 25not covered (blind spot): §13 Phase-0 blockers (per plan) × 26not covered (blind spot): §13 Phase-0 blockers (per plan) × 27not covered (blind spot): §13 Phase-0 blockers (per plan) × 28§14 ADRs + runbooksnot covered (blind spot): §14 ADRs + runbooks × 24not covered (blind spot): §14 ADRs + runbooks × 25not covered (blind spot): §14 ADRs + runbooks × 26not covered (blind spot): §14 ADRs + runbooks × 27not covered (blind spot): §14 ADRs + runbooks × 28§15 Hadur-suite §18 manifest summarynot covered (blind spot): §15 Hadur-suite §18 manifest summary × 24not covered (blind spot): §15 Hadur-suite §18 manifest summary × 25not covered (blind spot): §15 Hadur-suite §18 manifest summary × 26not covered (blind spot): §15 Hadur-suite §18 manifest summary × 27clean: §15 Hadur-suite §18 manifest summary × 28§16 File-structure verificationnot covered (blind spot): §16 File-structure verification × 24not covered (blind spot): §16 File-structure verification × 25not covered (blind spot): §16 File-structure verification × 26not covered (blind spot): §16 File-structure verification × 27not covered (blind spot): §16 File-structure verification × 28§17 Sub-agent dispatch disciplinenot covered (blind spot): §17 Sub-agent dispatch discipline × 24not covered (blind spot): §17 Sub-agent dispatch discipline × 25not covered (blind spot): §17 Sub-agent dispatch discipline × 26not covered (blind spot): §17 Sub-agent dispatch discipline × 27not covered (blind spot): §17 Sub-agent dispatch discipline × 28§19 Task body advisory invariant (declaration-by-reference)not covered (blind spot): §19 Task body advisory invariant (declaration-by-reference) × 24not covered (blind spot): §19 Task body advisory invariant (declaration-by-reference) × 25not covered (blind spot): §19 Task body advisory invariant (declaration-by-reference) × 26not covered (blind spot): §19 Task body advisory invariant (declaration-by-reference) × 27not covered (blind spot): §19 Task body advisory invariant (declaration-by-reference) × 28§19.5 Grandfather clause for narrative-vs-code driftnot covered (blind spot): §19.5 Grandfather clause for narrative-vs-code drift × 24not covered (blind spot): §19.5 Grandfather clause for narrative-vs-code drift × 25not covered (blind spot): §19.5 Grandfather clause for narrative-vs-code drift × 26not covered (blind spot): §19.5 Grandfather clause for narrative-vs-code drift × 27not covered (blind spot): §19.5 Grandfather clause for narrative-vs-code drift × 28

Rows are Contract §-sections (windowed to the last 5 rounds); a dark/muted cell is a blind spot, not a "no data" gap.

Waves

No waves recorded yet.

Audits

code_driftcode_drift: 00securitysecurity: 00infrastructureinfrastructure: 00performanceperformance: 00accessibilityaccessibility: 00seoseo: 00integrationintegration: 00wave_consistencywave_consistency: 4848
DomainStatusRoundResult
code_drift checked 1 clean
security checked 1 clean
infrastructure checked 1 clean
performance checked 1 clean
accessibility checked 1 clean
seo checked 1 clean
integration checked 1 clean
wave_consistency checked 1 48 Critical

Sweep

RegimeStatusRoundResultAcknowledged (C18)
sweep_contract not run this round no data — never rendered as clean 0
sweep_code not run this round no data — never rendered as clean 0

Sweep three-state model: verified-clean · drift · skipped · candidate — see the Key view.

Key

Signals (§7.3)

S1′
two clean rounds per lens, on the current code (S1′)
S2
every Contract §-section reviewed within the window — no blank rows
S3
no forbidden import aliases / retired names in narrative
S4
every §18 Export row has an owning task
S5
every §18 Import cites the provider's current version + signature
S6
each plan's §-by-§ self-review table is filled
S7
every lens covered with certified provenance — no blank lens rows

Lenses (§7.3.1) — the 13-lens registry

L1 — contract
Does the code match the Contract's §-sections?
L2 — persistence-concurrency
Locks, atomicity, crash consistency, lost updates.
L3 — error-surface
Does failure surface correctly, and does the exit-code gate hold?
L4 — behaviour-idempotency
Trace a user journey end-to-end. Is a re-run idempotent? What does a partial failure leave behind?
L5 — data-correctness
Is what we write semantically right — right parent, right label, right round — not merely written without crashing?
L6 — security-secrets
Can a credential or PII reach a place with a wider audience? Can hostile input from one side corrupt the other?
L7 — operator-experience
Under stress, does the tool tell the truth? Is the documented recovery procedure real?
L8 — test-quality
Would these tests fail if the invariant broke?
L9 — enforcement-integrity
Is the guard/invariant itself sound, complete, and fail-closed — or correct only on the shapes it already knows?
L10 — reachability
Is every declared capability traced to an operator entry point, or is it dead surface?
L11 — performance-resource
Time, memory, file handles, unbounded growth, N+1 work.
L12 — packaging-environment
Does it install, import, and run outside the author's machine?
L13 — free-sweep
Deliberately NOT the lens of the last N rounds (§7.7 tunnel signal).

Drift catalog (§20)

C1-C18
the §20 narrative-drift catalog the sweep greps for
C18
fail-open enumeration — a denylist guard where an unknown construct passes; surfaced as candidates, never 'clean' (§6.5)

Severity

Critical
blocks convergence; Breaker-gated fix + re-review
Major
real defect; blocks a clean round
Minor
should fix; does not block
Nit
polish / preference

Sweep three-state model

verified-clean
checked, no drift — the only state counting toward clean
drift
a real disagreement — blocks (exit 3)
skipped
could not check — never 'clean'; blocks only under --strict
candidate
a C18 fail-open surfacing — a reviewed note, not a safety verdict

Exit codes

0
clean
2
typed error / usage error
3
drift, unacknowledged candidate, or (--strict) a skip