Skip to content

docs(releases): write content/docs/releases/v18/18-3.mdx for the 18.3.0 cut (and the upgrading table row) — the version PR merged at 14:44Z and the page does not exist #29933

Closed

Description

@objectstack-fleet

triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U

Filing gate ③: the maintainer asked. In the triage session, 2026-11-03, verbatim: 「18.3 的版本发布文档开始写了吗」. The answer measured below is no. ⛔ Not a claim. Reader: the lane that compiles release notes when asked, domain:devx, as for 18.2 (#26429). content/docs/releases/** is release-owned, and this card is the one place a seat may write it. Graded p1 on the maintainer's 「发版本优先的都p1」.

维护者速读

Version Packages #26517 已在 14:44Z 合并,@objectstack/spec 在 main 上是 18.3.0(83d7e4ae)。Release workflow 正在跑(in progress,等发布步骤),npm latest 仍是 18.2.0。但 content/docs/releases/v18/18-3.mdx 还不存在,meta.json 的 pages 只有 index、18-2、18-1、18-0。规则是发版时集中写,18.2 的先例 #26429 是切版前写好、切版时只改 Release facts。这次切版已经发生,所以页要尽快补上。

Measured (origin/main 83d7e4ae, 2026-11-03T15:02Z)

  • content/docs/releases/v18/ holds index.mdx, 18-0.mdx, 18-1.mdx, 18-2.mdx (1,025 lines) and meta.json. There is no 18-3.mdx.
  • chore: version packages #26517 merged at 14:44:26Z. chore: version packages (#26517) is 83d7e4ae, and packages/spec/package.json is 18.3.0.
  • The Release workflow on that commit started at 14:44:29Z and was still in progress at reading time. npm dist-tags for @objectstack/spec read latest: 18.2.0.
  • The changesets the cut consumed are in the generated CHANGELOG.md files under ## 18.3.0, backend and ui/ alike. Read them there, since .changeset/ was emptied by the cut.

Wanted

  1. content/docs/releases/v18/18-3.mdx, in 18-2.mdx's section skeleton:
    • Highlights;
    • Release facts, as measured;
    • What's new: needs manual action / automatic migration / new capability / semantic change / other fixes;
    • New in Console (Studio);
    • Upgrade checklist.
      Add it to meta.json pages ahead of 18-2.
  2. The per-release specifics row for v18.3.0 in the upgrading page, as docs(upgrading): the Per-release specifics table has no v18.2.0 row — 18.2.0 is published and its upgrade checklist (releases/v18/18-2) is not linked from the upgrade guide #26631 did for 18.2.0.
  3. The facts cite the 18.3.0 sweep's evidence: the wave-4 and wave-5 QA run records (QA run · release-18.3.0-w5-export (1/1) · 589049b0 · 2026-11-03 · 0 PASS / 0 PARTIAL / 1 FAIL / 0 BLOCKED / 0 NOT-RUN #29870, QA run · release-18.3.0-w5-p0 (23/23) · 589049b0 · 2026-11-03 · 20 PASS / 2 PARTIAL / 1 FAIL / 0 BLOCKED / 0 NOT-RUN #29877, QA run · release-18.3.0-w5-fail (20/20) · 589049b0 · 2026-11-03 · 15 PASS / 0 PARTIAL / 5 FAIL / 0 BLOCKED / 0 NOT-RUN #29890, QA run · release-18.3.0-w5-studio (38/38) · 589049b0 · 2026-11-03 · 37 PASS / 0 PARTIAL / 1 FAIL / 0 BLOCKED / 0 NOT-RUN #29893) and their closed p1s (runtime: a disabled package exports as an empty shell (GET /packages/:id/export and the whole-deployment bundle drop its items), so a re-install loses them #29871, Console: a packaged app's record page no longer shows a record's field-change history (Changes chip), since the record route reads only its package scope (#29846) #29878, cli: the v17 refusal os start prints sends the operator to an ownership ceremony that blocks (security plugin not composed), because it does not say to export the auth secret os start keeps in its home #29882, Studio Interfaces: a dashboard draft the server refuses to read (403) still opens an editable empty buffer under the refusal strip, and a Source edit autosaves over the draft unpinned, dropping its requiredPermissions #29884, checklist: re-point ai.mcp-run-action-exposure-gate acceptance[4] and step 6 — they still pin the wholesale sys_* refusal that rulings on #27681 and #27900 replaced #29892, packages export: a read-only base's own export carries its .custom pair's object extension merged into the object, where ADR-0146 D8 item 3 says the base exports unchanged #29903, publish gate: a validation rule comparing a text field with a number (record.name > 5) publishes with only a warning that says it "evaluates to null", then every write to the object is refused #29904, nightly-tiers: red on main #29811).

⛔ No CHANGELOG.md is hand-edited (generated). ⛔ No tag, publish or release-workflow act: those are the maintainer's.

Links: #26429 (the 18.2 precedent), #26631, #26517, docs/releases-maintenance.md.


Generated by Claude Code

Activity

  1. objectstack-fleet commented on Nov 3, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:devx#2 · marchtian · session_017ihL2gLghEqeDKTbDTC7Zd

    Claim: PM loop round 3
    Session: session_017ihL2gLghEqeDKTbDTC7Zd
    Account: marchtian
    Branch: claude/issue-29933-release-notes-18-3
    Worktree: objectstack-issue-29933
    Domain: domain:devx
    Seat: domain:devx#2
    File surface: content/docs/releases/v18/18-3.mdx (new), content/docs/releases/v18/meta.json, the upgrading page's per-release row (as #26631); ⛔ no CHANGELOG.md, no tag, publish or release-workflow act
    Container & model: M, mode:subagent, model: default tier, effort: high
    Clause-②: no
    Metadata-protocol: none
    Responsibility: the 18.3.0 cut landed (#26517, 83d7e4ae, 14:44Z) with no release page; the maintainer asked 「18.3 的版本发布文档开始写了吗」
    Thread-read: 6607291961
    Premise: holds
    Serial constraints cleared: no open PR touches content/docs/releases/v18/ at claim time

  2. objectstack-fleet commented on Nov 3, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:devx#2 · marchtian · session_017ihL2gLghEqeDKTbDTC7Zd
    os-dev-report

    {
      "issue": 29933,
      "status": "done",
      "branch": "claude/issue-29933-release-notes-18-3",
      "pr": "https://github.com/objectstack-ai/objectstack/pull/29938",
      "head": "dce6df8264ba86f2ade2b9d6100daadf9efabc16",
      "session": "session_017ihL2gLghEqeDKTbDTC7Zd",
      "premise_still_valid": true,
      "summary": "Wrote content/docs/releases/v18/18-3.mdx in the 18-2.mdx skeleton, listed it in meta.json ahead of 18-2, added the v18.3.0 row to the upgrading page's Per-release specifics, and registered the page in scripts/docs-audit/handwritten-docs.json (check:docs-audit-scope requires it). The page is compiled from the 110 ## 18.3.0 CHANGELOG sections of the version commit 83d7e4ae33, deduplicated on full text and placed by classifyReleaseBullet. The upgrade checklist is marked not walked.",
      "files_changed": [
        "content/docs/releases/v18/18-3.mdx (new, 1,115 lines)",
        "content/docs/releases/v18/meta.json (+1)",
        "content/docs/upgrading.mdx (+1, the v18.3.0 row)",
        "scripts/docs-audit/handwritten-docs.json (+1, written by check-audit-scope.mjs --write)"
      ],
      "measured_counts": {
        "tree": "objectstack-ai/objectstack 83d7e4ae33 (the version commit of #26517)",
        "changelog_sections": "110 CHANGELOGs carry ## 18.3.0. Command: a scratch script over git ls-files '*CHANGELOG.md', extracting with getChangelogEntry and splitting with splitChangelogEntry's fence rule from scripts/release-github-releases.mjs",
        "bullets": "40,278 column-0 bullets, 37,836 of them Updated dependencies; deduplicated on full text: 1,379 entries plus one stray dependency line",
        "first_line_collisions": "4 entries share the first sentence 'Shipped in 18.2.0, whose CHANGELOG missed this entry; listed here one release late.' and differ only by commit (21a13f1, 2282aa8, 43714ca, b53322d); full-text dedupe keeps all four",
        "sections_by_classifyReleaseBullet": "manual 264, migrated 41, added 307, semantic 7, other 760",
        "breaking": "305: 117 minor, 188 patch",
        "levels": "238 minor, 1,141 patch, 0 major (read from the Minor/Patch Changes heading each entry sits under; minor if under Minor in any CHANGELOG)",
        "adr_0087_ids_in_migrated": "49 distinct registry ids across the 41 entries",
        "ui_touching": "544 entries appear in an @object-ui/* CHANGELOG: 39 manual, 14 migrated, 111 added, 4 semantic, 376 other",
        "changesets": "1,381 .changeset/*.md deleted per git show --name-status 83d7e4ae33; mapped to add commits with git log --diff-filter=A: 1,379 match an entry by commit, 2 (ce9bc10, d3d70d3) name only @objectstack/example-showcase (private, its own 0.3.25 section)",
        "entries_to_commits": "1,379 entries name 1,300 distinct commits",
        "packages": "workspace enumerator, version 18.3.0: 109 public (73 @objectstack/*, create-objectstack, 35 @object-ui/*), 1 private (@object-ui/app-shell)",
        "unconsumed_but_shipped": "4 changesets remain in .changeset/ at 83d7e4ae33 (#29921, #29923, #29930, #29932); their code is in the version tree: git grep finds faultOutcome in packages/formula/src/validate.ts, withoutExtensionsOf in packages/objectql/src/registry.ts, the password_reset vocabulary in packages/plugins/plugin-auth/src, the refusal text in packages/plugins/plugin-security/src/delegated-admin-gate.ts",
        "npm_dist_tags": "npm view @objectstack/spec dist-tags --json: latest 18.2.0, next 18.2.0 at 2026-11-03T15:12:31Z; latest 18.3.0, next 18.2.0 at 2026-11-03T15:21:33Z; time 18.3.0 = 2026-11-03T15:15:07.303Z",
        "sweep": "run records #29870 #29877 #29890 #29893 read in full (bodies and comments): all four are wave 5 at 589049b0, three compare with wave-4 records at 7fa9873f, #29870 has none. 83d7e4ae33 is 43 first-parent commits after 589049b0 (git rev-list --count --first-parent)",
        "p1_fixes": "closing PR merge commits, git merge-base --is-ancestor SHA 83d7e4ae33 exit 0 for all eight: #29871 5afe7d7 (#29914), #29878 a7e984a (#29917), #29882 790d9cf (#29913), #29884 40a35de (#29922) ship with entries; #29903 5f47410 (#29930), #29904 4c2cd29 (#29923) ship as code, entry pending; #29892 242665f (#29931) and #29811 9edd6e7 (#29889) ship nothing"
      },
      "tests": "Docs only, no package test applies. MDX compile of 18-3.mdx and upgrading.mdx with @mdx-js/mdx + remark-gfm from the docs app's dependencies: OK on both.",
      "gates": "Final head dce6df8264. node scripts/pm/dispatch-gates.mjs --commands derived 61 commands; each run with its exit code captured before any pipe; --ran reconciliation: 61 derived, 61 run, 0 NOT-MEASURED, 0 UNRUN, exit 0. Two gates first refused on the build state the merge of origin/main left stale (spec check:docs exit 1, json-schema older than src; spec check:skill-examples exit 3); after pnpm --filter '@objectstack/client-react...' --filter '@objectstack/lint...' build under os-verify-lock (VERDICT command-exit 0) both exit 0, and check:docs-transcript-drift and the two @objectstack/lint doc gates were re-run on that build, exit 0. Earlier rounds: check:docs-audit-scope red until the page was registered; check:role-word red on four verbatim summaries until rephrased. CI on the PR head: in_progress at report time (Check Changeset success, Governed Surface Queue Guard success).",
      "dogfood_battery": "n/a — no ! in the PR title and no (narrowing) arm",
      "deviations": [
        "其他修复: the 760 other fixes are counted by area, not listed one by one; the other four sections are listed in full. The 18.2 page listed every changeset.",
        "Area headings inside the sections are a keyword reading of each summary, for navigation; an entry spanning two areas is listed once.",
        "Each listed line is the changeset's own summary, mechanically cleaned (conventional prefix and BREAKING banner removed, MDX-escaped); four summaries are rephrased to say membership tier, for check:role-word (ADR-0090 D3).",
        "npm dist-tags were read twice, not once, because the publish was in flight: 18.2.0 at 15:12Z, 18.3.0 at 15:21Z. The page states both.",
        "The order names wave-4 and wave-5 QA run records; all four cited records are wave 5, three of them comparing with wave-4 records. The page says so.",
        "File surface beyond the claim: scripts/docs-audit/handwritten-docs.json, one generated line that check:docs-audit-scope requires for a new hand-written page.",
        "The docs site build (ci.yml Build Docs) was not run locally; it is CI's, and the MDX compile is the local stand-in.",
        "The upgrade checklist was not walked, although 18.3.0 reached npm during the work.",
        "PR body ends with the line the order names; the session URL sits in body prose just above it."
      ],
      "mcp_calls": "0",
      "api_writes": "2 relay dispatches, each POST /repos/objectstack-ai/objectstack/dispatches: (1) pr_create, executed by the relay as POST /repos/objectstack-ai/objectstack/pulls (draft) and POST /repos/objectstack-ai/objectstack/issues/29938/labels (skip-changeset); (2) this comment, POST /repos/objectstack-ai/objectstack/issues/29933/comments through post-stamped.mjs. git push (3 pushes of the own branch) is not a REST write.",
      "open_questions": [],
      "security_findings": "none",
      "out_of_scope_findings": [
        "carrier: the annotate-shipped mechanism AGENTS.md names for a Version Packages PR merged behind main · noted, not filed: four changesets (#29921, #29923 BREAKING, #29930, #29932) ship in the 18.3.0 tarballs with no 18.3.0 CHANGELOG entry, because they merged after the version PR was last refreshed. The page and the checklist carry the #29923 refusal.",
        "carrier: none · noted, not filed: packages/plugins/plugin-auth/CHANGELOG.md opens with the bare heading Changelog, not the package name its siblings carry."
      ]
    }
  3. objectstack-fleet commented on Nov 3, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:devx#2 · marchtian · session_017ihL2gLghEqeDKTbDTC7Zd

    Landed · domain:devx#2 · 2026-11-03T17:15Z

    PR #29938 merged as ed0ab7589c, and the card closed on its Fixes.

    The seat releases the card: pm:dispatched comes off, and the worktree and branch are removed.

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

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentationdomain:devxpriority:p1High: required for production / M2

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions