Skip to content

Epistemic writers: pearl::retract, no text CausalCandidate, writer census, NAL rule identity - #1936

Merged
AdaWorldAPI merged 11 commits into
mainfrom
claude/clone-repositories-71a5sw
Nov 3, 2026
Merged

AdaWorldAPI merged 11 commits into
mainfrom
claude/clone-repositories-71a5sw

Conversation

@AdaWorldAPI

Copy link
Copy Markdown
Owner
  • pearl::retract is the counterpart of revise. It re-runs the edge's own operator and lowers the certification to what is still earned, or to Open when the remaining evidence no longer grounds the fold. It never raises. The A10 probe's F4 (a written certification surviving the withdrawal of its support) now holds.
  • deepnsm_v2::wire no longer writes CausalCandidate from text. The contract's code-4 obligation is Supports plus temporal ordering over a population, which text cannot witness. The two-source count stays a reading: WireReport::two_source_causes, renamed from causal_candidates. No consumer outside the crate read that field.
  • causal-edge/tests/epistemic_writer_census.rs is a two-way ratchet. Every with_epistemic_raw5 call in crates/*/src must be classified as an AUTHORIZED production writer (pearl's stamp, edge_v3::rehydrate, deepnsm_v2::wire) or as a TEST_FIXTURE.
  • A10 probe: NAL derivations name their rule with contract::nars::InferenceType. Only non-NAL derivations keep a stand-in, DerivationRule::Unowned, and that stand-in is the remaining gap.
  • Board: entry 2026-11-03-a10-writers-retract-xlog-pr.md covers this and the XLOG reach/far status (fork PR Arrow 57 / DataFusion 51 / Lance 2 + BlasGraph Algebra + SPO Triple Store #7, compiled, not runtime-accepted). The D-CODEGRAPH-0-BIN B3 deferral condition is recorded in STATUS_BOARD.

Verification:

  • Test suites: cargo test for lance-graph-planner (the pearl lib tests and a10_admission_probe), deepnsm-v2 (231 + 14 tests), and causal-edge --test epistemic_writer_census.
  • Disable runs turned red: a no-op retract, a retract without the never-raise check, restoring the wire promotion, and dropping the count.
  • clippy -D warnings reports nothing in the changed files. The planner and causal-edge targets carry lints that predate this PR, in files it does not touch.

Generated by Claude Code

revise only raises. retract is its counterpart: it re-runs the edge's own
operator and lowers the certification to what is still earned, or to Open
when the remaining evidence no longer grounds the fold or refutes it. It
never raises; SPO/SP and projections with no operator leave the edge as is.
The A10 admission probe's F4 now holds: a withdrawn source lowers the code
it had supported.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X6y3drwKSE2zSgoexheLFX
wire promoted a Related cause row to CausalCandidate on two independent
implication sources, outside pearl and against the contract's own code-4
obligation (Supports plus temporal ordering over a population, which text
cannot witness). That made it a second evidence authority. The two-source
count stays as a reading (WireReport::two_source_causes, renamed from
causal_candidates); the row's certification is no longer raised.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X6y3drwKSE2zSgoexheLFX
Every with_epistemic_raw5 call in a crates/*/src file must be classified by
file and enclosing function as an AUTHORIZED production writer (pearl's
stamp behind revise/retract/hydrate, edge_v3::rehydrate, deepnsm-v2 wire's
text reading) or a TEST_FIXTURE. An unclassified call and a stale entry both
fail. This is the production admission boundary made enforceable; the
test-local A10 admission probe is not promoted.

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

The rule-identity stand-in is replaced by the existing owner for NAL
figures. Only derivations with no owner (elimination, constraint
propagation) keep a test-local stand-in, DerivationRule::Unowned, which is
the remaining gap. The probe's docs now point at the production writer
census instead of describing the boundary as unenforced.

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

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

coderabbitai Bot commented Nov 3, 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: 1aacb302-ee81-40be-8315-2c451234fd61
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Tip

🎯 Customize your risk assessments

Guide how CodeRabbit assesses merge risk and security architecture risk. Highlight sensitive changes and explain your security boundaries using Merge Risk Instructions and Security Risk Instructions in your review settings. Security architecture risk assessments require the Advanced plan or above.

✅ Automatic approvals, with your rules

Let CodeRabbit approve pull requests once required threads are resolved, pre-merge checks pass, and your risk limits are met. Enable Automatic approvals in review settings, with overrides for teams or file paths.

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

CodeRabbit Verify

  • Run CodeRabbit Verify to test the changes in this pull request.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 3, 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-11-03T00:34:23.101964Z 3253d1f PR opened
ℹ️ 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.

Step::PushVar(String) made run_steps resolve a variable by string
comparison on every execution. Only the target may be read, so lowering now
resolves each variable once: the target becomes Step::PushInput (no name)
and any other variable is refused at lowering as UnboundVar. run_steps takes
the input value and reads no string; Step is Copy. The variable's name lives
only in the cold traceroute (Step::mnemonic_with). Closes the PARK I3 item
of the XLOG archaeology map (PushVar(String) -> resolved at lowering).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X6y3drwKSE2zSgoexheLFX
Eight gaps W1-W8, each re-verified at the AdaWorldAPI/xlog main 84da1a8
or found in code: magic report dropped, polarity dropped, estimates
discarded, no degree-statistic producer, dormant RirNode::Fixpoint,
semi-naive without one owner, XLOG_LENS F100 never executed, competing plan
identities. Includes the text-on-hot-path table (egglog-r2il fixed; the
codegraph interner is B3). W5 and W7 need operator decisions.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X6y3drwKSE2zSgoexheLFX
W4 and W6 said the insert path and the semi-naive delta were CUDA-only.
lance-graph-xlog already has a CPU mask-native delta (Cube::closure,
wide::closure_wide, wide::refresh) and an insert path (Cube::add_edge,
DeltaLog). Corrects both, names xlog-cube's host BTreeSet loop as the copy
to retire, and records the measured cube refusal census (140/230 rules
admitted, 90 refused by first reason) as the gap list.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X6y3drwKSE2zSgoexheLFX
Cites d-xlog-native Amendment E (#1910) as the decided route: assimilate
into lance-graph-xlog, polyfill the callers, CubeCL over ndarray only for
the residue; CudaBuffer plumbing is not ported. Records that the
device-less provider / CudaBuffer::View idea (#1911) is OPEN and that the
"Amendment F" cited by cube.rs:2 and the D-XLOG-NATIVE-7 entry is absent
from the plan. Adds the per-crate caller-surface count toward E's open
census.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X6y3drwKSE2zSgoexheLFX
cube.rs:2 and the D-XLOG-NATIVE-7 entry cited an Amendment F that was
never written. Records it: XLOG's caller-visible interface (Executor,
CudaKernelProvider, CudaBuffer) stays, the resident cube is the machine
underneath. Lists what is done (coordinates, evaluation, cube, mask
recursion, tiles, F100 lens, CubeExecutor with no xlog-cuda dependency)
and what is not (no caller reaches the cube; 90 refused shapes; general
SCCs on host rows; tier-3 residue). D-XLOG-WIRE now points to F instead
of calling the swap undecided.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X6y3drwKSE2zSgoexheLFX
Removes the Amendment F written in f94c20a: it backfilled an
experiment's scope as an architectural decision. d-xlog-native-v1.md is
back to its pre-F text.

The three citations of a never-written Amendment F (cube.rs:2,
tests/cube.rs:1, the D-XLOG-NATIVE-7 entry header) now point to the
D-XLOG-NATIVE-7 entry and PR #1911. Doc comments only; no code changes.

D-XLOG-WIRE: Amendment E stays the decision of record. The device-less
provider and CudaBuffer::View are a non-authoritative research
possibility. The provider-call count is an inventory, not a migration
mandate. Cube::closure / closure_wide are not equivalent to xlog-cube's
host-row recursive SCC evaluation.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X6y3drwKSE2zSgoexheLFX
@AdaWorldAPI
AdaWorldAPI merged commit 5149482 into main Nov 3, 2026
15 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