feat: D16 adjudication — 2v2 stays hypothesis until a rule fires. (#35)
Tests / Test (push) Skipped
Tests / OCR (tesseract fixture) (push) Skipped
Tests / Release (semver) (push) Skipped

temporal_freshness then authority_pairing; unresolved keeps (not confirmed).
bin/facts/audit contradict. Gitea #29.
This commit is contained in:
2026-08-14 11:43:00 +01:00
committed by GitHub
co-authored by GitHub
parent a331042488
commit 0065655e03
18 changed files with 557 additions and 56 deletions
+3 -1
View File
@@ -71,7 +71,9 @@ corpus HEAD.
- C: narrative — READMEs, AGENTS.md, docs
Confirmed = A×B or B×C agreement. Single source = hypothesis + `(not confirmed)`.
Conflicting pairings (≥2 yes vs ≥2 no) = hypothesis (OQ1 → v2 resolution).
Conflicting pairings (≥2 yes vs ≥2 no) stay hypothesis until
`temporal_freshness` or `authority_pairing` fires (`bin/facts/audit contradict`,
[#29](https://git.produktor.io/eSlider/2dph/issues/29)).
## Read path
+4 -4
View File
@@ -39,11 +39,11 @@ Epic [#16](https://git.produktor.io/eSlider/2dph/issues/16) closed.
[#6](https://git.produktor.io/eSlider/2dph/issues/6) OCR — **in**.
[#30](https://git.produktor.io/eSlider/2dph/issues/30) OQ3 duckdb-go — **in**.
[#29](https://git.produktor.io/eSlider/2dph/issues/29) OQ1 contradiction
resolution.
resolution**in** (`temporal_freshness`, `authority_pairing`).
## Blockers
None for epic #16 (closed). Remaining v2: OQ1, OQ4.
None for epic #16 (closed). Remaining v2: OQ4.
```
question
@@ -58,8 +58,8 @@ question
## Not v1
OQ1 contradiction resolution, OQ4 YAML-first leafs.
OCR (OQ2) and duckdb-go (OQ3/D22) are in.
OQ4 YAML-first leafs.
OCR (OQ2), duckdb-go (OQ3/D22), and D16 adjudication (OQ1) are in.
## Close epic #16 when