Releases: Trapezohe/Anamnesis
Releases · Trapezohe/Anamnesis
v0.2.0
What's Changed
- fix(release): publish step finds drafts via listReleases by @0xsongsu in #66
- docs: refresh README + install.sh to v0.1.0 by @0xsongsu in #67
- build: prep workspace for crates.io publish by @0xsongsu in #68
- fix(adapter-codex): turn-by-turn JSONL parsing + mtime → created_at (#69) by @0xsongsu in #70
- fix(publish-crates): idempotent steps + retry-on-rate-limit by @0xsongsu in #71
- fix(publish-crates): also match cargo's 'already exists' error by @0xsongsu in #72
- fix(publish-crates): --no-verify for generic-mcp (dev-dep cycle) by @0xsongsu in #73
- fix(publish-crates): strip generic-mcp dev-deps before publish by @0xsongsu in #74
- fix(publish-crates): use cargo exit code as success truth, not grep by @0xsongsu in #75
- docs(readme): polish for v0.1.0 — crates.io install, 30-sec hero, fix stale notes by @0xsongsu in #76
- docs+chore: rewrite README, drop ghast adapter, add agent plugin marketplace by @0xsongsu in #78
- docs(zh): restore 搜魂术 alias and add provenance gloss by @0xsongsu in #79
- perf(import): batch upsert + single SQLite tx per 64 records (-14% wall on 1800-record import) by @0xsongsu in #80
- perf(embed+search): batch embedding worker drain + batch packer get_records (Round 63) by @0xsongsu in #81
- feat(observability): expose import_errors via status + doctor (Round 64) by @0xsongsu in #82
- feat(mcp): find_related accepts source/instance/kind/scope filter args (Round 65) by @0xsongsu in #83
- perf(bench): criterion baseline for vector + fulltext search (Round 66) by @0xsongsu in #84
- perf(store): sqlite-vec foundation — per-dim vec0 + filter pushdown (Round 67 PR-67a) by @0xsongsu in #85
- perf(search): pack() uses RecordHeader projection — -73% pack latency on long-content records (Round 68) by @0xsongsu in #86
- feat(observability): MCP request metrics — p50/p95/p99 + count/errors via doctor (Round 69) by @0xsongsu in #87
- feat(eval): MRR@k + nDCG@k quality harness with threshold gating (Round 70) by @0xsongsu in #88
- feat(observability): per-stage search tracing — search_memories(trace=true) (Round 71) by @0xsongsu in #89
- feat(store+cli):
anamnesis forget <record_id>— first value-stack move (Round 72 PR-72a) by @0xsongsu in #90 - feat(mcp): admin-gated forget_record tool — completes R72 across both surfaces (Round 73 PR-72b) by @0xsongsu in #91
- feat(store+cli+mcp): list_forgotten audit view — redaction-by-default (Round 74 PR-74) by @0xsongsu in #92
- feat(store+cli+mcp): unforget completes the forget lifecycle (Round 75 PR-75) by @0xsongsu in #93
- feat(cli):
anamnesis search --traceports R71 stage breakdown to the CLI (Round 76) by @0xsongsu in #94 - feat(store+cli+mcp): exact-duplicate report via
dedupe(Round 77 PR-77) by @0xsongsu in #95 - feat(store+cli+mcp): user-tag overlay survives re-import (Round 78 PR-78) by @0xsongsu in #96
- feat(store+cli+mcp):
--user-tagsearch filter, 3-path SQL pushdown (Round 79 PR-78b) by @0xsongsu in #97 - feat(store+cli+mcp): dedupe --source/--instance filter (Round 80) by @0xsongsu in #98
- feat(store+cli+mcp): tag_record gains atomic --replace semantic (Round 81) by @0xsongsu in #99
- feat(store+cli+mcp): list_sources exposes tagged_record_count (Round 82) by @0xsongsu in #100
- feat(store+cli+mcp): forget --dry-run preview before destructive cascade (Round 83) by @0xsongsu in #101
- feat(core+cli+mcp): audit tail / audit_tail surfaces audit.log (Round 84) by @0xsongsu in #102
- feat(mcp-server): get_record { include_lineage } surfaces provenance chain (Round 85) by @0xsongsu in #103
- feat(store+cli+mcp): source show / source_show per-source detail view (Round 86) by @0xsongsu in #104
- feat(search+cli+mcp): search --explain / search_memories({ explain: true }) (Round 87) by @0xsongsu in #105
- feat(cli): source list --json for parity with source show --json (Round 88) by @0xsongsu in #106
- feat(mcp-server): find_related explain — compact score breakdown in prompt (Round 89) by @0xsongsu in #107
- feat(store+cli+mcp): list_forgotten --include-counts tombstone aggregation (Round 90) by @0xsongsu in #108
- feat(cli): audit tail --csv (Round 91) by @0xsongsu in #109
- feat(mcp-server): audit_tail csv parity with CLI (Round 92) by @0xsongsu in #110
- feat(mcp-server): find_related --user-tag filter (Round 93) by @0xsongsu in #111
- feat(store+mcp): summarize_my_preferences user_tag filter (Round 94) by @0xsongsu in #112
- feat(store+cli+mcp): unforget --dry-run / unforget_record dry_run (Round 95) by @0xsongsu in #113
- feat(cli+mcp): tag_record stats + filtered list_sources (Round 96) by @0xsongsu in #114
- feat(store+cli): dedupe --include-counts filter-scoped aggregate (Round 97) by @0xsongsu in #115
- feat(mcp-server): dedupe include_counts parity with CLI (Round 98) by @0xsongsu in #116
- feat(cli): source list --source / --instance filter (Round 99) by @0xsongsu in #117
- feat(mcp-server): find_related summary line (Round 100) by @0xsongsu in #118
- feat(mcp-server): summarize_my_preferences summary line (Round 101) by @0xsongsu in #119
- feat(audit): audit tail --action one,two multi-value OR filter (Round 102) by @0xsongsu in #120
- feat(cli+mcp): list_sources source multi-value OR filter (Round 103) by @0xsongsu in #121
- feat(store+cli+mcp): dedupe source multi-value OR filter (Round 104) by @0xsongsu in #122
- feat(mcp): list_forgotten csv (Round 105) by @0xsongsu in #123
- fix(cli): 8 MB main-thread stack + restore list-forgotten --csv (Round 106) by @0xsongsu in #124
- feat(cli+mcp): dedupe --csv redacted output (Round 107) by @0xsongsu in #125
- feat(cli+mcp): dedupe non-CSV format marker (Round 108) by @0xsongsu in #126
- feat(mcp): list_forgotten + audit_tail JSON format markers (Round 109) by @0xsongsu in #127
- feat(cli+mcp): doctor source multi-value OR filter (Round 110) by @0xsongsu in #128
- feat(mcp): prompts/list top-level summary line (Round 111) by @0xsongsu in #129
- feat(mcp): resources/list top-level summary line (Round 112) by @0xsongsu in #130
- feat(mcp): tools/list top-level summary line (Round 113) by @0xsongsu in #131
- feat(cli+mcp): doctor instance multi-value OR filter (Round 114) by @0xsongsu in #132
- R115: support instance OR filters by @0xsongsu in #133
- feat(mcp): audit_tail JSON top-level summary line (Round 116) by @0xsongsu in #134
- feat(mcp): JSON summary parity on list_sources/list_forgotten/dedupe (Round 117) by @0xsongsu in #135
- feat(mcp): source_show top-level redacted summary (Round 118) by @0xsongsu in #136
- feat(mcp): search_memories top-level redacted summary (Round 119) by @0xsongsu in #137
- feat(mcp): get_record top-level redacted summary (Round 120) by @0xsongsu in #138
- feat(mcp): trace_provenance top-level redacted summary (Round 121) by @0xsongsu in #139
- feat(mcp): prompts/get response-level redacted summary (Round 122) by @0xsongsu in #140
- feat(cli): status...
v0.1.0
What's Changed
- feat(adapter-letta): SQLite-mode adapter for Letta (formerly MemGPT) — §-2.3 P0 delivered by @0xsongsu in #34
- feat(adapter-hermes): Nous Research Hermes Agent adapter — MEMORY.md + USER.md + SQLite sessions (§-2.2) by @0xsongsu in #35
- feat(adapter-openclaw): OpenClaw adapter — SOUL.md / AGENTS.md / skills/ / sessions/ (§-2.2) by @0xsongsu in #36
- feat(adapter-ghast): ghast adapter — prompts + bundled-skills (encrypted profile DB flagged) §-2.2 by @0xsongsu in #37
- feat(adapter-tdai): TencentDB Agent Memory (TDAI) — 4-tier L0/L1/L2/L3 (§-2.3) by @0xsongsu in #38
- feat(adapter-openviking): OpenViking VikingFS adapter + workspace tmp-dir stability fix (§-2.3) by @0xsongsu in #39
- feat(adapter-mempalace): MemPalace ChromaDB adapter — identity.txt + drawers (§-2.3) by @0xsongsu in #40
- feat(adapter-memori): Memori SQLite adapter — facts/attrs/messages/summaries/KG (§-2.3) by @0xsongsu in #41
- feat(adapter-memos): MemOS adapter — textual_memory.json MemCubes (§-2.3) by @0xsongsu in #42
- feat(adapter-memary): Memary local-cache adapter — JSON files + personas (§-2.3) by @0xsongsu in #43
- docs(readme): refresh for 14 first-class adapters (§-2.2 + §-2.3) by @0xsongsu in #44
- feat(extractor): §-1.5 PR-6 Stage 1 — deterministic Episode gate + dry-run CLI by @0xsongsu in #45
- feat(core,store): provenance.derived_from + migration 0004 (§-1.5 PR-6 prep) by @0xsongsu in #46
- feat(store,cli): Store::list_derivations + lineage_chain +
anamnesis lineageCLI by @0xsongsu in #47 - feat(extractor,cli): §-1.5 PR-6 Stage 2 — LlmProvider trait + MockProvider + end-to-end by @0xsongsu in #48
- feat(extractor,cli): OpenAI-compatible HTTP provider behind feature flag by @0xsongsu in #49
- feat(cli): Stage 2 safety — confirmation prompt + --max-llm-calls + audit JSONL by @0xsongsu in #50
- feat(cli): anamnesis audit list / show — browse the Stage 2 audit log by @0xsongsu in #51
- feat(extractor,cli): concurrent Stage 2 with --concurrency N (default 1) by @0xsongsu in #52
- feat(extractor,cli): native Anthropic Messages API provider behind feature flag by @0xsongsu in #53
- docs(readme): cover the shipped §-1.5 PR-6 session extractor by @0xsongsu in #54
- feat(extractor): 429/5xx retry with exponential backoff on OpenAI + Anthropic providers by @0xsongsu in #55
- feat(cli): --max-retries flag + retry policy in audit log + banner by @0xsongsu in #56
- feat(cli): anamnesis doctor — §-2.5 per-source health check by @0xsongsu in #57
- feat(cli): doctor --strict (CI-friendly exit code) + README CLI ref by @0xsongsu in #58
- feat(cli): doctor --since staleness filter + --strict-staleness by @0xsongsu in #59
- feat(cli): doctor probes generic-mcp via its HTTP /healthz endpoint by @0xsongsu in #60
- feat(release): install.sh one-liner + Homebrew formula template + packaging docs by @0xsongsu in #61
- feat(mcp): expose
doctortool — per-source health + staleness over JSON-RPC by @0xsongsu in #62 - feat(cli): mcp-config + integration guide + E2E quickstart (Round 55) by @0xsongsu in #63
- test: wire AdapterContract harness to remaining 11 adapters (Round 56) by @0xsongsu in #64
- release: 0.1.0 — first stable adapter-contract release by @0xsongsu in #65
Full Changelog: v0.0.2...v0.1.0
v0.0.2
What's Changed
- Phase 1 + 2 + 3: full Anamnesis implementation (3 adapters, hybrid RAG, MCP) by @0xsongsu in #2
- fix(adapter-claude-code): scanner recursion + frontmatter top-level type (PR-F + PR-G) by @0xsongsu in #7
- fix(adapter-claude-code): JSONL turn parsing + readable markdown + mtime (PR-H + PR-I) by @0xsongsu in #8
- fix(cli,store): source registry is canonical for import (PR-B, F5) by @0xsongsu in #9
- feat(mcp-server): admin tool gate — import_source off by default (PR-A) by @0xsongsu in #10
- feat: SearchFilter pushdown — minority source survives majority dominance (PR-C) by @0xsongsu in #11
- feat(search): packer ranking defaults — kind boost + recency + per-project cap by @0xsongsu in #12
- feat(store): CJK FTS via jieba pre-tokenization — Chinese search actually works by @0xsongsu in #13
- docs: round-6 verification — embedder dogfood + Hybrid vs FTS on real Chinese corpus by @0xsongsu in #14
- perf(store): fast-path upsert_record when raw_hash unchanged (~70× faster re-imports) by @0xsongsu in #15
- feat(search,mcp,cli): search_memories wire format — trace_id, score breakdown, time fields by @0xsongsu in #16
- feat(store,mcp,cli): list_sources returns per-source counts + staleness by @0xsongsu in #17
- feat(store,mcp): trace_provenance accepts chunk_id + returns chunk content + tokenized form by @0xsongsu in #18
- feat(store,mcp): get_record returns normalized agent-decision-ready payload by @0xsongsu in #19
- feat(cli): search human-readable card surfaces full wire schema by @0xsongsu in #20
- fix(mcp,store,adapter-generic-mcp): resources/list emits concrete URIs — loopback actually round-trips by @0xsongsu in #21
- feat(cli,mcp): wire
anamnesis serve --sseto in-process MCP HTTP transport by @0xsongsu in #22 - test(cli): search_memories round-trips over the unified
serve --sseHTTP transport by @0xsongsu in #23 - feat(cli):
anamnesis statusshows per-source health table + freshness by @0xsongsu in #24 - feat(cli): generic-mcp is a first-class CLI source (
source add --url+import) by @0xsongsu in #25 - refactor(importer,cli,mcp): unify CLI and MCP admin import through ImportService (§-1.5 PR-3) by @0xsongsu in #26
- feat(importer,cli,adapter-claude-code): ScanOpts pushdown —
--since/--fullare real (§-1.5 PR-4a) by @0xsongsu in #27 - feat(adapter-codex,adapter-mem0,adapter-generic-mcp): honor ScanOpts.since / full (§-1.5 PR-4b) by @0xsongsu in #28
- feat(store,mcp,adapter-generic-mcp): cursor pagination for resources/list (§-1.5 PR-2) by @0xsongsu in #29
- feat(mcp,cli): expose kind/scope/instance/since/until on search_memories (§-1.5 PR-5) by @0xsongsu in #30
- ci(release): tag-triggered multi-OS binary release workflow by @0xsongsu in #31
- chore(release): bump to 0.0.2 + close [Unreleased] CHANGELOG section by @0xsongsu in #32
- ci(release): fix archive globbing + park aarch64-linux cross build by @0xsongsu in #33
New Contributors
Full Changelog: https://github.com/Trapezohe/Anamnesis/commits/v0.0.2