Skip to content

probe(dr-math): D-DRCA-3 DR #4 method routing falsifier - #1849

Merged
AdaWorldAPI merged 15 commits into
mainfrom
claude/clone-ndarray-lance-graph-dqfjlx
Oct 30, 2026
Merged

AdaWorldAPI merged 15 commits into
mainfrom
claude/clone-ndarray-lance-graph-dqfjlx

Conversation

@AdaWorldAPI

Copy link
Copy Markdown
Owner

What

The first DR #4 falsifier from D-DRDT §5 (#1835), as a lab module in dr-math-binding-probe:

two methods on one cell with the same read/write sets and a different effect order must stay distinct through routing, and a dropped guard must refuse.

  • src/dr4.rs: route(store, register, resolution, op, observed_guards) over one admitted BoundDr64.
  • tests/dr4_method_routing.rs: 12 tests.
  • Plan: .claude/plans/d-drca-3-dr4-method-routing-v1.md.

Contract

DR carries DT-owned values opaque. MethodKey, GuardWitness and EffectOrderRef are 16-byte references, compared for equality and never interpreted.

Kept: one output entry per input method, in input order. Key, signature revision, read/write field sets, guard witness and effect-order reference pass through unchanged, and the result carries the register's frame. Nothing is merged, including methods whose effects commute; merging is the law owner's decision.

Refused, in order:

  • Frame(..): stale register frame.
  • ResolvedUnderOtherFrame: the methods were resolved under another frame issue, including another store at equal revision numbers.
  • ForeignClass: the resolution or one of its methods belongs to another class.
  • DuplicateMethod: the same key twice. Equal read/write sets are not a duplicate.
  • OutOfRegister: coordinates outside 64 × 64.
  • UnsupportedAlgebra: a numeric fold.
  • NotBoolean: a presence read over a three-valued register.
  • GuardDropped / GuardMismatch: a declared guard with no witness, or with another one. DR checks witnesses; it does not evaluate guards.

Oracle

The test's DT stub holds each method's real effects and guard. The effect-order law is ndarray #395's Effect / run_effects / commutes / check_reorder (examples/pof_antennas/order_law.rs), ported verbatim.

  • Core fixture: [Set(1), Add(1)] and [Add(1), Set(1)] give 2 and 1, and the swap is refused. So the two references DR keeps apart are provably different methods.
  • Commuting control: [Add(2), Add(3)] and its reverse give equal results and the swap is legal. Routing still keeps both.
  • Values: cell, row and column are checked against plain scalar loops. K3 value is masked by validity; the fixture has UNKNOWN cells whose payload bit is 1.

Evidence

  • cargo test --release --manifest-path crates/dr-math-binding-probe/Cargo.toml: all suites green, including the 12 new tests.

  • cargo fmt --check and cargo clippy --all-targets -- -D warnings (the crate's CI steps) are clean.

  • 7 disable runs, each restored from the commit, each red on its named test:

    disabled guard red
    entries collapsed by equal read/write sets 3 tests
    dropped guard accepted 1
    mismatched witness accepted 1
    resolution frame not checked 1
    method class not checked 1
    duplicate key accepted 1
    K3 value not masked by validity 1

Scope and ownership

  • No DT resolver. The resolver is D-CMH-1's PreparedClass (class-method-schema-hotplug-v1.md). Resolution is a lab stand-in for DT's answer.
  • No MethodKey mint. The key is DT's to mint (D-CMH §2.1, decision ledger item 2); the test mints its own, named as such.
  • No contract change, no new dependency.

Board: new entry entries/2026-10-30-d-drca-3-dr4-method-routing.md; STATUS_BOARD D-DRCA-3 moved to In PR, and D-DRCA-1 / D-DRCA-2 marked Shipped (#1834, #1836); INTEGRATION_PLANS gains a row; entries index regenerated (503 rows).


Generated by Claude Code

claude added 15 commits October 28, 2026 01:01
…GIT reference predicates

Records seven user decisions from 2026-10-28 in DECISION / SCOPE / BASIS /
REVISIT WHEN form:
- the three DT64 levels;
- DR#3 Identity × Properties as the primary view;
- WHEN×ON×DO per DR#3 cell;
- DR64 = direct routing and DT64 = DTO bind store;
- immutable classid → behaviour via hotplug;
- global behaviour needs no classid;
- OGIT read unpinned.

Maps each decision onto existing code and plans with evidence states, and
stages D-DT64-6-0..5:
- OGIT reader reconciliation;
- ogit:allowed expansion in lance-graph-ontology;
- DT64 predicate registration;
- consumer HotPlug access.

Requests, but does not apply, an amendment to D-DT64-Q0 line 9.

Docs only. No code, ABI, test, runtime or merge authorization.

Board: entry, INTEGRATION_PLANS and STATUS_BOARD prepends, and the
regenerated entries index. The supersession index regenerates unchanged.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XAqKMNiyjwqFke9CfmoBgn
…number

The citation-decay gate failed on nine grounding rows. The cited lines
were correct, but each row's citation sat next to the following row's
backticked text, which the gate took as its anchor. Line numbers into
moving files are what the gate exists to retire, so every in-repo
citation now names a symbol or section heading instead.

Also replaces the two grounding rows that rested on grep output with
claims from full reads: the three merged DT64 plans, and the qr_focus /
qr_register lab tests (whose actual wording is now quoted correctly).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XAqKMNiyjwqFke9CfmoBgn
…copy amortizes prefetch

DR64 direct routing references existing identities and mints none. The
global->local prefetch holds a copy of the register (identity
references and local positions only, never values), reused by every
read under one frame and rebuilt when the frame check refuses. Stated
against the zero-copy law's pointer-table carve-out and Q0's accounted
prefetch cost.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XAqKMNiyjwqFke9CfmoBgn
…atch fold

#1814 and #1819 have merged, so the plan now cites them by section from
this repo instead of as open PRs by line number. That line-number row
was the one citation-decay failure on c440fab: the file did not exist
locally, so the local run reported UNVERIFIABLE where CI reported
DECAYED.

Reading both in full showed two contradictions, now fixed:
- the dispatch step's two-valued `OR over w in G` fold is restricted to
  candidate DO presence; selection evaluates typed guards in K3 (#1814
  kill test I03);
- open question 3 now follows #1819: several mappings and convergence
  are normal; a conflict needs incompatible source-qualified results.

Also corrects the quoted Ruff role names to #1814's list.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XAqKMNiyjwqFke9CfmoBgn
The plan and board entry said the merged plans do not use ON / WHEN /
DO. That holds only for the three DT64 plans. ON×WHEN×DO is established
in merged lance-graph research docs: the D-CFA series
(docs/research/counterfactual-behavior/) and the EAW series
(docs/research/epistemic-awareness/), plus #1819. All twelve files read
in full; the grounding row and the non-goal line now say so.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XAqKMNiyjwqFke9CfmoBgn
… CR-H0/H1)

#1760's D-SAG-6 plan is unchanged since merge; its successor is the
crai-rs CR-H0 / CR-H1 map (crai-rs #1, #2), which makes D-SAG-6 the
motor and Ruff + DT64 the transmission. The plan now grounds both,
places the per-cell ON×WHEN×DO registry as that transmission's
behaviour binding, ties D5/D8 to D-SAG-6 F06, F07 and F11, and
requires behaviour registrations to reference ordered effects: a DO
set or deduplicated SPO bag cannot distinguish two effect orders.

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

Searched odoo-rs, OGAR, crai-rs, lance-graph and ndarray for the #1760
lineage. Besides crai-rs CR-H0/H1, odoo-rs #46 (Odoo Codegraph harvest
schema, docs) is the one successor; OGAR and ndarray have none.

Read #46's doc and schema in full. Its `dt64_candidates` array (source
nodes -> existing algebra_ref, no seat mint) is the registry's Odoo
intake; every emitted_by MethodId is kept; effective behaviour needs a
registry_snapshot in the frame. Open question 2 (inheritance before the
cell lookup) is narrowed by #46's _inherit / _inherits rules. Notes that
#46's doc lists dt64_candidates as a graph layer while its schema does
not.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XAqKMNiyjwqFke9CfmoBgn
…ract)

