Skip to content

D-RPF-CONF-0: measure the confidence revision surface before any policy change - #1424

Merged
AdaWorldAPI merged 7 commits into
mainfrom
ccr-bd5a6e03-niaink
Oct 9, 2026
Merged

AdaWorldAPI merged 7 commits into
mainfrom
ccr-bd5a6e03-niaink

Conversation

@AdaWorldAPI

Copy link
Copy Markdown
Owner

Tests and a board entry only. This PR changes no production semantics, chooses no c=255 policy, unifies no quantizer and adds no contract declaration.

  • crates/causal-edge/tests/d_rpf_conf_0.rs covers T1, the singular cell, T3, R1 and NarsTables invariance.
  • crates/lance-graph-planner/tests/d_rpf_conf_0_r3.rs builds R3, a disagreement matrix over the distinct live revision laws.
  • .claude/board/entries/2026-10-09-d-rpf-conf-0-confidence-surface.md has the full report.

Findings

  • T1. Rust's confidence surface matches the exact integer form on 65,532 of 65,535 ordinary cells. It is one code off at (45,45), (146,148) and (148,146), all from f32 rounding at or near a .5 boundary. The earlier numpy prediction was right on only one of those three cells. Monotonicity and symmetry are clean.
  • Singular cell. (255,255) produces (0,0) because 0/0 evaluates to NaN, which encodes as 0. It is kept separate from the ordinary domain and recorded, not endorsed.
  • T3. Revising against a zero-weight partner returns the input exactly whenever c > 0. The only drift is at c = 0 with f ≠ 128, where the result is (128,0).
  • R1. Five c=255 candidates are measured side by side; none is chosen.
    • The status quo is exact on the one-sided boundary.
    • Every cap or saturate variant changes between 101,900 and 194,671 cells, by up to 128 codes.
    • "Singular only" removes all NaN and changes exactly one cell.
  • G4 census. There are 24 revise/revision definitions. Nine are homonyms and three are delegations, which leaves the live laws A, B(L), C, D, E, F, G, J and LIN.
    • On the replay/counterfactual path, replay_step overwrites forward's truth with NarsTables::build(1).
    • That table is confidence-inert: c is always 170 and f is the mean.
  • R3. The matrix covers seven laws × 1,638,400 cells. Pairs that never differ by more than one code in the broad domain:
    • A and D are byte-identical.
    • C differs from them by at most one code.
    • E differs only through its 0.99 cap.
    • B1, B16 and LIN are genuinely different. B1, the law the replay path emits, differs from A on 99.9% of cells, by up to 168 confidence codes.

Checks

  • Six disable runs, all red as required. One test was vacuous because it read its own pinned constant; it was fixed and re-verified.
  • fmt and clippy are clean.
  • The entries index is current and the supersession index is current.

Open

These are left for the operator:

  • G1: the (255,255) cell.
  • G2: whether replay should emit B1.
  • T5 stays blocked.
  • J needs a declared rule for turning c into a weight before it can be compared.

Do not merge automatically.

🤖 Generated with Claude Code

https://claude.ai/code/session_01R2EuNHrariL6B3G3agyASK


Generated by Claude Code

claude added 7 commits October 9, 2026 03:50
…e (T1, T3, R1, NarsTables)

Measurement only; no production change, no policy chosen.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01R2EuNHrariL6B3G3agyASK
…ngularOnly + one-sided f-side columns

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

Seven laws from the G4 census (A ISA, B1/B16 NarsTables, C ndarray evidence
split, D planner TruthValue, E contract NarsTruth, LIN revise_truth), each
called through its real entry point and compared on f in {0,51,128,204,255}^2
by the full 256x256 confidence grid. Pins distinct output confidence per law,
the 21-pair matrix (cells differing, broad cells, broad max dF/dC), the set of
cosmetic pairs (broad max <= 1 code: A-C, A-D, C-D), and an anti-vacuity test.
Tests only; no production change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01R2EuNHrariL6B3G3agyASK
The first version filtered the MATRIX constant, so it passed under a disable
that broke law D. It now filters the measured matrix.

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

coderabbitai Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Essentials
  • Run ID: ffaa4b91-db71-40cd-8e5d-ead6aac5f189
📥 Commits

Reviewing files that changed from the base of the PR and between 4eb2734 and f185b31.

📒 Files selected for processing (4)
  • .claude/board/entries/2026-10-09-d-rpf-conf-0-confidence-surface.md
  • .claude/board/entries/README.md
  • crates/causal-edge/tests/d_rpf_conf_0.rs
  • crates/lance-graph-planner/tests/d_rpf_conf_0_r3.rs
 ________________________________________________________________
< Fully armed and operationally intelligent code reviewer bunny. >
 ----------------------------------------------------------------
  \
   \   \
        \ /\
        ( )
      .( o ).
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.


Comment @coderabbitai help to get the list of available commands.

@AdaWorldAPI
AdaWorldAPI marked this pull request as ready for review October 9, 2026 05:29
@AdaWorldAPI
AdaWorldAPI merged commit d6f9fef into main Oct 9, 2026
9 of 10 checks passed

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f185b31785

ℹ️ 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".

Comment on lines +384 to +385
let got = edge(200, 200).forward(CausalEdge64(0), &tab, &tab, &tab);
assert_eq!(got, Err(IsaFault::Unsupported { mantissa: 0 }));

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Pin all eight operand-zero forward cases

The parent D-RPF-CONF task defines T3 as both the revision identity grid and an eight-cell forward operand-zero table, but this test exercises only one all-zero word, which immediately fails because its mantissa is unsupported. None of the zero-weight behavior under legal forward opcodes is pinned, so regressions in those seven remaining cells can pass while the report presents T3 as covered.

Useful? React with 👍 / 👎.

Comment on lines +209 to +211
// `ws` never reads f, so c(c1, c2) must be the same for every frequency
// pair. A probe that silently depended on f = 128 would hide a defect.
for &(f1, f2) in &[(0u8, 0u8), (255, 255), (0, 255), (77, 200)] {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Exercise the frequency pairs claimed as exhaustive

This loop checks only four selected (f1, f2) pairs, despite the test comment saying every pair and the board report claiming the frequency-independence result was exhaustively tested. A future confidence calculation that accidentally depends on any other frequency pair would therefore pass this guard; iterate the full frequency domain or narrow the reported conclusion to the sampled pairs.

Useful? React with 👍 / 👎.

Comment on lines +162 to +163
So M = 7 laws compared, which collapses to 4 numerical behaviours on the u8
grid away from the boundary: {A, C, D} (E is this one plus a cap), B16, B1, LIN.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Count E as a separate broad behavior

The report's own matrix shows E differing from A on 13,327 broad cells with maxima of 15 frequency codes and 2 confidence codes, exceeding the stated cosmetic threshold. Collapsing {A,C,D} leaves E, B16, B1, and LIN as four additional behaviors, so the measured result is five broad numerical behaviors rather than four; the current summary understates the alternatives presented for the G2 decision.

Useful? React with 👍 / 👎.

@chatgpt-codex-connector

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-09T05:31:43.692188Z f185b31 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 pushed a commit that referenced this pull request Oct 9, 2026
… conditions

Also corrects #1424's claim that the replay path emits B1 in production: no
production code constructs a CutContext or reads NarsEngine::tables.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01R2EuNHrariL6B3G3agyASK
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