Prevent the manifest-version-without-a-release mistake that broke Obsidian validation.
- New validate.yml: on every push/PR to main, fail fast if manifest.json version is not semver, does not match package.json, is missing from versions.json, or has no matching git tag (i.e. was never released). Clear message tells you to push a tag instead of hand-bumping.
- release.yml: reject non-semver tags (e.g. 1.0.2.1) before building or creating a release.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>