core/docs/adr/ADR-0150-autonomous-inter-session-contemplation.md
Shay 54e6bfc0d0
docs: reorganize docs landscape
Implements the 4-phase documentation reorganization master plan.

- Consolidation: Merged brief/, handoff/, planning/, and decisions/ into briefs/, handoffs/, plans/, and adr/ respectively (101 ADRs relocated)
- Root Cleanup: Relocated HANDOFF-gpt55-*.md and key top-level docs (runtime_contracts.md, etc.) to canonical folders. Added superseded alerts.
- Indices & Navigation: Created docs/README.md navigation document, docs/sessions/README.md index, docs/adr/README.md index
- Note: Also includes prior commit adding ADR-0200+ corpus hygiene governance (ADR-0225, dependency map, backfilled cross-references)
2026-06-30 16:59:36 -07:00

1.3 KiB

ADR-0150 — Autonomous Inter-Session Contemplation

Status: Accepted Date: 2026-05-25

Context

ADR-0056 Phase C1 shipped contemplate() as a pure function that enriches DiscoveryCandidate with polarity, evidence, claim_domain, and sub_questions. It ran inline (opt-in via attach_contemplation) or via CLI batch. Neither path ran at session boundaries. Engine state (ADR-0146) persists discovery candidates to disk, but stored candidates were unenriched (raw Phase B output).

Decision

Run contemplate() on pending session candidates at checkpoint_engine_state() before persisting to engine_state/discovery_candidates.jsonl. Enriched candidates (polarity/evidence/claim_domain populated) are stored instead of raw ones.

Flag: RuntimeConfig.auto_contemplate = False (null-drop default).

Trust boundary

contemplate() is read-only w.r.t. corpus, pack, and vault per ADR-0056. It enriches the in-memory candidate struct only. Nothing is written to any shared store during enrichment.

Why checkpoint, not inline

Fresh candidates are produced during the turn and accumulated in _pending_candidates. Contemplation at checkpoint runs after the session completes, not on the hot turn path. This avoids blocking turn latency.

Unlocks

W-017: auto-proposal pipeline can filter enriched candidates (polarity, evidence) to generate TeachingChainProposals.