Repository navigation
docs(D-DT64-6): DR64 routing, DT64 bind store, per-cell WHEN×ON×DO, OGIT reference predicates - #1831
Conversation
…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
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars.
|
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
…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
|
Add Carrot credits or activate Agent usage billing to use Autofix |
…lance-graph-dqfjlx
…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
Review of #1831 (head
|
…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
Takes #1831's STATUS_BOARD section as merged and adds a dated note on AdaWorldAPI/OGIT#11 to the plan. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XAqKMPWTwovjYJEUMuGPb4
entries/README.md is regenerated from the merged entries. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XAqKMPWTwovjYJEUMuGPb4
…iption vs ON/WHEN/DO Adds plan sections 6-9, measured on OGIT b5731a8 against OGAR main's reader code and OGIT#11's full Turtle parse: - OGAR rejects 102 files (12 rdfs:Class verbs, 90 column-aligned type lines); accepting both forms measured 102 -> 90 -> 0. - extract_allowed_block loses 116 cells in 5 files (a ')' in a comment inside the list; ogit:allowed in a description). No file has two cells on a line or a cell spanning lines. - File universes 960/953/952/939/931 and allowed vs from-to rows kept apart. - Table ownership recorded as OPEN: OGAR, lance-graph-ontology, or a generated TSV snapshot both read (no dependency edge between them). - Corrections to merged #1831 section 2 and #1833 section 2 (the "successor" attribution); description is not a fourth axis; crai-rs CR-H2 waits on the D-SAG-6-1 audit. Housekeeping: parent link to main, the per-verb LinkSpec replacement is #1831's decision, OGIT#11 counts re-measured on its head, Calendar example shows the file's real layout. Merges main. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XAqKMPWTwovjYJEUMuGPb4
#1831's entry already owns D-DT64-6; entries_index --check rejects the duplicate. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XAqKMPWTwovjYJEUMuGPb4
… §10 corrections - D-DT64-6-2 now states its precondition: it is a second ogit:allowed parser, which merged #1831 rules out unless the owner picks §6 option B and amends that guard. The stage is scoped to option B. - Item 5 resolves references across the whole checkout in a second pass, not per file. - §10 records corrections to the merged parent plan from the D-CFA, EAW and #1819 research docs, each citing the section it corrects. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XAqKMPWTwovjYJEUMuGPb4
Summary
This PR adds a plan,
.claude/plans/d-dt64-6-routing-bindstore-behavior-v1.md, and a board entry. The plan records eight user decisions from 2026-10-28 in DECISION / SCOPE / BASIS / REVISIT WHEN form. It ties each decision to existing code, plans and merged research docs, and gives each tie an evidence state. It stages the follow-up work as D-DT64-6-0 to D-DT64-6-5, with D-DT64-6-1a in front of the reader comparison.The PR is documentation only. It adds no code, ABI, test or runtime, and authorizes no merge of anything else.
Decisions recorded
DT64 has three logical levels, each 64×64×64 and reached by focused global→local addressing:
The physical third axis is still open (NFR-OP-2).
The primary view is DR#3, Identity × Properties. Identity × Identity and Properties × Properties are optional derived views.
WHEN × ON × DO attaches to each DR#3 cell as the registry over its methods.
DR64 is direct routing (a mapping table). DT64 is the DTO bind store for every holographic address. Behaviour is registered as classid → polyfill over mask-risc / ndarray.
A classid's behaviour is permanently immutable. It is versioned under a fixed concept through a derived DTO classid, registered via
lance-graph-contract/src/hotplug.rs.Global behaviour needs no classid and lives in lance-graph. Consumers get a classid through the hotplug pattern.
OGIT is immutable and read unpinned.
DR64 references existing identities and mints none.
OGIT: the two readers see disjoint verb sets
Measured over an unpinned OGIT clone (commit
b5731a8, recorded as a receipt, not a pin), with three sample files read in full:a rdfs:Class; rdfs:subClassOf ogit:Verb(allNTO/WorkOrder/verbs/, all withogit:from-to)a owl:ObjectProperty; rdfs:subPropertyOf ogit:Verbogit:allowedverbs/directorylance-graph-ontologyttl_parseclassifyaccepts only therdfs:Classform, so it sees 12 verbs. The other 511 fall toSubjectKind::Other.parse_verbaccepts onlyowl:ObjectProperty, so it sees the 511 and rejects the 12.(src, verb, dst)signatures live in the entity files'ogit:allowedblocks. OGARextract_allowed_blockreads them, andOgitTables::loadkeeps a tuple only when both ends resolve. Every other tuple is reported asUnresolved.What follows for the plan:
OgitTables::Allowedis the default source, so no second parser is added. A standing parity test goes next toOGAR:crates/ogar-action-handler/tests/ontology_cache.rs.Relation to #1760 (D-SAG-6)
I searched odoo-rs, OGAR, crai-rs, lance-graph and ndarray. The D-SAG-6 plan has not changed since #1760 merged, and OGAR and ndarray carry nothing related.
crai-rs CR-H0 / CR-H1 (crai-rs #1 and #2, private repo) consume #1760; they are not its successor. They describe a sidecar retrofit around the D-SAG-6 motor:
CR-H0 lists #1813–#1830 as open "as checked 2026-10-27". #1814 and #1819 have merged since, so that list is out of date.
Ruff has no Rust frontend. Its SPO crates on
maincover C++, C#, MeTTa, Python, Ruby and SQLAlchemy, so this transmission cannot harvest Rust sources yet. The role names #1814 cites arePredicateRolebits inruff_spo_triplet/src/role.rs, and I read them there.odoo-rs #46 (docs, plus an optional JSON Schema and an example) is the Odoo intake to the per-cell registry:
dt64_candidatesmaps source nodes to an existingalgebra_ref, with no seat mint and no DO authority.emitted_byMethodId is kept. fix(cam_pq): add missing arrow::array::Array import in udf.rs #44's single-emitter map lost 26 / 37 edges.registry_snapshot, and that snapshot is part of the D8 frame._inherit/_inheritsrules narrow open question 2.This plan is the transmission's behaviour binding. Three D-SAG-6 gates apply:
A behaviour registration must reference ordered effects, not just a DO set.
*x = 1; *x += 1and its reverse have the same reads and writes but different results.Where ON × WHEN × DO already stands
docs/research/counterfactual-behavior/, incl. docs(D-CFA-1): source-harvested ON/WHEN/DO incidence and refusal gates #1814);docs/research/epistemic-awareness/);docs/DT64-ON-WHEN-DO-REGISTRY.md(fix(cam_pq): add missing arrow::array::Array import in udf.rs #44 / feat(planner): dynamic elevation — cost model that smells resistance #45, test-only).The word "store"
Merged docs disagree, and this PR does not settle it:
Decision 4 sides with the capstone. Plan §4 requests a Q0 amendment that defines "store" as bindings plus their version log, never copied business data. This PR does not apply it.
Staged work (each stage needs its own approval)
(src, verb, dst)table from the entityogit:allowedblocks plus the 12 from-to verbs; default sourceOgitTables::Allowed; no second parserOpen questions are in plan §6.
Board changes
entries/2026-10-28-d-dt64-6-routing-bindstore-behavior.md.INTEGRATION_PLANS.md(now eight decisions) andSTATUS_BOARD.md.entries/README.md.Validation
ttl_parse.rs, OGARttl.rs,sgo.rsparse_verb,ogit.rsandtests/ontology_cache.rs. The OGIT counts are file counts, with their method recorded in the plan.origin/main, all passing:citation_decay.py --since origin/main(0 new decays);entries_index.py --check;supersession_index.py(no change).🤖 Generated with Claude Code
https://claude.ai/code/session_01XAqKMNiyjwqFke9CfmoBgn