Immutable
release. Only release title and notes can be modified.
What's Changed
- feat(store): reconcile drifted vector-index kinds on open (interim greenfield-tax fix) by @jscott3201 in #250
- ci: add rustdoc (-D warnings) gate to everyday ci.yml by @jscott3201 in #251
- feat(logging): tracing subscriber + periodic traffic heartbeat (logging foundation) by @jscott3201 in #252
- feat(observability): instrument MCP tool dispatch + store lifecycle (PR2) by @jscott3201 in #253
- feat(observability): forget-internal tracing spans — sweep / point-ops / erase (PR3) by @jscott3201 in #254
- feat(plugin): add memory-bootstrap skill — one-time foundational substrate setup by @jscott3201 in #255
- fix(ci): cover bin-only crates in rustdoc gate + fix serve.rs doc link by @jscott3201 in #256
- feat(store): create missing catalog indexes on open (recover) by @jscott3201 in #257
- feat(config): expose [consolidation] deployment-config block (pass tuning) by @jscott3201 in #258
- fix(cli): release stdio locks before serve — unblock MCP initialize hang by @jscott3201 in #259
- fix(mcp): document + test read_memory by-id team-namespace authorization (#13) by @jscott3201 in #260
- feat(consolidate): per-stage profile under consolidate(verbose=true) (#15) by @jscott3201 in #261
- fix(consolidate): predicate-extraction precision — drop is_a catch-all, gate subjects, discount derived trust (#12) by @jscott3201 in #262
- feat(store): create missing catalog types on open (recover) by @jscott3201 in #263
- fix(retrieval): namespace-scoped episode recall + fan-out knob + recall cost guards by @jscott3201 in #264
- chore(deps): adopt selene-db 1.3.0 — reserved-word renames + YIELD-WHERE rewrite by @jscott3201 in #265
- docs(domain): fix rustdoc intra-doc link broken by Session→MemSession rename by @jscott3201 in #266
- feat(retrieval): scope the episode graph signal to visible namespaces via pagerank result_nodes by @jscott3201 in #267
- feat(retrieval): scope episode lexical/dense signals via predicate-filtered ANN/BM25 by @jscott3201 in #268
- fix(mcp): reject explicit search fanout=0 instead of silently defaulting by @jscott3201 in #269
- feat(retrieval): honest absolute confidence + opt-in min_relevance floor (P0a) by @jscott3201 in #270
- fix(audit): attribute manual pin/unpin/forget/unforget to the acting agent (P1) by @jscott3201 in #271
- feat(consolidate): profile the extraction stage so prose-derives-nothing is a visible signal (P0b) by @jscott3201 in #272
- docs(mcp): clarify recall semantics — considered denominator, manual consolidation, session_id-at-capture (P2) by @jscott3201 in #273
- test(retrieval): pin that a floor emptying the ranked tier still surfaces core blocks by @jscott3201 in #274
- feat(mcp): surface creation provenance on read_memory verbose/full by @jscott3201 in #275
- refactor(retrieval): FusionStrategy seam, WeightedRrf as byte-identical default by @jscott3201 in #276
- feat(retrieval): per-class min_relevance floor plumbing (default OFF) by @jscott3201 in #277
- feat(eval): scaffold modular aionforge-eval crate (metrics + report core) by @jscott3201 in #278
- feat(eval): embedder-backed floor-sweep runner + labeled fixture by @jscott3201 in #279
- test(eval): enrich floor-sweep corpus with sanitized project memories + adjacent negatives by @jscott3201 in #280
- feat(eval): multi-embedder/size comparison via separation margin by @jscott3201 in #281
- feat(retrieval): flip the single-hop-factual dense floor on at 0.60 by @jscott3201 in #282
- feat(eval): BEAM-grounded source-recall-under-floor measurement by @jscott3201 in #283
- feat(eval): sweep embedding dimension in the BEAM floor-recall runner (gemini-1536 A/B) by @jscott3201 in #284
- feat(embed): Matryoshka truncation for a reduced-dimension store by @jscott3201 in #285
- feat(eval): seed-once/sweep-via-search BEAM client against a live MCP store by @jscott3201 in #286
- feat(retrieval): calibrate and turn on the Temporal dense floor at 0.60 by @jscott3201 in #287
- feat(retrieval): hybrid dense-OR-signal floor; activate MultiHop/Entity at 0.60 by @jscott3201 in #288
- feat(retrieval): global PageRank authority prior fusion signal (staged off) by @jscott3201 in #289
- feat(retrieval): Louvain community-diversity cap in select() (default off) by @jscott3201 in #290
- feat(eval): graph-bearing benchmark — R1 authority + R2 community-cap marginal-lift sweeps by @jscott3201 in #291
- feat(serve): autonomous background consolidation behind AIONFORGE_CONSOLIDATION__ENABLED (default off) by @jscott3201 in #292
- feat(retrieval): activate community diversity cap by @jscott3201 in #293
- feat(mcp): loosen context budget caps by @jscott3201 in #294
- test(serve): add binary initialize smoke test by @jscott3201 in #295
- feat(eval): add session-aware ingest adapter by @jscott3201 in #296
- docs(bench): add Benchmarks.md results ledger by @jscott3201 in #297
- feat(eval): add LongMemEval retrieval scorer by @jscott3201 in #298
- feat(eval): baseline LongMemEval retrieval by @jscott3201 in #299
- feat(eval): record off-topic rejection floor by @jscott3201 in #300
- release: 0.3.0 by @jscott3201 in #301
Full Changelog: v0.2.2...v0.3.0