Skip to content

Integrated cognitive planner reference map + ValueSchema presets + FULL POC default#496

Merged
AdaWorldAPI merged 8 commits into
mainfrom
claude/wonderful-hawking-lodtql
Jun 15, 2026
Merged

Integrated cognitive planner reference map + ValueSchema presets + FULL POC default#496
AdaWorldAPI merged 8 commits into
mainfrom
claude/wonderful-hawking-lodtql

Conversation

@AdaWorldAPI

@AdaWorldAPI AdaWorldAPI commented Jun 15, 2026

Copy link
Copy Markdown
Owner

What this carries

The accumulated branch work on the integrated-cognitive-planner arc — a meticulously file:line-grounded spec (not the impl), the ValueSchema value-slab substrate, and a temporary FULL POC default so downstream consumers can transcode against a fully-materialised NodeRow.

Contract (additive, layout-preserving — no NODE_ROW_STRIDE / ENVELOPE_LAYOUT_VERSION change)

  • ValueSchema / ValueTenant / VALUE_TENANTS (canonical_node.rs, +311) — the value-side analog of EdgeCodecFlavor. 9 stable append-only tenants carving [32,186); four presets via FieldMask (Bootstrap EMPTY / Cognitive 58 B / Compressed 98 B / Full 154 B). Closes the helix-48 dilution gap (helix-48 = the existing HelixResidue tenant, not a new property). Reuses class_view::FieldMask + soa_envelope::ColumnDescriptor — no new presence type.
  • FULL POC default (class_view.rs): ClassView::value_schema flipped Bootstrap → Full. Every unconfigured class (incl. the default classid 0x0000_0000) materialises the whole slab; specialisation is opt-IN (a consumer mints a class to go smaller/denser). The TYPE-level ValueSchema::default() stays Bootstrap, so the substrate zero-fallback is intact — only the class→schema resolution default flipped. Guard test + TD-VALUESCHEMA-FULL-POC-DEFAULT revert obligation.

Plan / reference doc (.claude/plans/integrated-cognitive-planner-v1.md, +301)

The single file:line-grounded reference for the integrated planner — the substrate ~90% EXISTS; the work is 6 additive seams + a CognitiveCycle sequencer, not a new build. 4-layer architecture (SurrealDB orchestrates AST → lance-graph-planner coordinates → thinking-engine > P64 > cognitive-shader-driver thinks → callcenter writes). Hardened by a 5-savant expansion (§2.1/§3.1/§4.1/§8) + 3 brutally-honest agents (§9 verdicts: HOLD / CATCH-LATENT / READY-TO-DISPATCH), with a read-first §0 anti-invention guardrail (no new skewed SoA properties; the 9 tenants + 4 BindSpace columns are closed; specialisation is opt-in).

Docs

Scope / not in this PR

This is the spec + the value-slab substrate, not the planner impl. The §8 7-item additive ledger (the CognitiveCycle sequencer, RungLevel constructors, the temporal.rs relocation + temporal_read join, ScopedReference, the Bardioc MarkingRow, the NiblePath bijection, ExecTarget::can_drive) is queued behind D-MBX-A6-P3 — the §9 LOCKED decisions must land in the ledger before any worker dispatch. The tesseract-rs transcode POC (first consumer against the now-Full slab) is the next deliverable.

Tests

cargo test -p lance-graph-contract613 lib green (incl. the new value_schema_default_is_full_temporary_poc guard).

https://claude.ai/code/session_01D2WSmezQBNC3bUdHuGfGmo


Generated by Claude Code

Summary by CodeRabbit

  • New Features

    • Added a configurable node value-slab schema with presets: Bootstrap, Cognitive, Compressed, and Full.
    • Introduced class-level value schema selection so different classes materialize node value data using the chosen preset (temporary POC default now selects Full).
  • Bug Fixes

    • Updated Lance/LanceDB version pins to the shipped versions (Lance 7.0.0, LanceDB 0.30.0).
  • Documentation

    • Refreshed status tracking, integration plans, and technical references, including the Integrated Cognitive Planner v1 specification.

claude added 6 commits June 14, 2026 19:13
…AUDE.md + plans + boards

Workspace shipped lance/lance-linalg =7.0.0, lancedb =0.30.0, object_store 0.13.2 via PR #445 (E-LANCE7). CLAUDE.md 'Key Dependencies' + the D-MBX-11 plan/board refs were months-stale at =6.0.0 / =0.29.0 / planned =6.0.1.

- CLAUDE.md: Key Dependencies block -> 7.0.0 / 0.30.0 (+ object_store coupling note)
- STATUS_BOARD / D-MBX-COMPLETION-MAP: D-MBX-11 -> Superseded (#445 jumped past =6.0.1)
- plans (unified-soa-convergence, bindspace->mailbox-soa, reliability-arc, wikidata-lazy-spine): SUPERSEDED-annotated; factual Cargo.lock refs -> 7.0.0
- INTEGRATION_PLANS: dated inline correction (append-only preserved)
- AGENT_LOG: prepended sweep entry + canon pointer + self-correction
- Append-only history (EPIPHANIES/PR_ARC/LATEST_STATE/handover) left intact; TD-SURREALDB-KVLANCE-LANCE7 remains the only residual (fork still pins 6)

https://claude.ai/code/session_01D2WSmezQBNC3bUdHuGfGmo
…ssed/Bootstrap)

