Repository navigation
fix(spec): four metadata type descriptions Setup shows are plain admin sentences - #23817
Conversation
…min sentences Claude-Session: https://claude.ai/code/session_014SHyy7c7ipsMkzJ3J9mdL9 Co-authored-by: Claude <noreply@anthropic.com>
…descriptions Claude-Session: https://claude.ai/code/session_014SHyy7c7ipsMkzJ3J9mdL9 Co-authored-by: Claude <noreply@anthropic.com>
…he plain type descriptions Claude-Session: https://claude.ai/code/session_014SHyy7c7ipsMkzJ3J9mdL9 Co-authored-by: Claude <noreply@anthropic.com>
📓 Docs Drift CheckThis PR changes 2 package(s): 3 hand-written doc(s) NAME something this change touched and may need an implementation-accuracy re-verification:
What this run could not see
Coarse fallback — 142 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): Which tree this was computed onThis run read A worktree cut from an older # while this PR is open — GitHub drops the merge commit once it closes
git fetch origin f24218f1b4270abf96e51e91058aaa3a995a3a93 && git checkout f24218f1b4270abf96e51e91058aaa3a995a3a93
# afterwards, rebuild it from the two parents, which stay fetchable
git fetch origin 59f9763d3e6ddf7c9e2a07d0f1020bddee217beb a8dd6f769f1d43381c6076654baff8eb8352d4ac && git checkout -B drift-repro 59f9763d3e6ddf7c9e2a07d0f1020bddee217beb && git merge --no-ff a8dd6f769f1d43381c6076654baff8eb8352d4ac
node scripts/docs-audit/affected-docs.mjs --json 59f9763d3e6ddf7c9e2a07d0f1020bddee217beb
|
api names the two endpoint types that execute (flow, object operation); doc and book drop the package-only clause, since both are runtime-creatable. Claude-Session: https://claude.ai/code/session_014SHyy7c7ipsMkzJ3J9mdL9 Co-authored-by: Claude <noreply@anthropic.com>
…ed descriptions Claude-Session: https://claude.ai/code/session_014SHyy7c7ipsMkzJ3J9mdL9 Co-authored-by: Claude <noreply@anthropic.com>
席位核对 · ACCEPT · PR #23817 @
|
Contract reviewServed-tier: Read for this record: card #23808 (its body and every comment, 6207867989 through 6208899682), the parent #23802 for the constraint it quotes, PR #23817's body, file list and diff against ① Derived judgmentsAccept set: nothing moves (right). The Public surface (right, patch-sized). The four sentences against the code: each is TRUE of its type, and none promises what the runtime does not keep.
Pins, read for the claim (the lane seat's domain otherwise). ② Semver level
③ Boundary flagsThe dev's reports are 6208446049 (first round) and 6208861054 (patch round) on #23808.
Implemented-by: VERDICT: PASS read 2026-10-16T05:48Z: card #23808 and #23802, PR #23817's body, file list, diff and check-runs, and the cited code at the head sha. Generated by Claude Code |
Fixes #23808
Clause-②: no
What changed
Setup shows four
DEFAULT_METADATA_TYPE_REGISTRYdescriptions (packages/spec/src/kernel/metadata-plugin.zod.ts) under each type's title. Each one is now a single plain sentence for an administrator: what the items are and what you do with them. The ADR vocabulary moved into the comment beside each registry row.apidocbookcapabilitycapabilityuses the wording the Setup review proposed for this type, word for word.pnpm i18n:extractregenerateden.metadata-forms.generated.ts. The zh-CN, ja-JP and es-ES values for these four leaves were hand-written translations of the old wording. They are rewritten as plain sentences in each locale. AGENTS.md allows editing translated-locale values in place; no keys were added or removed. A second extract run is a no-op, and the*.source-hashes.generated.tstables did not change, because the leaves are authored and not echoes.bare-type-display-echo-decisions.test.tsrecords the four description rows against their newensource and new renderings, with reasons. The KEPT-token assertion now keepsHTTP/URL(api) andMarkdown(doc). The token-predicate dark control moved to tokens that are still in the prose. A new assertion checks that none of the four descriptions carriesADR-, aDplus digit decision id,finding F,emit(),kernelor§, in the registry,enor any translated locale. It also has a dark control that fires on the replaced prose. No assertion was deleted.@objectstack/specpatch and@objectstack/platform-objectspatch. The generated bundles ship in itsdist.No key, type, schema or accept/refuse result changes.
Where the description reaches an admin
MetadataManager's type info (packages/metadata/src/metadata-manager.ts,description: entry.description) feeds the/metatypes listing. The REST/metahandler translates it per locale throughresolveMetadataTypeDescription(packages/rest/src/rest-server.ts,translateMetaTypesResponse). The Setup and Studio metadata pages both read that listing. No other runtime reader of these four strings was found. The similar wording onstack.zod.tsdocs/books.describe()is author-facing schema documentation, so it is outside this card.Acceptance notes
grep -E "description: '[^']*(ADR-|\bD[0-9]\b|finding F|emit\(\)|kernel)"over the registry's{ type: '…' }lines, gives 4 hits at74b436263and 0 after this change.a8dd6f769f, at the seat's review): theapisentence names only what executes, becauseendpoint.zod.tsrejectsscriptandproxyat publish. Thedocandbooksentences drop "a package ships" as the only source, because both rows areallowRuntimeCreate: true. The translations, the decisions test and the changeset follow.seed,picklist,mapping,dataset). The card's example sentence has one.Verification (head
b625ac4c)pnpm --filter @objectstack/spec build: exit 0.pnpm --filter @objectstack/platform-objects test: 70 files / 1092 tests passed.typecheck: exit 0.pnpm --filter @objectstack/spec check:generated: all 14 generated artifacts up to date.dispatch-gates --commandsderived 88 families. 86 exited 0, includingcheck:i18n,check:i18n-stale-fill,check:docs,check:authorable-surfaceandcheck:api-surface. 2 exited 3 on missing prerequisites in this container, so they were NOT MEASURED locally and are left to CI:check-plugin-teardown-shape --self-test: shallow clone, the pinned fixture commit is unreachable.check:dual-build-cjs-loads: not every workspace package is built.--ranreconciliation: 88 accounted for, 0 UNRUN.Generated by Claude Code