v0.3.78
68 commits since v0.3.77. 122 files changed, +9960 / -566 lines.
✨ Features
e48f36caMission Control analytics filter + card grid: global D/W/M analytics filter, responsive 3-across card grid, and model status icons (#900)7fe07b0dAnalytics panel tabs + scroll: phantom/model/D-W-M tabs with scroll in the analytics panel (#900)45c6f384Analytics queries + report sections: add analytics queries and report sections (#899)dade356fAnalytics emitters: wire analytics event emitters across the agent (#901)4846c774Analytics events DB layer: add the analytics events database layer (#898)b588324bOpenAI TTS onboarding: OpenAI TTS voice selector and API key field (#874, #875)197f1151Thinking-loop timeout: thinking-loop timeout with phantom enforcement retryb4ecaa24Epistemic Orient gate: gate plan start behind the epistemic Orient phase (#886)199cc545Criteria-aware verification gate: Ralph criteria-aware verification gate (#870)10270544Belief tracking wiring: wire belief tracking into brain-write and plan paths5ebe5009Epistemic engine: belief tracking with confidence levelsd06b6836TOML brain verification: TOML-driven post-write brain file verification50cf22c2Ralph verification gate + iteration cap: mechanical verification gate with iteration cap5687ebb0TOML bash blocklist: TOML-driven bash blocklist, runtime-configurable safety gates
🔧 Fixes
3ef84597session_context concurrency: pin the concurrency fix and clean up temp files (#906)e4823d12Reasoning-block redaction: remove reasoning blocks on delivery, not just their markers (#903)6325d01cPhantom shipped-and-tracked claim: catch the shipped-and-tracked completion claim (#903)a56364cdAnalytics model recording: record the active model on the primary provider path (#905)c8f9e55eDeliverable report visibility: keep a deliverable report visible when its turn folds (#904)d2840333Background running indicator: clear the running indicator before delivering (#896)3e8bb4b5slash_command resolution: resolve skills and the /onboard: form (#889)b538730fconfig_manager nested paths: resolve nested paths and child names to their section (#889)63c78a34generate_image extension: always give a generated image an extension (#889)83852ff8Telegram rich delivery: unify rich delivery on markdown, drop the dead blocks path (#871)65734067Phantom colloquial claims: catch colloquial delivery claims, drop a false positive (#894)be87b8c2Telegram follow-up attribution: name the member who tapped a follow-up (#895)d89ba482Phantom media-delivery claims: catch media-delivery claims, and the oven idiom (#891)c1cfb4d6Onboarding model filter hint: always render the model filter hint above the list (#873)2874d69dRSI digest totals: surface raw failure totals vs surfaced opportunities in the digest (#888)006f9571clean_auto_title UTF-8 panic: fix the UTF-8 panic on multi-byte characters (#885)733c8f5cRSI brain_verify gate: route self_improve through the brain_verify Orient gate (#881)e1f7aa07Sanitize quoted secrets: redact quoted secrets, and catch the colon-token shape (#879)f121faa5Telegram callback routing: route callbacks to the originating session, not the chat-bound session (#878)d4f5bce7Channel chunk boundaries: prefer chunk boundaries that leave no markup open (#876)eb60c998Onboarding exact model match: an exactly-typed model id beats a substring match (#873)8b7f8bfesession_context atomic write: atomic write to eliminate trailing-characters corruption (#853)9509cdaeVoice OGG/Opus conversion: convert OGG/Opus to WAV before sending to voicebox STT (#866)a3b29a7dTelegram rich verdict logging: log the rich verdict and both send outcomes (#860)17775521Truncation continuation join: join a truncation continuation onto its partial (#859)19556176RSI rule size cap: cap rule size and allow a narrow consolidation path (#857, #858)7247c7cabrain_verify contradiction scope: scope contradiction matching per-entry, not whole-file (#855)10d39848Safety TOML reload: reload the safety TOMLs on change, and pin the behaviour9eab9ed7Telegram open-group registration: gate open-group registration on the persisted open flag (#848)edd4123bTelegram background streaming: one streaming turn per session for background results (#845)0065a8a2Telegram follow-up recording: record a tapped follow-up on its own block (#844)2682b06cRSI capability-gap disposition: keep the disposition of capability-gap opportunities (#842)5562d6b5Mission-control journal blocks: stop malformed journal blocks corrupting neighbours (#841)861b9adeTelegram admin logging: stop logging absent admins as menu failures (#839)ef088c5fTelegram cowork members: record cowork members on first message (#840)
📖 Documentation
5cc8b643refresh Mission Control, TTS and redaction sections in the README (#907)7d1f034cdocument the Ralph loop, and correct an inert config key (#907)284e7d6ddocument the epistemic engine and define OODA/BDI (#907)9227d25ddocument the safety gates (#907)644a16cbmove the anti-fabrication rules into the preamblee89c88bfclean build artifacts before a release build (preamble)9d07382fclean build artifacts before a release build458ea84fscope the CODE.md release-build exception to OpenCrabs itselfd5ccef59scope /rebuild to OpenCrabs' own source, on explicit request only
🧹 Miscellaneous
15cf8dedlocal cross-compilation setup for unreleased dev binaries181b5cb1analytics panel render + D/W/M switching tests (#900)0a13c127add analytics query + report tests (#899)ae5aef93add emitter integration tests (#901)55b7ba4bimport criteria types and dedup helper field (#870)a463e8cccover the criteria-aware policy matrix (#870)56bf6a71use resume_session for followup tap and callback routing (#869)91b28929collapse nested epistemic blocks into let-chains1786f29eadd dev profile build optimizations7ba99e3aadd a runner seam to the verification gate and pin it
📊 Stats
- 68 commits since v0.3.77
- 122 files changed, +9960 / -566 lines
- 5925 tests (5896 passed, 0 failed, 29 ignored)
Full Changelog: v0.3.77...v0.3.78