Repository navigation
docs(releases): write content/docs/releases/v18/18-2.mdx for the 18.2.0 cut — 221 changesets since 18.1.0, 53 with a BREAKING banner, grouped under the five release-notes headings #26429
Description
Filing gate: ③ maintainer-directed task. Maintainer, 2026-10-27, in the director summon chat, verbatim: 「两个暗点:定时 Validate Dependencies 的 OSV 漏洞扫描连续两天红(10-26、10-27),没人读过;content/docs/releases/v18/18-2.mdx 还没写(规则是发版时集中写)。这两个问题创建高优先级卡片。」 Filed by the director seat (session_01KrKXQVvgYk2AJ4VkqMobyb, ledger objectstack#12708). ⛔ Not a claim. Reader: the lane that compiles release notes when asked (AGENTS.md Prime Directive 15 lists "compiling release notes when asked" as ordinary seat work; content/docs/releases/** is release-owned, so this card is the one place a seat may write it). Dedupe: 300 newest open + closed issues, grep release notes|18-2.mdx|v18/18-2 → 0. New. Queued at p1 on the maintainer's word; triage re-grades if it disagrees.
维护者速读
18.2.0 的 Version Packages PR #25640 已经生成(版本号 18.2.0),但 content/docs/releases/v18/18-2.mdx 还没有。18.1 的先例是一页 793 行(18-1.mdx),结构固定:Highlights → Release facts, as measured → What's new(需手动处理 / 自动迁移 / 新增能力 / 语义变化 / 其他修复 五段,顺序与 GitHub Release 正文一致)→ New in Console (Studio) → Upgrade checklist。这张卡要在切版之前把页写好、挂进 meta.json,切版时只改「Release facts」里的提交号和日期。素材是 .changeset/ 里 18.1.0 之后新增的 221 条(53 条带 BREAKING 横幅),Console 段读 ui 包的 changeset。
Measured (2026-10-27, origin/main e677770a)
git diff --name-status <@objectstack/cli@18.1.0>..origin/main -- .changeset | grep ^A | wc -l→ 221 new changesets since the 18.1.0 tag (2026-10-24);grep -il BREAKINGover them → 53;check-changeset-no-majorreports nomajorentry (the line stays 18.x per the maintainer: 「后续协议变更的也是 18.x」).content/docs/releases/v18/holdsindex.mdx,18-0.mdx(713 lines),18-1.mdx(793 lines) andmeta.jsonwith pages["index", "18-1", "18-0"]. No18-2.mdx.18-1.mdxsection skeleton (the precedent to mirror):## Highlights — 18.1.0·## Release facts, as measured·## What's new in 18.1.0with### The version number is not the signal,### Breaking changes you must act on,### Converted for you by \os migrate meta`,### New capabilities,### Semantic changes,### Notable fixes,### New in Console (Studio),### Shipped in 18.0.0, listed first in 18.1.0's CHANGELOG·## Upgrade checklist`.- PR chore: version packages #25640 (
chore: version packages) is open,mergeable_state: dirty, head 14 h behindmain; it is refreshed by the maintainer (Actions → Release →refresh_version_pr) at cut time, so the page's "Release facts" are written last.
Governing text
docs/releases-maintenance.md§3 "Platform layer": the curated page leads with breaking changes + migration, then new capabilities, then notable fixes, with a Console (Studio) section; "Release notes are grouped by what the reader must do" — the five headings 需手动处理 / 自动迁移 / 新增能力 / 语义变化 / 其他修复, in that order, each placed by the changeset's own declarations (Metadata-protocol:, theClause-②:arm, the BREAKING banner, the ADR-0087 marker); "Sourcing the Console section": from the@object-ui/*andui/apps/consolechangesets.- AGENTS.md Documentation Guardrails:
content/docs/releases/is release-owned; written centrally at release time; a code PR never edits it. This card is that central act. - The §3 "Drift guard" and
scripts/docs-auditapply: every symbol or route the page names must exist at the version commit.
Wanted
- Write
content/docs/releases/v18/18-2.mdxmirroring18-1.mdx's skeleton; add"18-2"tometa.jsonafter"index"; link it fromindex.mdxas 18-1 is. - Populate the five headings from the 221 changesets by their declarations (
node scripts/release-github-releases.mjsprints the grouping the GitHub Release body will use — use the same grouping so the two agree); every breaking entry names what the reader must do and, where an ADR-0087 conversion isregistered, saysos migrate metadoes it. - Console (Studio) section from the ui changesets of the same range (the objectui import cutover(ui-merge): the switch itself — freeze both repos,
git subtree addobjectui asui/with its adaptation commit, land 4a / PR B / 4b PR 2 in order, migrate open objectui branches and cards, archive the objectui repo (parent #25677, 5/6) #25752 and the.objectui-sharetirement are 18.2 facts: the Console now ships fromui/apps/consoleat the release commit). - "Release facts, as measured" written with placeholders for the version commit and date, filled at cut; everything else final. Build:
pnpm --filter docs build(or the docs app's check) green;check-doc-linksgreen.
⛔ Not here: editing any other release page; the GitHub Release body (generated at publish); the changesets themselves.
Acceptance
- The page exists, is listed in
meta.json, builds, and groups every one of the 221 changesets' entries under the five headings with none dropped (the regrouping script's count equals the page's count). - A reviewer who reads only this page can perform the 18.2.0 upgrade: each 需手动处理 entry has a concrete instruction.
Size: M. Clause-②: no. Metadata-protocol: none.
Related
PR #25640 (Version Packages, 18.2.0); #25807 (18.2.0 release test sweep anchor); docs/releases-maintenance.md §3; 18-1.mdx (precedent, last touched 05e31a2).
Activity
objectstack-fleet commentedon Oct 27, 2026
Claim: PM loop round 10 · 2026-10-27T04:23Z
Session:
session_01Q4MDXRbEJCNdPAP4SiXwp9(devx seat 2) · card threadcmsg_01FdL1XeUyvVNxLreh3F4Qi9Va7qPMfMa72DB4ApTSiCEiAccount:
os-steveBranch:
claude/project-thread-4uk45r(the harness-pinned branch of the card thread; it names no issue, so this claim is the identity record; amended on spawn)Worktree:
objectstack-issue-26429Domain:
domain:devxSeat:
domain:devx#2(seat post #20163)File surface: new
content/docs/releases/v18/18-2.mdx(mirrors18-1.mdx's skeleton),content/docs/releases/v18/meta.json("18-2"after"index"),content/docs/releases/v18/index.mdx(one link line as 18-1 has). ⛔ No other release page, no changeset edited, no GitHub Release body, no codeContainer & model: L,
mode:thread,model: default tier (TIER_DEFAULT, from dispatch-gates --tier: no path-derived mandate),effort: mediumClause-②: no
Metadata-protocol: none
Responsibility: n/a — maintainer-directed filing, queued p1; Prime Directive 15 lists compiling release notes as ordinary seat work, and this card is the central release-time act that
content/docs/releases/**ownership allowsThread-read: none
Premise: on
origin/mainmeta.jsonlists["index","18-1","18-0"]and no18-2.mdxexists; the changeset population since the 18.1.0 tag is the card's 221 / 53 BREAKING (the dev re-counts against the tag on currentmainand usesnode scripts/release-github-releases.mjs's grouping so page and Release body agree)Serial constraints cleared: no in-flight PR touches
content/docs/releases/**; Version Packages PR #25640 is refreshed at cut, and "Release facts" stays placeholders until thenGenerated by Claude Code
objectstack-fleet commentedon Oct 27, 2026
os-dev-report
{ "issue": 26429, "status": "pr_open", "branch": "claude/project-thread-4uk45r", "pr": 26494, "head": "f2f5a1711e", "session": "https://claude.ai/code/session_01ADHkmNukkSDNQzLfynSUVv", "premise_still_valid": true, "summary": "content/docs/releases/v18/18-2.mdx (new, about 1030 lines, on the 18-1 skeleton) lists all 232 changesets added between @objectstack/cli@18.1.0 and main 00a4593ad7, each once, under the five headings and order of scripts/release-github-releases.mjs: 需手动处理 52, 自动迁移 8, 新增能力 41, 语义变化 3, 其他修复 128. Every 需手动处理 entry ends with what the reader does; every 自动迁移 row names its ADR-0087 ids and says what os migrate meta does and what is left. A Console (Studio) section covers the objectui import (#25752, PR #25825), the .objectui-sha retirement, pnpm console:build, the 37 @object-ui packages joining the fixed group, and @object-ui/sdui-parser not releasing. Release facts: the version commit and the publish date are placeholders (__VERSION_COMMIT__, __PUBLISH_DATE__); the rest was measured. The 18.1.0 -> 18.2.0 upgrade checklist is marked compiled, not walked. meta.json lists 18-2 after index; the v18 index has one 18.2.0 line. The card counted 221 at e677770a; main moved twice while this ran (227 at f9e871a1c4, then 232 at 00a4593ad7, merged in). Changesets merged after 00a4593ad7 and before the version commit must be added at the cut.", "tests": [ "Per-section counter (multiset of sha7#PR cited inside each of the five sections vs classifyReleaseBullet over every added changeset): manual 52/52, migrated 8/8, added 41/41, semantic 3/3, other 128/128; it went red naming each missing entry before the page was complete.", "Throwaway-clone version pass at the branch head (pnpm run version, exit 0, after repairing in the clone only the glued frontmatter of .changeset/26095-publishing-metadata.md): 111 CHANGELOGs got an ## 18.2.0 section; 233 distinct entries = 232 changesets + the Updated dependencies family; per-entry section vs the page's: 0 mismatches.", "Drift guard: 464 inline-code names and /api/v1 routes on the page looked up on HEAD in packages, ui, apps, examples, scripts, skills (release pages, CHANGELOGs, .changeset excluded): 7 absent, all on purpose (4 retired names the page lists as removed, 2 placeholders, objectui commit b41ed7f68956). The 13 ADR-0087 / lint rule ids the page names were each found in packages/.", "pnpm --filter docs build: exit 0 on both heads; built 18-2.html carries action-required, migrated-for-you, new-capabilities, semantic-changes, other-fixes, console, upgrade-checklist; the v18 index links /docs/releases/v18/18-2 and its #upgrade-checklist.", "pnpm lint: exit 0." ], "gates": "dispatch-gates --commands on head f2f5a1711e: 60 derived, 60 run, 60 exit 0; --ran: 0 NOT-MEASURED (derived zero). First head a4c9a49572: 62 derived, 62 exit 0. Reds met and fixed: check:role-word (reworded), check:docs-audit-scope (list written by its --write). Exit-3 prerequisites built: formula, lint, spec, client, client-react, spec gen:schema.", "line_budget": "+1036 / -0 over 4 files; the page is about 1030 lines, under the card's ~1500 line mark, not split.", "deviations": [ "scripts/docs-audit/handwritten-docs.json (+1 line) is not named by the claim: check:docs-audit-scope refuses a hand-written page the list does not hold, and its own --write produced the line.", "main was merged into the branch once (fb473b9c60) to fold in five changesets that landed after the PR opened; no history rewritten." ], "files_changed": [ "content/docs/releases/v18/18-2.mdx", "content/docs/releases/v18/meta.json", "content/docs/releases/v18/index.mdx", "scripts/docs-audit/handwritten-docs.json" ], "dogfood_battery": "not applicable: docs-only page; the version pass rehearsal and the docs build stand in for it.", "mcp_calls": "3 GitHub MCP reads (issue_read x2, pull_request_read x1), 0 MCP writes", "api_writes": "relay only: pr_create (#26494), issue_patch of the PR body after the re-count, and this comment. No GitHub MCP writes.", "open_questions": [ "At the cut, fill __VERSION_COMMIT__ and __PUBLISH_DATE__ in the Release facts table, and add any changeset merged after 00a4593ad7 under its section (the counter and the rehearsal recipe are in the PR body)." ], "out_of_scope_findings": [ ".changeset/26095-publishing-metadata.md on main has its closing frontmatter --- glued to the last package line (patch---), which makes changeset version fail; known in the 18.2 readiness note, not fixed here (the card forbids changeset edits).", "Six changesets open their body with a declaration line instead of a summary (25495-org-default-currency, 25576-admin-rescue-comment-i18n, 25611-inline-transform-null-sentinel, 25639-lockstep-exact-internal-deps, default-org-owner-currency, spec-form-object-name-shared), so their CHANGELOG and Release headline reads `Clause-②: no`. classifyReleaseBullet does not read a declaration on the summary line, so spec-form-object-name-shared, which declares `Clause-②: yes (widening)`, lands in 其他修复 instead of 新增能力. The page follows the script." ] }Generated by Claude Code
objectstack-fleet commentedon Oct 27, 2026
os-dev-report
{ "issue": 26429, "status": "pr_open", "round": "patch 2 (the version commit landed)", "branch": "claude/project-thread-4uk45r", "pr": 26494, "head": "4d57c59923", "session": "https://claude.ai/code/session_01ADHkmNukkSDNQzLfynSUVv", "premise_still_valid": true, "summary": "The 18.2.0 version commit 27f38ada49 (#25640) merged while this PR waited, and 18.2.0 is published (npm latest 18.2.0 on @objectstack/cli, @objectstack/console, @object-ui/app-shell, 2026-10-27). The page now lists exactly what that commit consumed: 231 changesets, 需手动处理 52, 自动迁移 7, 新增能力 41, 语义变化 3, 其他修复 128. The navigation group default (26370-nav-group-expanded-default-open, #26427) merged while the version PR was open, is not in 18.2.0, and leaves 自动迁移 and the upgrade checklist; it and three others (#26485, #26454, #26487) are named on the page as pending for the next release. Release facts carry the version commit 27f38ada49 and the publish date 2026-10-27; no placeholder is left. @object-ui/app-shell shipped at 18.2.0 (#26483 did not make the cut), so the page keeps 110 published packages and 37 @object-ui. #26508 was closed, so spec-form-object-name-shared stays under 其他修复, as the published Release body has it.", "tests": [ "Per-section counter against classifyReleaseBullet over the 231 changesets 27f38ada49 deletes from .changeset/: manual 52/52, migrated 7/7, added 41/41, semantic 3/3, other 128/128.", "The real CHANGELOGs at 27f38ada49: 111 carry an ## 18.2.0 section (110 published packages and the private VS Code extension); their distinct entries are the 231 changesets plus the Updated dependencies family, and getChangelogEntry/splitChangelogEntry/classifyReleaseBullet place them 52/7/41/3/128, the page's counts.", "Drift guard on HEAD: 456 inline-code names and /api/v1 routes, 5 absent on purpose (4 retired names the page lists as removed, objectui commit b41ed7f68956); every ADR-0087 and lint rule id the page names is in packages/.", "pnpm --filter docs build: exit 0; the built 18-2.html carries the five section ids, console and upgrade-checklist, and names 27f38ada49.", "pnpm lint: exit 0." ], "gates": "dispatch-gates --commands on head 4d57c59923: 60 derived, 60 run, 60 exit 0; --ran: 60 accounted, 0 NOT-MEASURED (derived zero). Prerequisites rebuilt after the main merge: formula, lint, spec, client, client-react, spec gen:schema.", "line_budget": "+1033 / -0 over 4 files against main; the page is 1025 lines, not split.", "deviations": [ "scripts/docs-audit/handwritten-docs.json (+1 line), as in the first report.", "main merged into the branch twice (fb473b9c60, 8c8ba88ff5); no history rewritten on the remote." ], "files_changed": [ "content/docs/releases/v18/18-2.mdx", "content/docs/releases/v18/meta.json", "content/docs/releases/v18/index.mdx", "scripts/docs-audit/handwritten-docs.json" ], "dogfood_battery": "not applicable: docs-only page.", "mcp_calls": "5 GitHub MCP reads in total (issue_read x2, pull_request_read x3: #26494 once, #26483 get_files and get), 0 MCP writes", "api_writes": "relay only: pr_create (#26494), issue_patch of the PR body x2, the first report comment, and this comment. No GitHub MCP writes.", "corrections": [ "The first report's out_of_scope_findings item 1 was wrong: .changeset/26095-publishing-metadata.md had already been fixed on main by #26458 (11cb1d583b, 04:53Z), which this branch contained. It is withdrawn, and so is the tests line about repairing it in the rehearsal clone.", "The first report counted 232 at main 00a4593ad7 with 自动迁移 8; 18.2.0 itself is 231 with 自动迁移 7, as above." ], "open_questions": [], "out_of_scope_findings": [ "Six changesets open their body with a declaration line instead of a summary (25495-org-default-currency, 25576-admin-rescue-comment-i18n, 25611-inline-transform-null-sentinel, 25639-lockstep-exact-internal-deps, default-org-owner-currency, spec-form-object-name-shared), so their published 18.2.0 CHANGELOG and Release headline reads `Clause-②: no`, and spec-form-object-name-shared's `Clause-②: yes (widening)` landed in 其他修复. The fix PR #26508 was closed as moot once 18.2.0 was cut; the page follows the published grouping." ] }Generated by Claude Code
objectstack-fleet commentedon Oct 27, 2026
Released by devx seat 2 (#20163). PR #26494 merged as
16ca320c; its four files onmainmatch the reviewed head4d57c599line for line. The 18.2.0 release notes page is live incontent/docs/releases/v18/18-2.mdx.Generated by Claude Code