Paul Hernandez
93ed34001b
fix(core): disambiguate truncated observation permalinks to prevent index collisions ( #931 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 20:20:46 -05:00
Paul Hernandez
ec94feb6a4
Merge branch 'main' into codex/fix-bossbot-assets-publish
2026-06-09 19:23:27 -05:00
Paul Hernandez
831b9141a5
ci(ci): use pytestmon and Depot runners ( #928 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-06-09 19:20:08 -05:00
phernandez
2de19713f6
fix(ci): make BM Bossbot asset cleanup idempotent
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-06-09 19:14:13 -05:00
phernandez
79fcfbce6a
fix(ci): restrict BM Bossbot to trusted PR authors
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-06-09 17:16:49 -05:00
phernandez
3d22ba3004
fix(ci): harden BM Bossbot finalization
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-06-09 16:32:06 -05:00
phernandez
62229d9d0a
fix(ci): address BM Bossbot PR feedback
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-06-09 15:55:36 -05:00
phernandez
03ba268cb1
feat(ci): add BM Bossbot PR gate
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-06-09 15:18:40 -05:00
Paul Hernandez
de53e0ecc5
feat(cli): per-workspace rclone remotes for Team push/pull ( #920 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-06-08 17:39:37 -05:00
Paul Hernandez
4128cac9ab
docs(core): add Basic Machines agent style guidance ( #921 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-06-08 17:09:50 -05:00
Paul Hernandez
9b53d7863f
feat(cli): add Team-safe cloud push/pull and gate sync to Personal workspaces ( #917 )
...
Adds additive, git-style `bm cloud push`/`pull` that are safe on shared Team workspaces (never delete on the destination; conflicts abort by default with `--on-conflict {fail|keep-local|keep-cloud|keep-both}`), and gates the destructive `bm cloud sync`/`bisync` mirrors to Personal workspaces. Closes #858 . Longer-term Team-safe reconciler tracked in #862 ; workspace-scoped mount info (Codex P1) tracked as a follow-up.
2026-06-08 14:08:49 -05:00
Paul Hernandez
a8d034b940
fix(mcp): point move mismatch guidance at landing path ( #916 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-06-08 10:42:38 -05:00
Paul Hernandez
7c0937f658
fix(mcp): validate navigation pagination and fix recent_activity project display ( #915 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-07 23:03:00 -05:00
Paul Hernandez
8570d96bad
fix(cli): align bm tool commands with MCP (error exits, overwrite, category, default) ( #913 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-07 22:56:43 -05:00
Paul Hernandez
480a2d9468
fix(mcp): resolve memory:// in move_note and stop false cross-project rejections ( #914 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-07 22:44:08 -05:00
Paul Hernandez
df7452e3ba
fix(core): make note_types search filter case-insensitive ( #912 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-07 22:44:04 -05:00
Paul Hernandez
85a8e59d0f
fix(core): split comma-separated tags in parse_tags ( #911 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-07 22:44:01 -05:00
Paul Hernandez
07cb7a606b
docs(core): mark LiteLLM provider experimental ( #899 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-07 20:13:54 -05:00
Paul Hernandez
0ef03edde6
feat(cli): add --type to the write-note tool command ( #907 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-07 20:06:44 -05:00
Paul Hernandez
efe43a10ea
feat(cli): add --wait and --timeout to bm status ( #906 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-07 19:58:02 -05:00
Paul Hernandez
4fe6fe09c8
feat(core): add observation category filter to search ( #908 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-07 19:57:19 -05:00
Paul Hernandez
8acdb49a41
fix(core): reuse a single embedding provider per process ( #903 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-07 19:14:07 -05:00
Paul Hernandez
f7304bf553
feat(cli): improve workspace and cloud bisync command discoverability ( #905 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-07 18:18:17 -05:00
Paul Hernandez
5b034f081d
fix(core): self-heal corrupt FastEmbed model cache ( #900 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-07 17:37:30 -05:00
Paul Hernandez
271c883ea8
fix(core): load sqlite-vec for embedding-status query ( #901 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-07 17:37:27 -05:00
Paul Hernandez
816ee85fb9
fix(core): prevent asyncpg engine-dispose crash on Postgres backend ( #902 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-07 17:37:23 -05:00
Paul Hernandez
3ba3a9504d
fix(mcp): stop move_note reporting false success across boundaries ( #904 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-07 17:37:20 -05:00
Paul Hernandez
1667cdc000
test(ci): normalize setup overwrite assertion ( #898 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-06-06 23:20:06 -05:00
Sourish Chakraborty
f916662ff3
fix(core): allow cross-project context traversal
2026-06-06 21:43:21 -05:00
DoubleDeeRuffy
0c9800cd3b
fix(sync): use strict deferred relation resolution
2026-06-06 21:43:09 -05:00
Adit Karode
476239d878
feat(cli): add delete-note tool command
2026-06-06 21:41:46 -05:00
DoubleDeeRuffy
20bb19f4cd
fix(mcp): resolve write-note overwrite conflicts
2026-06-06 21:41:36 -05:00
tk
f6565b9d23
fix(core): L2-normalize FastEmbed vectors ( #843 )
...
L2-normalizes FastEmbed output vectors at the provider boundary so SQLite vector scoring keeps its unit-vector contract for custom FastEmbed models such as multilingual MiniLM variants.
Zero vectors are preserved as-is to avoid division errors, and the provider tests cover both non-unit vectors and zero-vector behavior.
Verification:
- uv run pytest tests/repository/test_fastembed_provider.py -q
- uv run ruff check src/basic_memory/repository/fastembed_provider.py tests/repository/test_fastembed_provider.py
- uv run ruff format --check src/basic_memory/repository/fastembed_provider.py tests/repository/test_fastembed_provider.py
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
Signed-off-by: tk-pkm111 <133480534+tk-pkm111@users.noreply.github.com >
Signed-off-by: phernandez <paul@basicmachines.co >
2026-06-06 17:15:19 -05:00
Aarish Alam
b6e8c636ce
feat(core): add LiteLLM embedding provider ( #809 )
...
Adds LiteLLM as a semantic embedding provider, including provider configuration, vector normalization, live-provider evaluation tooling, and documentation for OpenAI, Cohere, Azure Foundry, Azure OpenAI, and NVIDIA NIM-style cases.
Maintainer follow-up on this PR added provider hardening, asymmetric document/query embedding support, dimension-forwarding controls, SQLite/Postgres vector invalidation coverage, and the repeatable live LiteLLM harness.
Verification:
- Full base-repo Tests workflow passed for 3d4e092ceb : https://github.com/basicmachines-co/basic-memory/actions/runs/27072071785
- Live LiteLLM harness passed locally for OpenAI, Cohere, and Azure Foundry.
Co-authored-by: Aarish Alam <arishalam121@gmail.com >
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
Signed-off-by: RheagalFire <arishalam121@gmail.com >
Signed-off-by: phernandez <paul@basicmachines.co >
2026-06-06 17:13:09 -05:00
Paul Hernandez
442fd1523c
fix(plugins): include codex in shared version bump ( #897 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-06-05 18:34:57 -05:00
Paul Hernandez
ce4b5d47a0
fix(skills): reject invalid frontmatter YAML ( #896 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-06-05 13:14:27 -05:00
phernandez
59e865c079
chore: update version to 0.21.6 for v0.21.6 release
...
Signed-off-by: phernandez <paul@basicmachines.co >
v0.21.6
2026-06-04 23:41:42 -05:00
phernandez
96b6b21a88
docs: add v0.21.6 changelog entry
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
Signed-off-by: phernandez <paul@basicmachines.co >
2026-06-04 23:41:30 -05:00
Paul Hernandez
5973f9b787
feat(plugins): add codex plugin package ( #894 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-06-04 23:14:07 -05:00
Paul Hernandez
8887267256
fix(ci): improve auto bm note narrative ( #893 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-06-04 22:34:57 -05:00
Paul Hernandez
a6cfed96f1
fix(ci): allow ci PR title scope
...
Allows ci as a semantic PR title scope and covers the workflow config with a regression test.
2026-06-04 21:05:29 -05:00
Paul Hernandez
2de8183e85
fix(ci): require all codex synthesis schema fields
...
Fixes the Auto BM Codex structured-output schema guardrail so live synthesis can run.
2026-06-04 20:48:55 -05:00
Paul Hernandez
0adbc12f09
docs(ci): document auto bm dogfood install
...
Documents the temporary checkout install used while dogfooding Auto BM before the next package release.
2026-06-04 20:44:51 -05:00
phernandez
80ca5a07fd
ci(cli): dogfood auto bm workflow install
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-06-04 20:33:49 -05:00
phernandez
4502bd3c3b
ci(cli): configure auto bm workflow
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-06-04 20:27:42 -05:00
phernandez
b386502020
fix(cli): show copyable workspace identifiers
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-06-04 20:20:56 -05:00
phernandez
16ba55d7b4
feat(cli): add auto bm github ci
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-06-04 20:14:59 -05:00
Paul Hernandez
5458c35b35
refactor(plugins): prefix Claude Code plugin skills with bm- ( #878 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-04 12:04:05 -05:00
Paul Hernandez
fc2ee07076
feat(api): expose owning project on entity resolve
...
Expose project_external_id on v2 entity resolve responses so cloud callers can authorize cross-project targets without a second tenant DB lookup.
2026-06-02 18:01:17 -05:00
phernandez
61891f2e33
fix(plugins): address PR review — scope captureFolder to checkpoints, ASCII echo
...
Review feedback on #876 :
- Codex (P2): the SessionStart "Where to write" brief said all auto-capture goes to
captureFolder, but captureFolder is only the PreCompact checkpoint folder. Narrowed
it — checkpoints go to captureFolder; decisions/tasks/notes follow
placementConventions (or topic folders when none are set), so proactive captures
aren't dumped into sessions/ alongside checkpoints.
- Claude review: replaced the em dash in the skills-source-guard echo string with a
hyphen so the instruction's console output stays ASCII (CLAUDE.md compatibility).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
Signed-off-by: phernandez <paul@basicmachines.co >
2026-05-31 15:05:01 -05:00