cognitive-shader-driver: emit CE64 from the SPOFC record (follow-up to #1293) - #1294
Conversation
Stage [5] packed every edge from the hit alone: S = row%256, O = (row/4)%256 (a row id in palette-address space), f = c = resonance, the p64 predicate bits raw as the Pearl mask, and topology left at the packed default Direct. Now each edge is packed from its candidate's SPOFC record: - S / O are palette256 indices: the row's stored archetype (the value the cascade queries with) and the partner's (a P64 target, or a row partner's stored archetype). P stays 0: no predicate palette exists. - f / c are the SPOFC truth; confidence counts supporting relations. - The Pearl mask is the inverse of edge_to_layer_mask's causal half. `predicates & 7` put SUPPORTS on bit 2, which reads back as CONTRADICTS. - Topology says how the relation was found: a P64 target is Direct, a content-similarity partner is Unknown. Adds ce64_recount_probe: learn() pools a repeated observation as fresh evidence, and the driver's ALL_FROZEN emission plasticity stops learn() moving S/P/O. Both are characterisations for the cross-cycle work. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019HnekoM1EidTwQLS3oFVFm
The round-trip test covered layers_to_causal_mask, but emission could still pass the raw bits: the CAUSES fixture maps to bit 0 either way. Moved the fixture to a SUPPORTS plane, which has no Pearl bit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019HnekoM1EidTwQLS3oFVFm
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019HnekoM1EidTwQLS3oFVFm
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Essentials Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
Bugbot couldn't run - usage limit reachedBugbot 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: serverGenReqId_f8072d30-9f16-4d49-aefc-a4c6a3694564) |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019HnekoM1EidTwQLS3oFVFm
Bugbot couldn't run - usage limit reachedBugbot 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: serverGenReqId_5c84e4c7-9e66-4669-9e99-580ea9a8f2f8) |
fa9a9b0
into
claude/llvm-codegen-polyfill-gni3cw
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 04315c7432
ℹ️ 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".
| spofc.truth.confidence, | ||
| layers_to_causal_mask(spofc.predicates), | ||
| 0, | ||
| style_ord_to_inference(style_ord), |
There was a problem hiding this comment.
Derive the emitted predicate from the SPOFC relation
For a SUPPORTS-only dispatch using analytical style, as in the new Ordinal(1) fixture, layers_to_causal_mask emits zero while style_ord_to_inference emits Deduction; consequently p64_bridge::edge_to_layer_mask reconstructs CAUSES rather than SUPPORTS. Other non-Pearl predicate layers are similarly preserved only when the unrelated thinking style happens to select the matching inference type, so feeding emitted edges back through the documented bridge silently moves relationships between planes. Encode relation-derived inference or emit the predicates separately instead of using the style for this field.
Useful? React with 👍 / 👎.
| 0, | ||
| o_palette, | ||
| spofc.truth.frequency, | ||
| spofc.truth.confidence, |
There was a problem hiding this comment.
Keep confidence scoped to the emitted object
When a candidate has supports for different partners—the normal cascade returns up to four distinct targets, as the new test demonstrates—spofc.object names only the best target while this confidence counts every target in c.support. The resulting CE64 therefore asserts one specific S/P/O statement with the evidence weight of unrelated alternative objects, and downstream revision or ranking will treat those alternatives as repeated confirmation of the chosen edge. Compute confidence from supports matching the emitted statement or emit separate edges for the distinct relationships.
Useful? React with 👍 / 👎.
…l-gni3cw cognitive-shader-driver: emit CE64 from the SPOFC record (land #1294 on main)
…l-gni3cw-revert-1294 Revert #1294
Follow-up to #1293 (merged); retargeted to
main.This is the follow-up to #1293. #1293 collects each row's supporting relationships into one SPOFC record, but that record never reaches the emitted CausalEdge64 (CE64). This PR writes it into the CE64 (leg A). It also verifies what the cross-cycle learning would rest on, and records what is missing for the rest rather than inventing substitutes.
Leg A: emit CE64 from the SPOFC record
Stage [5] used to pack every edge from the hit alone. Each field changes as follows:
row%256,(row/4)%256(a row id placed in palette-address space)resonance,resonancec = m·255/(m+k)counts supporting relationshipspredicates & 0b111p64_bridge::edge_to_layer_mask's causal halfDirect, for every edgeDirectfor a P64 target,Unknownfor a content-similarity partnerA bug fixed on the way. p64 plane 2 is SUPPORTS, but
edge_to_layer_maskreads Pearl bit 2 as CONTRADICTS. So every supporting relation was emitted as a contradiction.Tests. Each was checked by disabling what it protects and confirming it goes red:
emitted_edge_carries_the_p64_target_and_its_evidencecontent_partner_edges_do_not_claim_a_direct_topologyUnknownand carry evidence confidenceDirect; c = resonancecausal_mask_round_trips_through_p64_layersedge_to_layer_maskThe fixture stores archetype 2 rather than 0, because row 0's
row%256is also 0 and would pass by accident.Effect. Emitted edges change in every dispatch.
cycle_fpand top-k are unchanged, since they read the candidates, not the edges.Verified for the cross-cycle legs (not implemented)
tests/ce64_recount_probe.rscharacterises current behaviour:learn()pools a repeated observation as fresh evidence. Confidence rises again on the second revision with the same observation.ALL_FROZEN, solearn()can never move S/P/O on those edges.More, all read in code:
runwrites an edge back.persist_cyclewrites onlyemitted_edges[0], has test-only callers, and targets anArc<BindSpace>thatruncannot mutate.tables.revise(...)and throws the result away.fis the best resonance; arm-discovery'sfiscooccur/antecedent, and a dispatch has no antecedent count to compute that ratio from.ogar-r2ilandr2il-mask-abi-probehave zero hits. "r2il SPOFC" appears only in docs.jc::ewa_sandwich) is covariance push-forward and counts no evidence. Its only epistemic use is the PROPOSEDmul-ewa-trust-propagation-v1.md, which names the circularity (Σ → trust → gate → Σ). A completion it supplies is a prior, never an observation.fusion.rs(shared_roots/inherited_roots) andnars::belief::revise_atalready treat two supports from one root as one witness. The dispatch path has no carrier for that.Missing dependencies (named in the plan, not substituted)
COMPONENT-MAP.md§6 haspersist_cycleBLOCKED→W4a. Write-back must go throughcast(on_behalf = mailbox_owner()).le-contract.mdforbids new awareness semantics in CE64 bits. Where the stamp lives is undecided.update_planeshas no production caller, andconvergence.rsaddresses with%64where p64-bridge uses/4.Plan:
.claude/plans/ce64-spofc-learning-v1.md.Checks
cognitive-shader-driver: all test binaries pass (115 lib tests plus the new probe); clippy-D warningsand fmt are clean.INTEGRATION_PLANS.mdupdated (new entry prepended);SUPERSESSION-INDEX.mdregenerated.🤖 Generated with Claude Code
https://claude.ai/code/session_019HnekoM1EidTwQLS3oFVFm
Generated by Claude Code
Generated by Claude Code