|
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to `supamem` will be documented in this file. |
| 4 | + |
| 5 | +## v0.1.0 — 2026-04-29 |
| 6 | + |
| 7 | +The initial public release. Extracted from the SoftChat dual-memory stack |
| 8 | +(Phases 80.1–80.5) and shipped as a project-agnostic Python package under MIT. |
| 9 | + |
| 10 | +### CLI surface (10 commands) |
| 11 | + |
| 12 | +- `supamem init` — greenfield bootstrap (probes Qdrant, creates per-project |
| 13 | + hybrid collection, writes `.supamem/config.toml`). |
| 14 | +- `supamem install --client {claude-code|cursor|opencode}` — patches the |
| 15 | + client config atomically; idempotent; `--dry-run` supported. |
| 16 | +- `supamem uninstall --client X` — reverses install cleanly. |
| 17 | +- `supamem index [--target tuned] [--force] [--snapshot cursor]` — embeds |
| 18 | + Markdown sources into Qdrant or refreshes the Cursor `.mdc` snapshot. |
| 19 | +- `supamem mcp-server [--transport stdio|http] [--port N] [--host H]` — |
| 20 | + runs the MCP server. Streamable HTTP per Nov 2025 MCP spec (D-45). |
| 21 | +- `supamem hook {claude-code|opencode} [--file-path X]` — per-client |
| 22 | + PreToolUse hook delegate. Fail-soft: never blocks the calling tool. |
| 23 | +- `supamem doctor [--show-secrets]` — health probe + resolved config chain |
| 24 | + + version-drift advisory across detected clients. |
| 25 | +- `supamem stats [--show today|week|all] [--format table|json]` — Welford |
| 26 | + schema-v2 usage counters from `~/.cache/supamem/audit.jsonl`. |
| 27 | +- `supamem migrate --source X --target Y --path {coexist|migrate|adopt-as-is}` |
| 28 | + — brownfield migration with snapshot-before-destructive guard. |
| 29 | +- `supamem eval [--regress] [--goldens path]` — recall@5 + p95 latency + |
| 30 | + total tokens against the bundled 33-query corpus. Phase 80.1 baselines: |
| 31 | + `mean_recall_at_5 >= 0.60`, `total_tokens <= 4000`, `p95_latency_ms <= 500`. |
| 32 | + |
| 33 | +### Bundled |
| 34 | + |
| 35 | +- `~/.supamem/share/{rules,skills,commands,hooks,cursor-rules}/` — canonical |
| 36 | + artifacts referenced by every client config (SC-3 reference-not-copy |
| 37 | + contract; Cursor `.mdc` is the documented copy exception). |
| 38 | +- 33-query golden corpus at `supamem.eval.goldens.phase_80_1_tuned_hybrid` |
| 39 | + for `--regress` (per D-46). |
| 40 | +- Plugin entry-point groups for retrieval, embedder, and chunker so |
| 41 | + third-party packages can extend supamem without forking (per D-48). |
| 42 | + |
| 43 | +### Locked architecture (Phase 80.1 D-19 / D-25) |
| 44 | + |
| 45 | +- Hybrid retrieval: BM25 (`Qdrant/bm25`) + dense (`sentence-transformers/ |
| 46 | + all-MiniLM-L6-v2`) with Qdrant native `FusionQuery(RRF)`, prefetch=20. |
| 47 | +- T-1 markdown header chunker, soft-max 250 tokens, fallback 200/20. |
| 48 | +- T-4 recency boost, T-5 cosine dedup (threshold 0.97), T-8 token-budget |
| 49 | + truncation (1500). |
| 50 | + |
| 51 | +### Install |
| 52 | + |
| 53 | +```bash |
| 54 | +uv tool install git+https://github.com/dzmitrys-dev/supamem@v0.1.0 |
| 55 | +``` |
| 56 | + |
| 57 | +PyPI publish is deferred to v0.2 per D-44. v0.1.0 is git-tag-only so |
| 58 | +SoftChat's rip-out commit (Plan 80.6-14) can pin a verifiable artifact |
| 59 | +before the broader package distribution surface lands. |
| 60 | + |
| 61 | +### Notes |
| 62 | + |
| 63 | +- Forward-compat: tool `title` field set on every MCP tool registration; |
| 64 | + Cursor / Claude.ai web honor it today; Claude Code TUI ignores but will |
| 65 | + pick up automatically when the upstream lands. |
| 66 | +- Stylish `rich`-powered CLI output (banner, panels, spinners, status |
| 67 | + tables) on every long-running command. |
| 68 | +- Made with care by [SoftChat](https://app.softchat.ru) and |
| 69 | + [SoftSkillz](https://softskillz.ai). |
0 commit comments