Skip to content
Open
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
32 changes: 32 additions & 0 deletions .claude/board/LATEST_STATE.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,35 @@
## 2026-09-19 (3) — PR #1252 merged (`8545a555`): the #1224 detour is cleaned up and the OGAR ownership ruling is canon; `main` is `8545a555`

- **Docs only, no contract inventory delta.** The center to read first:
**SPOG + `f,c` → generic reasoning → R2IL / replay / mask / fold / ternlog →
next consequence.** Around it, none of which redefines it: OGAR graphs =
knowledge to consult, Quack = lowering economics, lgj = zero-copy consumer,
JC = calibration.
- **Standing rulings now on `main`:** *we think with OGAR graphs; OGAR does not
do the thinking*; CE64 bits 59–60 `CausalTopology` and 61–63 `ReasoningBand`
are **orthogonal classifiers** — they say what KIND of edge and what KIND of
assertion, never whether a write is admitted, and no write-admission
threshold reads them; `G` (graph / context / frame) is read from the key
as `classid >> 16`, never a fourth stored column and never the `ClassView`
the `classid` resolves to; a varnode is not a semantic-population materialization
obligation; Valhalla is a storage MEMBRANE, never storage ownership.
- **Queued on operator word — two INDEPENDENT tracks, no dependency between
them:**
- the DisMech seam cut, independently (`ISS-DISMECH-SEAM-INVERTED-BOTH-WAYS`
— PR-B first and alone; parser location OPEN);
- `D-WFL-MASKOP` → W0 → W1.

`TD-JC-CLIPPY-RED-ON-BASE-2` remains red on `main`, untouched.
- **Counterfactual adjudication is intentionally PARTIAL, and that is not a
blocker.** `C → I` = `Necessary`, `C → C` = `Dispensable`, not-executed =
`NotRun`; `I → C` and `I → I` are **OPEN** and the two-arm measurement is
preserved rather than adjudicated. `I → C` carries strong positive
information — removing the edge REPAIRED the chain, which may indicate an
obstructive or contradictory edge (a hypothesis, not today's contract) — so it
is not an absence of information and does not share a label with `I → I`. No new verdict variant
is ruled; adjudication stays partial until a consumer needs the other half.
- Full record: `PR_ARC_INVENTORY.md` 2026-09-19 #1252.

## 2026-09-19 (2) — PR #1251 merged (`16090965`): the Waben fold execution-loop plan is on `main`; `main` is `16090965`

- **#1251 — docs only, 21 commits, +3,928 / −1 across 8 files.** Ships
Expand Down
78 changes: 78 additions & 0 deletions .claude/board/PR_ARC_INVENTORY.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,81 @@
## 2026-09-19 — lance-graph PR #1252 (merged `8545a555`, branch `claude/great-pascal-k96kok`, head `16a0130d`, 5 commits, docs only) — the #1224 detour cleanup, the OGAR ownership ruling, and the DisMech census

**Not exempt under the termination clause.** #1252 carried #1251's hygiene AND
new rulings and scope; per `CLAUDE.md` *"a mixed PR still gets its entry — the
non-hygiene half is what the entry is for."* This entry records that half.

- **Added (rulings):** `E-WE-THINK-WITH-OGAR-GRAPHS-OGAR-DOES-NOT-DO-THE-THINKING-1`
— ontology thinking is a lance-graph / SPOG concern; OGAR graphs are
knowledge to consult; `ogar-dismech` is one optional graph, not a reasoning
plugin; mounting a graph makes FACTS available and changes no algorithm.
**Falsifier:** if generic reasoning must know WHICH graph supplied a relation
to run its mechanics, either the graph failed to say what it means in
SPOG / `f,c` / context, or domain policy leaked into the engine.
`E-A-DOMAIN-IS-AN-OPTIONAL-CONSUMER-THROUGH-OGAR-…-1`;
`E-THE-1224-DETOUR-CLEANUP-PASS-…-1`.
- **Added (census, read from the tree):** per-item ownership of
`contract/dismech_evidence.rs` — `DismechTopology` / `Supports` /
`EvidenceSource` are source-format token enums (the first redundant with
`causal_edge::CausalTopology`; the second has zero consumers outside
`dismech_candidates.rs`); the citation types are domain-neutral in shape with
no second consumer, so they earn no generic home yet; the predicate mirror's
authority already exists as `ogar_dismech::{RELATIONS, CAUSES, by_index}`.
Planner: replay and counterfactual are generic mechanics; the candidates'
`Support ⇒ ∩ / Refute ⇒ ∖` policy is source-derived and is NOT canonized.
**Measured edges:** the contract mirror has TWO external consumers — the
parity assert in `lance-graph-ogar` (a copy whose job is to be compared with
its original), and `lance-graph-planner::dismech_replay::chain_step_predicate`
(`:142`), the public API behind `validate_chain` (`:234-236`). The second is
itself inside the cut, which is why the mirror's deletion and the planner's
migration to the generic validator move together rather than independently.
The three planner modules have zero production consumers;
MedCare-rs already binds the real mint and has ONE pending edge aimed at the
mirror, redirected.
- **Locked (ordering):** CE64 bits 59–60 `CausalTopology` and 61–63
`ReasoningBand` are **orthogonal classifiers of an edge**, not a ladder: they
say what KIND of causal relation and what KIND of assertion, and nothing
reads them as a write-admission threshold. Write admission is a separate
concern with its own mechanism; the two axes do not meet.
- **Locked (coordinates):** four, not three — `G` (graph / context / frame) is
a coordinate in its own right, and it is **read from the key, not stored as a
fourth column**: `spog_tenants::graph_of` is `(classid >> 16) as u16`, the
canon-high concept half. So `G` is neither the whole `classid` nor the
`ClassView` the `classid` resolves to — `classid → ClassView` is how canonical
bytes are interpreted — and no independent graph column is to be introduced. A varnode is
not a semantic-population materialization obligation, with R2IL kept as
mechanical microcode. Valhalla is a storage MEMBRANE, never storage
ownership. Counterfactual ownership: **do not collapse
the two-arm measurement to remove a duplicate enum**; `CounterfactualAttack {
factual, without_step }` with `adjudicate() → CounterfactualVerdict`, and a
four-quadrant falsifier lands BEFORE the local reading type is deleted.
- **Open, and deliberately left open:** the four-quadrant measurement shows
`CounterfactualVerdict {Necessary, Dispensable, NotRun}` is **not TOTAL** over
structural cut/replay outcomes. The mapping that is ruled here is only the
half that is unambiguous:

| factual → cut | verdict |
|---|---|
| `Consistent → Inconsistent` | `Necessary` |
| `Consistent → Consistent` | `Dispensable` |
| `Inconsistent → Consistent` | **OPEN** — preserve the measurement |
| `Inconsistent → Inconsistent` | **OPEN** — preserve the measurement |
| attack not executed | `NotRun` |

**`NotRun` continues to mean exactly "attack not run"**, and **no new verdict
variant is ruled here.** Adjudication is intentionally PARTIAL until a real
consumer requires semantics for the remaining two, and the two OPEN quadrants
do not share a label: `Inconsistent → Consistent` is **strong positive
information** (removing the edge REPAIRED the chain — obstructive /
contradictory / inhibitory are hypotheses, not today's contract), while
`Inconsistent → Inconsistent` is the only one plausibly uninformative.
- **Deferred:** the DisMech cut itself (PR-B first and alone; the source-token
parser location is an OPEN decision); every Waben wave; `D-WFL-MASKOP`;
`TD-JC-CLIPPY-RED-ON-BASE-2` (still red on `main`, two lines, untouched).
- **Hygiene discharged:** #1251's arc entry + `LATEST_STATE`.
- **Confidence:** high on the census and the rulings (every row read from the
tree); the counterfactual enum gap is an inference from the shipped variants
and their doc comments, not yet a failing test.

## 2026-09-19 — lance-graph PR #1251 (merged `16090965`, branch `claude/waben-fold-loop`, head `78c5016b`, 21 commits, docs only) — the Waben fold execution loop: four seams, and attestation that has an author

- **Added:** `.claude/plans/waben-fold-execution-loop-v1.md` (§0–§10: baseline
Expand Down
Loading