changelog

Version history

2.1.02026-09-22

Added

  • **Credential-shaped strings are redacted at capture time.** The transcript
  • **`cortex-vec raw-map --find-only`.** With `--find`, emits only
  • **Auto-push failures are visible.** A rejected push appends the remote's
  • **Filter crashes are diagnosable.** Filter stderr lands in
  • **`git.commit_trailer` config key.** When non-empty, the distill and evolve
  • **`CORTEX_FORCE_RECORD`.** Records a headless session that the new

Fixed

  • **Every hit now carries a real cosine.** A page that entered through the
  • **Filters are honoured by all three retrieval streams.** `_build_where`
  • **`reclaim-superseded` keeps cross-repo prefix Raws.** A session whose cwd
  • **The distilled marker strips as a block.** Two anchoring branches
  • **The recording pipeline fails open.** A filter that raises costs one tool
  • **Headless sessions are no longer recorded by default.** A `claude -p`
  • **Line breaks in a captured Raw are normalized to `\n`,** so text-mode

Changed

  • `--repo` semantics are stated identically in `cortex-query`,
  • `cortex-distill` Step 1 documents backlog hygiene — run the pairwise
  • `scripts/` is under the ruff gate.
  • `cortex-vec` 0.8.0 → 0.9.0.
2.0.02026-09-01

Added

  • **`/cortexes:query` is a real command.** The docs, the marketplace entry
  • `tests/test_query_command_smoke.py` — a runtime smoke test that drives the

