Skip to content

D-EPI-COT C3: tactics run only on grounded, Epi5-eligible markers - #1841

Merged
AdaWorldAPI merged 8 commits into
ccr-39105428-bcm2m2-epi-cotfrom
ccr-39105428-bcm2m2-epi-cot-c3
Oct 28, 2026
Merged

AdaWorldAPI merged 8 commits into
ccr-39105428-bcm2m2-epi-cotfrom
ccr-39105428-bcm2m2-epi-cot-c3

Conversation

@AdaWorldAPI

@AdaWorldAPI AdaWorldAPI commented Oct 28, 2026 •

Copy link
Copy Markdown
Owner

This PR is C3 of D-EPI-COT. It is stacked on #1840 (base branch ccr-39105428-bcm2m2-epi-cot). After #1840 merges, retarget this PR to main; otherwise its commits never reach main.

What it does

It connects the #1840 derivation ledger to the Epi5 machinery that already exists. No new reasoning or hydration kernel is added: pearl::reason, revise and hydrate (#1390/#1391) stay the only writers of bits 59..63.

1. Ledger → pearl::hydrate (nars::mediator::hydrate_from_ledger)

  • It finds the ledger's grounded deductions of A → Y through B, passes the path to the unchanged pearl::hydrate, and returns a receipt:
    • derivation ids and their source roots;
    • the Hydration result and the edge after hydrate;
    • the change in A → Y's truth when the derivations through B are removed.
  • The ledger never creates a chain. If the sealed chain does not contain both links of a ledger path, the edge stays IndirectUnknown × Causes (raw5 22).
  • The adapter refuses a path that exists only in the chain, because the ledger has no receipt for it.
  • It reads only the subject and object of each chain step, never the step's u8 tag (pearl::hydrate: a binding counts only under the relation's own predicate #1572).
  • Law::Deduction now accepts Impl statements as an explicit step. Copula::transits still keeps Impl out of blanket closure, Rel still never composes, and the step earns NARS truth only.

2. Tactic warrant (nars::warrant)

  • A Marker combines the ledger's pooled truth and roots, bits 59..63 projected through Epi5Declarations, and the thought slot (53..58) with its generation.
  • fire runs RCR, TR and CAS only on premises that satisfy the recipe's RecipeRule. These rules are policy pins.
  • Judgments are Unknown × Open and carry the proof's roots. A term-logic step never promotes a judgment.

3. Contract (additive)

  • epistemic_state5::RecipeRule moves the eligibility rule out of the lab and into the contract.
  • CertificationModel::measured_only: units whose outcome was never measured are now excluded from every mask, including the trial arms, instead of counting as negatives.

Falsifiers

  • 14 new tests, plus one new case in an existing ledger test.
  • 14 deliberate guard breakages, each of which turns its test red.
  • Two of those breakages did not bind on their first form, and were corrected before recording:
    • The unrestricted trial arm needed a fixture with unmeasured control units.
    • The grounding check: falling back to "any proof" changes nothing when there is no evidence at all, so the recorded breakage accepts derivations that have no proof.

L1–L5 are already covered by tests in pearl.rs. docs/research/epistemic-cot/c3-plan.md §8–§9 maps each one, together with the owner/overlap map.

Gates

  • Planner library: 490 tests pass. Contract library: 1561 pass. fmt is clean.
  • clippy --lib is clean.
  • clippy --lib --tests fails at the same 8 sites as on main 694b243bd. None of them is in this diff.

Decisions recorded (operator, 2026-10-28)

  • Maturation order: 7 = Staunen … 0 = Wisdom (the planner: residue fixed point + Maslov Pyramid of Cognition probe (D-RESIDUE-FP-0, D-MATURATION3-0) #1494 order) applies to new, explicitly declared readings.
    • No existing class is reinterpreted; deepnsm-v2 keeps its opposite order.
    • Until the reading, provenance, migration and the learn collision are settled, maturation stays transient and fails closed.
  • TFLite kernels: in ndarray (simd_fixedpoint.rs, simd_stride.rs, hpc/codec9.rs), with tflite-micro as the reference. No new crate.

Not in this PR

  • Effect size, sample size, uncertainty, and multiple-comparison correction.
  • Testing the missing-at-random assumption behind measured_only.
  • ASC and CR through fire.
  • Moving the lab affordance law onto RecipeRule.
  • C3b scenting and C3c LUT9 learning, each after an EXO-50/EXO-152 owner check.

Draft; not for automatic merge.

🤖 Generated with Claude Code

https://claude.ai/code/session_01XAqKMPWTwovjYJEUMuGPb4

… unmeasured outcomes

- contract epistemic_state5::RecipeRule: requires/forbids over declared
  facts, per-state check and V1 population (moved from the lab law).
- contract CertificationModel::measured_only: unknown outcomes are excluded,
  not read as negatives; an arm left empty refuses.
- planner nars::warrant: Marker (ledger evidence + declared Epi5 state +
  thought slot), tactic_rule for recipes 4/6/7/8/11, fire() runs RCR/TR/CAS
  on markers, admits candidates into the DerivationLedger, and returns
  judgments at Unknown x Open with the proof's roots.

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

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

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: f165c05b-4761-4b9b-8c44-f6ea143e7bf2

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • 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.

…hains Impl

- nars::mediator::hydrate_from_ledger: finds the ledger's grounded
  deductions of A->Y through B, hands the path to the existing
  pearl::hydrate, and returns the receipt (derivations, roots, hydration,
  the edge after hydrate, sensitivity with the mediated path removed).
  Refuses without a grounded ledger path; the sealed chain alone decides
  topology. Reads step subject/object only (#1572).
- support::Law::Deduction now admits Impl in an explicit step (never
  closure; Rel still never composes), so causal mediator paths can be
  recorded.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XAqKMPWTwovjYJEUMuGPb4
@AdaWorldAPI
AdaWorldAPI marked this pull request as ready for review October 28, 2026 19:08
@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:10:30.815261Z 093f462 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.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 093f4622d3

ℹ️ 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".

A premise whose pooled evidence runs through the conclusion loses that
evidence in the admitted proof (cycle guard). The judgment now returns
that proof's truth together with its roots instead of the tactic's
snapshot truth (codex P2).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XAqKMPWTwovjYJEUMuGPb4
@AdaWorldAPI
AdaWorldAPI merged commit 8751dac into ccr-39105428-bcm2m2-epi-cot Oct 28, 2026
24 checks passed
AdaWorldAPI added a commit that referenced this pull request Oct 28, 2026
D-EPI-COT C3 (land #1841 on main): grounded, Epi5-eligible tactic warrant
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