Rule: When ≥2 independent verification methods (DOI / vector index / search engine / library-on-disk / human expert recall) ALL return zero-or-error results for the same expected citation or referenced artefact, treat the convergent negative as positive evidence of fabrication / hallucination. Stop treating it as “we haven’t looked hard enough”; document the hallucination explicitly + correct downstream artefacts that cited it.
Why (ν.β E1 + E2 trigger 2026-05-04):
ν.α Z1 plan-author cited “Tarjan 2024 Journal of Web Semantics — Incremental classification at scale: a survey of 2020-2024 reasoners” as Phase-1.5+ ELK-Java spike substrate. The citation was carried forward into Z1.5 honesty caveats, arch-state §13.1, richard-task #228, and the V1.1 deployment memory.
ν.β Spike E2 was scoped specifically to verify the citation. Three independent methods all failed:
- DOI HEAD-check:
10.1016/j.websem.2024.100806(and 2 plausible neighbours100807/100850) → HTTP 404 - Tier 2 pgvector retrieval: 0 chunks
- Semantic Scholar lookup: no record under “Tarjan 2024 OWL” or “Tarjan 2024 reasoner”
ν.β Spike E1 was scoped independently (Tier 2 retrieval coverage backfill) and independently noted the same citation as missing from library/indexed/ and from the pgvector index. Two independent spike-runners with no shared scope hit the same negative finding.
The convergence signal is what made the hallucination-call defensible. Either method alone could have been a “we haven’t looked hard enough” gap; the convergence makes that interpretation untenable. Robert Tarjan exists (graph algorithms, SCC algorithm); his foundational work IS used internally by ELK’s saturation reasoner — the conflation likely produced the hallucinated citation. The real reference is Kazakov et al. 2014 Journal of Artificial Intelligence Research (JAIR).
How to apply:
- At plan-author time — when an unverified citation is cited as authoritative, run a 60-second triple-check (DOI HEAD + Tier 2 retrieval + Semantic Scholar). If ≥2 methods return zero-or-error, flag the citation as
unverified-pending-author-confirmationin the plan rather than carrying it forward as fact. - At spike-runner time — when scoping a spike whose substrate cites an unverified reference, include the verification as an explicit step-zero of the spike (not a side-effect). E2 was a model: the kill-condition predefined the hallucination as a possible outcome.
- At REFERENCE-aggregation time — when suite spikes surface convergent negative findings, propagate the correction across ALL downstream artefacts (arch-state row + richard-tasks + memory files + cascade-Q substrate). The Tarjan→Kazakov correction at ν.β suite-close touches 4 files.
- At memory-write time — record the corrected reference + the hallucination-trail + the convergent-evidence-method. Future-Claude needs to see the audit trail to understand WHY the correction was applied.
Threshold: 2 independent methods with zero-or-error is the minimum for the convergence call. 3+ methods is “very high confidence”. Single-method negative is “investigate further” not “fabricated”.
Anti-pattern caught: Z1’s plan-author cited Tarjan 2024 as load-bearing without running ANY verification. The citation lived in the substrate for ~24 hours before E1+E2 caught it. At plan-author scale (every spike-suite plan cites 3–10 references), the cumulative hallucination-cost compounds. A 60-second per-citation HEAD-check at plan-author time would have caught this at the first authoring.
Cross-references:
- ν.β E2 T-file:
~/off-github/library/projects/inherit/T-spike-nu-beta-E2-tarjan-2024-incremental-reasoning-2026-05-04.md - ν.β E1 T-file:
~/off-github/library/projects/inherit/T-spike-nu-beta-E1-tier-2-retrieval-coverage-backfill-2026-05-04.md - ν.β suite-close audit-record (forthcoming):
audit-records/2026-05-04-nu-beta-sota-derisking-suite.md - Companion project memory:
project_nu_beta_v1_2_v1_1_first_production_grade_test_2026_05_04.md - Related discipline:
feedback_check_t_files_first_for_any_inherit_v2_work(locked 2026-05-03) — both encode “verify substrate before treating as load-bearing”