Repository navigation
D-CGW-1: CE64 bits 43..45 are the orientation - #1594
Conversation
…ntation yet) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011BMJnDBAfzcuQh5HeT39Rh
Orientation (Core = 0, then the seven Haspelmath dative-map functions) is the one meaning of bits 43..45. direction()/set_direction() become orientation()/set_orientation(); pack and pack_v2 take an Orientation, so every writer is checked by the compiler. The S/P/O pathological triad is removed, not moved: nothing in production wrote it, and the planner's confounder check computes its directions from population masks. Removed: s/p/o_pathological, concern_level, the simplified CausalNetwork::detect_simpsons_paradox. CausalMask::simpsons_paradox_risk stays as a function over directions the caller computes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011BMJnDBAfzcuQh5HeT39Rh
…+polarity, an oriented edge is refused Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011BMJnDBAfzcuQh5HeT39Rh
…es an oriented edge (D-CGW-1) DirectionReading/SignTriple and require_sign_triple were the per-tenant reading binding D-CGW-1 replaced: bits 43..45 have one meaning, the orientation. A Moore lane holds none, so lifting an edge whose orientation is not Core is refused instead of silently dropped. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011BMJnDBAfzcuQh5HeT39Rh
Writers pass an Orientation to pack/pack_v2 (zero literals become Core; fixture bit patterns keep their bits through Orientation::from_code). deepnsm-v2 wire writes the contract's Orientation instead of its own u8 table. Probes that read 43..45 as a per-class angle or a pathology triad are marked superseded; the moore_nars16 Simpson tests are removed with the detector they tested; the gomoku probe no longer writes its Moore direction into 43..45. docs/architecture/ce64-semantic-upper-half.md: 43..45 settled as orientation. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011BMJnDBAfzcuQh5HeT39Rh
…rc entry Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011BMJnDBAfzcuQh5HeT39Rh
…rdNet DN decision) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011BMJnDBAfzcuQh5HeT39Rh
Formatting only. The five causal-edge clippy findings (edge.rs 120, 236, 821, 826, 906) predate this branch and are not touched here. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011BMJnDBAfzcuQh5HeT39Rh
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configuration
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. 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. Comment |
lift_ce64 now refuses an edge whose bits 43..45 are not Core, so the random fixture clears them. The divergence check compares every bit, since no field is excluded any more. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011BMJnDBAfzcuQh5HeT39Rh
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011BMJnDBAfzcuQh5HeT39Rh
|
Add Carrot credits or activate Agent usage billing to use Autofix |
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. |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011BMJnDBAfzcuQh5HeT39Rh
…entry Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011BMJnDBAfzcuQh5HeT39Rh
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0ee072cb08
ℹ️ 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".
| // ─── Orientation (bits 43..45) ────────────────────────────────── | ||
|
|
||
| /// 3-bit direction triad: sign(dim0) per S, P, O. | ||
| /// bit 0 = S pathological, bit 1 = P pathological, bit 2 = O pathological. | ||
| /// The relation's orientation (bits 43..45); see [`Orientation`]. | ||
| #[inline(always)] | ||
| pub fn direction(self) -> u8 { | ||
| ((self.0 >> DIR_SHIFT) & BITS3_MASK) as u8 | ||
| pub fn orientation(self) -> Orientation { | ||
| Orientation::from_code(((self.0 >> ORIENT_SHIFT) & BITS3_MASK) as u8) |
There was a problem hiding this comment.
Rename the ISA field to Orientation
When tooling or tests consume the machine-readable ISA contracts, this migration still exposes bits 43..45 as isa::Field::Direction: isa.rs documents it as the S/P/O sign triple and every contract passes Direction. This contradicts the new CausalEdge64::orientation() contract and leaves generic field auditors reporting the removed meaning, so the Field variant and its contract entries should be migrated to Orientation as well.
Useful? React with 👍 / 👎.
What
CE64 bits 43..45 now have one meaning everywhere:
causal_edge::Orientation(Core= 0, then the seven Haspelmath dative functions).direction()/set_direction()are renamedorientation()/set_orientation().packandpack_v2take anOrientation, so the compiler finds every writer.concern_levelandCausalNetwork::detect_simpsons_paradox. Nothing in production wrote the triad. The only production writer of 43..45 wasdeepnsm-v2::wire, and it already wrote Haspelmath codes. The planner'sConfounderCheckcomputes its directions from population masks.moore_tenant: the direction is nowMooreDirection { slot, polarity }.lift_ce64refuses an edge whose orientation is notCore(MooreRefusal::Oriented), and a refused edge writes nothing.2026-10-16-d-cgw-1-orientation-contract.md.Tests
causal-edge/tests/orientation_contract.rs: 5 tests, committed red first.moore_tenant:h_direction_is_slot_and_polarityandh2_an_oriented_edge_is_refused. The disable run (refusal check removed) turns h2 red.Passing:
KJV
bible_wave(release) exits 0: 771,176 tokens, 57,325 certain + 29,287 alternative triples, and the pinned-layout accounting check passes.Not run locally: the
lance-graphtestintervene_counterfactual. The disk filled before it could build. It compiled earlier undercargo check --all-targets; CI covers it.cargo clippy -D warningson causal-edge reports 5 findings, all on lines that predate this branch (edge.rs120, 236, 821, 826, 906). They are not touched here.Open (see the board entry)
Generated by Claude Code