Skip to content

Releases: Trapezohe/Anamnesis

v0.2.0

02 Jun 09:09
9d89436

Choose a tag to compare

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 --trace ports 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-tag search 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...
Read more

v0.1.0

18 May 11:18
e38e027

Choose a tag to compare

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 lineage CLI 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 doctor tool — 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

17 May 18:44
83b692c

Choose a tag to compare

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 --sse to in-process MCP HTTP transport by @0xsongsu in #22
  • test(cli): search_memories round-trips over the unified serve --sse HTTP transport by @0xsongsu in #23
  • feat(cli): anamnesis status shows 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/--full are 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