@nano-step/nano-brain 2026.5.3006 → 2026.5.3008

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +27 -1
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -147,9 +147,34 @@ summarization:
147
147
  When `summarization.enabled: true`, nano-brain automatically generates structured markdown summaries of each harvested session using an OpenAI-compatible LLM provider. Summaries are:
148
148
 
149
149
  - Stored in PostgreSQL under collection `session-summary` for semantic search via the standard query/vsearch API (PG is the source of truth)
150
+ - Optionally written to disk as Markdown files for Obsidian-compatible access (see [Disk persistence](#disk-persistence-obsidian-compatible) below)
150
151
  - Idempotent — unchanged sessions are skipped; re-harvested sessions overwrite old summaries
151
152
 
152
- > **Note**: as of `harvest-summary-only` (May 2026), summaries are no longer written to disk as `.md` files. The legacy `output_dir` YAML key is silently ignored for backward compat. Any pre-existing files under `~/.nano-brain/summaries/` are stale artifacts and can be safely deleted.
153
+ #### Disk persistence (Obsidian-compatible)
154
+
155
+ By default, summaries are written to disk as Markdown files at the path configured in
156
+ `summarization.output_dir` (default: `~/.nano-brain/summaries`). The file layout is:
157
+
158
+ ```
159
+ <output_dir>/<workspace_name>/<source>_<slugified-title>_<YYYY-MM-DD>.md
160
+ ```
161
+
162
+ Files are byte-identical to the `documents.content` field in PostgreSQL — disk is a
163
+ derivative view, DB is source of truth. Disk write failures (permission denied, disk
164
+ full) log a WARN but do not roll back the DB transaction.
165
+
166
+ To opt out (DB-only persistence):
167
+
168
+ ```yaml
169
+ summarization:
170
+ write_to_disk: false
171
+ ```
172
+
173
+ To backfill historical summaries already in the DB:
174
+
175
+ ```
176
+ nano-brain backfill-summaries
177
+ ```
153
178
 
154
179
  **Quick setup with ai-proxy:**
155
180
 
@@ -258,6 +283,7 @@ Workspace is passed in the JSON body for POST, query param for GET.
258
283
  | `nano-brain multi-get --workspace=<hash> --paths=p1,p2` | Fetch multiple documents in one round-trip |
259
284
  | `nano-brain collection add\|remove\|list` | Manage collections |
260
285
  | `nano-brain harvest` | Trigger session harvesting |
286
+ | `nano-brain backfill-summaries [--dry-run] [--workspace=] [--since=]` | Export existing DB summaries to disk (.md files for Obsidian etc.) |
261
287
  | `nano-brain cleanup-stale-raw [--dry-run]` | Delete pre-#192 raw OpenCode session docs superseded by summaries |
262
288
  | `nano-brain cleanup-orphan-workspaces [--dry-run]` | Delete documents/chunks under workspace_hash values not registered in `workspaces`. Run BEFORE migration 00011 (issue #238). |
263
289
  | `nano-brain bench generate\|run\|compare\|stress` | Benchmarking suite |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nano-step/nano-brain",
3
- "version": "2026.5.3006",
3
+ "version": "2026.5.3008",
4
4
  "description": "Persistent memory and code intelligence for AI coding agents",
5
5
  "bin": {
6
6
  "nano-brain": "npm/run.js"