Skip to content

Commit 87a576f

Browse files
committed
recut: keep the negative finding, withdraw the composition seam
Addresses the review of #1008. The epiphany's negative result stands; the positive conclusion drawn from it did not. 1. WITHDRAWN: "neither accumulates, therefore Step 3 must COMPOSE them." From `A is not it` and `B is not it` the only valid conclusion is `we do not have it` -- never `therefore A x B is it`. The composition was one hypothesis among unknown others, and promoting it to "what Step 3 must build" smuggled a design decision in through a negative result. Recorded as withdrawn in place, not deleted. 2. The specific danger that withdrawal avoids is now a recorded fence. The withdrawn proposal wanted to rebase WitnessStream from VERSION order into "address-scoped stream order", possibly repurposing VersionRange -- exactly the semantic type drift the DOCK/ROUTE separation exists to prevent. Time is time; address is address; sharing a memory ABI does not make two topologies interchangeable. It also risked re-entering the memory escape: a "WitnessStream-shaped window" that materializes another Vec<(u64, CausalWitnessFacet)> is the same violation through a different door -- and wave.rs's own honesty note already says WitnessStream is TODAY a parallel OWNED container, not a zero-copy projection. 3. Two inherited assumptions dropped, neither established by the finding: - `rung = HHTL tree depth` -- the answerable question is whether depth is reconstructible from SUPPORT topology, which needs no address at all. - `stamp = commutative accumulation` -- Stamp's load-bearing behaviour is IDENTITY semantics (disjointness, overlap, source-set union, no-double-count, belief.rs:39-48, plus a modulo-64 fold that is conservative by design). A vsa_bundle-style fold is not automatically a source-set union. 4. tarski-markov-hhtl-seam-v1.md is no longer a plan. It is an open-questions register (Q1-Q5) with standing fences, explicitly licensing no work. Q5 is deliberately "is there a mechanism neither candidate resembles" -- the question nobody has asked, and the most likely place a real answer lives. 5. The falsifiers SF1-SF5 are gone with the plan they gated. Pre- registering falsifiers for a mechanism nobody has licensed is premature precision. Also corrects a factual error in the previous PR body, which described #1006 as merged. It is open, and this branch's base is the #1005 plateau -- so this branch does NOT contain the Step 1 audit it cites. The citation stands as a cross-reference to an open PR, not a dependency. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KCGhDYoQBXs3poaR7sFuqp
1 parent 2244de7 commit 87a576f

3 files changed

Lines changed: 164 additions & 165 deletions

File tree

.claude/board/EPIPHANIES.md

Lines changed: 43 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -65,21 +65,51 @@ the chip is load-bearing, not decorative. It is not an accumulate-fold
6565
either: it is a pointer write/read on one register, the same shape
6666
`wave.rs`'s single-owner events already generalize.)
6767

