UPSTREAM: record a9b1c14e trailer correction + add lint-upstreamable-core gate
`a9b1c14e` ("Makefile: add test-dual target for mattn+modernc parity
testing") is incorrectly labelled `Patch category: upstreamable-core`.
The substantive category is `aerie-distribution`: the commit modifies
only AGENTS.md and Makefile, both aerie-only files (neither exists on
upstream/master). The parity-testing discipline is upstream-relevant,
but a Makefile target is aerie-side affordance. Caught 2026-05-27
during the upstream-PR polish pass (req_2jzflcka) when the commit hit
`CONFLICT (modify/delete)` on cherry-pick to upstream/master; PR 1
(modernc) drops it from its series.
This commit preserves the original SHA and records the correction in
UPSTREAM.md's audit trail under a new `## trailer corrections` section,
plus a machine-readable `TRAILER_OVERRIDE:` line the new lint parses.
Adds `scripts/lint-upstreamable-core.sh` (wired into make lint + its
self-test). For every aerie-only commit (git log upstream/master..HEAD)
whose body contains `Patch category: upstreamable-core`, the lint fails
if the commit touches an aerie-only path: AGENTS.md, COMMUNITY.md,
CONTRIBUTING.md, UPSTREAM.md, Makefile, package.json, package-lock.json,
top-level wrangler.toml, pr.png, scripts/, deploy/cloudflare/.
Block-list shape is deliberate. A strict "every modified file must
exist on upstream/master" check would misfire on legitimate
upstreamable-core commits that add NEW files alongside modifying
upstream-existing files — e.g., `af4a96ea` and `ecca5e39` (the dbdrv
package additions PR 1 is built around). Aerie-only governance/
distribution paths are small and stable; the upstream-relevant surface
is large and grows.
Self-test covers: bad-commit-not-overridden (a9b1c14e-shape: fires),
bad-commit-overridden-via-UPSTREAM.md (passes), legitimate
upstreamable-core with new files under upstream-shaped paths (passes),
aerie-distribution commits touching aerie-only paths (passes), and
short-SHA TRAILER_OVERRIDE entries.
Patch category: aerie-distribution
Signed-off-by: Jer Miller <jer@solpbc.org>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
UPSTREAM: record a9b1c14e trailer correction + add lint-upstreamable-core gate
`a9b1c14e` ("Makefile: add test-dual target for mattn+modernc parity
testing") is incorrectly labelled `Patch category: upstreamable-core`.
The substantive category is `aerie-distribution`: the commit modifies
only AGENTS.md and Makefile, both aerie-only files (neither exists on
upstream/master). The parity-testing discipline is upstream-relevant,
but a Makefile target is aerie-side affordance. Caught 2026-05-27
during the upstream-PR polish pass (req_2jzflcka) when the commit hit
`CONFLICT (modify/delete)` on cherry-pick to upstream/master; PR 1
(modernc) drops it from its series.
This commit preserves the original SHA and records the correction in
UPSTREAM.md's audit trail under a new `## trailer corrections` section,
plus a machine-readable `TRAILER_OVERRIDE:` line the new lint parses.
Adds `scripts/lint-upstreamable-core.sh` (wired into make lint + its
self-test). For every aerie-only commit (git log upstream/master..HEAD)
whose body contains `Patch category: upstreamable-core`, the lint fails
if the commit touches an aerie-only path: AGENTS.md, COMMUNITY.md,
CONTRIBUTING.md, UPSTREAM.md, Makefile, package.json, package-lock.json,
top-level wrangler.toml, pr.png, scripts/, deploy/cloudflare/.
Block-list shape is deliberate. A strict "every modified file must
exist on upstream/master" check would misfire on legitimate
upstreamable-core commits that add NEW files alongside modifying
upstream-existing files — e.g., `af4a96ea` and `ecca5e39` (the dbdrv
package additions PR 1 is built around). Aerie-only governance/
distribution paths are small and stable; the upstream-relevant surface
is large and grows.
Self-test covers: bad-commit-not-overridden (a9b1c14e-shape: fires),
bad-commit-overridden-via-UPSTREAM.md (passes), legitimate
upstreamable-core with new files under upstream-shaped paths (passes),
aerie-distribution commits touching aerie-only paths (passes), and
short-SHA TRAILER_OVERRIDE entries.
Patch category: aerie-distribution
Signed-off-by: Jer Miller <jer@solpbc.org>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>