Repository navigation
What's Changed
- Implicit-feedback loop: learn ranking from real usage (#66) by @raphasouthall in #74
- docs(skills): steer vault usage toward the #66 ranking/feedback features by @raphasouthall in #75
- docs(skills): strip em-dashes from the #66 usage notes by @raphasouthall in #76
- Add neurostack export: dump index data to JSON by @raphasouthall in #77
- Add integration tests for the MCP server layer by @raphasouthall in #78
- Persist co-occurrence reinforcement across full reindex by @raphasouthall in #79
- Lean reference mode + size-bounded reads (#62) by @raphasouthall in #80
- docs(skills): teach the lean retrieval surface from #62 by @raphasouthall in #81
- Graph gaps + bridges analysis (#12) by @raphasouthall in #82
- Vault diff / change feed (#11) by @raphasouthall in #83
- Memory drift detection via prediction_errors (#38) by @raphasouthall in #84
- Strengthen harvest dedup with cosine similarity (#36 parts 2, 5) by @raphasouthall in #85
- docs(skills): teach graph analysis, change feed, and memory drift by @raphasouthall in #86
- feat(index): incremental --changed-since to skip whole-vault rebuild by @raphasouthall in #87
- fix(index): stop holding the SQLite write lock across Ollama calls by @raphasouthall in #89
- Archive-on-forget: delete paths archive memories instead of destroying them (#90) by @raphasouthall in #91
- Promotion queue: surface memories whose knowledge should move into notes (#92) by @raphasouthall in #93
- feat(context): soft context boost on vault_context sub-retrievals by @raphasouthall in #97
- feat(usage): primed vs used two-tier activation signal by @raphasouthall in #99
- feat(consolidate): consolidation replay — promote queued memories into notes by @raphasouthall in #100
- fix(consolidate): TITLE-line synthesis format — prose broke the JSON contract by @raphasouthall in #101
- docs(appendix): reconcile neuroscience framing with shipped mechanisms by @raphasouthall in #102
- Server-side usage capture during retrieval (#103) by @raphasouthall in #104
- Migrate MCP adapter to mcp 2.0, lift the <2 pin by @raphasouthall in #105
- feat(synthesize): observation -> learning synthesis CLI by @raphasouthall in #106
- fix(synthesize): live-calibrated threshold 0.65 + per-cluster member cap by @raphasouthall in #107
- fix(synthesize): drop blank member tags from the consolidated learning by @raphasouthall in #108
- Provenance: downgrade vault_graph/related/summary returns to primed surfaces by @raphasouthall in #110
- synthesize: bump SIBLING_THRESHOLD default to 0.75 by @raphasouthall in #112
- fix(redact): mask credential values in harvest and synthesize saves by @raphasouthall in #114
- MCP-native harvest: post a transcript instead of rsyncing session files by @raphasouthall in #116
- Do not record the re-post guard for a zero-yield transcript by @raphasouthall in #118
- Make the harvest classifier answer every candidate by @raphasouthall in #119
- Take the write and the 643-entity fan-out off the search path by @raphasouthall in #121
- Let the operator drop unused tools from the MCP surface by @raphasouthall in #123
- feat(init): auto-install automation hooks during neurostack init by @raphasouthall in #124
- fix(harvest): let the LLM judge every qualified message, not only keyword hits by @raphasouthall in #126
- fix(harvest): classifier batches of 5, JSON verdicts, few-shot SKIPs, one retry by @raphasouthall in #128
- docs: reposition NeuroStack as a RAG layer and optimizer for a knowledge base by @raphasouthall in #129
- docs: remove em dashes, contrasts and quotables from README and CLAUDE.md intro by @raphasouthall in #130
- docs: humanize README intro, scenarios and closer by @raphasouthall in #132
- feat(memories): trigger tags (when-editing / when-calling / when-error) by @raphasouthall in #133
- docs: replace README narrative with a functional description by @raphasouthall in #134
- feat(harvest): emit trigger tags for corrections and error-then-fix by @raphasouthall in #137
- docs: embed how-it-works diagrams in README by @raphasouthall in #138
- fix(harvest): parse bare-object replies and make the trigger rule explicit by @raphasouthall in #139
- feat(triggers): log firings and record ignored triggers as drift by @raphasouthall in #140
- feat(hook): harness-neutral client CLI (#141) by @raphasouthall in #144
- Retrieve, do not answer: remove vault_ask and request-time LLM calls by @raphasouthall in #145
- feat(hook): idle checkpoint so the harness model saves its own memories by @raphasouthall in #146
- feat(hook): checkpoint --run via checkpoint_command by @raphasouthall in #148
- fix(hook): checkpoint sends assistant text whole by @raphasouthall in #150
- feat(hook): LEARN health file, brief line, and status block (#151) by @raphasouthall in #152
- fix(checkpoint): save on the harvest budget and guard a dropped reply by @raphasouthall in #154
- Checkpoint runs in the background, nothing injected into the chat by @raphasouthall in #158
- feat(triggers): count the triggers the agent obeyed (#159) by @raphasouthall in #162
- fix: serialize conversation checkpoints by @raphasouthall in #164
- Post LEARN outcomes to an optional event_url webhook by @raphasouthall in #166
- Reject broad trigger tags at checkpoint save by @raphasouthall in #168
- Put the memory text on the first line of a trigger reminder by @raphasouthall in #169
- Refuse checkpoints from an outdated omp adapter by @raphasouthall in #170
- Consolidate: extend a same-named note instead of creating a twin by @raphasouthall in #171
- Checkpoint save: coerce unknown entity_type to observation by @raphasouthall in #172
- Consolidate: never extend an archived note by @raphasouthall in #173
- Retire the session-end transcript harvest posters by @raphasouthall in #175
- Manual checkpoints through an external queue by @raphasouthall in #177
- Fix trigger matching: command-style tags, MCP names, path selectors by @raphasouthall in #179
- harvest: pending list and single-transcript harvest for queue driving by @raphasouthall in #181
- checkpoint: cap the window, parse omp transcripts, fence the prompt body by @raphasouthall in #183
- synthesize: allow a shell command as the index LLM by @raphasouthall in #185
- prediction errors: separate coverage gaps from ranking misfits, and verify flags by @raphasouthall in #187
- hook checkpoint: machine-readable outcome for queue runners by @raphasouthall in #189
- hook checkpoint: an empty window reports success by @raphasouthall in #190
- queue: own checkpoint and harvest queue state in the CLI by @raphasouthall in #192
- Raise the checkpoint enqueue timeout cap above the webhook reply time by @raphasouthall in #194
- Settle trigger_ignored rows when the trigger is retired by @raphasouthall in #198
- Stop reporting promoted pointer memories as drift by @raphasouthall in #196
- Settle ignore rows when a trigger is followed by @raphasouthall in #200
- Skip messages harvest already classified when a session file grows by @raphasouthall in #202
- Reject invented search depths and lead the docstring with the choice rule by @raphasouthall in #204
- feat: exclude always-read files from inferred note use, alias vault_record_usage paths by @raphasouthall in #206
- harvest: add --pending --enqueue to feed the CLI queue by @raphasouthall in #208
- harvest: claim newest job first, key pending on message count by @raphasouthall in #210
- fix(queue): claim by payload mtime, not job_id by @raphasouthall in #212
- harvest: find omp subagent transcripts nested under the session dir by @raphasouthall in #214
- promotion: judge coverage instead of a similarity floor (v0.23.0) by @raphasouthall in #216
- agent: bundled Pi agent runs the promotion job on OpenRouter (v0.24.0) by @raphasouthall in #218
- agent: agent_base_url routes the Pi agent through a compatible proxy (v0.24.1) by @raphasouthall in #219
- agent: --prompt-file and --mode run your own prompt on the Pi agent (v0.25.0) by @raphasouthall in #220
- locks: one file lock for Linux, macOS, and Windows (#221) by @raphasouthall in #223
- schedule: one OS timer runs neurostack run-due every minute (#222) by @raphasouthall in #224
- jobs: run-due engine, job registry and job_runs table (#225) by @raphasouthall in #227
- jobs: checkpoint and harvest queue workers on run-due (#229) by @raphasouthall in #230
- ci: test on Linux, macOS, and Windows (#226) by @raphasouthall in #231
- queue: server-owned queue, clients upload transcripts (#232) by @raphasouthall in #234
- jobs: server workers read checkpoint_command from config.toml (#233) by @raphasouthall in #235
- init: finish the install with hooks, checkpoint AI and the timer (#236) by @raphasouthall in #239
- release: desktop notice on failed jobs, clean-install CI, 60-second start (#237, #238) by @raphasouthall in #240
Full Changelog: https://github.com/raphasouthall/neurostack/commits/v0.33.0