Skip to content

ci(lint): extend the authoring-entry guard to packages/apps (#2035)#2097

Merged
xuyushun441-sys merged 1 commit into
mainfrom
spec/lint-guard-apps
Jun 21, 2026
Merged

ci(lint): extend the authoring-entry guard to packages/apps (#2035)#2097
xuyushun441-sys merged 1 commit into
mainfrom
spec/lint-guard-apps

Conversation

@xuyushun441-sys

Copy link
Copy Markdown
Contributor

Follow-up to #2088. The author-time lint guard (ban bare : DomainType exported-const literals; require the defineX factory) was scoped to examples/**. This broadens it to packages/apps/** (the platform's own account/setup/studio apps) so the convention holds across every authoring surface, not just the example corpus AI learns from.

Explicitly excludes packages/downstream-contract/** — its bare literals are an intentional frozen backward-compat fixture (#2089).

Notes

  • No migrations: the apps author no bare-literal metadata today, so this is future-proofing (a clean scope extension, not a fix).
  • Teeth verified: a probe export const X: Page = {...} under packages/apps is flagged by the guard; removed after the check.
  • pnpm lint → green.

🤖 Generated with Claude Code

The #2088 guard only covered examples/**. Broadens it to the platform's own apps
(account/setup/studio) so the "author metadata via defineX, never a bare
`: DomainType` literal" convention holds across every authoring surface, not just
the example corpus. Explicitly excludes packages/downstream-contract, whose bare
literals are an intentional frozen backward-compat fixture (#2089).

No migrations — apps author no bare-literal metadata today; this is future-
proofing. Verified the guard fires on a probe under packages/apps and that
`pnpm lint` is green.

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

vercel Bot commented Jun 21, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
spec Ready Ready Preview, Comment Jun 21, 2026 6:44am

Request Review

@xuyushun441-sys
xuyushun441-sys merged commit b871185 into main Jun 21, 2026
15 checks passed
@xuyushun441-sys
xuyushun441-sys deleted the spec/lint-guard-apps branch June 21, 2026 06:49
xuyushun441-sys added a commit that referenced this pull request Jun 21, 2026
…ates (#2035) (#2098)

Documents the layered strategy built across #2088/#2089/#2092/#2093/#2095/#2097
in one authoritative place: why in-repo consumers can't witness backward compat
(they co-evolve with the spec), the six gates and each one's job, and — crucially
— the FREEZE CONTRACT: a change that requires editing the fixtures or removing a
snapshot entry is by definition breaking (bump major), never a mechanical
test-update. Also formalizes `objectstack validate` as the third party's
authoritative self-gate.

Co-authored-by: Jack Zhuang <277994282+os-zhuang@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants