fix(spec): regenerate stale api-surface snapshot after dead page-config removal (#2268)#2272
Merged
Merged
Conversation
…ig removal (#2268) #2268 hard-removed 16 dead exports (6 from ./ui Blank/RecordReview, 10 from ./studio PageBuilder/Canvas/Palette) and #2265 added PAGE_TYPE_ROADMAP, but the committed api-surface.json snapshot was never regenerated — so check:api-surface has been red on main for every PR touching packages/spec/** (surfaced on #2269). Regenerate the snapshot to match the built surface. Diff is exactly the 16 intentional removals + PAGE_TYPE_ROADMAP; api-surface-signatures.json unchanged; the frozen downstream-contract gate is unaffected (it never referenced these symbols). Kept at minor (not a major bump) as a deliberate, documented exception to the ADR-0059 §4 freeze contract — see the appended note in the #2268 changeset. The removed symbols are config for renderless page types with no plausible functional consumer; the pre-publish hotcrm live gate guards any real break. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
📓 Docs Drift CheckThis PR changes 1 package(s): 91 hand-written doc(s) reference the affected code and may need an implementation-accuracy re-verification:
|
This was referenced Jul 3, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
check:api-surface(TypeScript Type Check → Check @objectstack/spec public API surface) has been red onmainfor every PR touchingpackages/spec/**(surfaced as the non-required red on #2269).Root cause: #2268 hard-removed the dead
blank/record_reviewpage config and #2265 addedPAGE_TYPE_ROADMAP, but the committedpackages/spec/api-surface.jsonsnapshot was never regenerated. The check compares the built surface against that stale snapshot and fails: 16 removed, 1 added.What
Regenerate the snapshot (
pnpm --filter @objectstack/spec gen:api-surface). The diff is exactly the intended change — no surprise drift:./ui→BlankPageLayout(Item)(Schema),RecordReviewConfig(Schema);./studio→PageBuilderConfig,CanvasSnapSettings,CanvasZoomSettings,ElementPaletteItem,InterfaceBuilderConfig(+ each…Schema)../ui→PAGE_TYPE_ROADMAP.api-surface-signatures.jsonunchanged (no factory signature drift).Version decision: kept
minor(next release stays 10.4.0)These symbols shipped in published
10.3.0, so under ADR-0059 §4 (the freeze contract) a removal would normally demand a major. Coordinated with the owner of #2268 — keptminoras a deliberate, documented exception (rationale appended to the #2268 changeset):blank/record_reviewpage types — authoring those already failed at runtime (Unknown component type).@objectstack/downstream-contractfixture never referenced them (that gate is unaffected).@objectstack/specis in the ~80-packagefixedgroup, so a major would drag the entire platform to11.0.0for dead config — disproportionate.Verification
pnpm --filter @objectstack/spec build→ okpnpm --filter @objectstack/spec check:api-surface→ exit 0 ✓🤖 Generated with Claude Code