docs: v17 docs sweep run 5 — rc.2 catch-up - #4881
Merged
Merged
Conversation
Three hand-written pages had drifted behind changes that landed in the 2bafe62..a2ebea2 window. - data-modeling/validation.mdx contradicted itself: the has(x) callout says an unevaluable predicate is rejected fail-closed, while the condition paragraph twelve lines later still taught the pre-17 "logged and skipped rather than blocking the write". #4649 reversed that. Rewritten to the shipped contract, including the total stored-or-payload record that makes the has() callout true in the first place. - automation/hooks.mdx had no coverage of the declarative condition gate while three changes landed on it, one breaking. Adds a section for #4775 (unevaluable condition aborts the operation), #4770 (evaluates against stored + payload, not the payload alone) and #4784 (previous is bound). - concepts/metadata-lifecycle.mdx did not list job, which #4509 closed to runtime creation and org override. Adds the row with its reasoning, and notes the retired standalone validation kind under ADR-0088. Filed #4880 for the areas[] documentation gap rather than guessing at the section shape. Docs-only; releases nothing. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AaegKY1Y7GqTb8CKMm5GLC
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
os-zhuang
marked this pull request as ready for review
August 3, 2026 13:00
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 free
to 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.
Follow-up to #4877. With the rc.2 release page written, I swept the hand-written docs against the same window (
2bafe62e..a2ebea2e) for pages still teaching something the window changed — the run-5 counterpart to the run-4 rc.1 catch-up.The sweep came back mostly clean:
activationEvents,app.homePageId,translation.validationMessages, thescript-nodeactionTypebranches,managedBy: 'system-data',atomic/ROLLED_BACK/NOT_ATTEMPTED,findOne's throw-on-empty, thebulk_update/bulk_deletewebhook pair anddatasourceMapping-is-routing were all already updated by the PRs that changed them. Retired datasource blocks (retryPolicy/healthCheck/capabilities/readReplicas),findStream,openApi31and the dual-source renames have no hand-written doc references at all. Three pages had drifted.1.
data-modeling/validation.mdxcontradicted itselfThe
has(x)callout (added by #4763) says an unevaluable predicate is "rejected fail-closed". Twelve lines below it, theconditionparagraph still said:That is precisely the fail-open behaviour #4649 reversed, and it is the sentence an upgrading author reads to decide whether their rules are enforcing anything. Rewritten to the shipped contract: rejection with
VALIDATION_FAILEDnaming the rule and the offending key,severitystill governing blocking, and the total stored-⊕-payload record that makes thehas()callout true in the first place.2.
automation/hooks.mdxhad no coverage of the declarativeconditiongateOne passing clause under wildcard hooks, and nothing else — while three changes landed on it in this window, one of them breaking. Adds a "The
conditiongate" section:condition求不出值时:全局 fail loud —— 抛错并中断该次操作(方案 B 已拍板;Blocked-by #4770) #4775 — an unevaluable condition now ABORTS the operation instead of warning and skipping the hook. Written with the reason the two outcomes had to split: swallowed into abefore*guard the old behaviour silently let writes through; swallowed into an audit hook it silently dropped records.condition: "record.done == true"did not fire on ordinary updates becausedonewas not in the payload.condition的 CEL 作用域只绑定record—— 文档教的previous.x/ctx.record根本不存在,过渡型条件写不出来 #4784 —previousis bound, so a condition can express a transition; plus the upgrade note thatrecord.x == valone is now true on every update of an already-matching row.3.
concepts/metadata-lifecycle.mdxdid not listjobThis is the page that explains the two-tier overlay / runtime-create gate, so it is where an author looks when "create job" disappears from Studio. #4509 set both
allowOrgOverride: falseandallowRuntimeCreate: falseonjob. Adds the row with its reasoning (handlernames a compiled-bundle function a runtime writer has no way to reach, so a runtime-created job saved and was never scheduled) and the still-supported doors. Also notes that the standalonevalidationkind is gone under ADR-0088, since the paragraph below the table already discusses which types do not exist.Filed, not fixed
content/docs/ui/apps.mdxhas zero coverage ofAppSchema.areas[]— no mention of the word anywhere in the hand-written docs — despite three changes landing on it this window (#4667order, #4651 the two fail-open area gates, #4722 server-side enforcement of item-level gates inside areas) and a load-bearing security asymmetry that now only exists in changesets and the spec's.describestrings: item-levelrequiredPermissionsis server-enforced in both trees, whilevisibleis client-only at every level. Writing that section is more than a sweep should invent, so it is #4880, cross-referenced with #4749 (which fixes the spec-side prescription wording for the same surface).Verification
node scripts/check-doc-authoring.mjs— 215 files cleannode scripts/check-release-notes.mjs— OKdocs/adr/filenamesDocs-only; releases nothing.
Generated by Claude Code