- The two OGIT readers see disjoint verb sets: ttl_parse `classify`
  accepts the 12 rdfs:Class verbs (all WorkOrder, all ogit:from-to),
  OGAR `parse_verb` the 511 owl:ObjectProperty verbs, of 523. Measured
  over an unpinned OGIT clone (b5731a8, receipt only).
- Add D-DT64-6-1a: classify every verb file in both readers first.
- D-DT64-6-2 builds (src, verb, dst) from the entity ogit:allowed blocks
  (960 files, none in verbs/) plus the 12 from-to verbs, reads OGAR's
  OgitTables::Allowed instead of adding a second parser, and puts the
  standing parity test beside tests/ontology_cache.rs.
- 518 / 2,756 is OGAR #363's reader output (eaw-5), not OGIT drift.
- crai-rs CR-H0/H1 is a sidecar consumer of #1760, not its successor;
  its open-PR list is dated 2026-10-27.
- Ruff has no Rust frontend; role names checked in ruff role.rs.
- Cite D-DT64-Q0 by section, not line 9; INTEGRATION_PLANS says eight
  decisions.

Docs only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XAqKMNiyjwqFke9CfmoBgn
Add the D-DT64-6-1a row and restate D-DT64-6-2 as reading OGAR
OgitTables::Allowed rather than a second expansion in lance-graph-ontology,
matching plan §5 after the #1831 review.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XAqKMPWTwovjYJEUMuGPb4
…= main)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XAqKMNiyjwqFke9CfmoBgn
…-dqfjlx' into claude/clone-ndarray-lance-graph-dqfjlx
…h-dqfjlx

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XAqKMNiyjwqFke9CfmoBgn
Two methods on one cell with equal read/write sets and a different
effect order stay two routed entries; so do two methods whose effects
commute. A declared guard without its witness refuses. DT-owned values
(method key, guard witness, effect-order reference) are carried opaque;
the test's DT stub and the ported ndarray #395 order law are the oracle.

Lab only: no DT resolver (D-CMH-1 owns it), no MethodKey mint, no
contract change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XAqKMNiyjwqFke9CfmoBgn
STATUS_BOARD: D-DRCA-1 and D-DRCA-2 marked Shipped (#1834, #1836);
D-DRCA-3 In PR. Entries index regenerated (503 rows).

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

coderabbitai Bot commented Oct 30, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: ab778eec-a46c-4dd4-ae4e-13aeada996ad
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

@AdaWorldAPI
AdaWorldAPI marked this pull request as ready for review October 30, 2026 02:06
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 30, 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-30T02:08:05.075447Z cc7b9d6 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 159d56c into main Oct 30, 2026
14 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