Skip to content

D-CTX-5 + D-CTX-6: Morton visit order; render → observation → GadamerRevision - #1367

Merged
AdaWorldAPI merged 2 commits into
mainfrom
claude/zen-planck-pldzo7
Oct 6, 2026
Merged

AdaWorldAPI merged 2 commits into
mainfrom
claude/zen-planck-pldzo7

Conversation

@AdaWorldAPI

@AdaWorldAPI AdaWorldAPI commented Oct 6, 2026 •

Copy link
Copy Markdown
Owner

Two commits, one per round. Each can be reviewed on its own.

Round 6 — D-CTX-5: does the visit order change the render?

examples/morton_order_probe.rs renders the same 16×16 tile in four visit orders: Morton (the D-CTX-2 order), row-major, 4×4 tiled and reversed.

measurement result
f64 scatter changes with the order only in its last bits. Pixels that differ from Morton: row-major 134, tiled 85, reversed 181; max |Δ| ≤ 1.1e-15
i64 accumulator at 2⁻³² identical across all four orders; max 1.4e-9 from f64
trie locality (mean nibble_climb) Morton = tiled = reversed = 1.0588; row-major 1.2471
heap during the fixed-point render 0 allocations

The order is a locality choice, not a semantic one. If bit-exact order independence is ever required, the fix is the fixed-point accumulator, not a particular order.

7 tests. 4 disable runs are red; the 5th mutant is equivalent and cannot be caught.

Follow-up to the #1364 review:

  • the boundary-probe pairs are renamed negative-code / mid-negative / positive-code pair;
  • the test is now boundary_response_changes_with_the_signed_pair_code;
  • the measured order is kept as an observation about the rendered surface only.

Round 7 — D-CTX-6: render → measurement → observation → GadamerRevision → replay

examples/observation_revision_probe.rs closes the loop to #1344.

Belief state: InterpretiveHorizon<(), [u64; 4]>, one bit per pixel:

  • roots = pixel observed;
  • claims = pixel observed to be a material boundary.

Encounters:

encounter evidence revision outcome
rendered witness inherited interpretation, no root Reinterpretation / NoIncrease, never adopted
observation reads only the resident palette (the pixel and its Moore neighbours); one new independent root HorizonExpansion or IndependentConfirmation; delta.resulting adopted

delta.resulting is adopted only on IncreaseEligible.

falsifier result
rendered field alone changes belief no: every inner pixel's witness, presented to a horizon already holding observations, moves nothing
observation writes the tile's fact adopted claims equal an x/y palette oracle on 5 tiles
render points where nothing is with the material change at x = 2 (outside the inner region), the render points at (5, 5) with |g| 1.65; the observation records a negative
belief depends on the law no: two Fisher-Z laws render different fields and give identical final belief
replay / double counting replay is identical; revision_index = steps; re-presenting every observation is Echo
allocation 0 B per loop step

Measured, not claimed useful:

  • The steepest rendered pixel on the split tile is (6, 7), one pixel off the material boundary (x = 7, 8).
  • Steering by the render covers the 12 inner boundary pixels at step 24, against 34 for a row-major scan. On the quadrants tile it is 35 against 34.
  • So the render only orders the visits; that order is pinned by a test, not presented as an advantage.

7 tests. 5 disable runs are red:

  • every revision adopted;
  • the render claims a root;
  • the observation claims whatever pixel was pointed at;
  • the ancestry forgets roots;
  • a wrong oracle.

strongest_boundary moves to support/boundary.rs with an address-predicate variant. boundary_measure_probe uses it unchanged and its 7 tests are green.

