Skip to content

docs(releases): 18.4.0 release notes, its v18 index entry and its upgrading row - #33137

Merged
objectstack-fleet[bot] merged 3 commits into
mainfrom
claude/project-thread-tdpttn
Nov 13, 2026
Merged

objectstack-fleet[bot] merged 3 commits into
mainfrom
claude/project-thread-tdpttn

Conversation

@objectstack-fleet

Copy link
Copy Markdown
Contributor

Requested by Tesla · project thread

Fixes #33106

Clause-②: no
Metadata-protocol: none

维护者速读

What changes

  • content/docs/releases/v18/18-4.mdx (new, 1,247 lines). The 18.4.0 page in 18-3.mdx's skeleton: Highlights; Release facts, as measured (with the 18.4.0 sweep and the post-release smoke); What's new by kind (需手动处理 / 自动迁移 / 新增能力 / 语义变化 / 其他修复, by area); Console (Studio); Upgrade checklist.
  • content/docs/releases/v18/meta.json: 18-4 ahead of 18-3.
  • content/docs/releases/v18/index.mdx: one 18.4.0 bullet under "Per-release notes", in 18.3's shape (claim amendment by the seat).
  • content/docs/upgrading.mdx: the v18.4.0 row of "Per-release specifics", and nothing else.
  • scripts/docs-audit/handwritten-docs.json: +1 line, written by node scripts/docs-audit/check-audit-scope.mjs --write (the generator; check:docs-audit-scope reds without it).

No CHANGELOG is edited, and no tag, publish, version script or release-workflow act was taken.

How the page was compiled

  • The 111 ## 18.4.0 sections at 181ad7d4 were split with splitChangelogEntry and each bullet placed with classifyReleaseBullet from scripts/release-github-releases.mjs (the GitHub Release body's own grouping), after dropping Updated dependencies bullets and one dependency-list fragment. Deduplicated on full text: 1,252 entries; with the one showcase-only changeset that is the 1,253 the version commit deleted.
  • Sections: 244 / 38 / 366 / 9 / 595. Levels from the CHANGELOG level headings: 169 minor, 1,083 patch. Breaking: 282 (89 minor, 193 patch). The first four sections are listed in full; 其他修复 is counted by area.
  • Each line is the changeset's first line with its conventional prefix removed, its commit and the pull request that commit merged (read from the commit subject, all 1,252 resolved). Seven entries whose first line is their declaration take the commit subject instead; four "Shipped in 18.3.0" entries keep that prefix. Three lines are reworded to the platform's words for the reserved word (ADR-0090 D3), as the callout says.
  • Areas are placed mechanically from each summary's words and the packages it touches; the page says so.

Verification

Local gates derived by node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack against this diff: 61 derived, 61 run, 0 NOT-MEASURED, 0 UNRUN (--ran reconciliation exit 0).

Gate record
  • First pass at d55197a9: 54 non-spec gates; 49 exit 0. check:role-word exit 1 (3 occurrences of the reserved word on the new page, fixed in d7190f40); three @objectstack/lint readers exit 3 (prerequisite: lint not built); check-issue-citations.mjs exit 124 (my 280 s timeout, network-bound).
  • After building the lint closure and the client SDK closure: check:doc-formula-expressions, check:doc-security-posture, check:docs-transcript-drift, and the seven @objectstack/spec readers (check:docs, check:empty-state, check:liveness, check:skill-examples, check:strictness-ledger, check:variant-docs, check:yaml-examples) all exit 0.
  • node scripts/check-issue-citations.mjs exit 0: "citations judged: 850 across 2 file(s) · 718 resolves-as-pull-request · 132 resolves".
  • At d7190f40 (after the wording fix), the page-reading gates re-run, all exit 0: check:doc-anchors, check:doc-authoring, check:doc-frontmatter, check:release-notes, check:release-page-status, check-release-section-coverage.mjs (and --strict), check-docs-section-name.mjs, check-doc-route-spelling.mjs --advisory, check:closed-ceremony-text, check:nul-bytes, check:docs-audit-scope, check-affected-docs.mjs, check:role-word, check:docs-single-h1, check-section-landing-index.mjs, check:corpus-claim-drift, check-adr-links.mjs.
  • After merging origin/main (2 commits, no file in common): check:docs-audit-scope exit 0.
Page render check

