Splits ADR-0055 Phase C into:
- C1 (this ADR): cognitive contemplation loop — question
decomposition + polarity (affirms/falsifies/undetermined) +
claim_domain typing (factual/relational/evaluative)
- C2 (future ADR): review-and-apply — TeachingChainProposal,
replay-equivalence gate, corpus append-on-accept
Documents four load-bearing design calls with explicit reasoning
so future sessions can re-derive without re-arguing:
1. Stopping condition: record-the-gap-and-stop primary, bounded
depth failsafe; failsafe firing emits recursion_overflow audit
signal — never silent truncation.
2. Falsification evidence: reviewed-only, same pack family;
session-tier contests but does not falsify. Cross-pack
arbitration deferred.
3. Order: C1 before C2. Reversed instinct to land 'small thing
first' — C2 alone is useless without enriched input; C1
physically cannot mutate corpus until C2 wires the apply path.
4. Sync, not async. CORE hot path is deterministic; concurrency
overhead exceeds probe cost on local-only probes. Async
deferred to a future ADR if a blocking probe surface emerges.
Trust boundary: C1 never mutates the corpus. C1 reads pack,
corpus, vault, and most recent TurnEvent; writes only to the
existing Phase B discovery sink. Gap-recorded sub-questions
emit as new top-level candidates on the same sink — recursion
reified into the stream.
Maps directly onto user-stated framing recorded verbatim in the
ADR:
- 'contemplation always starts with a question' → candidate is
the posing; contemplate() is the answering
- 'truths and/or falsities' → polarity on the chain itself
- 'remain humble' → claim_domain with escalating evidence
thresholds, mandatory hedge for evaluative