Repository navigation
fix(core,docs): bare citations that meant an objectstack card name its repository; the RETIRED_ACTION_KEYS.execute pointer among them (objectui#11016) - #11041
Conversation
… card name its repository `RETIRED_ACTION_KEYS.execute` (the dev warning for an action that still carries the retired `execute` key) cited the card that retired the alias by a bare number, which in this repository resolves to an unrelated docs card. It now names objectstack-ai/objectstack#3855; the rest of the message is unchanged. The Studio skill form's `triggerConditions` help text gets the same treatment: objectstack-ai/objectstack#1878 and objectstack-ai/objectstack#1895. Changeset: patch for @object-ui/core and @object-ui/app-shell. Claude-Session: https://claude.ai/code/session_011p7ikEivgXefNDaE5S5Uec Co-authored-by: Claude <noreply@anthropic.com>
…names its repository A bare number in this repository resolves to an objectui item. The census of bare numbers in non-test package sources (each sentence read against both repositories' titles, not only the numbers that answer 404) found comments whose sentence means an objectstack card while the number resolves here to an unrelated objectui card or pull request. Each now reads objectstack-ai/objectstack#N. Numbers that mean an objectui card stay bare. Where a comment quotes objectstack's own text, the quote keeps its words and the card name sits in square brackets. The quoted generic-substitution sentence in apiErrorEnvelope.ts also says which card it is: the sharing-rule dialog card, whose objectui fix (objectui#2920) introduced that substitution. Comment-only: no code token moves. Claude-Session: https://claude.ai/code/session_011p7ikEivgXefNDaE5S5Uec Co-authored-by: Claude <noreply@anthropic.com>
…s an objectstack card Nine pending changesets cite an objectstack card by a bare number, which in this repository resolves to an unrelated objectui item. Each gets a dated note in the form the pending-entry corrections use: the note names the card as objectstack-ai/objectstack#N and says what it is, and the entry's own text is kept as the reading of its change. Frontmatter is byte-identical in all nine. Claude-Session: https://claude.ai/code/session_011p7ikEivgXefNDaE5S5Uec Co-authored-by: Claude <noreply@anthropic.com>
…10278 rewrites beside The server-side pagination comment in ObjectGrid.tsx sits directly above the lines objectui#10278 inserts, so qualifying its citation here makes that PR conflict. It keeps its original spelling in this change and is recorded as held by the serial rule; the other two ObjectGrid.tsx citations merge cleanly. Claude-Session: https://claude.ai/code/session_011p7ikEivgXefNDaE5S5Uec Co-authored-by: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011p7ikEivgXefNDaE5S5Uec Co-authored-by: Claude <noreply@anthropic.com>
|
changeset-claim-re-read
|
✅ Console Performance Budget
The eager closure is every chunk the entry reaches through static imports — what the browser fetches and parses before the app renders. The entry chunk on its own is a small fraction of it. 📦 Bundle Size Report
Size Limits
|
…ectui's is objectstack's Two PackageFormDialog.tsx comments and the pending violet-donkeys-brake changeset cite the generic-substitution card under this repository's name. In objectui that number is the check-i18n-en-drift script pull request; the card meant is objectstack-ai/objectstack#3821, the sharing-rule dialog card whose objectui repair (objectui#2920) introduced the substitution. The two comments now name it; the pending entry gets a dated note in this change's form, with its frontmatter byte-identical. The test file's doc comment stays: tests are outside the class. Claude-Session: https://claude.ai/code/session_011p7ikEivgXefNDaE5S5Uec Co-authored-by: Claude <noreply@anthropic.com>
✅ Console Performance Budget
The eager closure is every chunk the entry reaches through static imports — what the browser fetches and parses before the app renders. The entry chunk on its own is a small fraction of it. 📦 Bundle Size Report
Size Limits
|
Contract reviewServed-tier: Inputs: card objectui#11016 (body and all five comments: triage ① Derived judgments
② Semver level
③ Boundary flags
Implemented-by: VERDICT: PASS Generated by Claude Code |
Fixes #11016
Clause-②: no
Dispatched implementation of the
domain:uiseat 2 claim (comment5882822760) on objectui#11016, triage direction5876435318, sessionhttps://claude.ai/code/session_011p7ikEivgXefNDaE5S5Uec. Citations only: a bare number whose sentence means an objectstack card now names its repository asobjectstack-ai/objectstack#N, as triage direction 2 spells it. No key, accept set, refusal decision or code path moves.In this body a census number is written in a code span, so GitHub links it to nothing.
What changed, by class (one commit each)
patch).@object-ui/coreRETIRED_ACTION_KEYS.execute, the dev warning for an action still carrying the retiredexecutekey, now reads "executewas removed in @objectstack/spec 17 ([P3] Retire the three deprecated aliases — via the ADR-0087 D2 conversion layer, not by deleting the keys objectstack#3855) — rename the key totarget. …". The card is live, so the pointer is qualified rather than dropped (triage item 1; ruling5860244997Q1 = A covers dead cards only). The rest of the message is byte-identical, and the one test that pins its text (actionKeys.pin.test.ts, "rename the key totarget") still reads it.@object-ui/app-shellmetadata-admindefault-schemas.ts, the Studio skill form'striggerConditionshelp text: its two bare numbers mean objectstack cards1878and1895and now name them.//,/* */, JSX or doc comment in non-testpackages/*/src: 350 bare numbers on 337 lines in 143 files across 24 packages, requalified in place. One more is held (Held below).⚠️ **Dated note, 2026-09-29 — … — objectui#11016.**, what the number means, then "The text above is kept as the reading of this change."). The note names the card and never repeats the bare token. The frontmatter block is md5-identical at the branch point and this head in all nine.5883408510, bounded in-place fix, commitba91ecf76). TwoPackageFormDialog.tsxcomments (thereadEnvelopeUserMessagedocblock and the objectui#8051 catch-arm comment) wroteobjectui#3821for the generic-substitution card and now writeobjectstack-ai/objectstack#3821. The pending.changeset/violet-donkeys-brake.md, which would publish that spelling at the next release, gets a dated note in the form of the other nine: it names fix(sharing): 共享规则新建页 — 自定义 widget 未国际化,且「接收方」永远无可选项 objectstack#3821, the sharing-rule dialog card. Its frontmatter md5 is4e8ce550at both29d0e9ae2andba91ecf76. The test file's doc comment is untouched, because tests are outside the class. Evidence onba91ecf76: the comment-stripping print ofPackageFormDialog.tsxis identical to29d0e9ae2, with 0 parse diagnostics;pnpm exec vitest runover the fivePackageFormDialog.*.test.tsxfiles givesTest Files 5 passed (5),Tests 67 passed (67);pnpm exec eslinton the file gives 0 errors;check:changeset-claims,check:pending-changeset-literals,check:control-bytesandcheck:new-line-citationsall exit 0; trial merges are unchanged.Plus
.changeset/11016-cross-repo-bare-citations.md:patchfor@object-ui/coreand@object-ui/app-shell, the two packages whose shipped runtime text moves; the comment-only packages need no entry of their own, as in the objectui#10803 batches: every package here versions as one group.Census (read before editing)
Population. The instrument is the one objectui#10803's batches used. Its primary form is below; the blind-spot form swaps the lookbehind for
(?<=[/.\-]):At the branch point
e327c8998it finds 3880 bare occurrences: 3694 in the primary form and 186 after/,.or-, with 1005 distinct values. A number written after an already-qualified one (objectui#9469/#8649,framework#1878/#1891) inherits that qualifier and is out of the bare class.Titles. Both repositories' full issue and pull-request title lists were read over REST:
issues?state=all, cursor pagination. objectui gives 10653 items (max11037); objectstack gives 18394 (max20567). A number absent from a list answers 404 there.Reading.
1890's comment4708800480carries the form-layout note two ObjectView/ModalForm comments cite. objectui PR2078, not objectstack's same-numbered release PR, is the spec 11.2.0 bump a clientValidation comment cites.Verdicts.
2212, only the six pagination lines mean objectstack'sfindDatacard, and thevisibleOnlines stay.Lit controls.
8955site the review did not list (plugin-detailbuildDefaultPageSchema.ts).actionKeys.ts3855is found.2078sits beside "spec 11.2.0" and means objectui's bump PR, and it stays bare.After, reconciled at this head. Re-running the instrument, every (file, number) count dropped by exactly the number of sites edited in that file (0 mismatches), and no new bare occurrence appeared anywhere in the classes (0 added). Of the 364, 11 remain: the 10 changeset sites, now carrying their notes, and the 1 held site. The census verdicts come from reading, and nothing re-derives them mechanically; the instrument above re-derives the population.
Special cases
apiErrorEnvelope.ts, the(#3821)in the quoted envelope-writer sentence.widget.ts, a quotedRETIRED_DEFS_BY_MAJORentry.data-protocol.ts, a quoted spec comment.ValueDataSource.tsandfilter-converter.ts, a quoted refusal message each.(#3821)is named, and triage's premise about it did not hold. Triage item 4 says neither3821is the card. Measured: objectstack3821is the sharing-rule dialog card, and the objectui change that repaired it, objectui#2920 (53642d4fe), is the change that first replaced a refused write's raw server text with localized copy, the generic substitution the sentence names. The comment now says that. The three sibling "… holds by construction" comments inform.tsx,ObjectCalendar.tsxandObjectKanban.tsxmean the same card and are qualified the same way.@deprecated [#2578 -> size](calendar, gantt, kanban) is corrected inside its code span, with no extra brackets: the tag's own syntax already uses them.Held (serial rule)
The census hit in
plugin-gridObjectGrid.tsx, the server-side pagination comment ending "reachable at all (framework2212).", is not edited. Open draft objectui#10278 inserts lines directly beneath it. Qualifying it here added a conflict hunk: 3 conflict markers in that file against objectui#10278's head, versus 2 without this change. With it held, the count is 2 either way. The line waits for objectui#10278 to land or close.Proof of prose-only (C4), against current
main2eaf5be27.ts/.tsxfiles was parsed on both sides with TypeScript'screateSourceFileand re-printed bycreatePrinter({ removeComments: true }). 142 prints are identical and 2 differ, exactly the two runtime-string files (actionKeys.ts,default-schemas.ts), with 0 parse diagnostics.actionKeys.tsleaves the print unchanged, and editing its string literal moves it. Both anchors were confirmed on disk, one each.Recordtypes whose values are typedstringandunknown, so no type moves.Serial and trial merges
mainwas merged in before opening (29d0e9ae2). objectui#11038, #11036, #11034 and #11032 had landed in the meantime; the auto-merges inRecordDetailView.tsx,en.ts,ObjectCalendar.tsxand plugin-viewObjectView.tsxwere clean. Re-reading the instrument on the merged tree finds nothing new.git merge-tree --write-treeof this head with each open pull request's head, fetched into named refs:ActionRunner.tsanden.ts, both of which carry census edits here): clean.dashboard-filters.ts): clean.plugin-grid.mdx, plugin-gridREADME.mdandObjectGrid.tsx, the same three files as againstmainalone, with the same 2 conflict markers inObjectGrid.tsx(see Held).Gates and tests
Each line gives the gate's own verdict and its exit code, captured by redirect-then-
$?. On this head29d0e9ae2:node scripts/check-changeset-presence.mjs --base 2eaf5be27, exit 0: "143 source file(s) of 23 released package(s) changed, and this change declares 1 changeset(s): .changeset/11016-cross-repo-bare-citations.md."pnpm changeset:check, exit 0: fixed group complete; "No changeset declares amajorbump."pnpm check:changeset-claims(report-only), exit 0. Its standing notice lists pending entries that name a touched file. A pending entry quoting a replaced spelling would carry a bare number the census sees, and the census found exactly the nine entries noted here.pnpm check:pending-changeset-literals, exit 0: "No test source names a pending changeset."pnpm check:control-bytes, exit 0: "OK (scanned 9331 tracked text file(s); skipped 85 binary)."pnpm check:new-line-citations, exit 0: "VERDICT new-cross-file-line-citations: 0 new citation(s), enforcement report-only -> exit 0".pnpm check:spec-symbols, exit 0.pnpm check:action-forward-parity, exit 0; it readsRETIRED_ACTION_KEYSoffactionKeys.ts.node scripts/check-doc-links.mjs, exit 0: "Links are valid across 17 scan roots."pnpm exec vitest run packages/core/through the shared verify lock:Test Files 184 passed (184),Tests 3658 passed | 27 skipped (3685),VERDICT command-exit 0.@object-ui/coretype-check, after building its dependency closure (@object-ui/types): exit 0.On
5d8eefd71, the pre-merge head with the same diff over the older base:pnpm exec vitest run scripts/__tests__/, the whole-tree scanner suite:Test Files 177 passed | 2 skipped (179),Tests 5350 passed | 2 skipped (5352),VERDICT command-exit 0.pnpm exec eslinton the 144 touched source files: 0 errors. The config enables no type-aware linting and no rule reads comments, and C4 shows no code token moved, so no untouched file's verdict can move either.pnpm check:installed-pin-claims"OK".pnpm check:comment-mask-corpusexit 0 (1 disagreeing file, within objectui#7882's ceiling).node scripts/check-hand-rolled-comment-mask.mjs"OK every carrier is a DEBT entry".pnpm check:handler-key-readsexit 0.node scripts/check-governed-queue-guard.mjs --testover the 154 paths: "NOT GOVERNED".Declared narrowing.
@object-ui/coreonly. The other 23 packages change comments only, and@object-ui/app-shellchanges one string value typedunknown(C4). Their type-check is CI's.packages/core/only. No test pins the app-shell help text: a search of tests, e2e and apps for its wording finds nothing. The rest is CI's.Census table
sitescounts this change's in-class occurrences of the number. "(k stay objectui)" counts sentences citing the same number that mean the objectui card, left bare. Titles are trimmed.1319147915051604175217531874187818851890189521692183221225522555257826042611267026752707272727552782292629482970299831653266327132983371340534073424342734313447345534793493349435083528357436893697371337233794382138423843385538563896390339163923394839593962400140194074407541154171446346104614461646494709471748295021507451345149515452405316532255765777581167616776695370347127713772337388749680108135827084248955961210235Acceptance notes
AgentConnectSection.tsxstill says "the9934channel", a dead objectstack number.recordDetailsInputs.spec-parity.test.tsdoc comment writesobjectui#3546for objectstack's card.2604,3405,3508or7233mean objectstack cards. NOT MEASURED as a population.CHANGELOGhistory is untouched.432,586,772,787,844,1238,1491,1852,1970, and one2150sentence (an intermittent CI failure).1238,1852,1970).772and787pair with objectui#2362, whose title cites cloud's772.objectstack-ai/cloudanswers 403 through this container's proxy, so their cloud reading is NOT MEASURED. They are out of this card's objectstack class and are left as written.framework#Ncitations (83 distinct), qualified by objectstack's former name, including the ones after a slash such asframework#1878/#1891.objectui#3821citations that meant objectstack's card were carried in patch round 1 (item 4 above).ObjectGrid.tsxpagination comment (see Held).Generated by Claude Code