Repository navigation
v0.42.5
Fixes
-
Image fingerprinting no longer tokenizes image payloads (#452). The tail-hygiene walker hashed each image through a memo that also ran the text tokenizer over the full base64 data URL, even though image token estimates come from the image estimator. A 3 MiB image (about 4.2 million characters) blocked the event loop for roughly 15 seconds on a cold cache, which showed up in Pi as a frozen TUI and a slow Esc. The memo's text-token field is now computed only when text accounting asks for it; hash-only lookups never tokenize. Fixed on both Pi and OpenCode, where the same coupling existed. Image and text accounting are unchanged.
-
Dreamer
curateruns one memory category per scheduled window (#451). A full-pool curate turn (about 250 memories, around 150 model calls) exceeded the OpenCode SDK's 300-second request timeout on local models and was killed on every run, so the pool never drained. Every curate decision is category-local (merges are category-locked, archives need a same-category survivor, splits stay within a category), so the task now rotates through the five taxonomy categories in order, one whole category per run. A retry in the same window re-selects the same category, a successful run advances, empty categories are skipped, and decisions naming memories outside the scoped category are refused. Backlog and progress surfaces report the category in scope and its live count. Applies to OpenCode and Pi, which share the task executor. -
Local embeddings no longer fail to initialize under OMP on the WASM runtime (#441). A host loader can rewrite a bare
import("onnxruntime-web")with a reload tag; a later query-free import of the same file then loaded the ONNX runtime under a second module identity against one shared backend registry, and the duplicate CPU registration failed withcannot register backend "cpu" using priority 10— after which Magic Context reported the embedding provider as unavailable. The WASM path now resolves the runtime to its canonical URL before importing, falling back to the bare specifier where resolution is unavailable. The native runtime and the runtime-selection logic are unchanged; this affects hosts on the WASM path (Bun before 1.4.0).
No database schema change and no module change in this release.