- scripts/apisurface: standard-library printer of a package's exported API
(signatures without parameter names, struct fields and tags, interface
method sets, constants with their group index), canonical across
formatting and comment edits
- additive: compares the API of pact, cabana, signpost and every other
changed package with the newest tag; refuses removed or changed lines and
methods added to existing interfaces (D-106)
- compat: sitemap at HEAD, Journal and the demo at their pre-phase commits
(demo with its pinned submodules) build and pass short tests; every other
sibling that requires the framework builds, each through a scratch go.work
in a scratch sibling layout; read-only snapshots for other users' repos
- self-test plants 12 API change cases; PHASE32_SKIP_TESTS for host-only
test failures
- stages self-test, go, plugins, consumers, docker, admin, docs and
marker; --all with the docker NOT RUN rule (PHASE32_REQUIRE_DOCKER)
- consumers: NOT MOUNTED golem15.seo refuses unless
PHASE32_ALLOW_UNMOUNTED=1, and the Journal route-drift check between
the demo's menu_items.yaml and its Nuxt routes
- marker (D-90): lines added since PHASE32_BASE under modules/ and docs/
name neither SEO nor a consuming application; Journal imports no SEO
or sitemap plugin; the framework does not require grobotstxt