Skip to content

The plugin manifest has advertised 0.4.0 since August, and now a test says so - #97

Merged
peopleworks merged 1 commit into
mainfrom
plugin-manifest-version
Sep 9, 2026
Merged

The plugin manifest has advertised 0.4.0 since August, and now a test says so#97
peopleworks merged 1 commit into
mainfrom
plugin-manifest-version

Conversation

@peopleworks

Copy link
Copy Markdown
Owner

.claude-plugin/plugin.json declared 0.4.0 while NuGet, the MCP registry, the GitHub releases and the desktop all shipped 0.7.1. Three releases behind since August, and nothing failed — the release checklist never listed the file.

It is the version a stranger sees first. A plugin directory reads it, and the plugin route is the only channel in this project's funnel with measured human traffic.

How it surfaced. Looking at what petergyang/no-ai-slop did to go from 1.8k to 7.6k stars, the answer looked like "become an installable plugin" — so I checked whether we already were before proposing to build one. We were. The check that has now stopped me rebuilding something twice is what turned up the stale version.

The guard, not another checklist line

The version is typed in seven places across five files. ReleaseVersionTests holds each to what SignsOfAI.Core ships and fails by file name:

  • SignsOfAI.Cli.csproj, SignsOfAI.Mcp.csproj — NuGet
  • DesktopRelease.Version — the download page
  • .claude-plugin/plugin.json — the plugin directory ← the one that drifted
  • .mcp/server.json — its own test, because it carries the version twice and the registry rejects them out of step after NuGet has already published

Verified by mutation: with 0.4.0 restored it fails naming the file and both versions.

Note for the 0.8.0 release. This makes the bump enforceable, and 0.8.0 is what #95 and #96 add up to — a new public parameter on Analyze(), a new CLI option, a Spanish report that previously could not be produced, a behaviour change in the character scan, and 49 reworded strings. Not a patch.

🤖 Generated with Claude Code

https://claude.ai/code/session_015PEbbiYSNPw7jE3LrPNhyF

.claude-plugin/plugin.json said 0.4.0 while NuGet, the MCP registry, the
GitHub releases and the desktop all shipped 0.7.1. Three releases behind, and
nothing failed, because the release checklist never listed the file.

It is the version a stranger sees first: a plugin directory reads it, and the
plugin route is the one channel in this project's whole funnel with any
measured human traffic. Every other channel we invested in is a machine-
readable index, and the traffic says so -- 450 unique cloners against 77 unique
viewers in fourteen days, a ratio unchanged since July.

Found while checking whether we needed to build a plugin at all. We did not;
it already existed. The check that stopped me building it twice is the one that
surfaced this.

So the version now has a guard rather than a checklist. It is typed in seven
places across five files, and ReleaseVersionTests holds all of them to what
SignsOfAI.Core ships, failing by file name. server.json gets its own test
because it carries the version twice and the registry rejects them out of step
-- after NuGet has already published, which is the worst moment to find out.

Verified by mutation: with 0.4.0 restored it fails naming the file and both
versions.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015PEbbiYSNPw7jE3LrPNhyF
@peopleworks
peopleworks merged commit faca905 into main Sep 9, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant