Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 25 additions & 6 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@
"email": "admin@ai-architect.tools"
},
"metadata": {
"description": "The Cortex family of Claude Code plugins: home of hypermnesia-mcp (the persistent-memory server formerly named cortex, renamed in v4.15.0 over a directory name collision), zetetic-team-subagents, and cortex-viz. The marketplace name stays cortex-plugins: it is the brand-level umbrella, while hypermnesia-mcp is one package inside it.",
"description": "The Cortex family of Claude Code plugins: home of hypermnesia-mcp (the persistent-memory server formerly named cortex, renamed in v4.15.0 over a directory name collision), zetetic-team-subagents, and hypermnesia-mcp-viz. The marketplace name stays cortex-plugins: it is the brand-level umbrella, while hypermnesia-mcp is one package inside it.",
"version": "4.17.2"
},
"plugins": [
{
"name": "hypermnesia-mcp",
"source": "./",
"description": "Cortex — persistent memory and cognitive profiling for Claude Code (renamed from the 'cortex' plugin in v4.15.0 to match the PyPI/MCP-registry identity hypermnesia-mcp) — thermodynamic memory with heat/decay, intent-aware retrieval, biological plasticity, codebase intelligence, and cognitive profiling. 50 MCP tools (53 with the optional automatised-pipeline + prd-spec-generator integrations) with enriched schemas (visualization extracted to the standalone cortex-viz MCP). PostgreSQL + pgvector in CLI mode; automatic SQLite fallback in Cowork/sandboxed mode. v3.17.0 — autonomous per-project wiki: SessionStart auto-spawns a 6-hour consolidate cycle; a headless `claude -p` worker drains the curation-gap queue, calls codebase-intelligence MCP tools to ground each section in the real call graph, and authors missing anchor pages (architecture / services / api / data-flow / operations / decisions / PRD) per project from the source tree. 15 canonical scopes × 13 file sections; per-project dashboards under `wiki/_dashboards/`. Mermaid diagrams have a 🔍 lens with zoom + pan. Workflow graph with caller-qualified CALLS chains rendering full method-to-method dependencies (native tree-sitter, no AP required). Side panel humanized for non-technical users. Ingests codebase analysis (ai-automatised-pipeline) and PRDs (prd-spec-generator) into wiki + memory + knowledge graph. Docker image available.",
"description": "Cortex — persistent memory and cognitive profiling for Claude Code (renamed from the 'cortex' plugin in v4.15.0 to match the PyPI/MCP-registry identity hypermnesia-mcp) — thermodynamic memory with heat/decay, intent-aware retrieval, biological plasticity, codebase intelligence, and cognitive profiling. 50 MCP tools (53 with the optional automatised-pipeline + ai-architect-mcp-spec integrations) with enriched schemas (visualization extracted to the standalone Hypermnesia MCP Viz server). PostgreSQL + pgvector in CLI mode; automatic SQLite fallback in Cowork/sandboxed mode. v3.17.0 — autonomous per-project wiki: SessionStart auto-spawns a 6-hour consolidate cycle; a headless `claude -p` worker drains the curation-gap queue, calls codebase-intelligence MCP tools to ground each section in the real call graph, and authors missing anchor pages (architecture / services / api / data-flow / operations / decisions / PRD) per project from the source tree. 15 canonical scopes × 13 file sections; per-project dashboards under `wiki/_dashboards/`. Mermaid diagrams have a 🔍 lens with zoom + pan. Workflow graph with caller-qualified CALLS chains rendering full method-to-method dependencies (native tree-sitter, no AP required). Side panel humanized for non-technical users. Ingests codebase analysis (ai-automatised-pipeline) and PRDs (ai-architect-mcp-spec) into wiki + memory + knowledge graph. Docker image available.",
"version": "4.17.2",
"author": {
"name": "Clement Deust",
Expand Down Expand Up @@ -58,13 +58,14 @@
"category": "productivity"
},
{
"name": "cortex-viz",
"name": "hypermnesia-mcp-viz",
"source": {
"source": "github",
"repo": "cdeust/cortex-viz"
"repo": "cdeust/cortex-viz",
"sha": "1c1940e278979f35cdecea6146d7fb5f749907e9"
},
"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, a consolidation kanban, and a curated knowledge/wiki browser. Read-only bridge over Cortex's shared PostgreSQL store and the ~/.claude artifacts; it renders, it never remembers. Restores the open_visualization / get_methodology_graph / query_workflow_graph tools removed from Cortex 3.21.0; launch with /cortex-visualize.",
"version": "2.8.0",
"description": "Canonical Claude Code publication for the standalone Hypermnesia MCP Viz server — a live neural-graph galaxy of every project, file, symbol, memory, discussion and wiki page, plus a per-session execution trace, a consolidation kanban, and a curated knowledge/wiki browser. Read-only bridge over Cortex's shared PostgreSQL store and the ~/.claude artifacts; it renders, it never remembers. Restores the open_visualization and get_methodology_graph tools removed from Cortex; launch with /cortex-visualize.",
"version": "3.0.0",
"author": {
"name": "Clement Deust",
"email": "admin@ai-architect.tools"
Expand All @@ -82,6 +83,24 @@
],
"category": "productivity"
},
{
"name": "cortex-viz",
"source": "./plugins/cortex-viz-deprecated",
"description": "DEPRECATED — renamed to hypermnesia-mcp-viz in v3.0.0. This frozen, nonfunctional migration shim has no MCP server or tools; it only announces the replacement at session start. Uninstall cortex-viz@cortex-plugins, refresh this marketplace, then install hypermnesia-mcp-viz@cortex-plugins. The repository remains cdeust/cortex-viz; only the marketplace plugin identity changed.",
"version": "2.8.0",
"author": {
"name": "Clement Deust",
"email": "admin@ai-architect.tools"
},
"homepage": "https://github.com/cdeust/cortex-viz",
"repository": "https://github.com/cdeust/cortex-viz",
"license": "MIT",
"keywords": [
"deprecated",
"visualization"
],
"category": "productivity"
},
{
"name": "zetetic-team-subagents",
"source": {
Expand Down
24 changes: 23 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,23 @@ jobs:
# silently fall back. Raise the floor when coverage rises.
run: pytest --cov=mcp_server --cov-report=xml --cov-report=term-missing --cov-fail-under=82

# Match the primary Claude and additive Codex client identities against
# a real, explicitly configured PostgreSQL instance. Explicit targets
# cannot fall back, so successful memory_stats calls prove PostgreSQL
# was selected for both host contracts.
- name: Verify Claude and Codex PostgreSQL-first MCP contracts
if: matrix.python-version == '3.12'
env:
CORTEX_RUNTIME: cowork
HF_HUB_OFFLINE: "1"
TRANSFORMERS_OFFLINE: "1"
CORTEX_RERANKER_OFFLINE: "1"
run: >-
python scripts/verify_mcp_hosts.py
--clients claude-code codex-cli --profiles lean
--storage-selection auto
-- hypermnesia-mcp

# The advertised test count is the one claim the static gate cannot check
# without collecting the suite, so it is checked in the job that already
# has the suite installed. `--collect-only` re-collects (~seconds) rather
Expand Down Expand Up @@ -432,20 +449,25 @@ jobs:
"$cli_bin/codex" plugin list --json \
| python -c 'import json,sys; d=json.load(sys.stdin); p=[x for x in d.get("installed",[]) if x.get("pluginId")=="hypermnesia-mcp-codex@cortex-codex-plugins"]; assert len(p)==1, p; assert p[0]["installed"] and p[0]["enabled"]'
"$cli_bin/codex" mcp list --json \
| python -c 'import json,sys; ss=[s for s in json.load(sys.stdin) if s.get("name")=="cortex"]; assert len(ss)==1, ss; s=ss[0]; assert s["startup_timeout_sec"]==180.0, s; assert s["transport"]["command"]=="uvx", s'
| python -c 'import json,sys; ss=[s for s in json.load(sys.stdin) if s.get("name")=="cortex"]; assert len(ss)==1, ss; s=ss[0]; assert s["startup_timeout_sec"]==180.0, s; assert s["transport"]["command"]=="uvx", s; assert s["transport"]["env"]["CORTEX_RUNTIME"]=="cowork", s'
mapfile -t plugin_command < <(
python -c 'import json; s=json.load(open("plugins/hypermnesia-mcp-codex/.mcp.json"))["mcpServers"]["cortex"]; print(s["command"]); print(*s["args"], sep="\n")'
)
plugin_timeout="$(
python -c 'import json; print(json.load(open("plugins/hypermnesia-mcp-codex/.mcp.json"))["mcpServers"]["cortex"]["startup_timeout_sec"])'
)"
plugin_runtime="$(
python -c 'import json; print(json.load(open("plugins/hypermnesia-mcp-codex/.mcp.json"))["mcpServers"]["cortex"]["env"]["CORTEX_RUNTIME"])'
)"
CORTEX_RUNTIME="$plugin_runtime" \
UV_CACHE_DIR="$RUNNER_TEMP/cortex-codex-cold-uv-cache" \
UV_TOOL_DIR="$RUNNER_TEMP/cortex-codex-cold-uv-tools" \
PYTHONPATH="$GITHUB_WORKSPACE" \
python scripts/verify_mcp_hosts.py \
--timeout "$plugin_timeout" --clients codex-cli --profiles lean \
--command-includes-profile \
--allow-bootstrap-network \
--storage-selection auto \
-- "${plugin_command[@]}"

test-windows:
Expand Down
1 change: 1 addition & 0 deletions .mcpbignore
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ commands/
skills/
plugins/hypermnesia-mcp-codex/
plugins/cortex-deprecated/
plugins/cortex-viz-deprecated/
scripts/
docker/
Dockerfile
Expand Down
22 changes: 20 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,26 @@ adheres to [Semantic Versioning](https://semver.org/).
exact 10-tool `lean` profile. Its 180-second startup ceiling is backed by a
clean-cache `uvx` lifecycle measured at 110.46 seconds locally (macOS 26.5.1
arm64, uv 0.8.19) and 23.87 seconds on `ubuntu-latest` CI. This is additive:
Claude Code remains the primary integration and keeps its complete profile,
lifecycle hooks, custom agent, marketplace, and installation path unchanged.
Claude Code remains the primary integration and keeps its primary plugin
manifest, complete profile, lifecycle hooks, custom agent, and installation
path unchanged. Its shared marketplace catalog changes only for the
visualization-plugin migration described below.
- **Breaking visualization-plugin publication rename, with migration shim.**
The canonical Claude Code publication is
`hypermnesia-mcp-viz@cortex-plugins` 3.0.0, sourced from the unchanged
`cdeust/cortex-viz` repository at exact commit
`1c1940e278979f35cdecea6146d7fb5f749907e9`. Existing installs must uninstall
`cortex-viz@cortex-plugins`, refresh `cortex-plugins`, and install
`hypermnesia-mcp-viz@cortex-plugins`. The former identity remains as a
frozen 2.8.0 migration shim that only prints those instructions; it
registers no MCP server or tools. Claude's composed tool names also change:
`mcp__plugin_cortex-viz_cortex-viz__open_visualization` becomes
`mcp__plugin_hypermnesia-mcp-viz_hypermnesia-mcp-viz__open_visualization`,
and `mcp__plugin_cortex-viz_cortex-viz__get_methodology_graph` becomes
`mcp__plugin_hypermnesia-mcp-viz_hypermnesia-mcp-viz__get_methodology_graph`.
Current companion tables, MCP examples, and API/module documentation now use
`hypermnesia-mcp-viz` and `ai-architect-mcp-spec`; retired names remain only
in explicit migration or historical material.
- **Hook-free MCP protocol and host-configuration gates.** CI now starts the
installed production stdio entry point under representative Claude, Gemini,
and Codex client identities, completes the MCP lifecycle for both the full
Expand Down
Loading