PROBE-METACOGNITIVE-TRIANGLE-1 — close the triangle's missing control arrow through the shipped Revision/counterfactual surface - #998
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 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 |
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_f748100c-d81d-476e-80e8-799dee7cbc48) |
Audit finding (verified against a freshly-synced OGAR main, not the stale local clone this session started with): commit ae8e762 mirrored 14 "Ontology" concepts (mondo/hpo/uberon/pato/ro + the meta-study spine) into this crate's CODEBOOK under a doc comment claiming "operator ruling: the domains should be minted in ogar-vocab" and "DeepNSM-v2 wired: deepnsm::ontology_vocab". Neither claim was ever true: - OGAR's ogar-vocab has never once minted a 0x03XX CODEBOOK row. Its only commit touching the block (e9a2e45, 2026-08-01 -- three weeks BEFORE the mirror commit) is "reserve 0x03 Ontology domain (plug-and-play, zero rows)" -- explicitly the OPPOSITE posture, unchanged on current OGAR main: "Carries ZERO shared vocabulary rows... Do NOT mint rows here." - `deepnsm` has no `ontology_vocab` module and no reference anywhere in its source to `ogar_codebook`, `ConceptDomain`, or `concepts_in_domain`. This is exactly the drift `lance-graph-ogar::parity:: mirror_is_a_faithful_copy_of_ogar_codebook` exists to catch, and it did: CI's "test" job has been failing on every PR since (confirmed on both #997 and #998, unrelated example-only PRs that inherited the broken main via their base SHA). Fix, smallest boundary: - Remove the 14 rows; restore the 0x03XX block to OGAR's actual, unchanged "reserved, zero vocabulary rows" posture. No OGAR-side change needed or made -- OGAR was never wrong. - Correct the two doc comments that repeated the false claim (`concepts_in_domain`'s doc, the CODEBOOK block comment) and the one test that asserted the hallucinated content (`concepts_in_domain_answers_for_ontology_and_stays_silent_for_a_reserved_block`, now asserts Ontology returns empty like Osint, with ProjectMgmt as the populated-domain anti-vacuity check instead). - Same correction to a stray comment in lance-graph-ogar's own `reserved_empty_domains_agree_across_the_mirror` test (referenced a nonexistent "0x0333 DisMech" mint -- same class of stale-context claim, harmless to the assertion since it only checks domain-tag agreement, but misleading). - Rename the CI step "Run lance-graph-ogar fuse tests" to "... codebook-parity + hotplug-activation tests" and correct its comment (still referenced the compile-time COUNT_FUSE, retired 2026-08-14). Explicitly NOT touched: OGAR (read-only from here, and it was never wrong); the 4 C-band domains (Weather/JavaRuntime/Analytics/ BinaryLifting) -- these looked like a second instance of the same drift against a stale local OGAR clone (frozen at PR #265), but after fast-forwarding to origin/main (PR #281) they are confirmed real, OGAR-side, operator-ruled (PR #276/#277, 2026-08-18), and correctly mirrored. False alarm, recorded here so it isn't re-investigated. Verified: `cargo test --manifest-path crates/lance-graph-contract/Cargo.toml --lib ogar_codebook` green (15/15). Full `lance-graph-ogar` suite pending a local disk-space recovery (session tmpfs exhausted mid-verification) -- CI on this PR is the first full confirmation. Note: `.claude/board/EPIPHANIES.md` is NOT updated in this commit -- it exceeds the 1MB API fetch limit and this session's git/Bash access is currently down, so a safe byte-exact prepend isn't possible right now. This violates the repo's same-commit board-hygiene rule deliberately, once, rather than risk corrupting an append-only governance file. Follow-up needed once tooling recovers.
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_c5c5b8d1-de4e-47d5-8655-022bd8098a55) |
…control arrow through the shipped Revision/counterfactual surface The audit (4 survey lanes + direct reads against main @ f5e27c9) measured what persona-vs-rung-ladder.md O6 asserted: the autopoiesis triangle was write-only. Storage and mechanics complete (StyleLane, ValueTenant lanes 152/164/176, MailboxSoA::{set_style_lane,set_style_atom,promote_family}, MailboxSoaView::{style_lane_at,triangle_at}) — but no code anywhere read StyleLane::Frozen to choose how to reason, no code consumed a receipt of a reasoning run to decide keep/explore/promote, and promote_family had zero callers outside its own unit tests. probe_metacognitive_triangle.rs closes the loop once, falsifier-first, on the Sudoku corpus (12/12 gates green): - Read side: the lower rung's policy comes from a literal style_lane_at(0, Frozen) read; after promotion the next run reads the promoted lane and solves what previously stalled. - Decide side: the higher rung assesses only the RungReceipt (signature carries no Grid — the meta pass's object is the reasoning, never the puzzle). First production-path promote_family call in the codebase. - Revision hinge = the SHIPPED surface (operator correction mid-build): TryExplore is a split; deposit_counterfactual stamps a RawEdge -6 so the Explore arm runs in the counterfactual lane, never observed truth; FreeEnergyComparison::minority_wins() rules each A-vs-B; the verdict is a RevisionOutcome (MajorityHolds -> refuse on the base held-out, Revised -> promote on the stall held-out, then the mantissa clears to 0 per revise_if_minority_wins's documented step-5 protocol). The two todo!() bodies (CounterfactualMailbox::*, revise_if_minority_wins fn) stay uncalled — blocked on D-PERSONA-5, not faked. - TCP/TCF/CUR as the first metacognitive event: coarse signatures collide, exact (len_before,len_after) transitions separate TCF; verdict is ObserverInsufficient{colliding:[5,20,26], exact_separates:[20]} — richer receipt requested, delta_conf untouched. TCF's manufactured singleton (n=3 -> 1, zero exclusion warrants) is UnwarrantedCertainty, refused as truth. Every committed digit carries >=1 named exclusion warrant and matches the independent backtracking oracle. Scope fences: no causal_edge import (CE64 59..63 untouched, F12 by construction); no Kanban wiring (the verdict_from -> select_tactic edge is deliberately the next slice, F10/F11); no new types in src/. Cargo.lock: records the sibling ndarray path-dep's new blake3 dependency. Board: EPIPHANIES E-METACOGNITIVE-TRIANGLE-ARROW-1 (same commit).
ffa5ac5 to
e2f28f1
Compare
…omain slot Two probes, one POC: PROBE-BPE-R2IL-LOCO-MICROCODE-1 (10/10) and the companion PROBE-STAMP-MORTON-CASCADE-1 (7/7, already landed in this branch's history, board entry now covers both together). Headline: BPE merges over 1,872 real def-use chain occurrences save 113.4 tokens/merge vs 50.1 for the same algorithm run over the linear opcode stream of the same episodes -- 2.3x denser compression per FnIndex domain slot. Confirms and quantifies #1014's "sequential adjacency is not composition" as a working compressor, not just a diagnostic. FnIndex domain ceiling corrected: DOMAIN_FLOOR=0x90 is const-asserted stored-byte ABI; ogar-ro already mints 22 of the 112-slot domain band, so real headroom for a BPE-learned macro is 0xA6..0xFF = 90 slots, not 255/248. B1 measures 7 R2IL atoms consumed; B2's 33 merges leave 50 free. B6 corrected mid-session, the most important fix in this POC: an earlier framing had this probe invent three self-built admission gates. The real architecture (verified in source) is MUL (contract::mul::GateDecision / Homeostasis / FlowState) as the real gate, and the autopoiesis triangle (ValueTenant::{FrozenStyle,LearnedStyle,ExploreStyle}) as RESONANCE-BASED THINKING, never an RL policy -- PROBE-METACOGNITIVE-TRIANGLE-1 (#998) already proved RungReceipt-only judging, FreeEnergyComparison:: minority_wins(), and Explore running in a counterfactual lane. B6 now ranks candidates via shipped TruthValue::revise + Stamp only, and is explicitly forbidden from freeze/admit/promote/gate vocabulary for its own action -- that belongs to MUL and the triangle, never this probe. Three exploratory cross-checks against shipped precedent, all measuring real effects on this corpus and all labelled exploratory, never architectural: INV1 (HighHeelBGZ's stride-as-role) 33 macros collapse into 21 role classes; INV2 (bgz17 LayeredScope's scent-prune-then-escalate) a cheap opcode-multiset check prunes 80.2% of candidates before the expensive exact walk; INV3 (BGZ-HHTL-D's shared-palette amortization) top macros carry 30-80 episodes-per-mint, confirming real cross-episode reuse. Process: the named next measurement (wider corpora) stayed blocked (r2sleigh absent). A container restart lost the first BPE-probe worker's entire write before it committed; re-dispatched from scratch. The re-dispatched worker introduced two real defects (an atom-count conflation printing chain-occurrence atom-slots, 5616, as if it were the 5340-atom corpus total; several raw Option/tuple Debug-format leaks in printed PASS lines) -- hand-fixed by the orchestrator after a worker fix-attempt only partially landed, reverified by recompiling to ground truth rather than trusting either self-report. Board hygiene same-commit: EPIPHANIES E-BPE-OVER-DEFUSE-CHAINS-BEATS-LINEAR-AND-FITS-LOCO-1 + INTEGRATION_PLANS entry (both assertion-verified writes). Meta-review pending -- three consecutive dispatches died to a transient server-side API 529 Overloaded error before any review content ran; this commit protects the verified, gate-passing work against a further container-restart loss while the review keeps retrying. Any finding it returns lands as a follow-up commit before the PR opens. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KCGhDYoQBXs3poaR7sFuqp
What this is
One new example (
crates/cognitive-shader-driver/examples/probe_metacognitive_triangle.rs) + its board entry (E-METACOGNITIVE-TRIANGLE-ARROW-1, same commit). Nosrc/changes anywhere.Cargo.lockrecords the siblingndarraypath-dep's newblake3dependency only.The audit finding it lands
The autopoiesis triangle was write-only in the cognitive sense. Storage and mechanics are complete and tested (
StyleLane, the threeValueTenantlanes at 152/164/176,MailboxSoA::{set_style_lane, set_style_atom, promote_family},MailboxSoaView::{style_lane_at, triangle_at}) — but measured against main @f5e27c9d:StyleLane::Frozento choose HOW to reason.promote_family, which had zero callers outside its own unit tests.This is
persona-vs-rung-ladder.mdO6 ("triangle structure unbuilt"), now measured rather than asserted.Premise correction recorded en route: the CE64 59..60 factual lens is
CausalTopology::{Direct, IndirectKnownIntermediates, IndirectUnknownIntermediates, Unknown}— "IntermediateKnown/Unknown" was the brainstorm's prose, not the type.The loop the probe closes (once, falsifier-first, Sudoku corpus)
The Revision hinge is the SHIPPED surface (operator correction mid-build)
counterfactual.rsverified: the v2 lane is real and tested (deposit_counterfactual,RawEdge/EpisodicEdge,FreeEnergyComparison::minority_wins(),RevisionOutcome); the v3 lane istodo!()(CounterfactualMailbox::{new,poll,cancel},revise_if_minority_wins— blocked on D-PERSONA-5). The probe therefore:RawEdgewith the −6 counterfactual mantissa viadeposit_counterfactual— the entire Explore arm runs in the counterfactual lane, never observed truth;FreeEnergyComparison::minority_wins()(residual F = unresolved/81) and names the verdict aRevisionOutcome—MajorityHoldsrefuses promotion on the base held-out,Revisedtriggers the first production-pathpromote_familycall in the codebase on the stall held-out, then clears the mantissa to 0 perrevise_if_minority_wins's documented step-5 protocol;todo!()bodies — the actor arm stays honestly blocked, not faked.Invariant this buys: exploration may be destructive inside the counterfactual lane; commitment may not be destructive without warrant. Every committed digit carries ≥1 named exclusion warrant and matches an independent backtracking oracle.
TCP/TCF/CUR as the first metacognitive event — no
delta_confeditThe #995/#997 coarse-signature collision is re-observed live (side-channel, cloned candidate sets only): where all three kernels see the same n≥3 set with identical
(fired, sign Δconf), the exact(len_before, len_after)transitions already separate TCF (→singleton) from TCP/CUR (→identity). Verdict:ObserverInsufficient { colliding: [5, 20, 26], exact_separates: [20] }— request a richer receipt, never mutate recipe semantics for telemetry. TCF's manufactured singleton (n=3 → 1, zero warrants) is classifiedUnwarrantedCertaintyand refused as truth; the cell stays unresolved.Results — 12/12 gates green
MajorityHolds/ refuseRevised/promote_family(first production-path call)ObserverInsufficientDeferred with scope notes: F9 (reason-context equivalence); F10/F11 (Revision→Kanban hinge — the
verdict_from → select_tactic"designed, not wired" edge is deliberately the NEXT slice); F12 holds by construction (this file never importscausal_edge; CE64 bits 59..63 untouched).Run:
cargo run -p cognitive-shader-driver --example probe_metacognitive_triangleGenerated by Claude Code