v0.15.2 — reconciliation + Swift ABI grammar + grammar_updater pin verification
Reconciliation release. The release/v0.15.x line and main had drifted apart; v0.15.2 unifies them so subsequent work has a single forward branch to build on.
Added
- Swift ABI mangling grammar (
grammargen/swift_abi_grammar.go,SwiftABIManglingGrammar()). Parses the$s/$S/$e/_T0Swift symbol-mangling prefixes. Intended for tooling that needs to walk demangled Swift symbols without invoking the Swift toolchain. cmd/grammar_updater -verify-pinsflag. Validates that every locked commit ingrammars/languages.manifestis still fetchable from its declared remote before any sync runs.verifyRemotePins/verifyRemoteCommitdeduplicate byrepo+committo keep the check cheap on large manifests.cmd/grammar_updater -sync-manifest-onlyflag. Limits a sync pass to manifest entries that are new since the last run.syncMissingEntriesFromManifestnow returns a map so callers can apply an allow-list filter.
Changed
- Plan-doc directories are now gitignored (
.claude/,docs/blog-outlines/,docs/plans/,docs/superpowers/) along with thebenchgatebinary. Plan docs are working references and should not ship with the repo.
Removed
- Four stray plan-doc files that had been committed under
docs/plans/anddocs/superpowers/prior to the gitignore update.