Uh oh!
There was an error while loading. Please reload this page.
docs(data-modeling): add missing bulk to the objects.mdx apiMethods sample - #10823
Merged
Conversation
…s` sample `content/docs/data-modeling/objects.mdx` shipped an `enable.apiMethods` sample listing only five of the six authorable primitives, omitting `bulk`. The whitelist is exact — `undefined` means unrestricted, a subset means that subset's derived closure — so a reader who copied the sample verbatim silently denied batch operations on their object. The page's own property table two rows below already names all six (`get/list/create/update/delete/bulk`), and `ApiMethod` in packages/spec/src/data/object.zod.ts declares six. Only the sample was wrong. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DdCnBGcHeufjrq7drTD3wt
os-zhuang
marked this pull request as ready for review
August 21, 2026 13:18
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#10711
The defect
content/docs/data-modeling/objects.mdx:84shipped anenable.apiMethodssample thatlisted only five of the six authorable primitives:
bulkwas missing. AnapiMethodswhitelist is exact —undefinedmeansunrestricted, a subset means that subset's derived closure — so a reader who copied this
sample verbatim silently denied batch operations on their object.
Both halves re-derived at this PR's base (
f4e5d916d6)The enum —
packages/spec/src/data/object.zod.ts:18-22, six members:The page's own property table —
content/docs/data-modeling/objects.mdx:97, two rowsbelow the sample, already named all six:
So the table was right and the sample was wrong, on the same screen. Only the sample
changed here; the enum is correct and untouched.
The change
One line, one file. This matches the shape the sibling site already carries: #10590 has
already landed on
main, anddata-modeling/schema-design.mdx:71-77now enumeratesall six with an explicit
'bulk' // omitting bulk DENIES batch operationscomment. Thatsite is not touched by this PR — it belongs to that card and to the #10616 sweep,
whose gate 3 is "zero changes outside the listed member sites".
Sweep for a third site
The card asked whether any other page under-enumerates
apiMethods. Every occurrencerepo-wide was reviewed;
objects.mdx:84was the only remaining defect. The othersites are correct as written:
data-modeling/schema-design.mdx:71-77bulkcommentedreferences/data/object.mdx:141,178references/security/permission.mdx:66apiOperations, 14 effective opsui/setup-app.mdx:70apiMethods: []sys_jwks, correctprotocol/kernel/http-protocol.mdx:856skills/objectstack-api/SKILL.md:66['get', 'list']skills/objectstack-data/SKILL.md:95packages/objectql/src/registry.test.tscontent/docs/releases/v16.mdx,v17.mdxA deliberate subset (
['get','list']to illustrate a read-only API) is not the defect;the defect is a sample that presents itself as the complete capability surface while
listing five of six.
Verification
Gate set derived from the changed path with
node scripts/pm/dispatch-gates.mjs(no patharguments — the script takes its own change set from the merge base), then re-derived and
re-run after the final commit, at
03c2bb5261, with a clean working tree. All 14derived families plus
check:nul-bytesexit 0. Exit codes were captured before any pipe(
cmd > log 2>&1; ec=$?).Each gate's own verdict line, not a bare
$?:✓ doc authoring guard: 389 files clean — no bare metadata literals.✅ check-doc-anchors: 272 internal #fragment link(s) across 408 source file(s) all resolve to a real heading✓ check-doc-frontmatter: 403 page(s) under content/docs parse with yaml@2.9.0 …✓ check:doc-formula-expressions: 22 record-scoped formula example(s) across 416 files / 1443 TS blocks judged clean by @objectstack/formula.✓ docs-accuracy-audit scope is in sync with content/docs/: 189 hand-written doc(s).check:doc-formula-expressionsfailed once on the first run withERR_MODULE_NOT_FOUNDfor@objectstack/formula/dist/index.mjs— an unbuilt dependencyclosure in a fresh worktree, not a defect in this change. It passes after
pnpm --workspace-concurrency=2 --filter '@objectstack/lint^...' build, and passed in thepost-commit union above.
No ablation applies. A docs correction has no guard under test — there is no gate that
should have caught the missing
'bulk'and no mutation that would prove one red, so thatslot is deliberately empty rather than filled with a ceremony that measures nothing.
Changeset:
skip-changeset, and whyThis PR touches exactly one file,
content/docs/data-modeling/objects.mdx. That file isthe docs site, not a published package:
apps/docsis"private": true, and nopackage.json in the workspace names
content/in itsfiles[]. Nothing this PR changesreaches npm, so there is no consumer changelog for a changeset to write —
skip-changesetis correct.
The distinction is about the file's home, not about it being Markdown: a Markdown file
that ships inside a published package (a package README) would need a real changeset,
because it lands in the npm tarball. This one does not.
mainmay be red onscripts/pm/git-history.mjs --self-test(#10807, tracked byPR #10811). That failure reds
Lint & Repo Gatesfor every PR and is not from this change.Generated by Claude Code
Generated by Claude Code