Skip to content

docs(deployment): give the twelve publish-door rules with no row their four-doors rows - #30774

Queued
objectstack-fleet[bot] wants to merge 1 commit into
mainfrom
claude/project-thread-a0dqsd
Queued

objectstack-fleet[bot] wants to merge 1 commit into
mainfrom
claude/project-thread-a0dqsd

Conversation

@objectstack-fleet

Copy link
Copy Markdown
Contributor

Requested by Elon · project thread

domain:devx#1 · os-elon-musk · session_016WV4cwZNvkxPxgYDtckTvD

Fixes #30733
Clause-②: no
Metadata-protocol: none

Skills-docs: updated here

维护者速读

  • 改了什么:validating-metadata.mdx 的「一道闸、四道门」表格补上 12 条在运行时发布门运行、却没有任何一行的规则(12 行);图例为 connector 新增代码 ᶜ。
  • 为什么改:作者靠这张表查发布门会拒收什么;这 12 条规则拒收时文档里没有一行可对照。
  • 风险与回滚:纯文档,一个文件,无行为改动;回滚即 revert。
  • 先看:① 表格新增的 12 行(页面三行在 SDUI component props 之后,流程四行在 Flow trigger readiness 之后);② 表下图例新增的 ✓ᶜ connector。
  • 两分钟验证:对照 packages/lint/src/authoring-rules.ts 里任一新行规则的 runtimeTypes,看该行最后一格的上标是否按同序拼出。
  • 需要你做的:无,席位落地。

What changes

One file, content/docs/deployment/validating-metadata.mdx: twelve new rows in the four-doors table and one new legend code.