The value-side analog of EdgeCodecFlavor: per-class presets for which tenants the
480-byte NodeRow::value slab materialises. Closes the SoA-extension dilution gap —
helix-48 was the one element still only a TODO comment in the value slab; it is now
a first-class tenant alongside turbovec-Pq32x4 + signed-CoarseResidue.

- ValueTenant: 9 stable append-only positions (discriminant == FieldMask bit ==
  VALUE_TENANTS index) — Meta/Qualia/MaterializedEdges/Fingerprint/HelixResidue/
  TurbovecResidue/Energy/Plasticity/EntityType.
- VALUE_TENANTS: stable row-relative carve [32,186) (reserve-don't-reclaim,
  contiguous, compile-time asserted <= 480).
- ValueSchema presets via FieldMask: Bootstrap (EMPTY default) / Cognitive (58 B) /
  Compressed (98 B) / Full (154 B = all 9 tenants).
- ClassView::value_schema() defaulted to Bootstrap (non-breaking; mirrors
  edge_codec_flavor).
- Layout-preserving: carves WITHIN the reserved slab, NODE_ROW_STRIDE=512 untouched,
  no ENVELOPE_LAYOUT_VERSION bump.

Reuses class_view::FieldMask (presence) + soa_envelope::ColumnDescriptor (carve) —
no new presence type. +6 tests + 3 compile-time canon asserts; fmt + clippy -D
warnings + test -p lance-graph-contract green (611 lib tests). Board: LATEST_STATE
Contract Inventory + AGENT_LOG updated same commit.

https://claude.ai/code/session_01D2WSmezQBNC3bUdHuGfGmo
…-before-dilution)

THE file:line-grounded reference doc for the integrated-cognitive-planner arc —
the target the 5-savant expansion + 3-brutal hardening agents must cite so they
do not hallucinate architecture. 4-layer P0 (FORGET LADYBUG:
thinking-engine>P64>cognitive-shader-driver), §1 grounded current state, §2 the
6 additive seams with FOLDs, §3 (hhtl-guid):path:documentid / ScopedReference
addressing + Pinpoint/TiKV lessons, §4 the 8-step cognitive cycle -> Rubicon
phases, §5 measure-first probes, §6 open questions, §7 reference index.

Verdict: the integrated planner ~90% EXISTS (#437-#492 + unmerged
jolly-cori-clnf9); remaining = 6 seams + addressing + a CognitiveCycle
sequencer, NOT a new build.

Board hygiene (same commit): prepend INTEGRATION_PLANS.md + AGENT_LOG.md.

https://claude.ai/code/session_01D2WSmezQBNC3bUdHuGfGmo
…ner-v1

