Skip to content

v0.36.0

Latest

Choose a tag to compare

@appsprout-release-please appsprout-release-please released this 18 Apr 18:27
2dd5749

0.36.0 (2026-04-18)

Features

  • abstraction: archive escape hatch for chronically-demoted abstractions (18ec2c5)
  • abstraction: archive escape hatch for chronically-demoted abstractions (45b61a9)
  • abstraction: gate synthesis on substrate-change fingerprint (2b92ead)
  • abstraction: gate synthesis on substrate-change fingerprint (209020b)
  • abstraction: streak-based archive supersedes age-based decay exit (917edb3)
  • abstraction: streak-based archive supersedes age-based decay exit (083d0c1)
  • add Gemma 4 E2B spoke inference server (6a3c409)
  • consolidation: resurrect archived patterns on re-emergence (24c9943)
  • consolidation: resurrect archived patterns on re-emergence (0c27890)
  • continuous learning Phase B — curriculum generation (#391) (e5a5d59)
  • continuous learning Phase C — training trigger & orchestration (#391) (5bb0094)
  • continuous learning Phases B+C — curriculum generation & training trigger (#391) (28860cf)
  • dreaming: INFO logs for four silent-drop gates (865a71d)
  • dreaming: INFO logs for four silent-drop gates (c9f40bd)
  • dreaming: rotate replay sample via recent-ID ring buffer (1a97250)
  • dreaming: rotate replay sample via recent-ID ring buffer (b8ae0a7)
  • enable continuous learning by default (#391) (ac2bf1b)
  • Gemma 4 E2B spoke training — 25/25 schema compliance (ab6ba40)
  • SetSpokeTensorF32 — push F32 weights with auto-quantization to native type (780808f)
  • SPLICE API for CRISPR-LM (edit/status/tensor/complete) + Gemma 4 template fix (c77f749)
  • SPLICE API for CRISPR-LM + Gemma 4 chat template fix (79289a6)
  • training data assembly for continuous learning (#391) (99d3c28)

Bug Fixes

  • abstraction: bump MaxTokens 200 -> 500 for principle/axiom synthesis (252d14c)
  • abstraction: bump MaxTokens 200→500 for principle/axiom synthesis (ef0ffd4)
  • abstraction: concept-overlap gate on findSimilarAbstraction (604bf33)
  • abstraction: concept-overlap gate on findSimilarAbstraction (cbabbbd)
  • abstraction: lower MinStrength default 0.7 → 0.5 to unblock principle synthesis (d89fa4a)
  • abstraction: lower MinStrength default 0.7 → 0.5 to unblock principle synthesis (98a8408)
  • add GBNF grammar for episode synthesis (588f802)
  • add GBNF grammar for episode synthesis to fix "Untitled session" failures (151296c)
  • address all PR #397 review items from Caleb (e52ee2a)
  • agents: axiom grounding, pattern dedup, forum transition reporting (1b7ba03)
  • agents: axiom grounding, pattern dedup, forum transition reporting (0cff8b5)
  • consolidation: bound salience with a 1.0 ceiling in decay (d80e297)
  • consolidation: bound salience with a 1.0 ceiling in decay (daff51e)
  • consolidation: break pattern-dedup super-attractor via concept-overlap gate (c1a3a39)
  • consolidation: break pattern-dedup super-attractor via concept-overlap gate (d50c860)
  • consolidation: concept-overlap gate on second-stage dedup (3372dc9)
  • consolidation: concept-overlap gate on second-stage dedup (f9135fd)
  • consolidation: sample large clusters + raise MaxTokens for identifyPattern (cfae847)
  • consolidation: sample large clusters + raise MaxTokens for identifyPattern (cbb5434)
  • correct bool array type in Gemma GGUF export + update EXP-30 verdict (45515b2)
  • curriculum_runs stored time.Time.String() output, unparseable on read (1266e46)
  • curriculum_runs stored time.Time.String() output, unparseable on read (f1eec70)
  • Gemma 4 spoke training produces garbage due to use_cache=False (b1eaa8e)
  • llm: drop misleading "busy" prefix on embedded provider cancel (48b3b19)
  • llm: drop misleading "busy" prefix on embedded provider cancel (450c886)
  • move advisory board personas from local memory to .claude/skills/ (2dd06b0), closes #398
  • move advisory board personas into repo (5c4e5bb)
  • prevent MCP processes from loading GPU models into VRAM (8bd86a8)
  • prevent MCP processes from loading GPU models into VRAM (a575622)
  • store: age-bound training breaker so stale failures expire (0198153)
  • store: age-bound training circuit breaker so stale failures expire (6e76dc2)
  • Task Scheduler is logon-only, manual start uses PID-file daemon (07a605f)
  • training crash loop safety + episode synthesis quality (f0a8a95)
  • training crash loop safety + episode synthesis quality (#391) (75dc713)
  • type-filtered recall surfaces recent memories first (86673ea)
  • type-filtered recall surfaces recent memories first (#394) (5af04de)
  • use gemma-4-E2B-it (not base) in stress test, add EXP-31 results (845c9cb)
  • Windows daemon survives reboots, add dashboard update button (b73424f)
  • Windows daemon survives reboots, add dashboard update button (356c570)

Performance Improvements

  • BetaQ all-RQ4 101 tok/s, embedded Gemma 4 deployment (578313a)

What's Changed

  • fix: type-filtered recall surfaces recent memories first by @CalebisGross in #395
  • fix: move advisory board personas into repo by @CalebisGross in #399
  • feat: Gemma 4 E2B spoke training — 25/25 schema compliance by @CalebisGross in #400
  • refactor: lean advisory board skill by @CalebisGross in #401
  • docs: add llama.cpp inference benchmarks to EXP-31 by @CalebisGross in #402
  • fix: add GBNF grammar for episode synthesis by @CalebisGross in #405
  • feat: continuous learning Phases B+C — curriculum generation & training trigger (#391) by @CalebisGross in #406
  • fix: training crash loop safety + episode synthesis quality by @CalebisGross in #407
  • fix: prevent MCP processes from loading GPU models into VRAM by @CalebisGross in #408
  • feat: SPLICE API for CRISPR-LM (edit/status/tensor/complete) + Gemma 4 template fix by @CalebisGross in #409
  • docs: refresh CLAUDE.md + rules for Gemma 4 production & crispr-lm coupling by @CalebisGross in #410
  • fix: curriculum_runs stored time.Time.String() output, unparseable on read by @CalebisGross in #411
  • fix(consolidation): break pattern-dedup super-attractor via concept-overlap gate by @CalebisGross in #412
  • fix(consolidation): sample large clusters + raise MaxTokens for identifyPattern by @CalebisGross in #413
  • fix(consolidation): concept-overlap gate on second-stage dedup by @CalebisGross in #414
  • fix(abstraction): concept-overlap gate on findSimilarAbstraction by @CalebisGross in #415
  • fix(abstraction): lower MinStrength default 0.7 → 0.5 to unblock principle synthesis by @CalebisGross in #416
  • feat(dreaming): INFO logs for four silent-drop gates by @CalebisGross in #417
  • fix(llm): drop misleading "busy" prefix on embedded provider cancel by @CalebisGross in #418
  • fix: Windows daemon survives reboots, add dashboard update button by @jkbennitt in #397
  • fix(abstraction): bump MaxTokens 200→500 for principle/axiom synthesis by @CalebisGross in #419
  • feat(abstraction): archive escape hatch for chronically-demoted abstractions by @CalebisGross in #420
  • feat(abstraction): streak-based archive supersedes age-based decay exit by @CalebisGross in #421
  • fix(agents): axiom grounding, pattern dedup, forum transition reporting by @CalebisGross in #422
  • feat(consolidation): resurrect archived patterns on re-emergence by @CalebisGross in #425
  • fix(store): age-bound training circuit breaker so stale failures expire by @CalebisGross in #426
  • feat(dreaming): rotate replay sample via recent-ID ring buffer by @CalebisGross in #427
  • feat(abstraction): gate synthesis on substrate-change fingerprint by @CalebisGross in #428
  • fix(consolidation): bound salience with a 1.0 ceiling in decay by @CalebisGross in #429
  • chore(main): release 0.36.0 by @appsprout-release-please[bot] in #396

Full Changelog: v0.35.0...v0.36.0