Research · Python stdlib only · zero dependencies

A layered architecture for reasoning that admits what it doesn't know.

nescio-mind explores how an artificial reasoner can build categories from experience, discover the boundaries between them, and — crucially — report honest uncertainty instead of a confident guess.

Structural honesty over confident guessing. The system prefers to surface competing candidates and say "I don't know" as a first-class answer, rather than commit to one arbitrary category.

Five reasoning layers · an eight-step processing pipeline · a consolidation "sleep" cycle · behavioral coherence checks over reproducible run data.

Five reasoning layers

Each layer adds a capability the one below it cannot express — from raw correlation up to meta-cognitive self-doubt.

1Correlation

Pattern matching and statistical co-occurrence — the raw associative substrate.

2Context / Polysemy

The same input can mean different things in different contexts; meaning-splits are discovered from contradictions.

3Causation

Inferring causal relationships — processes that transform inputs into outputs — not just what co-occurs.

4Abstraction / Analogy

Structural alignment across domains: an abstract pattern learned in one place predicts by analogy in another.

5Devil's Advocate

Meta-cognitive structural self-doubt — it challenges, tests, and refines its own abstractions instead of trusting them.

The through-line

Challenging an abstraction produces more precise knowledge, not destruction. Growth through challenge, not rules-based safety.

How a neuron thinks

Every input runs through an eight-step pipeline in RichNeuron.process(). Confidence is a gate, not an assumption — low confidence routes to a more competent neuron or returns honest uncertainty.

  1. Fast-path cache — catalog lookup; scepticism raises the bar for trusting a cached answer.
  2. Inference rules — semantic enrichment before classification (has_leash → domestication).
  3. Exclusion criteria — encode what something cannot be (boundary enforcement).
  4. Sub-systems — Bayesian, pattern-matching, and rule-engine paradigms run in parallel.
  5. Cataloger integration — normalize, apply exclusions, hierarchy-aware voting, ambiguity score.
  6. Confidence gate — return the answer only if composite uncertainty clears the threshold.
  7. Routing — delegate to a more competent neuron, guarded by three anti-hallucination gates.
  8. Honest uncertainty — a best-effort answer flagged ambiguous, with the competing candidates.

Between exposures, a consolidation "sleep" cycle turns novel observations into refined knowledge:

AAccumulate

Unclassified observations are recorded as provisional prototypes during normal processing.

BForm categories

Consistent patterns are clustered across neurons and promoted to new categories.

CReview & challenge

Confidence decays for untested abstractions; the challenger amplifies exceptions and scopes over-broad patterns.

Design principles

The commitments that shape every part of the system.

  • "I don't know" is a first-class outputHonest uncertainty with explicit ambiguity, not a forced pick.
  • Anti-hallucination gatesQuality, domain, and ambiguity gates reject bad or out-of-domain answers.
  • Hierarchy learningAnswers form plant → tree → pine chains; broad and specific coexist.
  • Scepticism as a dynamic modulatorA per-neuron property that raises thresholds and decays with consistent evidence.
  • Anti-VIKI architectureStructural self-doubt prevents valid logic + unchallenged premises → monstrous conclusions.
  • Inference before classificationMeaning is enriched before any category is assigned.

Honest uncertainty, shown — not told

The clearest case: two categories with identical evidence. A confident guesser picks one; nescio-mind carries the tie all the way to the answer.

What the reasoner computes

leopard0.50
cheetah0.50

A genuine 50/50 tie — both candidates live in the distribution.

What it reports

ambiguous: true  ·  2 competing candidates

The tie is carried through the vote, not discarded at the first step. A clear winner still returns ambiguous: false — the flag fires only on a real near-tie.

How representable ambiguity works — the F1/F3 study →

Studies

Exploratory research framed as measurement — persisted, reproducible run data rather than asserted pass/fail. A FAIL or a surprising number is a recorded finding, not a bug.

measurement study headline: does not generalize F10 · developmental curriculum + domain enrichment

Developmental refinement & domain enrichment

A blank-neuron network learns dog, then absorbs cat, and must discover — from cross-population feature importance — that a single feature is the category boundary. The enrichment study then asks whether that discovery mechanism survives richer domains: multiple redundant discriminators, a size-confounded decoy, intra-concept variance, and partial correlation.

Finding. The mechanism does not survive clean enrichment. Adding clean, redundant, perfectly-correlated discriminators breaks it — a coverage-blind, unweighted record-time merge collapses richer concepts into a single blob before the importance layer ever runs. Paradoxically, the only enriched domain that stays coherent is the one with noise. Explore the full comparison — coherence matrix, mutual-information rankings, and category formation — in the dashboard.
shipped feature headline: the tie survives F1 / F3 · representable ambiguity

Representable, surfaced ambiguity

When two categories share an identical profile, the reasoner used to discard the tie before it ever voted. Distributed mass voting carries the whole distribution into the vote, so a genuine near-tie produces two competing candidates and ambiguous: true — surfaced on every return path, with no sub-system changed.

Result. The voting scenario flips to MEET, every clear-winner control still reports ambiguous: false, and the change lives only in the cataloger and the neuron.