Repository navigation
planner: residue fixed point + Maslov Pyramid of Cognition probe (D-RESIDUE-FP-0, D-MATURATION3-0) #1494
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
planner: residue fixed point + Maslov Pyramid of Cognition probe (D-RESIDUE-FP-0, D-MATURATION3-0) #1494
Changes from all commits
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
fe02adf
planner: residue fixed-point test over pearl::hydrate
claude 41adc2c
planner: residue test clippy fix + board entry D-RESIDUE-FP-0
claude 10a2c03
planner: D-MATURATION3-0 test-local eight-stage maturation probe
claude 5e4a0c0
planner: maturation T1 fixture exposes leaking and non-clearing writes
claude 3032e65
board: D-MATURATION3-0 entry
claude 9eaf717
planner: maturation probe — Maslov Pyramid naming, anchor stays at 0,…
claude 56cd623
knowledge: Maslov Pyramid of Cognition; board addendum D-MATURATION3-0
claude 6198af8
planner: maturation probe — restore lineage guard for reopened relations
claude File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
100 changes: 100 additions & 0 deletions
100
.claude/board/entries/2026-10-11-maturation3-ladder-probe.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,100 @@ | ||
| # 2026-10-11 — Novelty → Wisdom: eight-stage 3-bit maturation ladder (D-MATURATION3-0) | ||
|
|
||
| **Status:** EXPERIMENTAL probe, test-local. No production change. | ||
| `crates/lance-graph-planner/tests/maturation_ladder.rs` | ||
|
|
||
| ```text | ||
| cargo test -p lance-graph-planner --test maturation_ladder | ||
| cargo test --release -p lance-graph-planner --test maturation_ladder measure_ -- --nocapture | ||
| ``` | ||
|
|
||
| ## Codebook (bits 50..52 under an explicitly declared experimental reading) | ||
|
|
||
| | code | stage | earned by (executed result) | | ||
| |---|---|---| | ||
| | 7 | Staunen | violation behind one observation root | | ||
| | 6 | Anomaly | violation behind ≥ 2 independent roots | | ||
| | 5 | DogEar | `hydrate` → ProposedOnly (gap localized) | | ||
| | 4 | Candidates | `hydrate` → Partial | | ||
| | 3 | Mechanism | `hydrate` → Hydrated | | ||
| | 2 | Falsification | discriminating test: survivor passed AND rival ruled out | | ||
| | 1 | Integration | applied as a premise; ≥ 1 new inference resolved through it | | ||
| | 0 | Wisdom | from Integration, an ablation in an isolated copy has impact > 0 | | ||
|
|
||
| Forward results never move a more mature state backward; only a violation | ||
| reopens it. Repeating a completed result never advances it. Unsupported | ||
| results abstain. | ||
|
|
||
| ## Findings | ||
|
|
||
| - **VERIFIED-IN-CODE — production hydration has no feedback seam.** | ||
| `pearl::hydrate` reads only the sealed chain; a resolved relation is never a | ||
| premise. Measured on the A → B → C chain: baseline residue 2, test-local | ||
| feedback (production `hydrate` unchanged, over a premise chain) residue 0. | ||
| - **MEASURED (release, this container):** `mature` median 1.99–2.83 ns, | ||
| p95 3.0–4.6 ns, 0 allocations over 1e6 transitions. Fixed point, 3 relations | ||
| / 4 observations: baseline ~165 ns, 10 allocs, residue 2; feedback ~157 ns, | ||
| 8 allocs, residue 0. The probe loop allocates (premise pool `Vec`); that is | ||
| test scaffolding, not a production cost claim. | ||
| - **EXPERIMENTAL — anchor ablation:** cutting derived A in an isolated copy | ||
| raises residue by 2 (B and C lose their bridge); the original population is | ||
| untouched. | ||
| - **EXPERIMENTAL — lineage:** a derived premise carries the union of its | ||
| parents' observation roots and never adds one (C: 4 roots from 4 | ||
| observations). Two paths from the same roots count 2 supports, not 4. | ||
| - **EXPERIMENTAL — self-support:** only resolved relations are premises; a | ||
| two-relation cycle stays open. Disabled, it grounds itself. | ||
| - **EXPERIMENTAL — deeper Staunen:** "1 → 4 does not hold" contradicts | ||
| nothing without the anchor chain and is a violation with it. | ||
|
|
||
| Disable runs, all red: forward result moving backward; derived dropping a | ||
| parent's roots; write leaking into W; write not clearing the old code; | ||
| integration without new inferences; Wisdom without ablation impact; existing | ||
| provenance accepted; discrimination without ruling out; feedback off; open | ||
| relations as premises. (The first T1 fixture hid the leak/clear disables; it | ||
| was fixed before recording.) | ||
|
|
||
| ## CONTRACT DECISION — migration (not taken) | ||
|
|
||
| Bits 50..52 are plasticity: `CausalEdge64::learn` gates on them, | ||
| `MooreNars16` packs them at bit 50, `CausalEdgeV3` byte 3 carries them, and | ||
| D-CE64-STAUNEN-0 measured that another meaning there changes `learn`. The | ||
| probe therefore refuses `V2Stamped`, `V3Register`, `V1Legacy` and `Unknown`. | ||
| Smallest viable path: a new declared reading (a provenance/generation such | ||
| that historic rows keep plasticity), a decision where plasticity lives under | ||
| that reading, and a `learn` that does not gate on maturation bits. Not done. | ||
|
|
||
| ## OPEN | ||
|
|
||
| - Feedback in production requires D2 provenance ids (roots here are a | ||
| test-local u64 bitset). | ||
| - `Executed` results are constructed by the test from real `hydrate` | ||
| outcomes; mapping recipe outputs onto them is undesigned. | ||
| - T5 uses hydration outcomes as the discriminating test, a weak stand-in for | ||
| a Pearl trial; certification is untouched by design. | ||
|
|
||
| ## Addendum, same day — Maslov Pyramid of Cognition | ||
|
|
||
| Named by the operator; the model is documented in | ||
| `.claude/knowledge/maslov-pyramid-of-cognition.md`. Stage 7 renamed | ||
| Astonishment. | ||
|
|
||
| - **Corrected:** the first T9 applied the new violation to the anchor itself. | ||
| It now lands on the contradicted relation (B), which starts at 7, and the | ||
| anchor (A) stays at 0. Direct counterevidence against A's own relation | ||
| still reopens A. | ||
| - **Added:** an indirect 3-cycle (A → B → C → A) stays open; disabled, it | ||
| grounds itself. A grounded 3-cycle resolves once and 64 further passes add | ||
| no root. | ||
| - **Disable runs, red:** a derived relation manufacturing its own root; | ||
| violation routed by subject only (hits the anchor). | ||
| - The root union matches the existing `lance_graph_contract::revision` mask | ||
| algebra (`independent_roots`, difference against ancestry). | ||
|
|
||
| ## Addendum — lineage guard restored (review on #1494) | ||
|
|
||
| I had removed the "descendants are not premises" guard as unreachable. That | ||
| holds only while relations never reopen; T9 reopens an anchor. Reproduced: | ||
| ground the 3-cycle, remove the ground, reopen R0, and R2 (derived through R0) | ||
| re-grounds it. The guard is restored. A test pins that R0 stays open, and a | ||
| disable arm shows that without the guard R0 is re-grounded. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,25 @@ | ||
| # 2026-10-11 — Residue fixed point: only new evidence lowers it (D-RESIDUE-FP-0) | ||
|
|
||
| **Status:** MEASURED. Test only, no production change. | ||
| `crates/lance-graph-planner/tests/residue_fixed_point.rs`. | ||
|
|
||
| ```text | ||
| cargo test -p lance-graph-planner --test residue_fixed_point | ||
| ``` | ||
|
|
||
| Claim: the reasoning loop is cheap (`pearl::hydrate` over the sealed chain), | ||
| so it runs to a fixed point; what remains open is residue. Residue here is | ||
| hydration debt in bits 59..63 (`IndirectUnknown` edges). | ||
|
|
||
| Pinned: | ||
| - extra passes over the same evidence move no bit; | ||
| - re-sealing evidence already present does not lower the residue; | ||
| - unrelated evidence changes nothing; the missing binding lowers the residue | ||
| exactly where it lands; | ||
| - the loop moves only bits 59..60, never certification. | ||
|
|
||
| Disable runs, both red: promoting on partial evidence (3 of 4 tests fail); | ||
| moving certification inside `hydrate` (the bit-isolation test fails). | ||
|
|
||
| OPEN: the surprise level proposed for bits 50..52 is not in the layout (still | ||
| plasticity); its residue is untested until O14/O4 decide the v3 layout. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,94 @@ | ||
| # Maslov Pyramid of Cognition — from Astonishment to generative Wisdom, and back | ||
|
|
||
| > READ BY: truth-architect, contradiction-cartographer, trajectory-cartographer, | ||
| > v3-envelope-auditor, and any session touching CausalEdge64 bits 50..52, | ||
| > novelty / Staunen / wisdom scheduling, `pearl::hydrate` feedback, or anchor | ||
| > ablation. | ||
| > STATUS: WORKING-MODEL. The probe is EXPERIMENTAL and test-local | ||
| > (`crates/lance-graph-planner/tests/maturation_ladder.rs`, D-MATURATION3-0). | ||
| > Nothing below is wired in production. | ||
|
|
||
| ## Name and scope | ||
|
|
||
| The operator named this model after Maslow's hierarchy. It is a proposed | ||
| computational model, not a claim that Maslow defined these stages. | ||
|
|
||
| It is **not** Wang's NAL-1..9. NAL levels describe what a reasoner is able to | ||
| do. The pyramid describes how far **one discovery** has matured. | ||
|
|
||
| ## The eight stages (bits 50..52, 3 bits, direction 7 → 0) | ||
|
|
||
| | code | stage | earned by an executed result | | ||
| |---|---|---| | ||
| | 7 | Astonishment | an observation contradicts an expectation (one root) | | ||
| | 6 | Anomaly | the contradiction has ≥ 2 independent roots | | ||
| | 5 | DogEar | hydration localizes the gap (ProposedOnly) | | ||
| | 4 | Candidates | hydration finds one binding (Partial) | | ||
| | 3 | Mechanism | hydration finds both bindings (Hydrated) | | ||
| | 2 | Falsification | a discriminating test passed the survivor AND ruled out a rival | | ||
| | 1 | Integration | used as a premise, it resolved ≥ 1 other relation | | ||
| | 0 | Wisdom | from Integration, ablating it in an isolated copy reopens ≥ 1 relation | | ||
|
|
||
| Rules: | ||
|
|
||
| - Stages may be skipped when an executed result justifies it. | ||
| - A forward result never moves a more mature state backward. | ||
| - Repeating a completed result (another hydration pass) never advances it. | ||
| - Only a contradiction reopens a stage. | ||
| - Wisdom is not "zero uncertainty". It is measured reuse: an ablation must | ||
| show that other relations depend on the anchor. | ||
|
|
||
| ## The recursion | ||
|
|
||
| An anchor at 0 generates expectations through the relations derived from it. | ||
| An observation that contradicted nothing before can now contradict one of | ||
| those expectations. That contradiction lands on **the contradicted | ||
| relation**, which starts its own pyramid at 7. **The anchor stays at 0.** | ||
|
|
||
| Only counterevidence against the anchor's **own** relation reopens the anchor. | ||
|
|
||
| So wisdom does not end surprise. It makes new surprises recognizable. This is | ||
| recursive scaffolding, not circular confirmation. | ||
|
|
||
| ## Separation of contracts | ||
|
|
||
| | bits | contract | role here | | ||
| |---|---|---| | ||
| | 50..52 | maturation (this model) | where the discovery stands | | ||
| | 53..58 | witness / breadcrumb | handle to the transition record | | ||
| | 59..63 | `EpistemicState5` | what is licensed; the input to ablation | | ||
| | 24..39 | F/C | statistical evidence under its declared reading | | ||
| | — | thought / recipe | which operation ran | | ||
|
|
||
| Maturation never writes F/C, W or 59..63. Certification never rises because a | ||
| rival was ruled out. | ||
|
|
||
| ## Generative reuse is not independent evidence | ||
|
|
||
| A resolved relation may become a premise for further inference. It carries | ||
| the **union of its parents' observation roots** and never adds one of its | ||
| own. This is the same mask algebra as the existing | ||
| `lance_graph_contract::revision` (`independent_roots`, `difference` against | ||
| the ancestry). Two guards keep reuse from becoming self-support: | ||
|
|
||
| 1. Only resolved relations may serve as premises, so neither a direct cycle | ||
| nor an indirect one (A → B → C → A) can ground itself. | ||
| 2. A relation's own descendants are never its premises. Without this, a | ||
| relation reopened by counterevidence would be re-grounded by what was | ||
| derived from it, and circular support would survive the loss of its | ||
| external ground. | ||
|
|
||
| Going round a grounded cycle adds nothing. | ||
|
|
||
| ## Status | ||
|
|
||
| | claim | status | | ||
| |---|---| | ||
| | `pearl::hydrate` reads only the sealed chain; resolved relations never feed back | VERIFIED-IN-CODE | | ||
| | test-local feedback makes A → B → C resolvable without a new observation | EXPERIMENTAL (probe) | | ||
| | anchor ablation measures dependence (impact 2 on the chain) | EXPERIMENTAL (probe) | | ||
| | an anchor turns a neutral observation into new Astonishment; the anchor stays at 0 | EXPERIMENTAL (probe) | | ||
| | `mature`: ~2–3 ns median, 0 allocations (release, one container) | MEASURED | | ||
| | bits 50..52 carry the code in production | BLOCKED — they are plasticity (`learn`, `MooreNars16`, `CausalEdgeV3`) | | ||
| | production feedback | BLOCKED — needs D2 provenance ids | | ||
| | bit migration and where plasticity lives | CONTRACT DECISION (operator) | |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.