Repository navigation
board: co-research map — why the relalg / D-RU-6 probes measure milliseconds - #1657
Conversation
Attributes the milliseconds per path. Folding is missing at the terminal: tuple decoding (O(n) bit tests, BTreeSet, a full NoWalk complement) and the native count terminal enumerating. relalg U1/U2 are intrinsic row scans. Exploration map: X1-X3 demand-typed plane terminal, X4 set-bit decode and X9 allocation hoist ADOPT-NOW (lab); X6/X5/X8/X10/X11/X17 PROBE; X7/X14 SKIP (they change the answer). The D-RU-6 tuple oracle stays, untimed and encoded into reference planes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg
|
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. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 325457c216
ℹ️ 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".
…1657) ADMISSION B demands an attested sorted key for same-table key-range seeks only; frozen-codebook decoding is admitted on an immutable mapping within the attested version (six-decisions §1, d-relalg-unified-v1.md:234). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg
…enumerating The native terminal answered every count by building each binding into a BTreeMap. fold_kind decides from the plan alone (fold law 1) which counts fold; count_over_mask answers them from the joint mask: - Bag: sum over slots of the product of per-side filtered degrees; - Set (one rule whose head holds the center): product of distinct filtered values of the head-referenced sides, exact because JoinDomain is injective (proof in the doc comment, narrowing fold law 7); - filtered Exists: first slot with every factor >= 1, no product. A zero factor is checked before the product; an unrepresentable count is refused (NativeRefusal::CountOverflow) instead of falling back. Used by pipeline::execute and cse::execute_shared; Report/SharedReport gain the terminal that answered. execute_with / execute_shared_with(fold=false) force enumeration for tests. Corrects the SidePlan::emit doc comment. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg
…minal) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg
Three of its four measured cases were milliseconds (filtered Count(Bag) 1.2 ms, Count(Set) 1.6 ms, filtered Count(Set) 1.3 ms on 50,000 centers), it kept the enumerating terminal (243-310 ms) for Bindings and multi-rule Set, and it used scalar loops and a per-slot sort instead of the ndarray polyfill. Operator rule: no millisecond result anywhere; nanoseconds per operation, microseconds at most per batch. The commits stay recoverable. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg
…d, X6 reverted Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg
Nanoseconds per operation, at most microseconds per batch. An ms result is a failed gate. Adds the format-template mental model (a value is read through a template, never split into owned objects) and what a session must do before reporting a timing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg
…s, never copied values Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg
… classified Policy finding (F9) plus classified sites. No code changed; mask-risc untouched. Mandatory refactor scope: crepe-plan-probe only. Follow-ups EXO-103..118. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg
… time); no half is kept
Corrects the council entry's R5 ('emitting half', 'survives as a fold') and the
CLAUDE.md P0 bullet.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg
… kept masks
Every terminal now folds over each rule's kept mask; no row is built in the
library, the tests or the examples.
- native: tuples_over_mask, NativeAnswer and bindings are gone. Exists, bag
count and set answers are folds (any_derivation, bag_count, add_distinct
into value-space masks). Set answers over more than one free column are
refused (SetRefusal::MultiColumn, GAP-A2), never deduplicated by a sort.
- Bag bindings stay as kept slots over the prepared tables. A row is a head
template read over the lanes in place ("{0}{1}" -f $laneA[$i],$laneB[$i]):
for_each_derivation walks side positions, never values. matching(pattern)
counts the rows reading as a pattern; a pinned center inverts its global id
to the local slot (slot_of) and reads one slot.
- Answers::{total, matching, for_each} are the one comparison surface. Tests
and examples compare answers by these folds; the row expanders that had
been added on the test/oracle side are removed too.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg
…) on both paths No test pinned the join variable through a post filter with propagation off, so disabling narrow_center left every test green. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg
The whole substrate is zero copy. The only "exception" is the inversion
(global to local), which materializes the pointer table $i and nothing else.
A tuple is the template "{0}{1}" -f $laneA[$i],$laneB[$i]; a (Guid, Guid)
value pair is the violation. Strikes the coordinates/lens/membrane legs of
the tuple council entry and records Side::prepare's value copy as open.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg
# Conflicts: # .claude/board/entries/README.md
main (#1657) removed native::bindings, the tuple builder. CoEval::bindings built the same shape (a clone per combination, sort, merge into Vec<(Vec<u64>, u64)>), so it is replaced by CoEval::matching(pattern), a fold over the joint that inverts a pinned center to its slot. The parity test compares bag totals and, per derivation the star path reads, the pinned multiplicity against native::matching; the disjunctive test compares totals and per-center / per-(x, c) counts against a counting nested-loop oracle. The entries index is regenerated. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg
This PR adds one board entry,
entries/2026-10-21-coresearch-ms-vs-ns-folding.md, plus the regenerated index. It changes no code: the count fold pushed here earlier was reverted in c49db8d, so the tree matches 4071ec1.What the map found
Why the count fold was reverted
The operator rule is that no millisecond result is acceptable anywhere: a single operation must take nanoseconds, a batch at most microseconds.
Three of the four cases took milliseconds. Other problems:
Nothing is adopted. D-RU-6 stays in the lab.
🤖 Generated with Claude Code
https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg