Skip to content

lance-graph-contract: un-gate the V2/V3 tail (D-HPR-6a) - #1490

Merged
AdaWorldAPI merged 2 commits into
mainfrom
ccr-f5674497-orfkox
Oct 11, 2026
Merged

AdaWorldAPI merged 2 commits into
mainfrom
ccr-f5674497-orfkox

Conversation

@AdaWorldAPI

Copy link
Copy Markdown
Owner

D-HPR-6a from plan v3-mandatory-hotplug-reading-v1 (W6a).

What changes

guid-v2-tail and guid-v3-tail used to gate NodeGuid::new_v2, the five V3 classid constants, their registry entries and the codebook module. All of that is now unconditional. The two feature names stay as empty features so the consumers that request them still resolve: deepnsm-v2, MedCare-rs and q2's osint-bake. default is now empty, so a default build and --no-default-features compile the same code.

mint_for's panic arm (a V3 mint requested without the feature) is gone along with the gate. Every in-tree build already had the feature on, so their behaviour does not change.

What does not change

Scope decided on 2026-10-11: the identity key and the edge facet are already read as 16×u8 through the 128-bit opt-in (facet::FacetCascade, classid(4) | 6×(8:8), lo = is_a, hi = part_of). Removing the gate must not move a byte of that. FacetCascade, FacetTier, EdgeFacet and the From bridges are untouched.

Tests

  • New canonical_node::v3_mint_is_the_128_bit_facet:
    • a V3 mint equals the hand-built bytes and FacetCascade's lo/hi chains, for the key and for the edge facet;
    • V2 and V3 mint the same bytes;
    • a V1 mint does not match (the silent half).
  • Disable run: writing HEEL big-endian inside new_v2 turns 2 of those tests red.
  • v3_mint_reachability_probe no longer expects V1 when no feature is on.
  • Passing: lance-graph-contract lib (1467) and integration tests, lance-graph-ogar, lance-graph-glove-parity; deepnsm-v2 checks.
  • Clippy -D warnings and cargo fmt are clean on the contract.

The board marks D-HPR-6a in PR and D-HPR-7/8 shipped in #1474.

🤖 Generated with Claude Code

https://claude.ai/code/session_019fbZ92dFKQ5BJHrA3YcH9A


Generated by Claude Code

The guid-v2-tail / guid-v3-tail features gated new_v2, the five V3 classid
constants and the codebook module. All of it is now unconditional; the two
feature names stay empty so consumers that request them still resolve.
The panic arm for a V3 mint without the feature is gone with the gate.

New guard v3_mint_is_the_128_bit_facet: a V3 mint writes exactly the 16
bytes a FacetCascade holds (classid(4) | 6x(8:8), lo = is_a, hi = part_of),
for the key and the edge facet, so keys already written through the
128-bit opt-in keep matching mint_for keys.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019fbZ92dFKQ5BJHrA3YcH9A
v3_mint_reachability_probe expected V1 when the feature was off; the V3
registry entries are unconditional now, so it asserts V3 always.
STATUS_BOARD: D-HPR-6a in PR with its scope (the 128-bit opt-in is not
touched), D-HPR-7 and D-HPR-8 shipped in #1474. Plan W6a records the scope.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019fbZ92dFKQ5BJHrA3YcH9A
@coderabbitai

coderabbitai Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

Your organization has reached its usage spending cap. Adjust your spending cap in the billing tab.

Next included review available in 21 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available. Your 62 included PR review attempts over the past 7 days set your current allowance at 1 review per hour.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Essentials
  • Run ID: bd5df0fe-3f93-42ba-94af-2ee8b9118c6f

📥 Commits

Reviewing files that changed from the base of the PR and between 09658a8 and 8a61389.


📒 Files selected for processing (10)
  • .claude/board/STATUS_BOARD.md
  • .claude/plans/v3-mandatory-hotplug-reading-v1.md
  • crates/lance-graph-contract/Cargo.toml
  • crates/lance-graph-contract/src/aiwar.rs
  • crates/lance-graph-contract/src/canonical_node.rs
  • crates/lance-graph-contract/src/hhtl.rs
  • crates/lance-graph-contract/src/lib.rs
  • crates/lance-graph-contract/src/ocr.rs
  • crates/lance-graph-contract/src/soa_graph.rs
  • crates/lance-graph-contract/tests/v3_mint_reachability_probe.rs

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Warning

Billing warning: we have not been able to collect payment for this subscription for more than 72 hours. Please update the payment method or pay any pending invoices in Billing to avoid service interruption.


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

@AdaWorldAPI
AdaWorldAPI marked this pull request as ready for review October 11, 2026 13:11
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-11T13:15:14.489928Z 8a61389 Draft marked ready
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@AdaWorldAPI
AdaWorldAPI merged commit 92178b6 into main Oct 11, 2026
16 checks passed
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