Board: D-CTX-4 → Shipped (#1364); D-CTX-5 and D-CTX-6 → In PR.

🤖 Generated with Claude Code

https://claude.ai/code/session_01U5ZJLtEBxeLPKX1pLRkHhc

Round 6 of the cognitive-shader-driver proof ladder. Four visit orders
over the same 16x16 tile (Morton, row-major, 4x4 tiled, reversed):
the f64 scatter changes only in its last bits with the order (max
|delta| <= 1.1e-15), and an i64 accumulator at 2^-32 is order-free
(identical across all four orders, within 1.4e-9 of f64). Trie
locality via nibble_climb: Morton = tiled = reversed = 1.0588, row-major
1.2471. The fixed render allocates nothing. 7 tests; 4 disable runs red,
one equivalent mutant recorded.

Follow-up to #1364 review: the boundary probe no longer calls pairs
weak/strong. Fixtures are negative-code / mid-negative / positive-code
pairs, and the test states that the rendered boundary response changes
deterministically with the signed pair-law code; no epistemic or
semantic strength is derived from the measured order.

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

coderabbitai Bot commented Oct 6, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

Your organization has reached its usage spending cap. Adjust your spending cap in the billing tab.

Next included review available in 58 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available. Your 67 included PR review attempts over the past 7 days set your current allowance at 1 review per hour.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Essentials
  • Run ID: ff4e60ee-0595-4812-b3ca-eeff8eebb5d2
📥 Commits

Reviewing files that changed from the base of the PR and between 2182388 and 3d5a08c.

📒 Files selected for processing (7)
  • .claude/board/STATUS_BOARD.md
  • crates/cognitive-shader-driver/Cargo.toml
  • crates/cognitive-shader-driver/examples/README.md
  • crates/cognitive-shader-driver/examples/boundary_measure_probe.rs
  • crates/cognitive-shader-driver/examples/morton_order_probe.rs
  • crates/cognitive-shader-driver/examples/observation_revision_probe.rs
  • crates/cognitive-shader-driver/examples/support/boundary.rs
  • Autopilot · 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.

@cursor

cursor Bot commented Oct 6, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: f7deed83-e3e3-4404-a416-a67e296d5dce)

Round 7 of the cognitive-shader-driver proof ladder closes the loop to
#1344 on the D-CTX surface. Belief is an InterpretiveHorizon over
[u64; 4], one bit per pixel. The D-CTX-4 rendered witness is presented
as an inherited interpretation with no root and is never adopted
(Reinterpretation / NoIncrease); an observation reads only the resident
palette and is one new independent root (HorizonExpansion or
IndependentConfirmation). delta.resulting is adopted only on
IncreaseEligible.

Measured: two Fisher-Z laws render different fields and give identical
final belief; replay is identical and re-presenting an observation is an
Echo; a loop step allocates 0 B. The steepest rendered pixel on the
split tile is one pixel off the material boundary, and render-guided
search is not reliably better than a row-major scan (24 vs 34 on the
split tile, 35 vs 34 on quadrants), so the order is pinned, not claimed
useful. 7 tests, 5 disable runs red.

strongest_boundary moves to support/boundary.rs with an
address-predicate variant; boundary_measure_probe imports it unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01U5ZJLtEBxeLPKX1pLRkHhc
@AdaWorldAPI AdaWorldAPI changed the title D-CTX-5: Morton visit order probe; signed-code wording for D-CTX-4 D-CTX-5 + D-CTX-6: Morton visit order; render → observation → GadamerRevision Oct 6, 2026
@AdaWorldAPI
AdaWorldAPI marked this pull request as ready for review October 6, 2026 15:19
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 6, 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-10-06T15:22:35.179476Z 3d5a08c 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.

@cursor

cursor Bot commented Oct 6, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: 883938bb-5cda-4f8e-ab24-769413d9a729)

@coderabbitai

coderabbitai Bot commented Oct 6, 2026

Copy link
Copy Markdown

Add Carrot credits or activate Agent usage billing to use Autopilot

@AdaWorldAPI
AdaWorldAPI merged commit fa2c40f into main Oct 6, 2026
11 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: 3d5a08cc74

ℹ️ 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 +213 to +215
let truth = boundary_oracle(tile).intersection(&inner_mask());
let (mut h, mut steps, mut covered_at) = (prior(), 0, 0);
while let Some((next, _, _)) = step(tile, &field, &h) {

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 Report zero coverage when the truth set is empty

When a fixture has no true boundary in the inner region—such as the uniform tile and the split at x = 2—truth.is_subset_of(...) is already true before any observation, but episode checks it only after the first step and therefore reports covered_at = 1. row_major_coverage makes the same post-visit check, so the pinned (1, 1) results incorrectly claim that one observation was required to cover an empty truth set; initialize this case as covered at step zero (and return zero from the row-major comparison) so the experiment's coverage metric is accurate.

Useful? React with 👍 / 👎.

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