The four touched or neighbouring pages compile with @mdx-js/mdx 3.1.1 + remark-gfm 4.0.1 (the docs site's MDX compiler), exit 0: 18-4.mdx (324,138 bytes of JS), v18/index.mdx, upgrading.mdx, and 18-3.mdx as the positive control. Negative control: a one-line file with an unclosed brace fails the same script (exit 1). The full next build of the docs site was not run.

Facts measured, and where
  • git show 181ad7d4 --diff-filter=D --name-only → 1,253 changesets deleted; git ls-tree 181ad7d4 .changeset/ → none left. Parent of 181ad7d4 = c4196099; 1,517 first-parent commits after 83d7e4ae33.
  • Published set: 110 non-private packages at 181ad7d4 (75 @objectstack/*, create-objectstack, 34 @object-ui/*); against 83d7e4ae33: @object-ui/providers gone, @objectstack/scenarios and @objectstack/service-push new.
  • npm view PACKAGE dist-tags.latest for all 110 → 18.4.0; @objectstack/spec time 18.4.0 = 2026-11-13T12:30:15.590Z; next = 18.2.0; @object-ui/providers latest 18.3.0; @object-ui/app-shell latest 18.2.0.
  • git ls-remote --tags origin: 110 @18.4.0 tags peel to 181ad7d4.
  • The four new commands exist at 181ad7d4 and not at 83d7e4ae33 (packages/cli/src/commands/migrate/); stored-references takes --dev / --preset (COMPOSITION_FLAGS); FILES_DISABLED and ATTACHMENT_PARENT_ACCESS in service-storage; NAMESPACE_REFUSED_LITERALS = the six plus runs; the blank starter's note.object.ts declares no enable.files.
  • Sweep: [sweep] v18.4.0 release test sweep #32908 §0 (round 1) and its record 6852613241 (round 2); the publish-attempt facts from triage records 6851899015 and 6853211089; smoke QA run · smoke:npm-18.4.0 (22/22) · 181ad7d4 · 2026-11-13 · 21 PASS / 0 PARTIAL / 1 FAIL / 0 BLOCKED / 0 NOT-RUN #33105 cells D1, F3, F4 and observations O1–O4.

Acceptance notes

  • The classifier misses seven first-line declarations. Seven changesets open with their Clause-②: line instead of a summary, so classifyReleaseBullet reads no declaration and the Release body files all seven under 其他修复, one of them a narrowing (80c4c9a, fix(cli)!: os validate refuses a field naming a sibling package's picklist without a declared dependency #31864). The page names this and puts the narrowing in the upgrade checklist. Noted, not filed: it is the release script's reading of off-shape changesets, and the GitHub Releases for 18.4.0 are already cut.
  • The upgrade checklist was walked once, by the smoke, on a one-object blank app; the page says what that walk did and did not run.
  • The areas are a mechanical reading. An entry that spans two areas sits in the first whose words it matches; the callout says so.
  • No changeset: the diff publishes nothing from any released package (docs content plus a script data file), so skip-changeset is declared.

Human Minimum

  • 1. Schemas start as Zod; packages/spec holds no runtime logic. (not touched)
  • 2. Every name I added uses the casing for its kind.
  • 3. No formatter ran; pnpm lint passes. (no code; CI runs lint)
  • 4. One issue, one branch off an up-to-date main, one pull request.
  • 5. A change that publishes carries a changeset, and both declaration lines are filled in here and in the changeset. (publishes nothing)
  • 6. packages/spec touched: its generated artifacts are regenerated and committed. (not touched)
  • 7. No hand edits to content/docs/references/, packages/*/CHANGELOG.md or content/docs/releases/. (content/docs/releases/ is this card's subject: a docs-only completeness PR on the release-owned page, approved per card through the seat)
  • 8. Title, body and comments are in English.

🤖 Generated with Claude Code

https://claude.ai/code/session_01L9qibyM8ryAhuwZgVe6kEn


Generated by Claude Code

The 18.4.0 page in 18.3.0's skeleton, compiled from the 1,252 entries
the version commit 181ad7d wrote into 111 CHANGELOGs, placed by
classifyReleaseBullet. The upgrade checklist carries the four new
os migrate commands, the activation-ledger index widening, the
attachment opt-in and the namespace narrowings, with the sweep and
smoke records that measured them.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L9qibyM8ryAhuwZgVe6kEn
…d word (ADR-0090 D3)

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L9qibyM8ryAhuwZgVe6kEn
@objectstack-fleet objectstack-fleet Bot added the skip-changeset PR has no user-facing published change; bypasses the changeset gate label Nov 13, 2026
@github-actions

Copy link
Copy Markdown
Contributor

📓 Docs Drift Check

Nothing in this diff resolved to a documentable surface (no symbol, route or SDK anchor derived from 0 changed package(s)), so this run has no opinion about the docs.

What this run could not see

Coarse fallback — 0 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): node scripts/docs-audit/affected-docs.mjs --json 5b2ec820c8abca113eae23745f71331f55ec7aed → packageMentionDocs.

@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Nov 13, 2026
@objectstack-fleet

Copy link
Copy Markdown
Contributor Author

domain:devx#3 · os-tesla · session_01L9qibz9SSCGvVmfYUe1Esi

维护者速读

  • 改了什么:补上 18.4.0 发版页 content/docs/releases/v18/18-4.mdx(亮点、实测发版事实、按类变更、Console、升级清单),v18 目录索引一条、meta.json 一项、upgrading.mdx 的 v18.4.0 行,以及门禁生成的 handwritten-docs.json 一行。
  • 为什么改:18.4.0 已发布到 npm latest,但没有发版页;升级用户看不到四个新 os migrate 命令、附件 enable: { files: true } 的新要求和 282 条声明的破坏性变更。
  • 风险与回滚:纯文档,不发布、不改运行时;回滚即 revert 本 PR。
  • 先看:页面末尾「Upgrade checklist」的 18.4.0 四步。
  • 两分钟验证:打开文档站 /docs/releases/v18/18-4,核对升级清单与 QA run · smoke:npm-18.4.0 (22/22) · 181ad7d4 · 2026-11-13 · 21 PASS / 0 PARTIAL / 1 FAIL / 0 BLOCKED / 0 NOT-RUN #33105 冒烟记录一致。
  • 需要你做的:发版页属发版专区(通道一,逐卡批准),本卡的批准见座位线程决策卡。

席位意见:可以落地。

席位核对

ACCEPT · seat domain:devx#3 · head b46d94e4 · 2026-11-13T22:16Z

  1. Shape: Fixes #33106, base main, 5 files, +1258/−0, label skip-changeset (docs only). Clause-②: no, Metadata-protocol: none, matching claim 6858141148 and its amendment (index bullet + generated handwritten-docs.json line).
  2. Premise: on main there is no 18-4.mdx and upgrading.mdx stops at v18.3.0; 18.4.0's version commit 181ad7d445 (parent c4196099) exists, and the four migrate commands named on the page exist under packages/cli/src/commands/migrate/ at that commit. FILES_DISABLED is in the 18.4.0 CHANGELOGs.
  3. Contract review: none owed at CONTRACT_REVIEW_TIER: no governed path, no *.zod.ts, Clause-②: no. Seat self-read at TIER_DEFAULT of the compiling note, highlights, release facts, sweep/smoke tables and the whole upgrade checklist: every claim names its commit, PR or run record; the walked-vs-compiled limit of the checklist is stated in a callout; the seven declaration-first entries (one narrowing, 80c4c9a) are surfaced in the checklist, not hidden under 其他修复.
  4. Gates / check-runs: dev: 61 of 61 derived gates exit 0, --ran reconciled, MDX compile with a negative control (report 6859223715). On head b46d94e4: 54 runs, 32 success, 22 skipped, 0 failed, 0 running; mergeable_state clean.
  5. Accepted deviations: the file surface grew by two files (claim amendment, same as the 18.3.0 precedent PR docs(releases): 18.3.0 release notes and its upgrading row #29938). Not filed: classifyReleaseBullet misplaces changesets whose first line is the declaration line (seven here) — noted in the PR's acceptance notes.
  6. Landing: release-owned content/docs/releases/**, channel 1 (completeness gap): Tesla approved this card in the seat thread on the decision card, 2026-11-13T22:16:08Z (「批准,照 18.3 的做法补」). Not governed, 1,258 changed lines: the seat readies the PR and arms auto-merge under the maintainer's standing word 「车道经理应该使用 pm-dispatch 技能审核和落地pr」.

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/xl skip-changeset PR has no user-facing published change; bypasses the changeset gate

Projects

None yet

2 participants