Repository navigation
crepe-plan-probe: ascent as a second oracle for walk_mask - #1637
Conversation
walk_mask now also runs crepe's graph_walking program through the AdaWorldAPI ascent fork (master). The bit-plane counts must equal both crepe's and ascent's. Measured (release, median of 9): | n | crepe ms | ascent ms | mask ms | |-----|----------|-----------|---------| | 128 | 11.1 | 4.7 | 0.29 | | 256 | 72.5 | 26.5 | 1.10 | | 512 | 520 | 129 | 2.42 | The crepe column uses the default hasher; crepe's own Fnv bench is 7.6 / 41.2 / 290.6 ms. Disable run: tightening ascent's length bound to `< 50` fails the ascent count assertion. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VncKoyG6JkpsoqhqTGTv3f
|
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 |
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. |
|
Add Carrot credits or activate Agent usage billing to use Autofix |
…size, CI fixtures Follow-up to #1637. Lab only; no production path. - The bit planes are decoded into canonical Walk(x,z,len) and NoWalk(x,y) sets and compared tuple for tuple with ascent's and crepe's sets. Decoding is outside every timed region and timed on its own. - Above ORACLE_MAX_N (512) neither oracle runs and the table prints UNCHECKED, instead of comparing the mask result with itself. - Count-only time (fixpoint + popcounts) and tuple time are separate columns; the count path is checked against the decoded sets. - The table reports plane memory (3 x (L+1)*n*ceil(n/64)*8 bytes) and the value-addressed row reads. The hop is a gather, so this stays a lab upper bound, not an ADMISSION-B operator (module docs). - Eight #[test] fixtures: edge lengths {1,2,3,5,7}, cycles, alternative path lengths (hand-derived expected sets), MAX_PATH_LEN inclusive and exceeded, 64-bit word boundaries (n = 63..129), ids that are not nodes, zero-length edges, the benchmark generator at n = 64. - CI runs cargo test --example walk_mask; the benchmark is not run in CI. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg
…MAP tiles walk_tile.rs evaluates crepe's graph_walking program (Walk(x,z,len) for len in 0..=50, NoWalk) over 256-slot RMAP foci and 256x256 Boolean tiles, against walk_mask (#1637, #1642) as the measured baseline. - Reuses rmap::{Focus, Witness, Refusal, tile_addr}, a mask-risc Ternlog program per coordinate for the tile product, tile_gemm::BitMat as an independent kernel oracle, and walk_mask's oracles and fixtures (the baseline file is compiled in as a module; walk_mask.rs only gains pub(crate) on the items reused, no behaviour change). - Phases timed apart: attestation, witness validation, identity resolution and focus binding, projection, recursion, count-only, decoding. Value-derived reads reported by origin. - More than 256 nodes: paged across foci, cross-page edges counted; more foci than allowed, or a scope that misses reached ids, is refused. - Refusals tested: stale witness (focus, facts, seal), incomplete focus, a wrong path length (counts equal, oracle differs), a program with MaskOp::Gather. - Chain fixture needs >= 200 iterations; a zero-length ring terminates. Lab only. Not an ADMISSION B demonstration: the binding uses a probe-local witness, not the attested sorted key the ruling names. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg
Follow-up to #1634.
What changes
examples/walk_mask.rsnow runs crepe'sgraph_walkingprogram a third way: through the AdaWorldAPI ascent fork (master), added as a dev-dependency. The bit-plane evaluation must give the sameWalkandNoWalktuple counts as both crepe and ascent. Lab only; no production path changes.Measurement (release, median of 9)
The crepe column uses the default hasher. crepe's own criterion bench, which uses Fnv, is 7.6 / 41.2 / 290.6 ms. Against that bench, ascent is 1.6–2.2× faster than crepe.
The gap to the bit planes grows with n:
Both macros would need a domain annotation for a dense node range and a bounded length to get this.
Tests
< 50fails the ascent count assertion.-D warnings) and fmt are clean.Generated by Claude Code