Skip to content

PROBE-METACOGNITIVE-TRIANGLE-1 — close the triangle's missing control arrow through the shipped Revision/counterfactual surface - #998

Merged
AdaWorldAPI merged 1 commit into
mainfrom
claude/probe-metacognitive-triangle-1
Aug 23, 2026
Merged

PROBE-METACOGNITIVE-TRIANGLE-1 — close the triangle's missing control arrow through the shipped Revision/counterfactual surface#998
AdaWorldAPI merged 1 commit into
mainfrom
claude/probe-metacognitive-triangle-1

Conversation

@AdaWorldAPI

Copy link
Copy Markdown
Owner

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). No src/ changes anywhere. Cargo.lock records the sibling ndarray path-dep's new blake3 dependency 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 three ValueTenant lanes at 152/164/176, MailboxSoA::{set_style_lane, set_style_atom, promote_family}, MailboxSoaView::{style_lane_at, triangle_at}) — but measured against main @ f5e27c9d:

  • Read side: no code anywhere read StyleLane::Frozen to choose HOW to reason.
  • Decide side: no code consumed a receipt of a reasoning run to decide keep/explore/promote. The teacher probe computed decisions from fresh grades and bypassed promote_family, which had zero callers outside its own unit tests.

This is persona-vs-rung-ladder.md O6 ("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)

frozen lane ──READ──▶ lower rung reasons about the puzzle
                             ▼
                   RungReceipt (warranted assignments, fixed point,
                   unresolved count, kernel side-channel events)
                             ▼
           meta pass — object = the receipt, NEVER the grid
                             ▼
     KeepFrozen / TryExplore / RecordLearned / promote_family
                             ▼
           next run READS the lane it chose (and solves the stall)

The Revision hinge is the SHIPPED surface (operator correction mid-build)

counterfactual.rs verified: the v2 lane is real and tested (deposit_counterfactual, RawEdge/EpisodicEdge, FreeEnergyComparison::minority_wins(), RevisionOutcome); the v3 lane is todo!() (CounterfactualMailbox::{new,poll,cancel}, revise_if_minority_wins — blocked on D-PERSONA-5). The probe therefore:

  • declares TryExplore a split (frozen commitment = majority pole, explore hypothesis = minority pole) and stamps a RawEdge with the −6 counterfactual mantissa via deposit_counterfactual — the entire Explore arm runs in the counterfactual lane, never observed truth;
  • rules every A-vs-B with FreeEnergyComparison::minority_wins() (residual F = unresolved/81) and names the verdict a RevisionOutcomeMajorityHolds refuses promotion on the base held-out, Revised triggers the first production-path promote_family call in the codebase on the stall held-out, then clears the mantissa to 0 per revise_if_minority_wins's documented step-5 protocol;
  • does not call the two 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_conf edit

The #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 classified UnwarrantedCertainty and refused as truth; the cell stays unresolved.

Results — 12/12 gates green

Gate Result
F1 keep-frozen on warranted progress PASS
F2 fixed point + unresolved → TryExplore PASS
F4 degenerate explore stays silent (minority does not win → no Learned write) PASS
F5 minority wins → Learned recorded PASS
F6 held-out non-reproduction → MajorityHolds / refuse PASS
F7 held-out reproduction → Revised / promote_family (first production-path call) PASS
read-side arrow: next run reads the promoted Frozen lane, 0 unresolved PASS
counterfactual lane: −6 stamped on TryExplore, cleared to 0 on Revised PASS
F8 coarse collides / exact separates TCF → ObserverInsufficient PASS
F3/F15 unwarranted certainty refused; every commit carried ≥1 warrant PASS
F13 bystander row byte-identical PASS
F14 full-loop determinism (identical decisions + logs) PASS

Deferred 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 imports causal_edge; CE64 bits 59..63 untouched).

Run: cargo run -p cognitive-shader-driver --example probe_metacognitive_triangle


Generated by Claude Code

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@coderabbitai

coderabbitai Bot commented Aug 23, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 3eefcf17-18fb-4f9a-80ff-8e4a502d189a


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@cursor

cursor Bot commented Aug 23, 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: serverGenReqId_f748100c-d81d-476e-80e8-799dee7cbc48)

AdaWorldAPI added a commit that referenced this pull request Aug 23, 2026
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.
AdaWorldAPI added a commit that referenced this pull request Aug 23, 2026
…ft-repair

ogar_codebook: retract the 14 hallucinated 0x03XX Ontology mirror rows (fixes CI on #997/#998)
@cursor

cursor Bot commented Aug 23, 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: 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).
@AdaWorldAPI
AdaWorldAPI force-pushed the claude/probe-metacognitive-triangle-1 branch from ffa5ac5 to e2f28f1 Compare August 23, 2026 10:20
@AdaWorldAPI
AdaWorldAPI merged commit 885f6ca into main Aug 23, 2026
5 checks passed
AdaWorldAPI pushed a commit that referenced this pull request Aug 24, 2026
…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
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