|
1 | | -# TARSKI-MARKOV-HHTL-SEAM-1 — a stream-order reading bound to a tree address |
| 1 | +# TARSKI-MARKOV-HHTL — open questions register (NOT a plan) |
2 | 2 |
|
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. |
7 | 10 |
|
8 | | -## The gap this plan names |
| 11 | +## What is established |
9 | 12 |
|
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: |
18 | 18 |
|
19 | 19 | ``` |
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) |
26 | 23 |
|
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" |
32 | 27 | ``` |
33 | 28 |
|
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