Five Opus expansion savants (convergence-architect / bus-compiler /
truth-architect / scenario-world / trajectory-cartographer), each pinned to the
reference map by file:line, deepened it and CORRECTED three errors:
- cache/convergence.rs is wired+tested, NOT stubbed (seam #5)
- emit cutover is 5 sites incl. the contract twin plan.rs:44; planner has no
  mailbox -> KanbanMove.mailbox via PlanContext (seam #1)
- temporal dep-wall fold is A-then-B both-required, NOT A-vs-B (seam #2)
- documentid = dn_hash (already shipped), NOT local_key (the entity-MID) (§3)
- NiblePath<->prefix bijection overflows 16-nibble MAX_DEPTH -> tier-structured (§3)

Added: §2.1 ExecTarget routing, §3.1 causal-arc persistence, §4.1 0-friction
strategy<->step table, §8 cross-savant synthesis (T1 cycle-home fork, T2
&mut-vs-&self, C1 Think-carrier [deferred #372], C2 rung 1:1, C3 carriers-
provisioned-before-consumers, + the 7-item additive new-code ledger). 5 new
probes + 6 new OQs. Board hygiene: prepend AGENT_LOG.md.

https://claude.ai/code/session_01D2WSmezQBNC3bUdHuGfGmo
… (decision a)

Operator decision (a): every unconfigured class (incl. the default classid
0x0000_0000) materialises the FULL value slab so downstream consumers
(tesseract-rs / woa-rs / medcare-rs / q2) can transcode against a fully-populated
NodeRow POC. Specialisation is opt-IN: a consumer that needs to save memory mints
a class overriding to a smaller preset; one that needs denser data mints a
separate class.

Layout-preserving (Full carves within the reserved 480 B — no NODE_ROW_STRIDE /
ENVELOPE_LAYOUT_VERSION change). The TYPE-level ValueSchema::default() stays
Bootstrap, so the substrate zero-fallback is intact; only the class->schema
resolution default flipped. ZERO invention (honours the anti-skew guardrail):
Full activates the already-existing, already-tested 9 ValueTenants (helix-48 is
the existing HelixResidue tenant, not a new property).

Guard test value_schema_default_is_full_temporary_poc added. 613 lib tests green.
Tracked as TD-VALUESCHEMA-FULL-POC-DEFAULT (revert-before-merge obligation);
AGENT_LOG prepended.

https://claude.ai/code/session_01D2WSmezQBNC3bUdHuGfGmo
…drail

3 brutally-honest agents (PP-13 HOLD / PP-15 CATCH-LATENT / PP-16
READY-TO-DISPATCH) hardened the plan; all fixes are spec-text, no architectural
rewrite. New §9 ledger: 5 LOCKED decisions (emit channels separate-not-derived;
cycle() stays inherent for object-safety; seam #2 read is closure-injected;
dual-RungLevel mirror-don't-duplicate; P-RUNG-ROUNDTRIP quarters-vs-thirds) +
latent boundary fixes (THREE PlanResult; MailboxId sentinel; newtype the address
u64s) + P2s + sub-line drift (incl. "#495 rides #496" -> branch-only).

New §0 ANTI-INVENTION GUARDRAIL (read-first): no agent invents new skewed SoA
properties; the 9 ValueTenants + 4 BindSpace columns are closed; the §8 7-item
ledger is the MAX scope; specialisation is opt-in (mint a class). Enforced by
dto-soa/iron-rule savants + the 3 hardeners.

Inline fixes: emit channels separate-not-derived (was the I-LEGACY trap); §4
"closes seam #2" -> closure-injected. AGENT_LOG prepended.

https://claude.ai/code/session_01D2WSmezQBNC3bUdHuGfGmo
@coderabbitai

coderabbitai Bot commented Jun 15, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 623f643e-c096-4161-af08-3ed2847c7d2d

📥 Commits

Reviewing files that changed from the base of the PR and between b98b4ef and 6ad8e0c.

📒 Files selected for processing (3)
  • .claude/board/STATUS_BOARD.md
  • .claude/board/TECH_DEBT.md
  • .claude/plans/integrated-cognitive-planner-v1.md
✅ Files skipped from review due to trivial changes (2)
  • .claude/board/TECH_DEBT.md
  • .claude/plans/integrated-cognitive-planner-v1.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • .claude/board/STATUS_BOARD.md

📝 Walkthrough

Walkthrough

Adds ValueTenant, VALUE_TENANTS, and ValueSchema to lance-graph-contract/src/canonical_node.rs, defining the 480-byte NodeRow::value slab layout with compile-time assertions. Adds a defaulted ClassView::value_schema method returning ValueSchema::Full (temporary POC). Sweeps all planning and board docs to replace Lance =6.0.0 pins with =7.0.0 and introduces the integrated-cognitive-planner-v1 reference plan.

Changes

ValueSchema contract additions

Layer / File(s) Summary
ValueTenant, VALUE_TENANTS, and ValueSchema definitions
crates/lance-graph-contract/src/canonical_node.rs
Adds VALUE_SLAB_ROW_OFFSET/VALUE_SLAB_LEN, the ValueTenant enum with nine tenant positions (Meta, Qualia, MaterializedEdges, Fingerprint, HelixResidue, TurbovecResidue, Energy, Plasticity, EntityType), VALUE_TENANTS byte-offset table with contiguity assertions, and ValueSchema presets (Bootstrap, Cognitive, Compressed, Full) with field_mask/has/tenant_bytes/is_layout_preserving methods. Unit tests verify contiguity, locked byte budgets, and stride invariants.
ClassView::value_schema default and crate re-exports
crates/lance-graph-contract/src/class_view.rs, crates/lance-graph-contract/src/lib.rs
Adds value_schema(&self, ClassId) -> ValueSchema as a defaulted ClassView trait method returning ValueSchema::Full for all classes (temporary POC). Guard test asserts Full for class 0 and 7 while ValueSchema::default() remains Bootstrap. Re-exports ValueSchema, ValueTenant, and VALUE_TENANTS from lib.rs.
Board and tech-debt docs for ValueSchema
.claude/board/LATEST_STATE.md, .claude/board/TECH_DEBT.md, .claude/board/AGENT_LOG.md
Appends contract-inventory documentation in LATEST_STATE.md introducing the nine tenants and four presets. Records TD-COARSERESIDUE-NO-VALUE-TENANT (EdgeCodecFlavor::CoarseResidue lacks a dedicated tenant slot) and TD-VALUESCHEMA-FULL-POC-DEFAULT (temporary Full default with one-line revert plan) in TECH_DEBT.md. Prepends 2026-06-15 log entries in AGENT_LOG.md documenting planner hardening, ValueSchema POC flip, and reference-map corrections.

Lance 6→7 version documentation sweep

Layer / File(s) Summary
Lance 7.0.0 version sweep across plans and board
CLAUDE.md, .claude/board/STATUS_BOARD.md, .claude/board/D-MBX-COMPLETION-MAP.md, .claude/board/INTEGRATION_PLANS.md, .claude/plans/unified-soa-convergence-v1.md, .claude/plans/bindspace-singleton-to-mailbox-soa-v1.md, .claude/plans/reliability-checklist-arc-v1.md, .claude/plans/wikidata-lazy-spine-hydration-v1.md
Replaces lance/lance-linalg =6.0.0 and lancedb =0.29.0 with =7.0.0/=0.30.0 throughout, including transitive object_store =0.13.2. Marks D-MBX-11 as superseded by PR #445 in all deliverable tables, Phase P1 prerequisites, acceptance criteria, and completion map. Updates workspace pins, dependency notes, and risk-register lance version references.

Integrated cognitive planner reference plan

Layer / File(s) Summary
integrated-cognitive-planner-v1 plan document and board entry
.claude/plans/integrated-cognitive-planner-v1.md, .claude/board/INTEGRATION_PLANS.md
Adds a 301-line reference plan covering §0 anti-invention guardrail and citation requirements, §P0 4-layer architecture (SurrealDB → planner → thinking-engine/shader-driver → ractor), §1 grounded file:line inventory of planner core/temporal/Kanban/cognition/loop/write-boundary state, §2 six seams with tracking/folded steps plus ExecTarget routing rules in §2.1, §3 addressing model and ScopedReference semantics with causal-arc persistence in §3.1, §4 8-step cognitive cycle with Rubicon phase mapping and strategy collapses in §4.1, §5 falsifiable probes for dedup/snapshot/scope/rung/cycle/causal-arc invariants, §6 open questions on temporal residuals and exec legality, §7 comprehensive file:line reference index, §8 cross-savant synthesis resolving cycle placement and mutability tensions, and §9 hardening verdicts with locked decisions and drift corrections. Registers the plan in INTEGRATION_PLANS.md index.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • AdaWorldAPI/lance-graph#441: Introduces the ClassView trait and FieldMask abstraction that the current PR extends with the new value_schema default method and FieldMask-based ValueSchema::field_mask logic.

  • AdaWorldAPI/lance-graph#492: Both PRs formalize the NodeRow byte layout for the 480-byte Value region at offset 32, with the current PR adding VALUE_SLAB_*/ValueTenant/ValueSchema presets and byte-budget rules.

  • AdaWorldAPI/lance-graph#489: Both PRs modify crates/lance-graph-contract/src/canonical_node.rs to define and interpret the 480-byte value payload, with the current PR adding tenant carve-outs and preset schemas over that slab.

Poem

🐇 A slab of bytes, nine tenants neat,
Bootstrap to Full — a preset fleet!
The lance leaped high from six to seven,
While planner docs filled up to eleven.
Compile-time guards hold every seam,
A bunny's tidy contract dream! ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the three main components: the integrated cognitive planner reference map, ValueSchema presets, and the FULL POC default flip.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 34649dff57

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

// (canon zero-fallback) before merge. No invention: `Full` activates the
// already-existing, already-tested 9 ValueTenants (helix-48 / turbovec /
// signed / fingerprint / …), it adds no new property.
crate::canonical_node::ValueSchema::Full

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Restore the zero-fallback schema default

Because RegistryClassView and WikidataClassView inherit this default, any class that does not override value_schema (including the unknown/default class) is now reported as Full even though NodeRow::value is still zero-filled by default and ValueSchema::default() is Bootstrap. Downstream code that uses the resolver to decide which tenants are present will treat absent zero-filled fields as materialized; the adjacent comment also says this POC default must be reverted before merge, so the blanket default should stay Bootstrap unless a concrete class explicitly opts in.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Intentional, not a regression — keeping as-is. The blanket Full default is an operator-locked POC decision: specialisation is opt-in (a class mints a smaller preset — Cognitive/Compressed/Bootstrap — to save memory). It's layout-preserving (no stride / ENVELOPE_LAYOUT_VERSION change), and the type-level ValueSchema::default() stays Bootstrap, so the substrate zero-fallback is intact — only the class→schema resolution default flipped. Note value_schema is the class layout declaration, not per-row presence (FieldMask is the presence bit), so a zero-filled tenant is a valid empty value, not "materialized corruption". Tracked as TD-VALUESCHEMA-FULL-POC-DEFAULT with a guard test (value_schema_default_is_full_temporary_poc) that enforces the revert when the POC phase ends.


Generated by Claude Code

Comment on lines +335 to +336
/// turbovec PQ residue ([`EdgeCodecFlavor::Pq32x4`], 16 B).
TurbovecResidue = 5,

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Reserve a tenant for CoarseResidue

When a class selects EdgeCodecFlavor::CoarseResidue, the contract says the per-dimension signed-4-bit residue is carried in the value slab, but the value-slab tenant list only adds a codec slot for Pq32x4. As a result Full/Compressed can claim all codec tenants are present while providing no addressable column for CoarseResidue data, so a consumer pairing CoarseResidue with these schemas cannot persist or reconstruct that residue without colliding with another tenant.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Real gap — confirmed and tracked (no reflexive fix). ValueTenant has TurbovecResidue (for Pq32x4) but no slot for CoarseResidue's signed-nibble residue, while EdgeCodecFlavor::CoarseResidue (canonical_node.rs:213) declares it's carried in the value slab. It's pre-existing — the EdgeCodecFlavor enum rode #495 (920671d), not this PR's ValueSchema/FULL default. Per our anti-invention guardrail (plan §0) we won't reflexively mint a tenant; tracked as TD-COARSERESIDUE-NO-VALUE-TENANT (6ad8e0c) with two options: (a) mint a CoarseResidue tenant (append-only, sign-off-gated), or (b) reuse the TurbovecResidue slab region — the flavor disambiguates the read mode, zero new tenant (preferred). Resolved before any class selects CoarseResidue with a dense preset.


Generated by Claude Code

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (3)
.claude/plans/integrated-cognitive-planner-v1.md (3)

51-51: ⚡ Quick win

Add language identifiers to code fences.

Lines 51 and 152 have unmarked ``` blocks. Specify a language or use text for clarity:

  • Line 51 (architecture diagram): change ``` to ```text
  • Line 152 (addressing table): change ``` to ```text

This resolves MD040 linter warnings and improves readability.

🔧 Proposed fix
 ## P0 — The architecture (4 layers). FORGET LADYBUG.

-```
+```text
  SurrealDB  (BUILDING BLOCK — orchestrates the META AST/Elixir level; GOOD at it)

and

 Resolves left→right, mirroring `NodeGuid`:
-```
+```text
 (hhtl-guid)                 : path                       : documentid

Also applies to: 152-152

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.claude/plans/integrated-cognitive-planner-v1.md at line 51, The file
.claude/plans/integrated-cognitive-planner-v1.md contains unmarked code fences
that are triggering MD040 linter warnings. At line 51 (architecture diagram),
change the opening ``` to ```text. At line 152 (addressing table), also change
the opening ``` to ```text. This specifies the content type for better clarity
and resolves the linter warnings.

Source: Linters/SAST tools


192-192: 💤 Low value

The cycle's public API entry point should be named precisely.

Line 191 states "the public entry is one new cycle(&mut self, query, situation) -> Result<CycleOutcome, PlanError> ALONGSIDE plan_full/plan_auto, both UNCHANGED." This is clear, but for the implementer: confirm the signature's parameter names and types (especially query and situation) match the pattern in plan_full/plan_auto so the cycle fits the existing planner call site conventions. If the planner currently takes (&self, …, exec: ExecTarget) parameters, ensure the cycle can bridge that contract.

Status: this is advisory; the document is sound. The tension resolutions (T1 closure-injection, T2 interior mutability on epiphany) mean the cycle will be the only &mut entry, so callers must adapt. This is a breaking change to the public Planner API — not a surprise, but worth noting for migration planning.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.claude/plans/integrated-cognitive-planner-v1.md at line 192, The documented
signature for the new cycle method entry point should precisely match the
parameter naming and types used in the existing plan_full and plan_auto methods
to maintain API consistency. Review the current Planner interface (particularly
plan_full and plan_auto) to confirm that the cycle method's query and situation
parameters align with how those existing methods accept their inputs, and verify
whether ExecTarget or similar execution parameters need to be bridged or
adapted. Document clearly that this is a breaking API change since cycle is the
only &mut entry point and callers will need to adapt their call sites
accordingly.

301-302: ⚡ Quick win

Verify the #495/#496 branch-only attribution is accurate and clearly communicated to downstream workers.

Line 301 (DRIFT-6) claims that ValueSchema/ValueTenant/EdgeCodecFlavor are "POST-#495 BRANCH commits… NOT part of the already-merged #495 — target the branch tree; do NOT verify against origin/main." Cross-checking against PR objectives confirms this is accurate: this PR (cohort #5) IS adding these types as new to the codebase, and they are not present on origin/main. The hardening verdict correctly warns workers not to falsely assume they exist upstream.

However, the phrasing "rides #496" in the PR objectives (and elsewhere) could be clearer about whether #496 is the current PR being reviewed or a future PR. Recommend adding a one-line clarification before §9 to orient new readers: e.g., "This PR (referred to as #496 in commit history) introduces the types cited in §1–§7; see DRIFT-6 for upstream verification notes."

This is low-impact and advisory; the document is not wrong, but upstream developers should not hunt for these types on main.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.claude/plans/integrated-cognitive-planner-v1.md around lines 301 - 302, The
document needs a clarifying one-liner added before section §9 to explicitly
state that "This PR (referred to as `#496` in commit history) introduces the types
cited in §1–§7; see DRIFT-6 for upstream verification notes." This clarification
will orient new readers by making clear that `#496` is the current PR being
reviewed and that `ValueSchema`, `ValueTenant`, and `EdgeCodecFlavor` are
branch-only additions not present on origin/main, preventing downstream workers
from mistakenly searching for these types in upstream code.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.claude/board/STATUS_BOARD.md:
- Line 656: Change the status value for the D-MBX-11 row from "Superseded" to
"Abandoned" since "Superseded" is not a supported status value in the board's
status legend. The replacement information citing PR `#445` is already present in
the evidence/notes section, so keep that context intact while only updating the
status column to use the valid "Abandoned" status value.

In @.claude/plans/integrated-cognitive-planner-v1.md:
- Around line 164-165: The plan file at lines 164-165 makes assumptions about
implementation details that are either unwritten or mischaracterized. Correct
the following: (1) Update the `NiblePath::from_guid_prefix()` proposal to
explicitly note it is currently unwritten future work, not a verified
implementation (referenced as unwritten at line 219); (2) Correct the
characterization of DOLCE (hhtl.rs:18-23) from "dynamic cache binding" to
"static canonical enum ordering" (ENDURANT=0, PERDURANT=1, QUALITY=2, ABSTRACT=3
with reserved slots 0x4-0xF), since it is collision-free by design without
caching; (3) Correct tier widths from "cache-allocated nibble run" to
"struct-defined fixed layout" since HEEL, HIP, and TWIG are u16 fields in
NodeGuid contributing exactly 4 nibbles each (8+4+4+4=20 total); (4) Confirm
that `is_ancestor_of()` (hhtl.rs:176) is correctly implemented and proven but
clarify that `P-SCOPE-CLASSIFY` (line 219) and `P-DEDUP-ASOF` (line 217) remain
blocked until `from_guid_prefix()` is actually implemented and the bijection is
round-trippable.

---

Nitpick comments:
In @.claude/plans/integrated-cognitive-planner-v1.md:
- Line 51: The file .claude/plans/integrated-cognitive-planner-v1.md contains
unmarked code fences that are triggering MD040 linter warnings. At line 51
(architecture diagram), change the opening ``` to ```text. At line 152
(addressing table), also change the opening ``` to ```text. This specifies the
content type for better clarity and resolves the linter warnings.
- Line 192: The documented signature for the new cycle method entry point should
precisely match the parameter naming and types used in the existing plan_full
and plan_auto methods to maintain API consistency. Review the current Planner
interface (particularly plan_full and plan_auto) to confirm that the cycle
method's query and situation parameters align with how those existing methods
accept their inputs, and verify whether ExecTarget or similar execution
parameters need to be bridged or adapted. Document clearly that this is a
breaking API change since cycle is the only &mut entry point and callers will
need to adapt their call sites accordingly.
- Around line 301-302: The document needs a clarifying one-liner added before
section §9 to explicitly state that "This PR (referred to as `#496` in commit
history) introduces the types cited in §1–§7; see DRIFT-6 for upstream
verification notes." This clarification will orient new readers by making clear
that `#496` is the current PR being reviewed and that `ValueSchema`,
`ValueTenant`, and `EdgeCodecFlavor` are branch-only additions not present on
origin/main, preventing downstream workers from mistakenly searching for these
types in upstream code.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: d6677492-32dc-4b73-94f8-1e9a30e4757e

📥 Commits

Reviewing files that changed from the base of the PR and between 5678d87 and 34649df.

📒 Files selected for processing (15)
  • .claude/board/AGENT_LOG.md
  • .claude/board/D-MBX-COMPLETION-MAP.md
  • .claude/board/INTEGRATION_PLANS.md
  • .claude/board/LATEST_STATE.md
  • .claude/board/STATUS_BOARD.md
  • .claude/board/TECH_DEBT.md
  • .claude/plans/bindspace-singleton-to-mailbox-soa-v1.md
  • .claude/plans/integrated-cognitive-planner-v1.md
  • .claude/plans/reliability-checklist-arc-v1.md
  • .claude/plans/unified-soa-convergence-v1.md
  • .claude/plans/wikidata-lazy-spine-hydration-v1.md
  • CLAUDE.md
  • crates/lance-graph-contract/src/canonical_node.rs
  • crates/lance-graph-contract/src/class_view.rs
  • crates/lance-graph-contract/src/lib.rs

Comment thread .claude/board/STATUS_BOARD.md Outdated
Comment thread .claude/plans/integrated-cognitive-planner-v1.md Outdated
claude added 2 commits June 15, 2026 14:01
…actor basins (HHTL reverse)

Operator: postpone the bgz-hhtl-d↔NodeGuid HHT address sync (different domain —
weight rows vs graph nodes); bank the real idea as a probe-gated research-TODO.
The synergy lives at the SHARED CLAM substrate (bgz-hhtl-d already uses CLAM
furthest-point sampling + farthest-pair HIP ladder, BGZ_HHTL_D.md:112-116; the
graph HHTL cascade is the same shape) — research whether the CLAM residue ladder
defines knee/hip attractor basins supporting REVERSE (fine->coarse) ascent,
domain-agnostic, without the postponed address unification. IDEAS.md Open entry,
P3, probe-gated.

https://claude.ai/code/session_01D2WSmezQBNC3bUdHuGfGmo
…eResidue TD

Address PR #496 review comments:
- CodeRabbit (plan §3:164): HHT tier widths are struct-defined fixed (u16 = 4
  nibbles each), NOT cache-allocated; DOLCE is a static canonical enum ordering,
  not a dynamic cache. from_guid_prefix must deterministically subset 20→≤16
  nibbles. Corrected.
- CodeRabbit (STATUS_BOARD:656): "Superseded" is not in the status legend
  (Deferred/Abandoned only; :115 says superseded rows use Abandoned + cite
  replacement). D-MBX-11 -> Abandoned (superseded by #445).
- codex (canonical_node.rs:336): real (pre-existing) gap — EdgeCodecFlavor::
  CoarseResidue residue has no dedicated ValueTenant (only Pq32x4/TurbovecResidue
  does). Per §0 anti-invention guardrail, NOT reflexively adding a tenant;
  tracked as TD-COARSERESIDUE-NO-VALUE-TENANT (sign-off-gated; reuse-TurbovecResidue
  is the guardrail-preferred option).

codex (class_view.rs:247, FULL default): intentional (decision a), tracked
TD-VALUESCHEMA-FULL-POC-DEFAULT — no revert.

https://claude.ai/code/session_01D2WSmezQBNC3bUdHuGfGmo
@AdaWorldAPI AdaWorldAPI merged commit 2e58e03 into main Jun 15, 2026
6 checks passed
AdaWorldAPI pushed a commit that referenced this pull request Jun 15, 2026
#496 merged (merge 2e58e03, CI 5/5 green, CodeRabbit resolved, codex P2
dispositioned). Post-merge hygiene per the Mandatory Board-Hygiene rule:
- PR_ARC_INVENTORY: prepend #496 (Added/Locked/Deferred/Docs/Confidence) —
  ValueSchema/ValueTenant/VALUE_TENANTS + FULL POC default + the reference plan
  + §0 guardrail + §9 hardening; the keystone is the next unblock.
- LATEST_STATE: prepend the #496 shipped note + the keystone convergence
  (from_guid_prefix + classid->ClassView read-mode on registry.rs).

Capture (operator "yes"): TD-LAZY-IMPORT-VERSION-PIN — the OGIT-as-lazy-import
drift-control finding (immutable-address + evolvable-shape + versioned-namespace
+ StructuralSignature-detector; lock version-pin + reserve-don't-reclaim sibling
nibbles before the OGAR-identity migration runs a real load). EPIPHANY candidate
flagged for the council.

https://claude.ai/code/session_01D2WSmezQBNC3bUdHuGfGmo
AdaWorldAPI pushed a commit that referenced this pull request Jun 15, 2026
…single source)

NodeGuid gains HHT accessors (heel/hip/twig), a one-shot decode() -> GuidParts
(classid + HEEL/HIP/TWIG + family + identity in canon print order), and a
carrier read_mode() method. ReadMode bundles the two already-existing read-mode
axes (ValueSchema + EdgeCodecFlavor) — not a new node property, not a SoA column,
just the resolution lens (§0 anti-invention). classid_read_mode(u32) is the
single source both the consumer and OGAR inherit: a LazyLock<HashMap> builtin
registry, zero-fallback to ReadMode::DEFAULT for unconfigured classids.

ReadMode::DEFAULT = {Full, CoarseOnly} mirrors the ClassView::value_schema POC
default; the two sites revert together (TD-VALUESCHEMA-FULL-POC-DEFAULT paired,
guard test read_mode_default_is_full_poc). Display deduped onto the new HHT
accessors. +6 tests; 619 contract lib green; clippy -D warnings + fmt clean.

Delivers the contract-side half of the #496 keystone; the ontology-side
NiblePath::from_guid_prefix meets it at the classid (follow-up).

https://claude.ai/code/session_01D2WSmezQBNC3bUdHuGfGmo
AdaWorldAPI pushed a commit that referenced this pull request Jun 15, 2026
…gn-partition

Two codex P2s on #498:
- ENVELOPE_LAYOUT_VERSION 1→2 — the HelixResidue 48→6 B right-size shifted every
  downstream value-tenant offset; bump gates it so a v1 blob refuses to decode
  rather than read tenants from the wrong bytes (safe: nothing persisted under
  v1, FULL is POC-only).
- Signed360: encode |y| in 7 bits + sign in the partition (Pos⇒[128,255],
  Neg⇒[0,127]) so a near-rim negative lift (|y|≈0) can't round to 128 and read
  back as Pos. Regression test signed360_neg_sign_survives_near_rim_at_high_total.

Also adds the #498 PR_ARC_INVENTORY entry (CodeRabbit mis-attributed this PR's
helix/keystone/OCR/causal-edge work to #496 — corrected: it's #498's).

contract 623 lib, helix 73 lib + 7 doc green; clippy -D warnings + fmt clean.

https://claude.ai/code/session_01D2WSmezQBNC3bUdHuGfGmo
AdaWorldAPI pushed a commit that referenced this pull request Jun 16, 2026
…5-specialist framing)

Five specialists (cascade / family-codec / palette / dto-soa / truth-architect)
framed the merged #497 OCR-transcode plans against the post-#498 substrate. Two
showstoppers + 6-way drift; all 7 plans corrected:

- HelixResidue 48 B → 6 B everywhere (a stored Signed360 index, not a 48-byte field);
  budgets/carve rebaselined (Full 112, [32,144)); headers #496#498.
- "Morton-tile stacked-pyramid perturbation-shader" purged (does not exist; Morton
  rejected for Hilbert) → real primitives (mipmap pyramid / HHTL depth-cascade / CAKES).
- "reversible without a hash" reframed: no residue→rank inverse exists; node =
  identity → content-store lookup, codebook = repair signal (I-VSA-IDENTITIES).
- §0 tripwires: no ValueSchema::Ocr variant (ride Full/Compressed); Meta de-overloaded
  (confidence→Energy, provenance→Plasticity, OOV→content-store); TurbovecResidue is the
  edge codec, glyph→word uses DeepNSM CamCodes.
- master critical path 42→53 becomes 42→{50,51}→53 (resolves the open #497 CodeRabbit Major).

New ocr-probes-v1.md specs the 4 gating probes (OCR-RT/DET/POST/SCHEMA) for the
unmeasured claims (int8-exact LSTM, bit-reproducible diff, 200k-LOC 1:1 layout).
OCR-SCHEMA shipped as a contract test proving OCR rides an existing preset.
EPIPHANIES E-OCR-PLAN-DRIFT-1 + AGENT_LOG entry.

contract lib green; fmt clean.

https://claude.ai/code/session_01D2WSmezQBNC3bUdHuGfGmo
AdaWorldAPI pushed a commit that referenced this pull request Jun 16, 2026
… → VersionScheduler → KanbanMove

The scheduler→kanban→view path (version tick lowers to the next Rubicon
move over a MailboxSoaView) existed only as doc-comment prose + one
single-tick in-crate unit test against a hand-rolled FakeView. Nothing
asserted the REAL SurrealMailboxView read-glove across the full Rubicon
lifecycle. This adds that bench — additive, zero source change, and the
first integration-test file in this crate.

Five kill-condition-first tests (each pins the CONTRACT the doc-comment
claims, not current behaviour — avoiding the stale-test trap):
- full_rubicon_arc_lowers_to_legal_successors: every forward tick emits a
  DAG-sanctioned edge (can_transition_to); walks Planning→CognitiveWork→
  Evaluation→Commit + Plan→Planning.
- absorbing_columns_schedule_no_move: Commit/Prune yield None (lifecycle
  terminates).
- libet_anchor_only_on_sigma_commit_crossing: -550_000µs stamped only on
  Planning→CognitiveWork; 0 elsewhere.
- lowering_is_deterministic: same (view, version, exec) → same move.
- exec_target_rides_onto_the_move: backend selector survives lowering.

Scope: IN-direction seam only (contract-space; not the gated planner-emit
half per #496 §9). Verified locally: 5/5 pass; fmt clean.
AdaWorldAPI pushed a commit that referenced this pull request Jun 16, 2026
PR #510 merged 2026-06-16 16:36 UTC (merge commit 0e6452c) on main —
+125/-0 additive seam falsifier in crates/surreal_container/tests/
scheduler_seam.rs (first integration-test file in surreal_container).

Five kill-condition-first tests pin the IN-direction of the surreal↔
kanban↔scheduler wiring (SurrealMailboxView → NextPhaseScheduler::
on_version → KanbanMove) against the real view (not FakeView):

  1. full_rubicon_arc_lowers_to_legal_successors
  2. absorbing_columns_schedule_no_move
  3. libet_anchor_only_on_sigma_commit_crossing
  4. lowering_is_deterministic
  5. exec_target_rides_onto_the_move

Out of scope (deferred, explicit in PR body): the OUT-direction =
planner-emit KanbanMove (CognitiveCycle sequencer + §9 LOCKED from
#496). D-MBX-A6-P3 remains the next unblock for closing the loop.
This PR proves the downstream half; upstream still hand-rolled.

Retroactive board update (merge landed before the same-commit
hygiene rule could fire). Two files: PR_ARC_INVENTORY (prepend),
LATEST_STATE (dated bullet + table row).

https://claude.ai/code/session_01Xzyc27Nx3f8WC5KzwfWfjx
AdaWorldAPI pushed a commit that referenced this pull request Jun 16, 2026
PR #510 merged 2026-06-16 16:36 UTC (merge commit 0e6452c) on main —
+125/-0 additive seam falsifier in crates/surreal_container/tests/
scheduler_seam.rs (first integration-test file in surreal_container).

Five kill-condition-first tests pin the IN-direction of the surreal↔
kanban↔scheduler wiring (SurrealMailboxView → NextPhaseScheduler::
on_version → KanbanMove) against the real view (not FakeView):

  1. full_rubicon_arc_lowers_to_legal_successors
  2. absorbing_columns_schedule_no_move
  3. libet_anchor_only_on_sigma_commit_crossing
  4. lowering_is_deterministic
  5. exec_target_rides_onto_the_move

Out of scope (deferred, explicit in PR body): the OUT-direction =
planner-emit KanbanMove (CognitiveCycle sequencer + §9 LOCKED from
#496). D-MBX-A6-P3 remains the next unblock for closing the loop.
This PR proves the downstream half; upstream still hand-rolled.

Retroactive board update (merge landed before the same-commit
hygiene rule could fire). Two files: PR_ARC_INVENTORY (prepend),
LATEST_STATE (dated bullet + table row).

https://claude.ai/code/session_01Xzyc27Nx3f8WC5KzwfWfjx
AdaWorldAPI pushed a commit that referenced this pull request Jun 17, 2026
PR #510 merged 2026-06-16 16:36 UTC (merge commit 0e6452c) on main —
+125/-0 additive seam falsifier in crates/surreal_container/tests/
scheduler_seam.rs (first integration-test file in surreal_container).

Five kill-condition-first tests pin the IN-direction of the surreal↔
kanban↔scheduler wiring (SurrealMailboxView → NextPhaseScheduler::
on_version → KanbanMove) against the real view (not FakeView):

  1. full_rubicon_arc_lowers_to_legal_successors
  2. absorbing_columns_schedule_no_move
  3. libet_anchor_only_on_sigma_commit_crossing
  4. lowering_is_deterministic
  5. exec_target_rides_onto_the_move

Out of scope (deferred, explicit in PR body): the OUT-direction =
planner-emit KanbanMove (CognitiveCycle sequencer + §9 LOCKED from
#496). D-MBX-A6-P3 remains the next unblock for closing the loop.
This PR proves the downstream half; upstream still hand-rolled.

Retroactive board update (merge landed before the same-commit
hygiene rule could fire). Two files: PR_ARC_INVENTORY (prepend),
LATEST_STATE (dated bullet + table row).

https://claude.ai/code/session_01Xzyc27Nx3f8WC5KzwfWfjx
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants