Repository navigation
Epistemic writers: pearl::retract, no text CausalCandidate, writer census, NAL rule identity - #1936
Conversation
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
|
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. |
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
pearl::retractis the counterpart ofrevise. 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::wireno 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 fromcausal_candidates. No consumer outside the crate read that field.causal-edge/tests/epistemic_writer_census.rsis a two-way ratchet. Everywith_epistemic_raw5call incrates/*/srcmust be classified as an AUTHORIZED production writer (pearl'sstamp,edge_v3::rehydrate,deepnsm_v2::wire) or as a TEST_FIXTURE.contract::nars::InferenceType. Only non-NAL derivations keep a stand-in,DerivationRule::Unowned, and that stand-in is the remaining gap.2026-11-03-a10-writers-retract-xlog-pr.mdcovers 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:
cargo testforlance-graph-planner(the pearl lib tests anda10_admission_probe),deepnsm-v2(231 + 14 tests), andcausal-edge --test epistemic_writer_census.clippy -D warningsreports 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