Unreleased
Status September 16, 2026Added
- Replication-weighted recall factor (
replication_max,CHITTA_REPLICATION_MAX), landed default-off: distinct-session replications per memory are cached on load; the live store has 0 memories with ≥2 independent replications and the golden delta was 0, so the card carriesprior_effort: some(docs/EVALS.md). - Snapshot load decodes sections in parallel from an mmap and overlaps triplet reconstruction with the rest of startup: snapshot phase 7.8–9.2 s → 3.6–4.3 s on the replica; startup sidecars are keyed to the snapshot so LSH/turbo hit with a WAL delta (live restart 27–33 s → 12.6 s); fused recall is deterministic across restarts (total-order sorts, hydration without touches).
- The per-Bash-call saddle check runs in bash/jq (81-fixture byte parity with
saddle_detector.py): added PreToolUse overhead 97 → 24 ms median. - Opt-in isolated evolve implementation streams (
--candidates N, default 1): concurrent worktrees with private agent state, shared deadline and budget fallback, gate-passing selection by measured bet delta then patch size, all candidate outcomes in verdict/bet memories, andpython3 -m evolve.report. - Automatic-learning experiment harness: provenance-based cohort classification, prospective task/grader freezes, isolated paired replica trials (strict bwrap mode or
home-auditwith post-hoc voiding), exposure checks, deterministic grading and fixture-only dry runs (benchmarks/learning/protocol.md). - Daemon startup caches derived search state across restarts (normalized embeddings, event-tape organs, quantized index): clean start 27 s → 13 s, optional sidecars, rollback-safe.
- Stigmergic artifact traces, after SwarmWorld14 (arXiv:2608.26081) measured ~95% of first reuse through observing an artifact rather than being told:
pre-tool-hookadds[traces]on the first Read of a file per session (memories whose text names that file;CHITTA_FILE_TRACES=0disables) andartifact-trace.sh(PostToolUse Write) registers newly written scripts as[artifact] <path> sha:<8> purpose:…signals so later sessions fork them. - Two hypothesis cards for the evolve loop from the same reading: isolated best-of-2 implementation streams (SwarmWorld14: isolated search kept the best single artifact) and replication-weighted recall (Buehler's15 repeated runs reached model-dependent conclusions). The learning-experiment protocol gains two pre-registered secondary metrics: best-of-three per arm and artifact reuse rate.
Changed
recall_analogyis explicit relation transfer only (a:b :: c:?): the predicate(s) linking a→b come from indexed triplet lookups and the answers are c's actual neighbours over those predicates, with supporting edges and areasonon abstention. Structural mode and VSA10 ranking are gone from the endpoint. Frozen-replica benchmark: hit@1 14/14, hit@3 14/14, 14/14 negative abstentions, 0 unsupported answers (docs/EVALS.md).- Prompt, SessionStart and Stop hooks no longer start Python on the hot path: query cleaning, RPC-stats parsing, the heartbeat, session registration and the ledger render run in bash/jq against the daemon's CLI. Prompt hook median 822→635 ms, SessionStart 693→599 ms on a loaded node (docs/HOOKS.md).
- Linked git worktrees resolve to the main checkout's realm in the hooks, the session registry and the CLI, so Codex and evolve streams recall project memory.
- Recall ranks
operationaldistiller fragments below curated kinds (kind_operational0.8) so a correction outranks verbatim transcript notes of equal similarity. - The daemon's binary-update probe uses
posix_spawninstead ofpopen; thefork()ran OpenBLAS's atfork barrier and stalled the main loop under embedding load. - Chained
git add … && git commitcommands are captured as milestones.
Fixed
- Nightly literature cards were rejected by the proposal loader (source URL instead of a kind, prose
blast_radius, zero effort) and silently skipped by the selector; the watch now writes the loader's contract.
Removed
- Retired MDL11 admission compression on 2026-09-15: native and Bash shadow taps, same-chunk pooling, corpus dictionaries/bootstrap, Python mirror, test targets, environment knobs and evolve coverage telemetry. Distilled learning storage, deduplication and recall ranking remain unchanged; no utility-posterior hard gate replaces it. Historical shadow logs remain untouched and inert. The paired 20-task automatic-learning experiment remains pending (see docs/EVOLVE.md).