Re-derivation on origin/main (b3098661, this branch's base): AUTHORING_RULES holds 63 entries, 33 with surfaces: CLI_AND_RUNTIME. Every one of those 33 now has a row; before this PR exactly the twelve the card lists had none. The reference-integrity suite's 33 members are all covered by the existing umbrella and member rows (unchanged). All twelve declare commands: ALL, so the three CLI cells are ✓ ✓ ✓ on every new row.

New row Rule runtimeTypes os validate os build os lint runtime publish
Retired object title template validateTitleFormatRetired object ✓ ✓ ✓ ✓ᵒ
Roll-up aggregands lintSummaryRollups object ✓ ✓ ✓ ✓ᵒ
Page component types inside a spec-reserved namespace validateComponentTypes page ✓ ✓ ✓ ✓ᵖ
Print page blocks validatePrintPageBlocks page ✓ ✓ ✓ ✓ᵖ
Page variable declarations validatePageVariables page ✓ ✓ ✓ ✓ᵖ
Advisory: retired permission residue validateRetiredPermissionResidue permission ✓ ✓ ✓ ✓ᵖᵉ
Form thank-you panel fields validateThankYouRecordFields view, page ✓ ✓ ✓ ✓ᵛᵖ
Email template hole grammar validateEmailTemplateHoleGrammar email_template ✓ ✓ ✓ ✓ᵉ
Flow api trigger signing validateFlowApiTriggerSecret flow ✓ ✓ ✓ ✓ᶠ
Flow region shape validateFlowRegionShape flow ✓ ✓ ✓ ✓ᶠ
Advisory: credential literals in a flow lintFlowCredentialLiterals flow ✓ ✓ ✓ ✓ᶠ
Advisory: credential literals in a connector lintConnectorCredentialLiterals connector ✓ ✓ ✓ ✓ᶜ

Each rule has its own row, placed beside the existing row of its family (object rows after the inert-declarations row, page rows after SDUI component props, the thank-you row after public-form file fields, hole grammar after hole placements, flow rows after flow trigger readiness, permission residue after membership keys). Rules that share a cell were not merged into one row, because they are different families; the table's rows are families. The three tier: 'advisory' rules carry the table's own Advisory: prefix.

Legend: ✓ᶜ connector, the bare ᶜ, said in the sentence that explains the two-letter codes.

Acceptance notes

  • Pair check. A script decoded every runtime publish cell longest-first against the 18 codes. Every cell decodes, every new cell decodes to its rule's runtimeTypes in declared order, and no existing cell changed its reading. The only two-letter code that ends in ᶜ is ᵃᶜ, and no cell puts ᶜ right after ᵃ.
  • Row text. Each new row names the rule id(s) it reports under and the origin issue or ADR read from the rule's source file or the release notes. lintSummaryRollups names no origin issue in its source, so its row cites only its rule id rollup/non-numeric-aggregand.

Verification

node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack (exit 0) derived 43 commands for this one path (35 by path, 8 whole-tree). Docs only, no package files, so skip-changeset; nothing to ablate.

All 43 ran at ef000aa5 (the final head, on origin/main b3098661) and every one exited 0, after building the @objectstack/lint and @objectstack/client-react closures, which five of them read as built output. dispatch-gates.mjs --ran on that record: exit 0, "43 derived famil(ies) accounted for — 43 run, 0 NOT-MEASURED".

43 gates, exit codes at ef000aa
node scripts/check-adr-links.mjs :: exit 0
node scripts/check-adr-links.mjs --self-test :: exit 0
node scripts/check-closing-keyword-parity.mjs :: exit 0
node scripts/check-closing-keyword-parity.mjs --self-test :: exit 0
node scripts/check-comment-mask-corpus.mjs :: exit 0
node scripts/check-doc-route-spelling.mjs --advisory :: exit 0
node scripts/check-doc-route-spelling.mjs --self-test :: exit 0
node scripts/check-docs-section-name.mjs :: exit 0
node scripts/check-docs-section-name.mjs --self-test :: exit 0
node scripts/check-section-landing-index.mjs :: exit 0
node scripts/check-section-landing-index.mjs --self-test :: exit 0
node scripts/ci/plan-test-core-shards.mjs --self-test :: exit 0
pnpm --filter @objectstack/lint run check:doc-formula-expressions :: exit 0
pnpm --filter @objectstack/lint run check:doc-security-posture :: exit 0
pnpm --filter @objectstack/spec run check:docs :: exit 0
pnpm --filter @objectstack/spec run check:empty-state :: exit 0
pnpm --filter @objectstack/spec run check:liveness :: exit 0
pnpm --filter @objectstack/spec run check:skill-examples :: exit 0
pnpm --filter @objectstack/spec run check:strictness-ledger :: exit 0
pnpm --filter @objectstack/spec run check:variant-docs :: exit 0
pnpm --filter @objectstack/spec run check:yaml-examples :: exit 0
pnpm check:ci-filter-parity :: exit 0
pnpm check:closed-ceremony-text :: exit 0
pnpm check:corpus-claim-drift :: exit 0
pnpm check:cross-package-test-inputs :: exit 0
pnpm check:doc-anchors :: exit 0
pnpm check:doc-authoring :: exit 0
pnpm check:doc-frontmatter :: exit 0
pnpm check:docs-audit-scope :: exit 0
pnpm check:docs-redirects :: exit 0
pnpm check:docs-single-h1 :: exit 0
pnpm check:docs-spec-enumerations :: exit 0
pnpm check:docs-transcript-drift :: exit 0
pnpm check:driver-memory-census :: exit 0
pnpm check:gitlink-declared :: exit 0
pnpm check:nul-bytes :: exit 0
pnpm check:published-readme-links :: exit 0
pnpm check:react-page-adapter-contract :: exit 0
pnpm check:refd-timer-probe :: exit 0
pnpm check:role-word :: exit 0
pnpm check:skill-identifier-liveness :: exit 0
pnpm check:vendor-version-stamps :: exit 0
pnpm check:watch-hint-literal :: exit 0

Generated by Claude Code

…r four-doors rows

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016WV4cwZNvkxPxgYDtckTvD
@objectstack-fleet objectstack-fleet Bot added documentation Improvements or additions to documentation skip-changeset PR has no user-facing published change; bypasses the changeset gate labels Nov 6, 2026
@github-actions github-actions Bot added the size/s label Nov 6, 2026
@objectstack-fleet

Copy link
Copy Markdown
Contributor Author

domain:devx#1 · os-elon-musk · session_016WV4cymvo9YoyLwKCXXBNw

席位核对 · ACCEPT · #30733 · 2026-11-06T02:17Z

Head-sha: ef000aa51202b36ac76db3914de536b5114866b9

@objectstack-fleet
objectstack-fleet Bot marked this pull request as ready for review November 6, 2026 02:19
@objectstack-fleet
objectstack-fleet Bot enabled auto-merge November 6, 2026 02:19
@objectstack-fleet
objectstack-fleet Bot added this pull request to the merge queue Nov 6, 2026
Any commits made after this event will not be merged.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation size/s skip-changeset PR has no user-facing published change; bypasses the changeset gate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs: twelve publish-door rules have no row in the four-doors table of validating-metadata.mdx

1 participant