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
6f207c20c0
test(api): add recent activity hydration regression coverage ( #716 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-04-03 17:30:44 -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
dependabot[bot]
2d1ccfa36c
chore(deps): bump the uv group across 1 directory with 2 updates ( #697 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-03 17:29:46 -05:00
dependabot[bot]
a2e0f935d6
chore(deps): bump picomatch from 4.0.3 to 4.0.4 in /ui/tool-ui-react in the npm_and_yarn group across 1 directory ( #696 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-03 17:28:46 -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
v0.20.3
2026-03-26 23:09:57 -05:00
phernandez
888e3c2909
docs: add v0.20.3 changelog entry
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
Signed-off-by: phernandez <paul@basicmachines.co >
2026-03-26 23:09:20 -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
v0.20.2
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
v0.20.1
2026-03-10 23:06:21 -05:00
Drew Cain
21334cc29b
docs: add v0.20.1 changelog entry
...
Signed-off-by: Drew Cain <groksrc@gmail.com >
2026-03-10 23:06:15 -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
v0.20.0
2026-03-10 22:08:00 -05:00
Drew Cain
5cb0502ed2
docs: add v0.20.0 changelog entry
...
Signed-off-by: Drew Cain <groksrc@gmail.com >
2026-03-10 22:07:49 -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
v0.19.2
2026-03-09 23:42:10 -05:00
phernandez
11b0e31e24
docs: add v0.19.2 changelog entry
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
Signed-off-by: phernandez <paul@basicmachines.co >
2026-03-09 23:41:40 -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
v0.19.1
2026-03-08 18:09:04 -05:00
phernandez
d42aec7ea9
docs: add v0.19.1 changelog entry
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
Signed-off-by: phernandez <paul@basicmachines.co >
2026-03-08 18:04:30 -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
dependabot[bot]
d6508d985c
chore(deps): bump authlib from 1.6.6 to 1.6.7 in the uv group across 1 directory ( #645 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-08 10:53:52 -05:00
phernandez
7b95b9f37b
docs: add What's New in v0.19.0 section to README
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
Signed-off-by: phernandez <paul@basicmachines.co >
2026-03-08 10:29:06 -05:00
phernandez
0bce4be1a6
chore: update version to 0.19.0 for v0.19.0 release
v0.19.0
2026-03-07 14:27:43 -06:00
phernandez
a316424edf
docs: add v0.19.0 changelog entry
...
Comprehensive changelog for 114 commits since v0.18.5 covering semantic
vector search, schema system, per-project cloud routing, FastMCP 3.0
upgrade, CLI overhaul, and numerous bug fixes.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
Signed-off-by: phernandez <paul@basicmachines.co >
2026-03-07 14:27:29 -06:00
phernandez
af71cf4896
fix(test): clear search_vector_chunks before embedding backfill test
...
Test was polluted by other tests leaving rows in search_vector_chunks,
causing _needs_semantic_embedding_backfill to return False.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
Signed-off-by: phernandez <paul@basicmachines.co >
2026-03-07 13:54:58 -06:00
phernandez
e846ae85d8
fix: semantic embeddings not generated on fresh DB or upgrade
...
The previous backfill trigger relied on Alembic revision tracking, but
alembic_version only stores the head revision — intermediate revisions
(like the backfill trigger) are invisible after a multi-step upgrade or
fresh DB creation.
Three changes fix this:
1. Replace Alembic revision check with a simple "entities exist but
embeddings are empty" check that works regardless of migration path
2. Generate embeddings during sync — after FTS indexing, batch-embed all
synced entities at the end of the sync operation
3. Add background backfill at MCP startup for the upgrade path (entities
already exist, no embeddings) without blocking server readiness
Also adds clear startup logging for semantic embedding status so issues
are easy to spot in the logs.
📋 Covers: fresh DB, upgrade from pre-embedding version, db reset,
interrupted backfill
Signed-off-by: Pedro Hernandez <pedro@basicmachines.co >
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
Signed-off-by: phernandez <paul@basicmachines.co >
2026-03-07 13:23:39 -06:00
phernandez
63e4bcdf1d
fix: clarify search_notes parameter naming and fix note_types case sensitivity
...
- Add Annotated descriptions to note_types and entity_types parameters so
LLMs can distinguish frontmatter type filtering from knowledge graph item
type filtering (search.py, ui_sdk.py)
- Lowercase note_types values at filter time so "Chapter" matches stored
"chapter"
- Fix misleading entity_types references in schema.py guidance strings
(should be note_types)
- Add permalink pattern documentation note about full path matching
- Add test for note_types case-insensitive lowercasing
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
Signed-off-by: phernandez <paul@basicmachines.co >
2026-03-05 15:08:52 -06:00
phernandez
f23dd0474b
fix(test): patch API fallback in project_context tests for Postgres
...
In Postgres test mode, stale dependency_overrides on the module-level
FastAPI app allow _resolve_default_project_from_api() to query a live
database and return 'test-project' even when the test sets
default_project=None. Monkeypatch the async fallback in the three
affected tests to isolate config-based resolution from API leakage.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
Signed-off-by: phernandez <paul@basicmachines.co >
2026-03-04 15:34:35 -06:00