Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
99 changes: 99 additions & 0 deletions .claude/board/EPIPHANIES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,102 @@
## 2026-08-21 — E-HHTL-IS-MINTED-IN-THE-ARTIFACT-NOBODY-CITES-1 — "zero on every baked row in both production bakes" is precise about the two it names and silent about the third, where the five OBO namespaces are 100% minted

**Status:** FINDING (measured directly on the pinned `.soa` bytes, SHA-256
verified against `MedCare-rs/data/config/bakes.tsv`). **Confidence:** High —
every number is a count over 512-byte rows, tiers read at bytes 4..10.

The board headline (`INTEGRATION_PLANS.md` ARC-B entry) and
`EPIPHANIES.md:899` both state HHTL is **"zero on every baked row in both
production bakes"**, citing `ogar-obo` (68,797 rows) and MedCare's
`join-map.md` (68,797 rows). Both citations are correct. **Both describe the
same artifact set of two.** A third pinned artifact exists:

| artifact | rows | HHTL != 0 |
|---|---:|---:|
| `obo-core.soa` | 68,797 | **0 (0.00%)** |
| `spine.soa` | 7,641 | **0 (0.00%)** |
| `all-lanes.soa` | 770,360 | **164,031 (21.29%)** |

Per lane in `all-lanes.soa`: **MONDO `0x0301` 32,095 rows 100% · HPO `0x0302`
19,836 100% · UBERON `0x0303` 14,975 100% · PATO `0x0304` 1,887 100% ·
ICD-10-GM `0x030F` 16,905 100% · OMIM `0x0319` 18,712 100% · OPS `0x0311`
98.9% · Orphanet `0x0317` 67.6%**; LOINC / CUI / RxNorm / FMA ~0%.

**Why this matters and is not a footnote:** the five 100%-minted namespaces are
exactly the ones a DisMech overlay grounds against. The generalized claim
("HHTL is dormant, the gap is mint + read") licenses a session to skip HHTL
entirely; the measured claim says HHTL is available **if a reader names
`all-lanes.soa`** and unavailable **if it names `obo-core.soa`**. So *which
artifact a consumer reads* is a first-class design decision, not a detail — and
a ladder level claiming "+ HHTL topology" must state its artifact or it is
measuring nothing.

**The generalization error is the transferable part.** Two independent
citations agreeing is evidence about the *rows they counted*, not about the
artifact set. Two sources counting the same 68,797 rows is ONE measurement
reported twice. Before promoting "on every row" from "on these rows", enumerate
the artifacts, not the citations.

**⊘ CORRECTION 2026-08-21 (same day, operator-prompted) — the entry above
measured ONE of TWO readings.** Operator: *"Obo HHTL ist meines Wissens mit
zipper bereits indirekt hydriert."* Correct. The census above counted the
**cascade tiers** (bytes 4..10); `rails::HhtlMode::of_row` PREFERS the
**RailHead** reading and uses Cascade only as the fallback. Measured on the
Zipper rail registers (`rails.rs:130-147`): MONDO **32,094/32,095**, HPO
**19,835/19,836**, UBERON **14,973/14,975** (plus 8,525 `part_of`, the only
lane with mereology), PATO 1,886/1,887 — median logical-DN depths 6/7/8/5, and
264 rows deep enough to use the continuation slab. So the OBO hierarchy IS
hydrated, indirectly, exactly as stated. `obo-core.soa`/`spine.soa` remain zero
on BOTH readings. New in this correction: cascade and rail are **independent** —
Orphanet (14,063 cascade) and OMIM (18,712) carry **zero** rail DN, so a
prefix-containment consumer silently gets depth 0 there. **The lesson compounds
the entry's own:** it is not enough to enumerate the artifacts — a claim about
a field must also name which READING of it was counted, when the accessor
picks between two registers. Full table: plan §8a ⊘ correction.

Cross-ref: `.claude/plans/dismech-causality-v3-v1.md` §8a; ARC-B
`docs/architecture/ARC-B-OWNERSHIP-AND-ADDRESSING-REASSESSMENT.md:23` (regraded
in place: its conclusion holds for `obo-core`/`spine`, needs the `all-lanes`
qualifier); `EPIPHANIES.md:899`.

## 2026-08-21 — E-THE-ORACLE-POPULATION-IS-64-PERCENT-AND-A-GATE-HARDCODES-THE-OTHER-36-1 — a third of the "known intermediates" name no intermediate, and the gate that would have caught it asserts the wrong number

**Status:** FINDING (measured three independent ways on `/workspace/dismech`
@`557e15436`, 1,968 disorder files). **Confidence:** High — the three methods
agree exactly.

The DisMech supervision story rests on `INDIRECT_KNOWN_INTERMEDIATES` being a
population where "the source names the mediators, so they can be hidden and
recovery measured" (`E-DISMECH-CORPUS-CENSUS-1`). Measured, **only 2,449 of
3,825 (64.0%) such edges actually name one.** 1,376 (36.0%) carry the label and
an absent or empty mediator list.

Three methods, agreeing: (a) a line-oriented per-edge walk — **2,449** edges
over **534** disorder files, 3,714 mediator strings; (b) key-occurrence count —
`intermediate_mechanisms:` appears **2,525** times with **0** inline empty
lists, and 2,525 = 2,449 + 74 + 1 + 1, exactly the per-bucket split;
(c) `contract::dismech_evidence.rs:155-176` at the narrower
`pathophysiology[].downstream[]` scope — **1,347 of 3,844 (35.0%)** empty.

**Consequences.** The held-out corpus is **2,449 edges over 534 diseases**, so
a 20% split is ~490 edges / ~107 diseases, not the 774 a 3,869 denominator
implies. And **74 `INDIRECT_UNKNOWN_INTERMEDIATES` edges DO name mediators** —
a source contradiction the four-label taxonomy does not anticipate; they must
be removed from any restraint control or they will read as hallucinated
closure by the benchmark's own definition.

**The gate that should have caught this hardcodes the wrong number.**
`MedCare-rs/.claude/plans/dismech-missing-links-v1.md` Gate W1.1 asserts
`known_links.tsv == 3.869` — unsatisfiable on any corpus revision. Its own
instruction is *"stoppen und melden, nicht die Zahl anpassen"*, so this entry
is the report, not an edit.

**Transferable:** a label that asserts a property and a field that carries it
are two different measurements. Counting the label is not counting the data —
and a supervision corpus sized from the label is oversized by exactly the rows
where the source labelled but did not fill.

Cross-ref: `.claude/plans/dismech-causality-v3-v1.md` §3a; `E-DISMECH-CORPUS-CENSUS-1`.

## 2026-08-20 — E-DISMECH-CORPUS-CENSUS-1 — the DisMech corpus measured: 87.2 MB of strings, of which the entire causal semantics is bits + codebook ordinals

**Status:** FINDING (measured on upstream `monarch-initiative/dismech`, 2,100
Expand Down
23 changes: 23 additions & 0 deletions .claude/board/INTEGRATION_PLANS.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,26 @@
## 2026-08-21 — DISMECH × CAUSALITY-V3 REBASE REPORT (report first, no code)

`.claude/plans/dismech-causality-v3-v1.md` — the operator-required §26
deliverable that gates implementation of the DisMech/Causality-V3 arc. Twelve
sections, every number carrying the command or `file:line` that produced it;
anything not personally measured is labelled *claimed, unverified*.

**Headline:** the expensive substrate really is largely built — AriGraph
(8,750 LOC / 187 tests), CLAM+CHAODA (4,900 / 77), Aerial+ ARM discovery,
HHTL, the OCR+DOM→doc.v1 convergence — but it is **read-rich and write-empty at
four independent layers** (CE64 bits 53-63, `CausalEdgeV3`,
`CausalWitnessFacet`, `dismech_evidence`), all with zero production writers.
Three §0 claims are stale, two are wrong: the oracle population is **64%** of
its label count (`E-THE-ORACLE-POPULATION-IS-64-PERCENT-...-1`), and HHTL is
**100% minted** for the five OBO namespaces in the artifact the board does not
cite (`E-HHTL-IS-MINTED-IN-THE-ARTIFACT-NOBODY-CITES-1`).

**Sequence:** D-CV3-0..2 (pin corpus, freeze splits, Level-0 scorer) must be
green BEFORE D-CV3-3 mints a `HoleV3` tenant — a carrier minted before its
benchmark becomes the fifth EXISTS-UNCALLED entry. `HoleV3` is `ValueTenant =
16` (15 is reserved for `BoardAggregates`), never CE64, which has **zero free
bits**.

## 2026-08-19 — ARC-B OWNERSHIP + ADDRESSING REASSESSMENT (supersedes parts of the plan wave)

Not a plan — the **assessment that corrects the plan wave**, per two
Expand Down
14 changes: 14 additions & 0 deletions .claude/board/STATUS_BOARD.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,20 @@ relations (MedCare-rs commitment #10) — an OGAR/lance-graph classid-mint
capacity question for the operator.

---

### D-CV3-* — DisMech × Causality-V3 (plan `dismech-causality-v3-v1.md`, 2026-08-21)

| D-id | Scope | Repo | Status | Falsifier |
|---|---|---|---|---|
| D-CV3-0 | Pin corpus (`/workspace/dismech` @`557e15436`) + emit 3 frozen TSVs from a typed parse; no new types | MedCare-rs | **Queued** | fresh container reproduces 2,449 / 4,076 / 361 exactly |
| D-CV3-1 | Splits A (random edge) + B (disease-held-out, 534 groups) as committed artifacts | MedCare-rs | **Queued** — gates on D-CV3-0 | group-disjointness; held-out share 15-25% |
| D-CV3-2 | Level-0 scorer: Recall@K + MRR + abstention, structural only | MedCare-rs | **Queued** — gates on D-CV3-1 | non-trivial on BOTH arms; can-fire + can-stay-silent pair |
| D-CV3-3 | `HoleV3` as `ValueTenant = 16`; `awareness_state` orthogonal to `unknown_kind`; NOT in CE64 (0 free bits) | lance-graph | **Queued** — gates on D-CV3-2 green | field-isolation matrix; `ENVELOPE_LAYOUT_VERSION` unchanged; two-axis independence round-trip |
| D-CV3-4 | Producer: `dismech_evidence` -> hole rows (its first caller) | lance-graph | **Queued** — gates on D-CV3-3 | populated rows 0 -> 4,076 + 361, else a 5th EXISTS-UNCALLED carrier |
| D-CV3-5 | `Communities` x `EpisodicBasins` cross-validation (the only available unknown-unknown detector) | lance-graph | **Queued** | fires on a synthetic bridge AND stays silent on a coherent graph |
| D-CV3-6 | Call `reciprocal_rank_fusion` in `OsintRetriever::retrieve` (cheapest real integration) | lance-graph | **Queued** — gated on G0 | fused ranking differs from BFS-only on >=1 real query |


## preparation-arc plan wave — 2026-08-19 (operator: "integration plans for all open arcs")

Five plans, each PROPOSED (no code — the reset charter's audit-first order
Expand Down
Loading