chore(release): 3.1.1 — build-breaking corrective, align version surfaces - #138
Conversation
…aces 3.1.0 could not build a graph at all: commit 45d4a80 deleted graph_event_stream's module-level emit/close/reset forwarders on the false premise of "no caller in this repository's history", killing every build with AttributeError on the first statement (#134, fixed by #136). #135/#137 stops the finally-block terminator from swallowing that same failure silently, which is why #134 reached a release unnoticed in the first place. #131 (mutation-test hardening, no behavior change) and #132 (automates RELEASING.md step 5, MCP Registry publish) also landed since 3.1.0 with no further breaking change, so this is a patch release: 3.1.0 -> 3.1.1, not a restatement of 3.1.0. Promotes CHANGELOG's Unreleased section (#132's entry) to 3.1.1, carries forward #134/#135's fix descriptions, and reopens an empty Unreleased. #131 gets no entry: it changes no shipped behavior. Aligns every version-bearing surface pyproject.toml/cortex_viz/identity.py/ server.json/.claude-plugin/plugin.json/.codex-plugin/plugin.json/ gemini-extension.json/.claude-plugin/marketplace.json/uv.lock (via `uv lock`) plus the two surfaces check_distribution_artifact does not cover, the README badge and docs/ROADMAP.md's "current version" line. Verified: `python -m scripts.check_distribution_artifact` passes against a built wheel; full suite 1317 passed/10 skipped; ruff check and format clean. Changelog-vs-tag audit: 3.1.0/2.8.0/2.7.1/2.7.0 all have matching tags, 3.0.0's "cut in the tree, never tagged or published" annotation is intact and unchanged, nothing new drifted. Co-Authored-By: Claude <noreply@anthropic.com>
|
ZETETIC-REVIEW: APPROVE 3.1.1, and it is a genuine release rather than a restatement. 3.1.0 was tagged, pushed to PyPI, released on GitHub and published to the MCP Registry — and it cannot build a graph. Two fixes ( The stale-clone trap was hit and handled, which is worth recording because it has caught me twice today: the local The surfaces the automated check does not cover were found by reading the script, not by hoping. Full suite 1317 passed / 10 skipped, run through Changelog-versus-tag audit clean, and the important part is what it left alone: Omitting a changelog entry for #131 is the right call and is argued rather than assumed — mutation-test hardening ships no observable behaviour change, matching this changelog's existing practice. A changelog that logs every commit stops being a record of what changed for users. One verification worth crediting specifically: All checks green at |
Summary
emit/close/resetforwarders ingraph_event_streamwere deleted on the false premise of "no caller in this repository's history";graph_build_run.pyandgraph_build_merge.pyboth call them, so every build died on its first statement withAttributeErrorand/api/graph/progressnever leftstarting. Fixed by fix(server): restore graph_event_stream module forwarders, event_meta included #136.AttributeErrorreached a published release unnoticed.Version surfaces aligned
pyproject.toml,cortex_viz/identity.py,server.json(both version fields),.claude-plugin/plugin.json,.codex-plugin/plugin.json,gemini-extension.json,.claude-plugin/marketplace.json(both version fields),uv.lock(viauv lock), plus the two surfacescheck_distribution_artifactdoes not cover: the README badge anddocs/ROADMAP.md's "current version" line.CHANGELOG
Promoted
[Unreleased](#132's entry) to[3.1.1] - 2026-08-10, added the #134/#135 fix descriptions, reopened an empty[Unreleased]. #131 gets no entry — it changes no shipped behavior.Changelog-vs-tag audit
[3.1.0],[2.8.0],[2.7.1],[2.7.0]all have matching remote tags.[3.0.0]'s "cut in the tree, never tagged or published" annotation is intact and unchanged. Nothing new drifted.Verification
uv buildthenuv run python -m scripts.check_distribution_artifact→distribution identity OK: hypermnesia-mcp-viz 3.1.1uv run pytest -q→ 1317 passed, 10 skippeduv run ruff check ./uv run ruff format --check .→ cleanNot in this PR
RELEASING.md step 6 (bump the marketplace pin in
cdeust/Cortex) needs the tagged commit sha, which does not exist until this merges and is tagged — same sequencing constraint as the 3.1.0 release (seecdeust/cortex-viz#130).Co-Authored-By: Claude noreply@anthropic.com