Paul Hernandez
b3d5448355
fix(sync): preserve canonical markdown in single-file sync ( #746 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-04-15 20:04:28 -05:00
Paul Hernandez
4e53bb83fd
refactor(core): simplify note write flow ( #739 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-04-15 17:56:27 -05:00
phernandez
8f2b25f0e0
test(core): stabilize postgres fixtures
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-04-13 14:25:26 -05:00
Paul Hernandez
052545b661
chore(core): make ty the default typechecker ( #736 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-04-13 10:34:01 -05:00
Paul Hernandez
a872947e03
fix(cli): show cloud index freshness in project info ( #734 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-04-10 09:22:35 -05:00
Paul Hernandez
093c94fea5
fix(core): clean up delete vectors and cloud sync ( #733 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-04-09 21:23:45 -05:00
Paul Hernandez
7945c1e2f7
perf(core): speed up vector sync and tune fastembed defaults ( #731 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-04-09 00:20:12 -05:00
Paul Hernandez
540da418b3
perf(sync): batch file indexing in core ( #726 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-04-08 01:21:49 -05:00
Paul Hernandez
3e40cb9657
fix(core): remove runtime ALTER TABLE from vector init ( #728 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-04-08 00:39:37 -05:00
Paul Hernandez
8c81d3ce17
perf(core): reduce postgres vector sync work ( #723 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-04-07 19:00:19 -05:00
Drew Cain
b35d594ef0
fix(core): preserve external_id during entity upsert on re-index ( #724 )
...
Signed-off-by: Drew Cain <groksrc@gmail.com >
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-07 10:26:10 -05:00
phernandez
e982900084
fix(core): strip null bytes from markdown content before database insert
...
PostgreSQL rejects null bytes (0x00) in text columns, causing
CharacterNotInRepertoireError when syncing files like Claude agent
definitions that contain embedded nulls. SQLite silently accepts them,
so this only surfaces in cloud environments.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
Signed-off-by: phernandez <paul@basicmachines.co >
2026-04-06 23:14:40 -05:00
Drew Cain
b3403e96b3
fix: add workspace routing to cloud upload and API client ( #704 )
...
Signed-off-by: Drew Cain <groksrc@gmail.com >
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
Co-authored-by: phernandez <paul@basicmachines.co >
2026-04-06 18:18:40 -05:00
Paul Hernandez
fe04a0b2a2
fix(mcp): pass workspace parameter through client factory ( #722 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 16:57:37 -05:00
jope-bm
86ad639890
fix(cli): show display_name instead of UUID for private projects in CLI ( #718 )
...
Signed-off-by: Joe P <joe@basicmemory.com >
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 10:14:46 -06:00
Paul Hernandez
88c8f18200
feat(core): add note_content tenant schema primitive ( #719 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-04-04 22:06:37 -05:00
Drew Cain
41a16b93cb
fix: Increase brew outdated timeout from 15s to 60s ( #695 )
...
Signed-off-by: Drew Cain <groksrc@gmail.com >
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 20:38:31 -05:00
Drew Cain
367fcaac50
perf: eliminate redundant DB queries in upsert_entity_from_markdown ( #714 )
...
Signed-off-by: Drew Cain <groksrc@gmail.com >
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
Co-authored-by: phernandez <paul@basicmachines.co >
2026-04-04 12:40:27 -05:00
Paul Hernandez
69808b23ca
perf(core): reuse written note content after writes ( #717 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-04-04 00:16:22 -05:00
Paul Hernandez
cff31c5797
feat(cli): support cloud project visibility on add ( #715 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-04-03 17:30:09 -05:00
Paul Hernandez
e6b98a15c7
fix(cli): propagate cloud workspace routing and incremental sync ( #712 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-04-03 14:25:02 -05:00
Drew Cain
733c4f7514
fix: eliminate N+1 query in search hydrate_results ( #713 )
...
Signed-off-by: Drew Cain <groksrc@gmail.com >
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-03 12:54:24 -05:00
Paul Hernandez
cfa70004be
fix: concurrent delete race conditions in delete_entity ( #702 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 19:57:30 -05:00
phernandez
7696fca826
fix: restore MCP telemetry compatibility and outcomes
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-03-28 15:31:13 -05:00
phernandez
98a2a3cbaf
Unify MCP telemetry spans across routers and services
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-03-28 14:42:18 -05:00
phernandez
01cbad1dbe
Allow long relation_type values in responses
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-03-28 09:56:22 -05:00
phernandez
a4e0422926
perf fixes
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-03-27 22:12:44 -05:00
phernandez
552a835669
chore: update version to 0.20.3 for v0.20.3 release
2026-03-26 23:09:57 -05:00
Paul Hernandez
d1320f671e
fix: (cloud) CLI cloud commands now use API key when configured ( #698 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 22:56:45 -05:00
phernandez
94bdfe77e4
fix: detect cloud mode in resolve_runtime_mode
...
BASIC_MEMORY_CLOUD_MODE env var was never checked in resolve_runtime_mode(),
so cloud deployments always ran as LOCAL mode. This caused file sync to start
in the cloud container, which then failed with "DATABASE_URL must be set when
using Postgres backend" because there's no local DB in cloud mode.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
Signed-off-by: phernandez <paul@basicmachines.co >
2026-03-26 14:53:12 -05:00
Paul Hernandez
4791e19685
feat: add Logfire phased instrumentation ( #692 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-24 20:39:42 -05:00
Paul Hernandez
36848410a1
feat(core): add default_search_type config setting ( #676 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-17 22:19:53 -05:00
jope-bm
a77b51a28e
fix(core): allow double-dot filenames while still blocking path traversal ( #673 )
...
Signed-off-by: Joe P <joe@basicmemory.com >
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-16 07:47:49 -06:00
Paul Hernandez
1a6a65571e
fix(mcp): add project detection from memory:// URLs in edit_note and delete_note ( #668 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 19:14:22 -05:00
Paul Hernandez
c8b00449d2
fix(core): exclude stale entity rows from embedding coverage stats ( #675 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 18:45:36 -05:00
Paul Hernandez
013864ebf0
fix(cli): use resolved project path in doctor command ( #667 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 18:43:23 -05:00
Drew Cain
dd91b49054
chore: update version to 0.20.2 for v0.20.2 release
2026-03-10 23:13:59 -05:00
Drew Cain
7c96a0777d
fix(cli): handle brew outdated exit code 1 as outdated, not error
...
Signed-off-by: Drew Cain <groksrc@gmail.com >
2026-03-10 23:13:54 -05:00
Drew Cain
148e07c580
chore: update version to 0.20.1 for v0.20.1 release
2026-03-10 23:06:21 -05:00
Drew Cain
db60942267
fix(core): invalidate config cache when file is modified by another process ( #662 )
...
Signed-off-by: Drew Cain <groksrc@gmail.com >
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-10 23:05:55 -05:00
Drew Cain
7bfac158df
fix(cli): project list MCP column shows transport type instead of DB presence ( #661 )
...
Signed-off-by: Drew Cain <groksrc@gmail.com >
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-10 23:05:48 -05:00
Drew Cain
87616924ff
chore: update version to 0.20.0 for v0.20.0 release
2026-03-10 22:08:00 -05:00
Paul Hernandez
a94a717b1b
feat(cli): add default-on auto-update system and bm update command ( #643 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Signed-off-by: Drew Cain <groksrc@users.noreply.github.com >
Co-authored-by: Drew Cain <groksrc@users.noreply.github.com >
2026-03-10 22:06:33 -05:00
phernandez
6e4bb72f10
chore: update version to 0.19.2 for v0.19.2 release
2026-03-09 23:42:10 -05:00
Paul Hernandez
a5c9e77f16
fix: coerce string params to list/dict in MCP tools ( #657 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 22:19:07 -05:00
Paul Hernandez
30a89357cb
fix(core): handle SQLite and Windows semantic regressions ( #655 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-03-09 22:18:17 -05:00
phernandez
222ec5d3b6
chore: update version to 0.19.1 for v0.19.1 release
2026-03-08 18:09:04 -05:00
Paul Hernandez
9809b469c6
fix: enforce strict entity resolution in destructive MCP tools ( #650 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 15:56:07 -05:00
phernandez
76ac880f2d
feat(api): add GET /knowledge/graph endpoint for full graph visualization
...
Returns all entities and resolved relations in a flat node/edge format
optimized for graph rendering. Replaces the frontend's use of the
recent memory endpoint which only returned a subset of relations.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
Signed-off-by: phernandez <paul@basicmachines.co >
2026-03-08 11:52:17 -05:00
Paul Hernandez
ad3f2650d9
feat: add insert_before_section and insert_after_section edit operations ( #648 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 10:54:10 -05:00