Verified against code: static/js/plugin-loader.js and plugins/__init__.py never read a plugin's manifest version for update-detection. The loader only uses version as a cache-busting query param (?v=<version>) on script/style URLs and as a dedup key in loadedScripts/loadedStyles maps (plugin-loader.js:251-336,644-668). There is no other "plugin manager" component in this codebase.
This directly contradicts core's own CLAUDE.md, which correctly states:
version and private are advisory metadata — the plugin loader does not currently consume them, but plugins commonly include them for publishing/tooling purposes.
Yet every plugin-repo CLAUDE.md (difficulty-ladder, feedpakr, splitscreen, sectionmap, etc.) repeats a Versioning section that says:
Bump version in plugin.json whenever a change is user-visible … (best-practices rule 4: bump on every release; the plugin manager uses this to detect updates)
The bump discipline may still be good practice (cache-busting alone justifies it — an unbumped version means users' browsers keep serving cached JS/CSS after an update), but the stated rationale is false and should be corrected across the per-plugin CLAUDE.md templates. Suggest fixing the canonical plugin CLAUDE.md template/docs this text is copied from, since it's duplicated verbatim across ~15 plugin repos.
Correct rationale: version is used for cache-busting (?v= URL) so an unbumped version means users keep getting stale cached JS/CSS after an update — not "the plugin manager detects updates" (no such detection exists).
Verified against code:
static/js/plugin-loader.jsandplugins/__init__.pynever read a plugin's manifestversionfor update-detection. The loader only usesversionas a cache-busting query param (?v=<version>) on script/style URLs and as a dedup key inloadedScripts/loadedStylesmaps (plugin-loader.js:251-336,644-668). There is no other "plugin manager" component in this codebase.This directly contradicts core's own CLAUDE.md, which correctly states:
Yet every plugin-repo CLAUDE.md (difficulty-ladder, feedpakr, splitscreen, sectionmap, etc.) repeats a Versioning section that says:
The bump discipline may still be good practice (cache-busting alone justifies it — an unbumped version means users' browsers keep serving cached JS/CSS after an update), but the stated rationale is false and should be corrected across the per-plugin CLAUDE.md templates. Suggest fixing the canonical plugin CLAUDE.md template/docs this text is copied from, since it's duplicated verbatim across ~15 plugin repos.
Correct rationale: version is used for cache-busting (
?v=URL) so an unbumped version means users keep getting stale cached JS/CSS after an update — not "the plugin manager detects updates" (no such detection exists).