diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index c5b437c..2a6da8c 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -6,14 +6,14 @@ }, "metadata": { "description": "Hypermnesia MCP Viz — the read-only visualization companion for Cortex", - "version": "3.0.0" + "version": "3.1.0" }, "plugins": [ { "name": "hypermnesia-mcp-viz", "source": "./", "description": "Live memory galaxy, methodology map, workflow graph, wiki browser, and execution trace over the shared Cortex store.", - "version": "3.0.0", + "version": "3.1.0", "author": { "name": "Clement Deust", "email": "admin@ai-architect.tools" diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json index 926a97e..8638c18 100644 --- a/.claude-plugin/plugin.json +++ b/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "hypermnesia-mcp-viz", "description": "Standalone visualization MCP for Cortex — a live neural-graph galaxy of every project, file, symbol, memory, discussion and wiki page, plus a per-session execution trace. Read-only bridge over Cortex's shared PostgreSQL and the ~/.claude artifacts.", - "version": "3.0.0", + "version": "3.1.0", "author": { "name": "Clement Deust", "email": "admin@ai-architect.tools" diff --git a/.codex-plugin/plugin.json b/.codex-plugin/plugin.json index ef2b3f9..c9d709f 100644 --- a/.codex-plugin/plugin.json +++ b/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "hypermnesia-mcp-viz", - "version": "3.0.0", + "version": "3.1.0", "description": "Read-only visualization and graph MCP for Cortex, packaged for Codex.", "author": { "name": "Clement Deust", diff --git a/CHANGELOG.md b/CHANGELOG.md index 8a77761..0029229 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,35 @@ Releases before 2.7.0 were recorded as `chore(release)` / `release:` commits in ## [Unreleased] +## [3.1.0] - 2026-08-10 + +**Upgrading from 2.8.0:** this release carries a breaking distribution-identity +rename that was cut into the tree as `3.0.0` but never tagged or published — +see the `[3.0.0]` entry below for the full detail, and read it before you +upgrade. In short: `hypermnesia-mcp-viz` is now the *only* Claude Code plugin, +MCP server, Python distribution, and console identity; the `cortex-viz` +plugin and console entry point are gone. Run +`claude plugin uninstall cortex-viz@cortex-plugins`, refresh `cortex-plugins`, +then `claude plugin install hypermnesia-mcp-viz@cortex-plugins`; a raw pip +install upgrades with `python3 -m pip install --upgrade "hypermnesia-mcp-viz>=3.1.0"`. +Tool/permission references change from +`mcp__plugin_cortex-viz_cortex-viz__open_visualization` to +`mcp__plugin_hypermnesia-mcp-viz_hypermnesia-mcp-viz__open_visualization` (and +the same pattern for `get_methodology_graph`). + +### Changed +- `trace_impact.py`'s query orchestration is split along its real seams + (rules/coding-standards.md §4.2, issue #85): the Cypher fetchers (presence + gate, members, file-to-file edges, entry-point processes — one query per + function, no shaping) move to `trace_impact_graph.py`; member-list shaping + moves to `trace_impact_directions.py` alongside its sibling helpers; + `trace_impact.py` keeps only the call order and the member-direction + typed/fallback decision. Behaviour-preserving — every await still fires in + the same sequence, and `git diff -w` confirms every moved Cypher string and + dict key is untouched. Adds `tests/test_trace_impact_graph_contracts.py`, + closing the "no test references this module" gap #85 left open for the + parts that previously had none. + ### Added - `--export --per-domain` writes one self-contained bundle per wiki domain plus a chooser `index.html` that links them. The single-file export is @@ -144,7 +173,34 @@ Releases before 2.7.0 were recorded as `chore(release)` / `release:` commits in introducer). Transitive under the JS test toolchain; it does not ship. `npm audit --package-lock-only` now reports zero vulnerabilities. -## [3.0.0] - 2026-08-04 +### Fixed +- The codebase-intelligence bridge no longer fails silently on a clean + marketplace install. `ap_bridge`'s discovery filtered + `installed_plugins.json` on the retired `automatised-pipeline@` key, so a + host that only ever installed the canonical `cdeust/ai-architect-mcp-codebase` + (canonical since its own v0.9.0) never matched, `_resolve_command` returned + `None`, and the AST layer disappeared without a message — visible only to a + developer box carrying `CORTEX_AP_COMMAND` or a self-install symlink. The + resolver and the two callers that validate its output by basename + (`mcp_client_spawn`, `ap_bridge`) now both read a single source, + `cortex_viz/infrastructure/upstream_identity.py`, so they cannot drift + apart again; legacy registry keys and the upstream `automatised-pipeline` + binary alias remain resolvable but are never preferred. A new CI check + (`upstream-identity.yml`) pins the producer's `mcp-contract.json` at a + commit rather than a tag, and fails if a legacy identity ever equals the + canonical one. + +## [3.0.0] - 2026-08-04 — cut in the tree, never tagged or published + +**This version number never shipped.** `2026-08-04` is when this work landed +on `main`, not a release date: no `v3.0.0` git tag, no PyPI upload, no GitHub +release, no MCP Registry publication exist for it, and none ever will — +PyPI's most recent published version stayed `2.8.0` throughout. The entries +below are real and describe what actually changed; they are recorded here, +under this heading, because that is when and where the work happened. Every +one of them ships to users for the first time in **`3.1.0`**, the first +version of this line that was actually tagged and published — see that +section above, including the upgrade note, before you read further. ### Security diff --git a/README.md b/README.md index d921ac4..411ea1b 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ Cross-platform MCP for Codex, Gemini CLI, and Claude Code MIT License Python 3.10+ - Version 3.0.0 + Version 3.1.0 OpenSSF Best Practices

@@ -170,7 +170,7 @@ Hypermnesia MCP Viz is a cross-platform MCP server with a Claude Code plugin. Po **As a plugin**: ships the MCP server, the `/cortex-visualize` skill, and the live session-activity hooks. The bundled `scripts/launcher.py` bootstraps its own dependencies on first launch (no manual `pip` needed). Configure the DB via the plugin's `database_url` user-config (defaults to `postgresql://127.0.0.1:5432/cortex`). -**As a raw MCP (v3.0.0 and later):** +**As a raw MCP (v3.1.0 and later):** ```bash pip install "hypermnesia-mcp-viz[data,viz-tile]" # optional PG and large-graph extras @@ -180,10 +180,14 @@ hypermnesia-mcp-viz # or: python -m cortex_viz (stdio MCP transp The published `2.8.0` `hypermnesia-mcp-viz` distribution owned the legacy `cortex-viz` console shim; there was no separate Python distribution by that name. Upgrade with the same interpreter/environment that installed it, and the -installer removes the old distribution-owned shim while installing `3.0.0`: +installer removes the old distribution-owned shim while installing `3.1.0` +(the distribution-identity rename that removes the shim was cut into the tree +as `3.0.0`, but that version was never tagged or published — see the +CHANGELOG's `[3.0.0]` entry — so `3.1.0` is the first published release that +carries it): ```bash -python3 -m pip install --upgrade "hypermnesia-mcp-viz>=3.0.0" +python3 -m pip install --upgrade "hypermnesia-mcp-viz>=3.1.0" ``` If `cortex-viz` still resolves, first locate every shim and ask Python which diff --git a/cortex_viz/identity.py b/cortex_viz/identity.py index 57477e8..94f25aa 100644 --- a/cortex_viz/identity.py +++ b/cortex_viz/identity.py @@ -7,4 +7,4 @@ DISTRIBUTION_NAME = "hypermnesia-mcp-viz" MCP_REGISTRY_ID = "io.github.cdeust/hypermnesia-mcp-viz" -VERSION = "3.0.0" +VERSION = "3.1.0" diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index dcbd5ae..2e4e402 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -1,6 +1,6 @@ # Roadmap -_Last updated: 2026-08-04._ +_Last updated: 2026-08-10._ Hypermnesia MCP Viz is a single-maintainer project (see [GOVERNANCE.md](../GOVERNANCE.md)), so this roadmap states direction and known gaps rather than dated commitments. @@ -8,7 +8,7 @@ Anything with an issue number is tracked; anything without one is an intention. ## Where the project is -Current version **3.0.0**. All six views (Graph, Brain, Trace, Knowledge, Wiki, +Current version **3.1.0**. All six views (Graph, Brain, Trace, Knowledge, Wiki, Board) are bridged to live data. The galaxy builds end to end at 75k+ nodes and the 3D brain streams the full graph into a cortical mesh. Trace works with no database at all. The supply-chain wave ([#37](https://github.com/cdeust/cortex-viz/issues/37)) @@ -66,9 +66,10 @@ remediation in #49 are complete; they are no longer listed as open work. - **A separate legacy `cortex-viz` PyPI distribution.** The canonical PyPI and MCP Registry name is `hypermnesia-mcp-viz`, matching the published sibling - `hypermnesia-mcp`. Version 3.0.0 removes the legacy console shim that 2.8.0 - exposed; publishing a second distribution would split the release identity - instead of completing the migration. + `hypermnesia-mcp`. The legacy console shim that 2.8.0 exposed is removed as + of 3.1.0 (the removal was cut into the tree as 3.0.0, which was never + tagged or published); publishing a second distribution would split the + release identity instead of completing the migration. - **Writing to Cortex's memory tables.** Hypermnesia MCP Viz renders, it never remembers. That boundary is the point of the extraction and is not up for negotiation. diff --git a/gemini-extension.json b/gemini-extension.json index 60d978e..8d57c7a 100644 --- a/gemini-extension.json +++ b/gemini-extension.json @@ -1,6 +1,6 @@ { "name": "hypermnesia-mcp-viz", - "version": "3.0.0", + "version": "3.1.0", "description": "Read-only visualization and graph MCP for Cortex, packaged for Gemini CLI.", "mcpServers": { "hypermnesia-mcp-viz": { diff --git a/pyproject.toml b/pyproject.toml index 0f07349..2ee63d0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "hypermnesia-mcp-viz" -version = "3.0.0" +version = "3.1.0" description = "Visualization and graph MCP server for Cortex — neural graph, methodology map, workflow graph, and trace UI extracted from the Cortex memory engine" readme = "README.md" license = "MIT" diff --git a/server.json b/server.json index 79a4dfe..149c4eb 100644 --- a/server.json +++ b/server.json @@ -6,13 +6,13 @@ "url": "https://github.com/cdeust/cortex-viz", "source": "github" }, - "version": "3.0.0", + "version": "3.1.0", "websiteUrl": "https://ai-architect.tools/cortex", "packages": [ { "registryType": "pypi", "identifier": "hypermnesia-mcp-viz", - "version": "3.0.0", + "version": "3.1.0", "runtimeHint": "python", "transport": { "type": "stdio" diff --git a/uv.lock b/uv.lock index 5ffaf7c..9290804 100644 --- a/uv.lock +++ b/uv.lock @@ -770,7 +770,7 @@ wheels = [ [[package]] name = "hypermnesia-mcp-viz" -version = "3.0.0" +version = "3.1.0" source = { editable = "." } dependencies = [ { name = "fastmcp" },