Skip to content

chore: fix stale publish gates (branch target, canon sync, banned-word scope) - #11

Merged
virtualsms-io merged 1 commit into
mainfrom
chore/release-gates-main
Sep 23, 2026
Merged

virtualsms-io merged 1 commit into
mainfrom
chore/release-gates-main

Conversation

@virtualsms-io

Copy link
Copy Markdown
Owner

Summary

Follow-up to #10. The v1.3.3 npm publish dry-run (scripts/publish.sh) was blocked on 3 gates that turned out to be stale release tooling, not shipped-code problems:

  • Gate 2: TARGET_BRANCH was still hardcoded to an old feature-branch name from before the release workflow moved to squash-merge-to-main (PRs chore(release): registry-only bump to 1.3.2 (no npm publish) #8–fix: read catalog stock bands (availability) instead of exact counts #10). Updated to main.
  • Gate 5: the vendored scripts/canonical.json / scripts/positioning-rules.txt had drifted from the current canon. Re-synced.
  • Gate 10: after the resync, gate 10 still flagged one word in README.md. Root cause: gate 10's tarball scan applies the literal rule matcher to every shipped file, but doesn't honor the rule's own manifests-only include-scope the way the guard (check-positioning.sh) does — so a rule that canon deliberately excludes README.md from still fires when scanning the tarball. Fixed the copy (smaller, lower-risk than touching gate-matching logic) rather than the gate itself; flagging the scope mismatch here for whoever next touches gate 10.

Test plan

  • npm run build
  • npm test — 113/113 passed
  • VIRTUALSMS_CANON=.../Vault/Design/canonical.json sh scripts/check-positioning.sh — clean, canon verified
  • sh scripts/publish.sh (dry run) — gates 3–10 all green from this branch (gates 1/2 fail only because dry-run correctly reports "not logged in" / "wrong branch" when run pre-merge, as expected)

🤖 Generated with Claude Code

…d scope)

- scripts/publish.sh: TARGET_BRANCH updated from the old feature-branch name
  to main, matching the squash-to-main release workflow used since PR #8.
- Re-vendored scripts/canonical.json and scripts/positioning-rules.txt from
  the current canon (previous copy predated a scope narrowing and was
  reporting stale drift).
- README.md: replaced one banned word with its canonical wording. Gate 10
  (which scans the actual shipped tarball) does not apply the same
  manifests-only scoping the guard does for this rule, so it still flagged
  the line even after the canon resync; fixing the copy was the smaller,
  lower-risk change versus touching gate matching logic.

Commit-Author: sub-agent
Task-Source: user-prompt
Reason: unblock the v1.3.3 npm publish, which dry-run gates were failing on
stale/incorrect release tooling rather than anything in the shipped code.
@virtualsms-io
virtualsms-io merged commit 4878ead into main Sep 23, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant