Commit Graph
98 Commits
Author SHA1 Message Date
can1357 94a813788f chore: bump version to 16.0.4 2026-06-17 09:44:33 +02:00
can1357 8eeb707387 chore: bump version to 16.0.3 2026-06-17 01:58:36 +02:00
can1357 dc14689fc1 chore: bump version to 16.0.2 2026-06-16 15:33:47 +02:00
can1357 e24f789de4 chore: bump version to 16.0.1 2026-06-15 21:30:30 +02:00
can1357 44f9867e0e chore: bump version to 16.0.0 2026-06-15 17:27:48 +02:00
can1357 789d4f6948 chore: bump version to 15.13.3 2026-06-15 12:47:58 +02:00
can1357 b7b1b54f6a chore: bump version to 15.13.2 2026-06-15 08:49:41 +02:00
can1357 6c48b6224d chore: bump version to 15.13.1 2026-06-15 04:36:40 +02:00
can1357 ecd9f3220f feat(scripts): added changelog recovery mode for historical duplicate cleanup
- Added --recover CLI option to rebuild changelog fixes from tagged history.
- Pruned Unreleased bullets that match historical released items across all tags.
- Normalized output by sorting release sections by version and compacting bullet spacing.
2026-06-15 03:43:24 +02:00
can1357 4952b28a8e test(mnemopi): reworked mnemopi test embedding setup and CI bucketing
- Removed the mnemopi Bun preload file and added explicit `./setup` imports in the changed test suites.
- Deleted the `RUN_EMBEDDINGS` flag path and shifted `MNEMOPI_NO_EMBEDDINGS` handling into per-suite before/after hooks.
- Excluded `packages/mnemopi` from the fast parallel CI test bucket with a note about missing fastembed models.
2026-06-15 02:45:03 +02:00
can1357 ff5b06d0c2 ci: added CI workflows and actions for pinned toolchain-native builds
- Added composite GitHub actions to ensure rust toolchains and cargo helpers.
- Added a kata-native build action with variant checks and platform artifact uploads.
- Reworked CI matrices to split native cross-platform jobs and gate releases accordingly.
- Updated runner bootstrap and image to preinstall pinned build tools for CI consistency.
2026-06-15 01:01:45 +02:00
can1357 37d356f7bc test(mnemopi): centralized embedding test gating through shared Bun setup
- Added a Bun test preload config in packages/mnemopi/bunfig.toml to run shared setup automatically.
- Moved embedding opt-out logic into test/setup.ts, using EMBEDDINGS=1 to enable embeddings and defaulting MNEMOPI_NO_EMBEDDINGS otherwise.
- Updated embedding-focused tests to import RUN_EMBEDDINGS and skip suites unless embeddings are enabled.
2026-06-15 00:58:26 +02:00
can1357 5959bb0ad3 test(mnemopi): disabled embeddings in mnemopi tests
- Added beforeEach and afterEach hooks in mnemopi tests to set and clear MNEMOPI_NO_EMBEDDINGS so embeddings are skipped during those runs.
- Updated the bun-install cache script to archive only node_modules paths that exist as directories.
2026-06-15 00:29:24 +02:00
roboomp d142652fbe style: bun run fix 2026-06-14 18:26:27 +00:00
can1357 7e8122000a chore: bump version to 15.13.0 2026-06-14 18:21:59 +02:00
can1357 1e11040c50 Merge PR #2452: fix(mnemopi): rank exact memories above weak facts
Brings the mnemopi factRecall lexical-coverage scoring fix (closes #2441).
Dropped the PR's unrelated input-controller-escape / handoff-command test
edits (they predate and would weaken main's current escape-gesture tests);
those two files are kept at main's version.
2026-06-14 17:29:38 +02:00
can1357 9490c659b2 Merge PR #2508: add mnemopi embedding variant setting 2026-06-14 03:32:54 +02:00
can1357 19766762cd chore: bump version to 15.12.6 2026-06-14 02:35:06 +02:00
metaphorics bbf18ed316 fix(mnemopi): recover interrupted embedding rebuilds on reconcile
reconcileEmbeddingModel returned early whenever no *stale* embedding row
existed, so a wipe that completed but whose async rebuild never finished
(process exit / transient embed failure) left an empty memory_embeddings
table that read as "reconciled" — stranding live memories FTS-only forever.
The model-switch wipe path is unchanged; when no stale rows exist we now
re-enqueue any live working/episodic memory still missing an active-model
embedding. (Read-only opens already skip reconcile via reconcile: false.)
2026-06-14 08:32:12 +09:00
metaphorics d7f4d7c679 fix(mnemopi): address review — read-only opens skip reconcile; preserve MNEMOPI_EMBEDDING_MODEL precedence (#2476) 2026-06-14 08:27:15 +09:00
metaphorics dd2e736476 feat(mnemopi): add embedding variant setting (English / multilingual) (#2476) 2026-06-14 06:40:25 +09:00
can1357 eac1d21f93 chore: bump version to 15.12.5 2026-06-13 21:51:43 +02:00
DarkPhilosophy b5c482eb35 Merge remote-tracking branch 'can1357/main' into fix/mnemopi-exact-recall-facts
# Conflicts:
#	packages/coding-agent/test/input-controller-escape.test.ts
#	packages/coding-agent/test/modes/controllers/handoff-command.test.ts
2026-06-13 20:24:00 +03:00
can1357 15b5c1397f chore: bump version to 15.12.4 2026-06-13 18:04:39 +02:00
DarkPhilosophy 983d5edaa4 fix(mnemopi): ignore fact recency scaffolding 2026-06-13 16:10:21 +03:00
DarkPhilosophy 8effda1450 fix(mnemopi): require exact filler token matches 2026-06-13 16:01:32 +03:00
DarkPhilosophy 51f5d2f140 fix(mnemopi): preserve short fact entities 2026-06-13 15:52:01 +03:00
DarkPhilosophy 613931f553 fix(mnemopi): ignore clitic fragments in fact scores 2026-06-13 15:43:27 +03:00
DarkPhilosophy b6768b25b1 fix(mnemopi): preserve fact entity stop words 2026-06-13 15:33:44 +03:00
DarkPhilosophy eb7921b86d fix(mnemopi): ignore conversational filler in fact scores 2026-06-13 15:12:52 +03:00
DarkPhilosophy 19855a03ed fix(mnemopi): score facts on meaningful query tokens 2026-06-13 15:03:23 +03:00
DarkPhilosophy 8820991b15 fix(mnemopi): keep conversational fact hits 2026-06-13 14:54:45 +03:00
DarkPhilosophy 9001174d0a fix(mnemopi): rank exact memories above weak facts 2026-06-13 14:45:31 +03:00
roboomp fc458888eb fix(mnemopi): populated gists and graph_edges during consolidation
consolidateToEpisodic wrote the episodic row and memoria_facts/kg
triples but never called EpisodicGraph.ingestMemory, so the gists
and graph_edges tables stayed empty across every bank no matter
how many sleep cycles ran. Polyphonic Recall's graph voice (BFS
through findGistsByParticipant / findRelatedMemories) saw an empty
graph and always returned nothing.

The only existing ingest call sat in store.ts:proactiveLinkIfEnabled
on the remember() path, gated behind MNEMOPI_PROACTIVE_LINKING=1
(default 0). Consolidation is the explicit settle-and-compress
step where the graph is meant to gain edges, so ingest now runs
there unconditionally and best-effort: any throw is swallowed so
the episodic row (already written) is never rolled back.

Fixes #2435
2026-06-13 06:47:03 +00:00
can1357 074857fea9 build(dependencies): upgraded dependency versions and synced bun.lock
- Bumped core workspace dependencies to newer versions, including @agentclientprotocol/sdk and onnxruntime-node.
- Updated packages/mnemopi peer dependency on onnxruntime-node from 1.24.3 to 1.26.0.
- Regenerated bun.lock to sync dependency metadata and checksums after version updates.
2026-06-13 00:20:05 +02:00
can1357 db421bb2ef chore: bump version to 15.12.3 2026-06-12 18:13:09 +02:00
can1357 7975ebea8c chore: bump version to 15.12.2 2026-06-12 17:03:05 +02:00
can1357 ba27bbd3a3 chore: bump version to 15.12.1 2026-06-12 16:27:14 +02:00
can1357 89e0801a5d chore: bump version to 15.12.0 2026-06-12 15:50:06 +02:00
can1357 9845ba1861 feat(deps): enabled fastembed and onnxruntime peers to install on demand
- Moved `fastembed` and `onnxruntime-node` to optional peerDependencies.
- Fixed bundled installs that could not resolve `onnxruntime_binding.node`.
- Added shared `runtime-install` utilities for on-demand module resolution.
- Added tests for runtime-resolution parsing and exact peer-version checks.
2026-06-12 14:18:58 +02:00
can1357 e13ad3805f chore: bump version to 15.11.8 2026-06-12 12:16:34 +02:00
can1357 10d577e301 chore: bump version to 15.11.7 2026-06-12 10:02:58 +02:00
can1357 21be63e97d docs: Add READMEs and include documentation in published packages 2026-06-12 09:47:04 +02:00
can1357 1eb7cbe3fe chore: bump version to 15.11.6 2026-06-12 06:31:58 +02:00
can1357 f80cf7d584 chore: bump version to 15.11.5 2026-06-12 05:58:26 +02:00
can1357 0cb3cb6b9d chore: bump version to 15.11.4 2026-06-12 04:26:57 +02:00
can1357 5d6b1b6cbc fix(mnemopi): used real embeddings for SHMR consolidation clustering
- Switched `core/shmr` to the configured embedding provider: `embed()`, the new `embedBatch()`, `clusterBySimilarity()`, `computeHarmonyScore()`, `harmonize()`, and `recallBeliefs()` are now async and batch-embed candidate texts in a single provider call.
- Reused precomputed vectors from `memory_embeddings` for episodic candidates in `harmonize()` instead of re-embedding them.
- Kept the SHA1 bag-of-words hash (`hashEmbedding`) as the deterministic all-or-nothing fallback when no provider is available or a batch fails, and derived centroid dimensions from actual vector lengths instead of the hard-coded 384.
- Rewrote `shmr.test.ts` for the async API: provider-vector clustering (single batch call), deterministic hash fallback, and `memory_embeddings` reuse.

Fixes #2324: Mnemopi: shmr.ts uses SHA1 bag-of-words hashing instead of real embeddings for consolidation clustering
2026-06-12 04:01:57 +02:00
can1357 3e04b81c1b fix(mnemopi): surfaced silent embedding pipeline failures with structured logs
- Replaced the bare `catch {}` blocks in `runEmbedding()` (`beam/helpers.ts`), `getLocalModel()`, and the local-model path of `embed()` (`embeddings.ts`) with structured `logger.debug` entries carrying the error plus per-site context (item count, model name); failure semantics stay best-effort.
- Threaded `MnemopiOptions.debug` through `resolveRuntimeOptions()` in `memory.ts` so `mnemopiDebugEnabled()` escalates these logs to `warn` when `mnemopi.debug` is set.
- Passed `mnemopi.debug` from coding-agent settings into provider options (`debug` added to the `MnemopiProviderOptions` pick in `src/mnemopi/config.ts`).
- Added `embedding-failure-logging.test.ts` asserting the logged context on a real local-model load failure and the debug→warn escalation; the changelog entry landed with the previous commit (same contiguous run).

Fixes #2322: Mnemopi: runEmbedding() and getLocalModel() silently swallow errors — mnemopi.debug produces no diagnostic output
2026-06-12 04:01:47 +02:00
can1357 12bbefd48b feat(mnemopi): exposed polyphonic and enhanced recall via config.yml
- Added `mnemopi.polyphonicRecall` and `mnemopi.enhancedRecall` boolean settings (default off) to `settings-schema.ts` and `loadMnemopiConfig`, applied via the new `configureRecallFeatures()` in `createScopedResources`.
- Made `polyphonicRecallEnabled()`, `enhancedRecallEnabled()`, and `isEnhancedRecallEnabled()` fall back to the configured defaults while `MNEMOPI_POLYPHONIC_RECALL` / `MNEMOPI_ENHANCED_RECALL` env vars still win when set.
- Exported `configureRecallFeatures`/`RecallFeatureFlags` from the package root and `core` barrels; documented the settings in `docs/mnemosyne-memory-backend.md`.
- Added `recall-feature-flags.test.ts` covering defaults, config enablement, and env precedence; the mnemopi changelog hunk also carries the adjacent #2322 entry (same contiguous run).

Fixes #2323: Mnemopi: MNEMOPI_POLYPHONIC_RECALL and MNEMOPI_ENHANCED_RECALL not configurable via config.yml
2026-06-12 04:01:36 +02:00
can1357 e183efbc84 feat(packages/mnemopi): added runtime debug switch for verbose diagnostics
- Added `debug` to `MnemopiRuntimeOptions` and resolved runtime options.
- Added `mnemopiDebugEnabled()` to expose runtime-scope verbose diagnostic checks.
2026-06-12 03:46:03 +02:00