Skip to content

chore: retire stale licensing guard exclusions - #931

Merged
blove merged 1 commit into
mainfrom
blove/retire-minting-licensing
Sep 1, 2026
Merged

chore: retire stale licensing guard exclusions#931
blove merged 1 commit into
mainfrom
blove/retire-minting-licensing

Conversation

@blove

@blove blove commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Summary

  • re-enable the MIT cutover regression suite
  • retain the active licensing-retirement assertions
  • remove the unrelated competitor-erasure assertion and stale exclusion comment

Test plan

  • npx nx test scripts --skip-nx-cache
  • git diff --check origin/main...HEAD

@vercel

vercel Bot commented Sep 1, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
threadplane Ready Ready Preview Sep 1, 2026 3:24pm UTC

Request Review

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated approval: this PR received an intelligent (AI) code review. See the review comments on this PR.

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Claude finished @blove's task in 0s —— View job


I'll analyze this and get back to you.

@blove
blove merged commit f927124 into main Sep 1, 2026
70 checks passed
@blove
blove deleted the blove/retire-minting-licensing branch September 1, 2026 15:43
blove added a commit that referenced this pull request Sep 1, 2026
Reviewed 2026-09-01. States the residual gap plainly — a Vercel-environment-
specific failure is not caught pre-merge, only post-merge by `Deploy → Vercel`
— and why requiring the status back was rejected: the consolidated `Vercel`
context now covers every project, so it would let an unrelated project block a
pure-website PR, reversing the #931 behaviour.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
blove added a commit that referenced this pull request Sep 1, 2026
Reviewed 2026-09-01. States the residual gap plainly — a Vercel-environment-
specific failure is not caught pre-merge, only post-merge by `Deploy → Vercel`
— and why requiring the status back was rejected: the consolidated `Vercel`
context now covers every project, so it would let an unrelated project block a
pure-website PR, reversing the #931 behaviour.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
blove added a commit that referenced this pull request Sep 1, 2026
Reviewed 2026-09-01. States the residual gap plainly — a Vercel-environment-
specific failure is not caught pre-merge, only post-merge by `Deploy → Vercel`
— and why requiring the status back was rejected: the consolidated `Vercel`
context now covers every project, so it would let an unrelated project block a
pure-website PR, reversing the #931 behaviour.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
blove added a commit that referenced this pull request Sep 1, 2026
…eck trap (#941)

* docs(contributing): document the merge gate and the never-arriving-check trap

On 2026-09-01 Vercel consolidated its commit-status contexts from one per
project (`Vercel – threadplane`, `Vercel – threadplane-minting-service`) to a
single `Vercel`. Branch protection required the literal old string, so the
required check stopped arriving and every PR became permanently unmergeable
while showing all checks green — `MERGEABLE` + `BLOCKED`, indistinguishable
from a slow queue. That cost a lot of confused debugging, and the diagnostic is
one API call once you know to make it.

Adds a "The merge gate" section covering:

- what the single required check is (`CI — required`, the `required-pr-checks`
  job, app-pinned to 15368, strict), and that `approve` must never join it;
- why the gate is a job we own rather than a vendor status string a third party
  can rename out from under us;
- the diagnostic — diff the contexts posted on the head SHA against the
  contexts protection requires — including the check-runs/statuses API split
  that makes `CI — required` absent from `/status`;
- the pre-2026-09-01 protection config as a rollback reference, since branch
  protection is not version-controlled and needs an admin token to read.

Deliberately no CI guard asserting protection matches the file: reading branch
protection needs `administration: read`, which the workflow `permissions:` key
cannot grant, so it would require a long-lived admin PAT in Actions secrets.
That credential is a worse risk than the drift it catches. Reasoning is
recorded in the section so the next person doesn't re-derive it.

Verified against the API while writing: f927124 carries the two old contexts
(minting-service failing), a8a603f carries the single `Vercel`, and
`CI — required` is a check run from app 15368.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* docs(contributing): record why the Vercel status stays non-required

Reviewed 2026-09-01. States the residual gap plainly — a Vercel-environment-
specific failure is not caught pre-merge, only post-merge by `Deploy → Vercel`
— and why requiring the status back was rejected: the consolidated `Vercel`
context now covers every project, so it would let an unrelated project block a
pure-website PR, reversing the #931 behaviour.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
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