Skip to content

D-EPI-COT C3b: scent ranks candidate mediators by testability - #1842

Merged
AdaWorldAPI merged 3 commits into
mainfrom
ccr-39105428-bcm2m2-epi-cot-c3b
Oct 28, 2026
Merged

AdaWorldAPI merged 3 commits into
mainfrom
ccr-39105428-bcm2m2-epi-cot-c3b

Conversation

@AdaWorldAPI

Copy link
Copy Markdown
Owner

Adds C3b, scenting. This PR is stacked on #1840 (base branch ccr-39105428-bcm2m2-epi-cot) and is independent of #1841. After #1840 merges, retarget this PR to main; otherwise its commits never reach main.

What it does

nars::scent::scent answers one question: for an edge at IndirectUnknown × Causes (raw5 22), which candidate mediator B should be investigated next?

It reads only the #1840 ledger and the sealed chain. It writes no edge, truth value or certification, and stores nothing between calls. pearl::hydrate is still the only thing that moves topology.

Each candidate gets a status:

status condition
Testable One link of A → B → Y is in the sealed chain and grounded in the ledger; the other is missing. One observation decides whether B hydrates.
Contested Both links are bound, but the evidence on one no longer holds (pooled frequency below 0.5, a policy pin).
Open Neither link is anchored, or both are missing.
Settled Both links are bound, and both hold.

Leads sort in the order of that table. Within a status, the more uncertain lead comes first; uncertainty is the binary entropy of the NARS expectation, or 1 for a link with no evidence. Remaining ties go by mediator id.

Uncertainty alone can't tell a lead worth testing from noise: every candidate with no evidence scores the maximum. D-CE64-STAUNEN-0 measured the same failure for raw surprise.

Falsifiers

There are 6 tests. Four guards were each disabled in turn, and each disable turns its test red.

  • S4: four candidates with equal uncertainty (1.0), only one of them testable. On a fixture world with an oracle, scent hydrates the true mediator in 1 investigation; ordering by uncertainty alone takes 4. Disable: rank by uncertainty only.
  • A chain link without ledger evidence is not an anchor. Disable: let a chain binding alone count as an anchor.
  • S1/S8: a settled lead reopens as contested when independent evidence contradicts it. The edge stays IndirectKnown × Causes. Disable: mark a lead settled regardless of its evidence.
  • S3: replaying one source's observation 63 times leaves the scent unchanged.
  • S7: running scent 100 times changes nothing.
  • Edge checks: an edge that is not the target relation is refused, as is a term out of range. Disable: skip the edge check.

Gates

  • Planner lib: 483 tests pass. fmt is clean, and clippy --lib is clean.
  • clippy --lib --tests reports the same 8 failing sites as main 694b243bd. None are in this diff.

Not in this PR

  • Breadth of evidence: the 1-vs-4 result comes from one hand-built world. Measuring across world shapes and seeds belongs in an extended STAUNEN-0 probe.
  • Scheduling terms: no budget, habituation or learning-progress terms.
  • Maturation bits 50..52 stay unwritten. New declared readings use the order 7 = Staunen … 0 = Wisdom.
  • C3c (LUT9 learning): follows after an owner check with EXO-152.

Draft; not for automatic merge.


Generated by Claude Code

nars::scent ranks candidate mediators B of an A->Y edge: a lead with one
link bound in the sealed chain and grounded in the ledger, and the other
missing, is testable (one observation decides) and ranks first; then
uncertainty (binary entropy of the link's NARS expectation, 1 without
evidence). A settled lead reopens as contested on independent
contradiction. Writes no edge, truth or certification; stores nothing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XAqKMPWTwovjYJEUMuGPb4
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XAqKMPWTwovjYJEUMuGPb4
@coderabbitai

coderabbitai Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

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

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 1ff4dac5-e9b3-4c7c-8922-ae70682857d7
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

@AdaWorldAPI
AdaWorldAPI marked this pull request as ready for review October 28, 2026 19:16
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-28T19:16:58.468120Z e9c37dd Draft marked ready
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@AdaWorldAPI
AdaWorldAPI changed the base branch from ccr-39105428-bcm2m2-epi-cot to main October 28, 2026 19:19
@AdaWorldAPI
AdaWorldAPI merged commit 80307cd into main Oct 28, 2026
11 checks passed
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