Release-Please Build Drift Fix

Interactive explanation of why release-please PRs were failing CI and how this PR fixes it

1 Feature commit merges to main
A feat: commit merges → release-please sees it and bumps version 7.34.0 → 7.35.0
2 Release-please updates manifest files
Release-please's extra-files config updates version in:
package.json
manifests/ork.json
.claude-plugin/marketplace.json
CLAUDE.md
docs/site/lib/generated/plugins-data.ts
pyproject.toml
3 But ONE file is missed
plugins/ork/hooks/bin/stop-uncommitted-check.mjs has a baked-in const PLUGIN_VERSION = '7.34.0'. Release-please doesn't know about it because it's generated at build-time by scripts/build-plugins.sh via sed replacement of __PLUGIN_VERSION__.
4 CI runs npm run build on the release-please PR
Build reads manifests/ork.json (now 7.35.0), regenerates stop-uncommitted-check.mjs with the new version.
5 Drift check fails
git diff --quiet plugins/ detects 1 line changed in the regenerated file → "Build drift detected!" → CI fails → every release-please PR breaks.
manifests/ork.json src/hooks/bin/ plugins/ork/hooks/bin/ ┌──────────────────┐ stop-uncommitted.mjs stop-uncommitted.mjs │ version: "7.34.0"│────┐ ┌──────────────────┐ ┌──────────────────┐ └──────────────────┘ │ │PLUGIN_VERSION = │ │PLUGIN_VERSION = │ │ │'__PLUGIN_VERSION_│──build→│'7.34.0' │ │ │ _' │ sed │(committed to git)│ │ └──────────────────┘ └──────────────────┘ │ │ │ │ release-please creates │ │ a PR that bumps version │ │ ▼ │ ┌──────────────────┐ │ │ version: "7.35.0"│ ← release-please updates this │ └──────────────────┘ │ │ │ │ │ ▼ │ CI runs npm run build │ │ │ ▼ │ rebuilds plugins/ with 7.35.0 │ │ │ ▼ │ git diff plugins/ ─────────── detects drift ───────────────────┘ │ (old 7.34.0 vs new 7.35.0) ▼ ❌ CI FAIL
Before — plugins/ork/hooks/bin/stop-uncommitted-check.mjs
// Injected by build-plugins.sh at build // time from manifests/ork.json const PLUGIN_VERSION = '7.34.0'; // Release-please has NO way to find // this line. It does not know to // update the baked-in version. // Every release-please PR → drift.
After — with x-release-please-version marker
// Injected by build-plugins.sh at build // time from manifests/ork.json const PLUGIN_VERSION = '7.34.0'; // x-release-please-version // Release-please finds this marker, // updates version in place. Build // regenerates with same version. // No drift. Release PR passes CI.

Additional change: .release-please-config.json

Added to extra-files array
{ "type": "generic", "path": "plugins/ork/hooks/bin/stop-uncommitted-check.mjs" }

Impact

Files changed in this PR:
src/hooks/bin/stop-uncommitted-check.mjs plugins/ork/hooks/bin/stop-uncommitted-check.mjs .release-please-config.json