@oh-my-pi/pi-ai
Fixed
- Fixed Kimi Code usage reports dropping the 5h window reset time (
omp usageshowed no "resets in …" for the 5h limit): the API returnsresetTimeon the limitdetail, not onwindow, so the parsed row-level reset is now carried onto the window when the window itself has none. - Made Kimi device-id persistence best-effort: a missing or unwritable
~/.omp/agentdirectory no longer throws during Kimi header construction, which silently nulled everykimi-codeusage probe on fresh installs. - Coerced boolean tool-schema subschemas to MFJS object forms for native Moonshot/Kimi endpoints, preventing the task tool's
outputSchemafield from causing HTTP 400 responses (#5952).
@oh-my-pi/pi-catalog
Changed
- Kimi-family models now use MFJS tool schema on all hosts, including proxies like OpenRouter that forward schemas to Moonshot
@oh-my-pi/pi-coding-agent
Fixed
- Fixed bundled Linux ffmpeg recording by selecting its available ALSA input when PulseAudio support is absent, and surfaced recorder stderr when capture fails (#5907).
- Session load now skips the recursive async blob-ref resolver for entries with no
blob:sha256:references. A cheap synchronous precheck gates the walk per entry (preserving the previous per-entry initiation order under synchronous store mutation), so text-heavy histories no longer pay thePromise.alltree descent for every non-session entry (#5922). - Fixed
tasktool schemas emitting boolean subschemas that llama.cpp grammar generation cannot parse (#5957). - Fixed the transcript keeping finalized assistant blocks in the live compose walk after their rows entered native terminal scrollback, making each stream tick's
TranscriptContainer.renderdepth-linear in session length. Fully committed finalized blocks are now compacted out of the local frame regardless of post-finalize version tracking; a later mutation no longer recommits on ordinary frames (no duplication) and rehydrates on the next destructive full replay (no loss). Compose cost for a live tail tick is now flat as depth grows (bench/transcript-compose.bench.ts: ratio(N5000/N500) 2.30 → 0.90) (#5930). - Fixed
/quitand/exithanging during interactive shutdown by making the mnemopi dispose path retain the current session and flush in-flight extractions without sleeping the bank; the/memory enqueuepath and end-of-session backend enqueue still perform full cross-session consolidation. (#3641)
@oh-my-pi/hashline
Fixed
- Rejected
DEL N:headers with a trailing colon instead of silently tolerating the colon, so delete-with-body mistakes surface the corrective "has no colon" guidance.
@oh-my-pi/pi-mnemopi
Fixed
- Fixed a corrupt cached embedding model (truncated
model_optimized.onnx,Protobuf parsing failedon load) permanently disabling local embeddings: init now quarantines the broken cache file (rename to*.corrupt-<ts>, only when the path resolves inside the fastembed cache directory) and retries once so the model re-downloads.
What's Changed
- fix(mnemopi): self-heal a corrupt cached embedding model on init by @DarkPhilosophy in #5923
- perf(session): gate blob-ref resolution behind synchronous precheck by @roboomp in #5925
- fix(task): avoid boolean output schema subschemas by @roboomp in #5958
- fix(stt): select a supported Linux ffmpeg input by @roboomp in #5909
- fix(tui): compact committed finalized transcript history by @roboomp in #5943
- fix(ai): normalize boolean tool schemas for Moonshot by @roboomp in #5955
- fix(kimi): surface the 5h usage window reset time by @iacore in #5953
- fix(mnemopi): lighter dispose consolidation so /quit returns quickly by @iacore in #4843
New Contributors
Full Changelog: v17.0.3...v17.0.4