Changed

  • **The Claude Code plugin identity is now `cortexes`.** `plugin.json` and
  • **Slash commands moved from `/cortex:*` to `/cortexes:*`.** Claude Code
  • The marketplace manifest gained a `renames` mapping (`cortex` →
  • Site page titles, the footer line, and the marketplace overlay's intro
  • The meta-session detector (`hooks/scripts/meta_session.py`) — which keeps
  • **Retrieval triggers now match the narrow `using-cortex` policy.** 1.3.2
  • The SessionStart hook's vault-topic block is labelled for what it is:
  • The marketplace entry no longer claims a missing `OPENAI_API_KEY` means
  • The landing page's Recall stage said semantic search was "checked before
  • The SessionStart label users see is now `[Cortexes]`.
  • **Removed the no-op `skills:` frontmatter from every command.** Slash-command
  • **Privacy disclosure for SessionStart.** `PRIVACY.md` and
  • The marketplace entry no longer says option 4 keeps the vault out of the
  • **Both READMEs' environment-variable tables are corrected.** They still said
  • **`PRIVACY` §6 listed a narrower OpenAI surface than §3.** §3 has always
  • Documentation that described `CORTEX_VAULT_PATH` as read by "the two
  • **`cortex-vec` is released as 0.8.0.** The Weekly removal changed `cli.py`
  • **`CORTEX_VAULT_PATH` is documented for what it actually is: a hook-only
  • **Complete Anthropic data-flow disclosure.** `PRIVACY.md` /
  • `commands/query.md` no longer pre-approves bare `Bash`. A read-only search
  • **`cortex-query` no longer reads `score` as a verdict on relevance.**
  • `cortex-takeoff` no longer illustrates the helper path with a hard-coded
  • Both READMEs now present `OPENAI_API_KEY` as **optional** — it enables
  • Both READMEs' Quick Start adds the missing `/plugin install cortexes@cortex`

Removed

  • **`Weekly/` is no longer a Cortexes vault taxonomy or retrieval type.**

Notes

  • **Nothing on disk changes.** This release renames a Claude Code plugin,
  • **If your vault has a `Weekly/` directory, Cortexes leaves it alone.**
1.3.22026-08-06

Added

  • `PRIVACY.md` (and `PRIVACY.zh-TW.md`), documenting every data flow in

Changed

  • The `using-cortex` skill now fires on four concrete signals — an

Fixed

  • Both READMEs described the SessionEnd flow as `hook → confirmation →
  • `CORTEX_NO_CLASSIFIER` was undocumented despite being the only way to
  • The Dependencies section still said `pip install -e ./cortex-vec`,
1.3.12026-08-05

Added

  • `cortex-vec` is published to PyPI. A `publish-cortex-vec` workflow

Changed

  • `cortex-vec` now installs from PyPI (`uv tool install cortex-vec`, or

Removed

  • The last literal occurrences of the pre-1.2.2 maintainer identity and
1.3.02026-08-05

Added

  • Multi-baton takeoff: a repo now holds one baton per work line, keyed by
  • `takeoff.sh list` — one line per baton (`topic<TAB>summary<TAB>path`),

Changed

  • `takeoff.sh clear` is now a soft delete: the baton moves to
  • `takeoff.sh` requires an explicit cwd on every subcommand — the `$PWD`
1.2.22026-08-05

Changed

  • The public maintainer identity is now the `XBlueSky` handle, superseding the
  • The GitLab fixture username in `tests/test_rtk_cmd_mcp_tools.py` is now

Added

  • Plugin directory submission metadata. `plugin.json` gains `displayName`,
1.2.12026-08-04

Removed

  • The internal-name leftovers that the 0.23.0 de-branding sweep missed —
  • Internal product and system names from this file's own history entries:
1.2.02026-08-04

Removed

  • The `entries:` count in `_index.md` frontmatter. Three instructions

Fixed

  • The `/cortex:genesis` index template had drifted from the vault it
  • `cortex-evolve` documented Projects index rows as one row per repo. They

Added

  • `docs/index-audit.md` — how to check `_index.md` against the files on disk
1.1.02026-07-28

Fixed

  • **SessionEnd no longer leaves a trail of redundant Raw snapshots.** The hook

Added

  • `cortex-vec reclaim-superseded` (no-chromadb fast path) — lists, or with
  • `cortex-vec` bumped to 0.7.0.
1.0.02026-07-17

Added

  • **Map-first distillation.** `/cortex:distill` no longer reads whole Raw
  • New `cortex-vec` subcommands: `raw-map`, `raw-span`, `raw-view`, and
  • `scripts/raw-map-corpus-check.py` — mechanical map-first corpus validation
  • **Record opt-out.** Setting `CORTEX_SKIP_RECORD=1` suppresses recording a

Changed

  • The `cortex-distill` skill is rewritten around the map-first navigation
  • `cortex-vec` bumped to 0.6.0.
0.23.02026-07-02

Removed

  • The remaining internal-tool-specific MCP output filters from the
  • Illustrative internal-looking strings in test fixtures and skill docs: the
  • The two product-name synonym groups (a NAS OS and a router OS, each with its
0.22.02026-07-02

Removed

  • `cortex-weekly` skill, its `/cortex:weekly` command, and the
  • `cortex-distill` Step 5.5 ("Write Summary File") and Step 5.6 ("Judge
  • The `weekly` block from `genesis`'s generated config template (`gitlab_username`,
0.21.12026-06-30

Fixed

  • README: the cortex-vec install command used `$(claude plugin root cortex)`,
0.21.02026-06-30

Added

  • `/cortex:takeoff` — a session hand-off "baton". When a long session's
0.20.02026-06-22

Changed

  • Weekly Source F (team chat) now collects self-authored contributions via

Added

  • Optional `weekly.chat_username` config (defaults to `weekly.gitlab_username`)
0.19.02026-06-12

Fixed

  • Distill/broadcast queue detection no longer trusts a body-substring scan

Added

  • `cortex-vec` subcommands for position-anchored vault-maintenance queries,

Changed

  • `cortex-distill` Step 1, `cortex-broadcast` Step 2, and the SessionStart
0.18.12026-06-09

Fixed

  • `rtk_filter` no longer crashes the SessionEnd filter pipeline when no TOML

Added

  • Developer test gate: `scripts/run-checks.sh` (ruff + both pytest suites),
0.18.02026-06-04

Added

  • SessionEnd hook now detects cortex maintenance-pipeline sessions
0.17.02026-06-02

Added

  • SessionEnd filter: the diagnostics plugin's `exec_command` outputs are
  • SessionEnd filter: the internal plugin's `codesearch` (shares the zoekt

Fixed

  • `_MCP_REGISTRY` now matches by server-token substring instead of a full
0.15.12026-05-28

Fixed

  • `cortex-vec`: `--repo X` no longer excludes cross-repo `Notes/` pages.
0.15.02026-05-27

Added

  • `cortex-weekly`: GitLab activity sweep. The weekly report now captures MR

Fixed

  • `weekly-compiler` agent now resolves team-chat DM participants (adds
0.14.22026-05-27

Fixed

  • `cortex-weekly`: resolve team-chat DM participants via

Added

  • `cortex-weekly`: Runtime Requirements + graceful-degradation policy.
0.14.12026-05-26

Changed

  • Wikilink graph-boost reworked from an additive score boost into a
  • Config key `retrieval.graph_weight` (additive strength) replaced by

Fixed

  • Test isolation: a `conftest` autouse fixture pins
0.14.02026-05-26

Added

  • **Hybrid retrieval** — `cortex-vec search` now fuses BM25 + vector
  • BM25 index persisted at `~/.cortex/bm25/`, kept in lockstep with the
  • `cortex-vec rebuild --bm25-only` — rebuild just the BM25 index from
  • **Retrieval eval harness** — `cortex-vec eval run` compares
  • Optional, **default-off** retrieval enhancements (each independently

Fixed

  • `cortex-vec search` reports the vector cosine similarity (0–1) as
  • `cortex-vec search` degrades to BM25-only when `OPENAI_API_KEY` is

Notes

  • `cortex-vec` package bumped to 0.4.0; new deps `rank-bm25`, `jieba`,
  • With all enhancements off, `cortex-vec search` behaves as before
  • Precise-term dedup scoring (boosting a low-cosine but exact-term
0.13.02026-05-24

Changed

  • `cortex-distill` Step 2 (has_insight) and Step 3.3 (placement) now
  • `cortex-distill` Step 9 drops the (y/n/l) broadcast prompt and
0.12.02026-05-22

Added

  • `weekly.repo_issue_map` config field (1:N repo → tracker issue
  • `cortex-distill` Step 5.6: judges which mapped issue a Raw
  • `cortex-weekly` Step 5b: surfaces vault-only tracker-tracked
  • Per-surface description budgets in `references/draft-template.md`:

Changed

  • `cortex-weekly` Source A now reads `issue:` from Summary
  • `cortex-weekly` Step 4 prefers issue-aware MR ↔ Summary join,
  • `cortex-weekly` Step 5 classification: `repo_issue_map` is a
  • `cortex-weekly` Same-title MR dedup: when all cluster MRs share
  • `[chat]` / `[mail]` brackets in `inbound.` no longer wrap the
  • Same-topic chat thread dedup rule documented: 2+ threads on the

Notes

  • See `docs/specs/2026-05-22-weekly-skill-revision-design.md` for
  • All new fields are optional; existing `~/.cortex/config.json`
0.11.12026-05-18

Fixed

  • `cortex-distill` Stage 1 `has_insight()` no longer gates on the
  • `cortex-distill` Step 3.2 dedup query text picker correspondingly

Notes

  • Existing Raws marked `(no insight)` under the old rule are NOT
  • Spec: see `docs/superpowers/specs/2026-04-17-distill-phase1-extraction-log-design.md`
0.11.02026-05-12

Added

  • `cortex-distill` Step 5.5: writes a per-Raw summary sidecar at
  • New top-level vault directory `Summary/` mirrors `Raw/`'s date

Changed

  • `cortex-weekly` Source A reads from `Summary/` instead of `Raw/`.
  • `cortex-weekly` Step 4 dedup against GitLab MRs (Source B) now
  • `cortex-weekly` Step 2 (Run Distill) now documented as a hard

Notes

  • Raw remains immutable. This change adds an additional derived
  • No backfill: only Raws distilled after 0.11.0 ships get a Summary.
  • `cortex-broadcast` and `cortex-query` are unaffected — both still
0.10.32026-05-08

Fixed

  • `cortex-weekly` (Source D, Source E): username matching is now strictly
  • New optional config key `weekly.css_username` (default: same as
  • `cortex-weekly` (Source F, Source G): chat/mail bullets now wrap
0.10.22026-05-08

Changed

  • `cortex-weekly` (Source F — team chat): DM threads no longer auto-drop —
  • `cortex-weekly` (Source G — mail): 1-on-1 threads attribute to
  • `cortex-weekly` redaction rule scoped to customer info / external personal
  • `cortex-weekly`: same-title MR dedup. Within `fix.`, `feat.`, or `inbound.`,

Notes

  • Past weekly reports are not regenerated.
  • Plugin consumers who relied on the strict-redaction rule (e.g., publishing
0.10.12026-05-06

Changed

  • `cortex-vec`: summary model upgraded from `gpt-4o-mini` to
  • `cortex-vec/store.py`: `_generate_summary()` now uses
  • `cortex-vec` bumped to `0.3.1`.

Notes

  • Existing Chroma `::summary` entries are not regenerated automatically;
  • The embedding model (`text-embedding-3-small`, 1536 dim) is unchanged;
0.10.02026-05-04

Added

  • **Weekly report — team-chat source** (`skills/cortex-weekly`): Source F
  • **Weekly report — mail source** (`skills/cortex-weekly`): Source G
  • `agents/weekly-compiler` allowed-tools extended with

Changed

  • `references/draft-template.md` documents the inbound shapes for
  • Cross-source dedup rule added to Step 4: chat/mail entries that merely
  • Frontmatter description for `cortex-weekly` lists chat and mail

Fixed

  • `references/draft-template.md` previously cross-referenced "Source C
0.9.22026-04-28

Added

  • **Proactive cortex triggering** — three-layer enforcement so the model
0.9.12026-04-21

Changed

  • Transcript filter renders Raw/ with plain-text section markers
0.9.02026-04-17

Added

  • **Transcript filter engine** — TOML-driven pipeline that scrubs session
  • Command-specific transcript filters so noisy tool outputs from a given
  • Bash volume-analysis helpers for inspecting filter rejection ratios.

Changed

  • `Stop` hook now runs the filter pipeline between session capture and Raw
0.8.02026-04-16

Added

  • **`/cortex:broadcast` command + `cortex-broadcast` skill** — llm-wiki style
  • `distill` gained a *Step 9 — Ask broadcast now?* so a finished distill can
  • `evolve` now appends an entry to `log.md` before committing.
  • `genesis` creates `log.md` during vault initialization.

Changed

  • `distill` upgraded to two-stage assessment with a `pending-merge` outcome

Fixed

  • `broadcast`: zero-candidate branch and pending-merge append clarified.
  • `distill`: log-append mechanism and interactive outcome mapping clarified.
0.7.02026-04-15

Added

  • `/cortex:weekly` aligned to the Friday-meeting cycle with a tighter draft
  • `references/draft-template.md` plus a leaner `SKILL.md`.

Changed

  • Weekly classifies by **tracker issue type**, not commit type — matches how
  • `distill` removed `distill-state.json`; the `<!-- distilled: -->` marker is

Performance

  • `SessionStart` hook defers `Raw/` scanning until the user explicitly picks

Fixed

  • Session-start prompt now correctly injects the vault path.
0.6.02026-04-14

Added

  • Interactive menu on `SessionStart` with vault status detection (weekly
0.5.02026-04-13

Added

  • **Dual-vector embedding** in `cortex-vec` — stores both the raw document
  • Bilingual summary generation via `gpt-4o-mini`.
  • Search dedup across the two vector spaces.

Changed

  • `Weekly/` excluded from the vector index (it's derived output, not source
  • Summary prompt switched to Traditional Chinese output for Chinese-context
0.4.12026-04-12

Fixed

  • `SessionStart` hook now prompts the model to ask about memory loading in
0.4.02026-04-11

Added

  • **`cortex-vec` as a proper Python package** (was an ad-hoc shell script):
  • ChromaDB-backed vector store with OpenAI `text-embedding-3-small`.
  • `/cortex:query` rewritten around vector-first search with grep fallback.
  • `/cortex:distill` gained value assessment and dedup checks.
  • `/cortex:evolve` now upserts into the vector store after writing markdown.

Changed

  • `SessionStart` hook rewritten as a lazy-loading prompt — memories are
  • Switched embedding model from local sentence-transformers to OpenAI

Removed

  • Legacy `build-repo-index.sh` script, replaced by `cortex-vec export-repo-index`.
  • Old monolithic `cortex-vec` shell script.
  • 0.3.x — first `_repo_index.json` for session-start repo lookup.
  • 0.2.x — vault structure split into `Raw/`, `Notes/`, `Projects/`, `Weekly/`.
  • 0.1.x — initial plugin skeleton with `evolve`, `distill`, and `weekly`