Uh oh!
There was an error while loading. Please reload this page.
feat(spec): declare ./contracts browser-reachable — links no zod, real objectui consumers - #10529
Merged
Merged
Conversation
…l objectui consumers Promotes "./contracts" from unjudged to browserReachable in packages/spec/browser-reachable-entries.json (#10398's ledger for check:browser-reachable-entries), mirroring the ./meta-spelling reference pattern: a why and a measured-empty externals: []. Filed and triage-graded as #10397: the entry links no zod incidentally (12,723 B, zero externals, both format halves) and objectui's client-shipped code already reaches it at real non-test sites (app-shell's ScreenView.tsx and metadata-admin/external/api.ts, components' ShareDialog.tsx, auth's types.ts, plus core/data-objectstack/types re-exporting the same symbols). Declaring it converts the accident into a promise the gate now holds. Fixes#10397 Co-authored-by: Claude <noreply@anthropic.com>
Contributor
📓 Docs Drift CheckNothing in this diff resolved to a documentable surface (no symbol, route or SDK anchor derived from 1 changed package(s)), so this run has no opinion about the docs. What this run could not see
Coarse fallback — 122 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): |
qq9340100
marked this pull request as ready for review
August 21, 2026 02:21
qq9340100
enabled auto-merge
August 21, 2026 02:21
Uh oh!
There was an error while loading. Please reload this page.
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 freeto 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.
Fixes#10397
Promotes
"./contracts"fromunjudgedtobrowserReachableinpackages/spec/browser-reachable-entries.json(#10398's ledger forcheck:browser-reachable-entries), mirroring the./meta-spellingreferencepattern exactly: a
whyand a measured-emptyexternals: [].Both premises re-verified before editing
(a) real consumer — objectui client-shipped code reaches
./contracts.Re-grepped
objectui@origin/main(9bd753682, fetched fresh — #10398merged <1h before this card was dispatched). The triage grading's four named
non-test sites all still hold, each inspected directly:
packages/app-shell/src/views/ScreenView.tsx— re-exportsScreenFieldSpecverbatim, docblock: "The screen-pause contract is OWNED by
@objectstack/spec/contracts".packages/app-shell/src/views/metadata-admin/external/api.ts— importsGenerateDraftOpts,ObjectDraft,RemoteTable,SchemaValidationResult.packages/components/src/share/ShareDialog.tsx— importsShareLink,ShareLinkAudience,ShareLinkPermission.packages/auth/src/types.ts— re-exportsTenancyPosture.— plus non-test re-exports/consumers in
packages/core/src/utils/dataset-format.ts,packages/data-objectstack/src/index.ts,packages/types/src/data.tsandpackages/types/src/index.ts(export type * as Contracts). All client-shippedpackages, not test-only — the surface is broader than the grading measured.
(b)
./contractslinks no zod, zero externals. Rebuilt@objectstack/specfresh (
pnpm --filter @objectstack/spec build, exit 0) and, before touchingthe ledger, inspected the built
dist/contracts/index.mjs/index.jsdirectly: 12,723 bytes (matches the issue's measurement at
0bfbeb70cexactly), zero
zod/zod/*occurrences, zeroimport/requirespecifiersof any kind in either format half — fully self-contained. Confirmed again
through the gate's own instrument after the ledger promotion (below).
Reverse verification — both legs, real mutation on disk
Both legs ran with the ledger promotion already in the working tree (before
the commit below), so
./contractswas DECLARED for both:import { z } from 'zod'; export const __ablationProbe10397 = z.string();intopackages/spec/src/contracts/index.ts, rebuildgrep -c "from 'zod'"in the source file 0 → 1; rebuilt bundle grew 12,723 → 12,864 B and now nameszod(1× ESM, 2× CJS via direct grep)'./contracts' is DECLARED browser-reachable but its built graph links 'zod' (via dist/contracts/index.mjs)and the same forindex.jsgit checkout HEAD -- packages/spec/src/contracts/index.ts, rebuild2 declared browser-reachable entries link no zod; 34 bundle(s) scanned, 30 zod link(s) seen elsewhere (instrument calibrated); exports map fully classifiedA stray untracked
packages/spec/json-schema.manifest/contracts.jsonappearedduring the mutated build (
gen:schemaauto-detected the probe's runtime zodschema — a byproduct of the ablation, never git-tracked) and was deleted
before the restore rebuild;
git statusis clean except the one intendedledger line throughout.
Changeset
skip-changeset— same reasoning as #10398: the diff is onlypackages/spec/browser-reachable-entries.json, a repo-only ledger not in@objectstack/spec's publishedfilesfield (dist,json-schema,liveness,prompts,llms.txt,README.md,src/**/*.zod.ts,CHANGELOG.md,api-surface,spec-changes.json). Nothing published moves.Gates
node scripts/pm/dispatch-gates.mjs(no paths, derived from the real diff atthe final commit) named 9 local famil(ies) —
check:empty-state,check:liveness,check:merge-driver,check:slot-lookup,check:strictness-ledger,check:type-source-resolution,check:variant-docs,check-dev-prereqs.mjs,check-affected-docs.mjs—run at commit
c01d1159e; verdict lines and completion status in the report.Generated by Claude Code