68-
**The consequence, stated precisely so Step 3 doesn't restate either
69-
candidate by mistake.** If the operator's ruling is to be built rather
70-
than merely re-asserted, Step 3's probe cannot pick ONE of these two
71-
shipped mechanisms and call it done — neither is the fold. It would need
72-
to COMPOSE them: a stream-order Markov reading (candidate A's window/
73-
offset walk) BOUND to a specific tree address (candidate B's prefix
74-
containment, so "depth" and "which subtree" are meaningful at all) —
75-
which is itself a new, undocumented seam, not a restatement of anything
76-
shipped. Flagged as a future integration item, not built here (Step 1's
77-
own scope: audit-first, no layout invented).
68+
**The consequence — and the inference NOT to draw.** The finding is
69+
negative and stops there:
70+
71+
```
72+
A is not the mechanism
73+
B is not the mechanism
74+
⇒ WE DO NOT HAVE THE MECHANISM
75+
```
76+
77+
**⇒ NOT `therefore A × B is the mechanism`.** An earlier revision of this
78+
entry concluded that Step 3 must COMPOSE the two (a stream-order walk
79+
bound to a tree address). **That leap is withdrawn.** "Neither of the two
80+
things I checked is it" licenses no claim whatever about what it is; the
81+
composition is one hypothesis among unknown others, and elevating it to
82+
"what Step 3 must build" would smuggle a design decision in through a
83+
negative result.
84+
85+
**The specific danger that withdrawal avoids, recorded as a fence.** The
86+
withdrawn composition proposed rebasing `WitnessStream` from VERSION
87+
order into "address-scoped stream order," possibly repurposing
88+
`VersionRange`. That is precisely the semantic type drift this
89+
architecture exists to prevent: **time is time, address is address.**
90+
Sharing a memory ABI does not make two topologies interchangeable, and a
91+
`VersionRange` that sometimes means an address span is a type whose
92+
meaning depends on who is holding it. Further: any future address-scoped
93+
fold must be a BORROWED VIEW over ABI-resident rows — if it materializes
94+
another `Vec<(u64, CausalWitnessFacet)>`, the memory escape has simply
95+
re-entered through a different door (`E-TYPE-COMPLEXITY-EXPOSED-A-MEMORY-
96+
ABI-ESCAPE-1`), and `wave.rs`'s own honesty note already records that
97+
`WitnessStream` is TODAY *"a parallel OWNED container beside
98+
`TemporalStream`, not a zero-copy projection."*
99+
100+
**Two inherited assumptions this entry does not carry forward.** Neither
101+
is established, and the negative finding does not support either: (a)
102+
`rung = HHTL tree depth` — the answerable question is whether derivation
103+
depth is reconstructible from SUPPORT topology, which needs no address at
104+
all; (b) `stamp = commutative accumulation` — any replacement must
105+
reproduce `Stamp`'s load-bearing IDENTITY semantics (disjointness,
106+
overlap, source-set union, no double-count, `belief.rs:39-48`), and a
107+
`vsa_bundle`-style fold is not automatically a source-set union.
78108

79109
**Bounds respected:** no code changed by this finding; no tenant minted;
80-
no canonizing on either candidate as sufficient. See
81-
`.claude/plans/tarski-markov-hhtl-seam-v1.md` for the deferred integration
82-
plan this finding motivates.
110+
no mechanism proposed; no canonizing on either candidate. The open
111+
questions this finding leaves are registered — explicitly as questions,
112+
not a plan — in `.claude/plans/tarski-markov-hhtl-seam-v1.md`.
83113

84114
## 2026-08-23 — E-TYPE-COMPLEXITY-EXPOSED-A-MEMORY-ABI-ESCAPE-1 — the clippy warning was the surface symptom; `BeliefArena` is an independent AoS cognitive population owner outside the canonical memory ABI
85115

.claude/board/INTEGRATION_PLANS.md

Lines changed: 27 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,33 @@
1-
## 2026-08-23 — TARSKI-MARKOV-HHTL-SEAM-1 (deferred, gated on BELIEF-ABI-RESTORATION-1 Step 2)
1+
## 2026-08-23 — TARSKI-MARKOV-HHTL (open-questions register — HELD, not a plan)
22

3-
`.claude/plans/tarski-markov-hhtl-seam-v1.md`names the seam a future
4-
`BELIEF-ABI-RESTORATION-1` Step 3 must build, motivated by
3+
`.claude/plans/tarski-markov-hhtl-seam-v1.md`**holds open questions;
4+
proposes no mechanism and licenses no work.** Motivated by
55
`.claude/board/EPIPHANIES.md`
66
`E-STREAM-ORDER-VS-PREFIX-TREE-NEITHER-ACCUMULATES-1`: the operator-ruled
7-
tree-overlay delegation for `Belief.rung`/`stamp` (HHTL depth + accumulate
8-
from children/siblings) has NO shipped implementation, and its two closest
9-
candidates are different topologies that both explicitly fall short —
10-
`deepnsm-v2::wave::WitnessStream` is a stream-order Markov reading that
11-
disclaims accumulation by name (`E-NO-BUNDLE-STANDING-WAVE-1`);
12-
`AttentionFocusFacet` is a prefix-tree containment reading (`covers`/
13-
`common_prefix`) with no fold operator. Step 3 must COMPOSE a stream-order
14-
reading bound to a tree address, not restate either. Falsifiers SF1-SF5
15-
pre-registered; PROBE-TARSKI-SIGNED-WITNESS-1 and
16-
PROBE-FOUR-PLANE-CAUSAL-MEDIUM-1 (both #1007) are named as reusable,
17-
already-proven inputs. **Explicitly deferred** — do not start until
18-
`BELIEF-ABI-RESTORATION-1` Step 2 (operator ruling on the Step 1 residue)
19-
lands; this plan is input to that ruling, not a substitute.
7+
tree-overlay delegation for `Belief.rung`/`stamp` has NO shipped
8+
implementation, and its two closest candidates both fall short in
9+
different ways — `deepnsm-v2::wave::WitnessStream` is a stream-order
10+
(total-order-over-time) reading that disclaims accumulation by name
11+
(`E-NO-BUNDLE-STANDING-WAVE-1`); `AttentionFocusFacet` is a prefix-tree
12+
(partial-order-over-address) containment reading with no fold operator.
13+
14+
**A first revision of this entry said Step 3 "must COMPOSE" the two. That
15+
is withdrawn.** From *A is not it* and *B is not it* the only conclusion
16+
is *we do not have it* — never *A × B is it*. The withdrawn composition
17+
also proposed rebasing a version-ordered stream into "address-scoped"
18+
order, which is exactly the semantic type drift the DOCK/ROUTE separation
19+
exists to prevent (time is time; address is address), and risked
20+
re-entering the memory escape through a newly materialized owned `Vec`.
21+
22+
What the file now carries: open questions Q1–Q5 (is depth reconstructible
23+
from SUPPORT topology at all — needing no address; what must a `Stamp`
24+
replacement preserve, given its identity semantics are disjointness /
25+
overlap / source-set union / no-double-count, which a generic commutative
26+
fold does not supply; can a `Belief` acquire an identity-derived address;
27+
is route provenance load-bearing; **is there a mechanism neither candidate
28+
resembles**), plus standing fences that bind any future answer. Nothing
29+
here is startable; the next legitimate step is `BELIEF-ABI-RESTORATION-1`
30+
Step 2.
2031

2132
## 2026-08-21 — D-ACR-7 BAND-READING CONTRACT (council-ratified spec)
2233

Lines changed: 94 additions & 136 deletions
Original file line numberDiff line numberDiff line change
@@ -1,144 +1,102 @@
1-
# TARSKI-MARKOV-HHTL-SEAM-1a stream-order reading bound to a tree address
1+
# TARSKI-MARKOV-HHTL — open questions register (NOT a plan)
22

3-
> Status: DEFERRED INTEGRATION ITEM. Named, not built. Gated on
4-
> `BELIEF-ABI-RESTORATION-1` Step 2 (operator ruling on the Step 1 residue)
5-
> landing first — this plan is the eventual Step 3 probe's design surface,
6-
> not a replacement for it.
3+
> Status: **HELD — OPEN QUESTIONS ONLY. This file proposes no mechanism and
4+
> licenses no work.** An earlier revision was a design plan for a specific
5+
> composition (a stream-order reading bound to a tree address); that
6+
> proposal is **withdrawn** — see § The withdrawn proposal. What remains is
7+
> the register of what is genuinely unknown after
8+
> `E-STREAM-ORDER-VS-PREFIX-TREE-NEITHER-ACCUMULATES-1`, so a future
9+
> session inherits the questions without inheriting an unearned answer.
710
8-
## The gap this plan names
11+
## What is established
912

10-
`BELIEF-ABI-RESTORATION-1`'s Step 1 audit (`.claude/plans/belief-abi-restoration-v1.md`,
11-
merged in #1006) found that the operator-ruled delegation for
12-
`Belief.rung`/`stamp`*"rung = HHTL tree depth, stamp = accumulate from
13-
children and siblings, inherit from parent"* — names a mechanism that does
14-
not exist in code. A follow-up asked whether either of the two closest
15-
shipped candidates already IS that mechanism. Grounding both
16-
(`.claude/board/EPIPHANIES.md`,
17-
`E-STREAM-ORDER-VS-PREFIX-TREE-NEITHER-ACCUMULATES-1`) found: no.
13+
`BELIEF-ABI-RESTORATION-1`'s Step 1 audit found the operator-ruled
14+
tree-overlay delegation for `Belief.rung`/`stamp` has no implementing code.
15+
The follow-up finding (`.claude/board/EPIPHANIES.md`,
16+
`E-STREAM-ORDER-VS-PREFIX-TREE-NEITHER-ACCUMULATES-1`) checked the two
17+
closest shipped candidates and found neither is the mechanism:
1818

1919
```
20-
Candidate A: deepnsm-v2::wave::WitnessStream (G24N4 / Markov)
21-
events: Vec<(u64, CausalWitnessFacet)> — flat, append-ordered
22-
ground_at / resolve_at: signed-offset walk within a VERSION window
23-
explicit refusal to accumulate (E-NO-BUNDLE-STANDING-WAVE-1):
24-
"there is no accumulator and no shared register"
25-
→ a TOTAL ORDER over time. No tree.
20+
deepnsm-v2::wave::WitnessStream a TOTAL ORDER over time
21+
flat Vec<(version, register)>, signed-offset walk in a version window
22+
disclaims accumulation BY NAME (E-NO-BUNDLE-STANDING-WAVE-1)
2623
27-
Candidate B: AttentionFocusFacet (AriGraph / HHTL basins)
28-
covers / common_prefix — coarse→fine PREFIX containment
29-
answers "is A an ancestor of B" / "what do A, B share"
30-
never "what do B's children contribute to A"
31-
→ a PARTIAL ORDER over address. No fold.
24+
AttentionFocusFacet a PARTIAL ORDER over address
25+
covers / common_prefix — prefix containment, the meet
26+
answers "is A an ancestor of B", never "what do B's children give A"
3227
```
3328

34-
Neither candidate accumulates. The operator's ruling therefore describes a
35-
mechanism that must be BUILT by composing the two, not selected from
36-
what already exists.
37-
38-
## The seam (sketched, not designed)
39-
40-
```
41-
HHTL address (Candidate B)
42-
│ gives: which subtree, what "depth" means, ancestor/descendant
43-
44-
a per-address WitnessStream-shaped window (Candidate A's machinery,
45-
rebased from "version order" to "address-scoped stream order" —
46-
the events visible to a fold are the ones IN that subtree, ordered
47-
however the fold needs, not necessarily by version)
48-
│ gives: a bounded, single-owner sequence to walk/reduce
49-
50-
an accumulate operator over that sequence
51-
(children's registers → parent's register; NOT `MergeMode::Xor`,
52-
per I-SUBSTRATE-MARKOV — magnitude-side accumulation is `vsa_bundle`
53-
or an equivalent commutative fold, never raw XOR)
54-
55-
56-
Belief.rung / Belief.stamp AS A PROJECTION of the folded result,
57-
never a separately-stored field
58-
```
59-
60-
Every arrow above is a genuine design decision, not a restatement:
61-
62-
1. **Is the per-address window literally `WitnessStream` re-scoped, or a
63-
new type?** `WitnessStream::window_range` already takes an arbitrary
64-
`VersionRange` — whether an "address range" (an HHTL subtree) can be
65-
expressed as a re-purposed version-like ordering, or needs its own
66-
window abstraction, is open.
67-
2. **What is the fold?** `carried_awareness`, the Horner sum in
68-
`rail_geometry.rs:183`, and `causal_audit`'s append-only history were
69-
each checked in Step 1 and shown to be a DIFFERENT mechanism from
70-
"children+siblings accumulate, inherit from parent" — none is a
71-
template to copy. The fold itself is undesigned.
72-
3. **Does `rung` become a read-time query over the fold, or does the fold
73-
get materialized per address?** The zero-copy-warden's law ("zero
74-
copy is a law without escape hatches... the array itself is a
75-
ClassView projection") argues for read-time; but a fold that walks an
76-
unbounded subtree on every read is a real cost question, not yet
77-
measured.
78-
4. **Does this replace `BeliefArena.rung: u32` entirely, or does `rung`
79-
become `support_ceiling()` over a resident G24N4 register as
80-
`PROBE-TARSKI-SIGNED-WITNESS-1` already demonstrates (PR #1007), with
81-
the HHTL-address binding as a SEPARATE, later-composed axis?** These
82-
are not obviously the same migration. The Tarski-signed-witness probe
83-
proved the SIGN/MAGNITUDE reading works over a resident register with
84-
no address at all (a flat `Dock` array, no `FacetCascade` address
85-
minted per belief). Binding that register to a real HHTL address is
86-
an ADDITIONAL step this plan is scoping, not one already done.
87-
88-
## What is already proven and can be reused as-is
89-
90-
- `PROBE-TARSKI-SIGNED-WITNESS-1` (PR #1007): the G24N4 signed reading
91-
(`SupportedBy`/`Contradiction` as depth, not magnitude) reproduces
92-
`Belief::rung` exactly on the positive lane, and retains what the
93-
shipped `admit_derived` CHOICE law provably discards. This is the
94-
EVIDENCE-content half of the eventual fold's input — settled, reusable.
95-
- `PROBE-FOUR-PLANE-CAUSAL-MEDIUM-1` (PR #1007): proves the four-plane
96-
separation (WHERE / WHAT / WHICH-LENS / WHY) composes over disjoint
97-
lanes of one resident row without any plane auto-deriving another. This
98-
is the discipline the eventual fold must respect: an accumulate
99-
operation over the WHY plane must not silently rewrite the WHAT/WHICH
100-
planes, exactly as `PROBE-FOUR-PLANE-CAUSAL-MEDIUM-1`'s FP3 already
101-
requires for a single row.
102-
- The A9 "loci, not magnitudes" law and the DOCK/ROUTE separation
103-
(`E-TYPE-COMPLEXITY-EXPOSED-A-MEMORY-ABI-ESCAPE-1`) bound the shape any
104-
new reading must take: classid chooses the reading, the route chooses
105-
the traversal, the bytes never change shape.
106-
107-
## What this plan does NOT do
108-
109-
- Does not mint a tenant, a classid, or a `CascadeShape` variant.
110-
- Does not implement the fold. This is a design surface, not a probe.
111-
- Does not resolve open questions 1-4 above — they are the actual content
112-
of a future Step 3, and should be answered by a probe with pre-registered
113-
falsifiers (per this repo's own standing falsifiability rule: "a guard
114-
that fires on everything carries exactly as much information as one
115-
that never fires" — an accumulate-fold that always reproduces
116-
`max(premise rungs)+1` regardless of tree shape has proven nothing).
117-
118-
## Falsifiers a Step-3 probe against this seam must clear
119-
120-
- **SF1** — the fold, bound to a real per-belief HHTL address, reproduces
121-
`BeliefArena`'s CURRENT `rung = max(premise rungs)+1` on the positive-only
122-
corpus (parity oracle, same shape as `PROBE-TARSKI-SIGNED-WITNESS-1`'s
123-
A1/A2 gates).
124-
- **SF2** — the fold survives a NON-trivial tree shape (siblings with
125-
different depths, a node with zero children) without collapsing to a
126-
constant — the anti-vacuity discipline this repo's `CLAUDE.md`
127-
("the falsifiability rule") already mandates for any new guard/fold.
128-
- **SF3** — accumulation uses a commutative operator (`vsa_bundle` or
129-
equivalent), never raw XOR on the magnitude side, per
130-
`I-SUBSTRATE-MARKOV`.
131-
- **SF4** — binding an address to a belief does not retroactively change
132-
any OTHER plane of that belief's row (FP3's discipline, generalized).
133-
- **SF5** — if SF1-SF4 cannot all be cleared, the probe reports the EXACT
134-
missing bit/field/route invariant (per the charter's own instruction:
135-
"report the exact falsifier if it cannot reproduce the arena's current
136-
rung/stamp results. Do not force it.") rather than silently degrading
137-
the parity requirement.
138-
139-
## Trigger to promote this from "named" to "active"
140-
141-
Do not start this until `BELIEF-ABI-RESTORATION-1` Step 2 (the operator
142-
ruling on the Step 1 residue table — `premises`, `stmt`/`truth`, and this
143-
tree-overlay mechanism, itemized) has landed. This plan is input to that
144-
ruling, not a substitute for it.
29+
That is the whole result. It is negative.
30+
31+
## The withdrawn proposal (recorded so it is not re-derived)
32+
33+
This file previously concluded that since neither candidate is the
34+
mechanism, Step 3 must **compose** them — a `WitnessStream`-shaped window
35+
rebased from version order into "address-scoped stream order," feeding an
36+
accumulate operator. **Withdrawn**, for three reasons:
37+
38+
1. **The inference is invalid.** From *A is not it* and *B is not it*, the
39+
only conclusion is *we do not have it* — not *A × B is it*. The
40+
composition is one hypothesis among unknown others; a negative result
41+
cannot promote it.
42+
2. **It proposed semantic type drift.** Rebasing a `VersionRange` (or a
43+
version-ordered stream) to mean an address span makes a type whose
44+
meaning depends on who holds it. **Time is time. Address is address.**
45+
Sharing a memory ABI does not make two topologies interchangeable —
46+
preventing exactly this is why the DOCK/ROUTE separation is written the
47+
way it is.
48+
3. **It risked re-entering the memory escape.** A "`WitnessStream`-shaped
49+
window" that materializes another `Vec<(u64, CausalWitnessFacet)>` is
50+
the escape through a different door. `wave.rs`'s own honesty note
51+
already records that `WitnessStream` is TODAY *"a parallel OWNED
52+
container beside `TemporalStream`, not a zero-copy projection over the
53+
real `ValueTenant::CausalWitness` lane."*
54+
55+
## The open questions (each stated as a question, none as a direction)
56+
57+
- **Q1** — Is derivation depth reconstructible from SUPPORT topology (the
58+
premise DAG) alone? This is answerable with no address at all, and is
59+
the question `rung = HHTL tree depth` should have been.
60+
*Partial evidence:* `PROBE-TARSKI-SIGNED-WITNESS-1` gate A2 (PR #1007)
61+
derived depth from the premise DAG alone and it reproduced the arena's
62+
stored `rung` 10/10 — **on one fixture, of one shape**. That is a
63+
measurement, not a general result, and it says nothing about HHTL depth.
64+
- **Q2** — What would a replacement for `Stamp` have to preserve? Not "a
65+
commutative fold": `Stamp`'s load-bearing behaviour is IDENTITY
66+
semantics — disjointness detection, overlap detection, source-set union,
67+
no-double-count (`belief.rs:39-48`), plus the documented modulo-64
68+
folding that is conservative BY DESIGN ("folding can only create false
69+
overlap, never false disjointness"). A `vsa_bundle` or any generic
70+
commutative accumulate is not automatically a source-set union and must
71+
not be assumed equivalent.
72+
- **Q3** — Can a `Belief` acquire a canonical address at all — one derived
73+
from node/relation IDENTITY rather than from arena position? Step 1's
74+
recut records why a position-derived address is not an answer: it turns
75+
a `Vec` index into a pretty 16-byte `Vec` index.
76+
- **Q4** — Do two proof routes with tied truth carry different provenance?
77+
`PROBE-TARSKI-SIGNED-WITNESS-1` observed that `close_transitive`'s
78+
`HashMap` iteration order makes both premise indices AND tie-broken
79+
derivation routes vary across identical builds. Whether that is a
80+
reproducibility defect or an acceptable degree of freedom depends on
81+
whether route identity is ever load-bearing — unresolved.
82+
- **Q5** — Is there a mechanism neither candidate resembles? Unasked so
83+
far, and the most likely place a real answer lives, precisely because
84+
nobody has looked there.
85+
86+
## Standing fences (apply to any future answer, whatever it turns out to be)
87+
88+
- A time-ordered type must not be re-scoped to mean an address span.
89+
- Any address-scoped read must be a BORROWED VIEW over ABI-resident rows,
90+
never a new owned container.
91+
- A new reading of shared geometry gets its OWN ClassView and its OWN
92+
vocabulary; it may not use another ClassView's semantic API to mean
93+
something that ClassView forbids (the A9 "loci, not magnitudes" lesson,
94+
`PROBE-TARSKI-SIGNED-WITNESS-1` recut).
95+
- Anti-vacuity: a fold that reproduces `max(premise rungs)+1` regardless of
96+
tree shape has proven nothing (this repo's own falsifiability rule).
97+
98+
## Trigger
99+
100+
Nothing here is startable. The next legitimate step is
101+
`BELIEF-ABI-RESTORATION-1` Step 2 — the operator ruling on the Step 1
102+
residue — which may or may not make any of Q1–Q5 relevant.

0 commit comments

Comments
 (0)