Repository navigation
docs(spec): cite the /ai/models picker decision as cloud ADR-0028 - #24514
Conversation
The JSDoc on AiModelsResponseSchema and its models field, and the matching protocol.test.ts comment, cited a bare ADR-0028. That number resolves to this repository's metadata-naming record; the decision is cloud's (plan-filtered AI model picker). JSDoc and comments only. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D6F9axfoPzR7t8G1J7Ytzz
…oud-adr-0028-citation
📓 Docs Drift CheckThis PR changes 1 package(s): ⛔ 1 release-owned page(s) name something this change touched. These are read-only:
What this run could not see
Coarse fallback — 143 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 db396b6c40c486f56b98195e662f5ee5cdaf806a && git checkout db396b6c40c486f56b98195e662f5ee5cdaf806a
# afterwards, rebuild it from the two parents, which stay fetchable
git fetch origin 6b42b6bc8a11b58cfaa5054e9edbb86b1898f2e7 c53d4f840e58fffd8e1fc539c758c961e189527a && git checkout -B drift-repro 6b42b6bc8a11b58cfaa5054e9edbb86b1898f2e7 && git merge --no-ff c53d4f840e58fffd8e1fc539c758c961e189527a
node scripts/docs-audit/affected-docs.mjs --json 6b42b6bc8a11b58cfaa5054e9edbb86b1898f2e7
|
Review: ACCEPT · PR #24514 @
|
Fixes #24486
Clause-②: no
What this does
packages/speccited a bareADR-0028besideGET /api/v1/ai/models. A bare number resolves against this repository's registry, wheredocs/adr/0028-metadata-naming-and-namespace-isolation.mdis about metadata naming. The decision these lines mean is cloud'sdocs/adr/0028-paid-tier-selectable-ai-model.md(read by triage, comment 6262456627). AGENTS.md Prime Directive #13 says a cloud decision is cited from this repo ascloud ADR-NNNN, never as a bare number.This PR qualifies the three lines, in the same wording PR #24482 used for the client TSDoc and the docs:
packages/spec/src/api/protocol.zod.ts:3399, JSDoc onAiModelsResponseSchema: "plan-filtered picker list (cloud ADR-0028)".packages/spec/src/api/protocol.zod.ts:3402, JSDoc onmodels: "exposes the cloud ADR-0028 allowlist".packages/spec/src/api/protocol.test.ts:375, test comment: "the cloud ADR-0028 allowlist".JSDoc and comments only. No
.describe()string, shape or generated file moves.CHANGELOG.mdhistory is left as written.A fresh
git grep ADR-0028 -- packages/spec(excludingCHANGELOG.md) onorigin/main959ee317bfinds one more site,packages/spec/src/kernel/namespace-prefix.ts:4("Namespace-prefix rules (ADR-0028 current-state contract)"). That one is correct as written: it means this repository's ADR-0028 (namespace isolation), so it is not changed.Changeset
.changeset/24486-spec-cloud-adr-0028-citation.mdis apatchfor@objectstack/spec. The package'sfiles[]shipssrc/**/*.zod.tsverbatim, and the JSDoc reaches the built.d.ts: after the build,grep -rl "picker list (cloud ADR-0028)" packages/spec/disthitsautomation-api.zod-*.d.ts/.d.mts, and the old bare wording has 0 hits. The published surface moves, soskip-changesetdoes not apply.Verification
The full run below was on head
e27d6d3f60, the fix commit. After that,origin/main6b42b6bc8awas merged in, giving headc53d4f840e. The diff against main is the same 3 files, and the gate derivation on the new head is byte-identical (86 commands). Onc53d4f840eI re-ran the 42 build-free commands: all 37 directnode scripts/...gates,check:nul-bytes,check:changeset-gate-self-tests,check:type-check-coverage,check:issue-citationsandcheck:test-source-alias. All 42 exited 0.pnpm --filter @objectstack/spec build: exit 0.pnpm --filter @objectstack/spec exec vitest run --maxWorkers=2 src/api/protocol.test.ts: 1 file, 186 tests passed.pnpm --filter @objectstack/spec run typecheck: exit 0, includingcheck:test-typecheck: OKover the test layer.node scripts/check-adr-anchors.mjs: exit 0, "check-adr-anchors: OK (75 anchored file(s), ... 48594 citation(s) across 6480 file(s) resolve ...)". The script recognisescloud ADR-NNNNand skips it.node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstackderived 86 commands. All 86 were run, and--ranwith exit codes reconciles them: "86 derived famil(ies) accounted for, 82 run, 4 NOT-MEASURED (4 DERIVED from a recorded exit 3)".check:docs("227 generated files in sync with packages/spec"),check:api-surface("public API surface + factory signatures unchanged"),check:authorable-surface,check:nul-bytes,check-changeset-no-major,check-empty-changeset,check:issue-citations.node scripts/check-changeset-fixed.mjs(roster under.changeset) also passed.check:doc-formula-expressions(@objectstack/formula),check:lean-entry-closure(@objectstack/objectqldist),check:dual-build-cjs-loads(whole-workspace build),check:type-check-debt. None of them reads a comment inpackages/spec/src/api.Acceptance notes
packages/spec/src/kernel/namespace-prefix.ts:4citesADR-0028and correctly means this repository's record. It is noted here, not changed.Generated by Claude Code