Skip to content

docs(releases): date 18.0.0 by its npm publish day, and the v17 page stops saying a plain install resolves 17.7.0 - #25354

Merged
objectstack-fleet[bot] merged 1 commit into
mainfrom
claude/project-thread-bb3ks9
Oct 23, 2026
Merged

objectstack-fleet[bot] merged 1 commit into
mainfrom
claude/project-thread-bb3ks9

Conversation

@objectstack-fleet

Copy link
Copy Markdown
Contributor

Requested by Elon · project thread

Fixes #25148

What changed

Docs only, two files under content/docs/releases/ (+4 / -3). No script moves in this PR, per the card.

Page Before After Source
content/docs/releases/index.mdx:21 (/docs/releases), v18 entry (current series: 18.0.0, released 2026-10-19) (current series: 18.0.0, released 2026-10-20) npm time["18.0.0"] = 2026-10-20T12:51:40.837Z (read from registry.npmjs.org/@objectstack/spec at 2026-10-23); the Version Packages commit 06cab4849 (#24524) is dated 2026-10-20T11:47:07Z; releases/v18/18-0.mdx already says "published 2026-10-20"
content/docs/releases/v17/index.mdx:25 (/docs/releases/v17), status blockquote "A plain install now resolves 17.7.0." "A plain install resolved 17.7.0 until 2026-10-20, when 18.0.0 took npm's latest tag; a plain install now resolves the v18 line." npm dist-tags = {latest: 18.0.0, next: 18.0.0-next.5, rc: 17.0.0-rc.6} (same read)

The index field keeps the exact current series: X.Y.Z, released YYYY-MM-DD shape, because sync-release-index-currency.mjs's STATUS_SHAPE refuses a field with anything after the date; the sources therefore live here, not in the parenthetical. The v17 sentence names the v18 line rather than 18.0.0, so it does not go stale again at 18.1.0.

Premise, measured

  • origin/main 54df640 read both stale sentences as the card quotes them; 18.1.0 is not cut (the index still names 18.0.0, latest is 18.0.0).
  • The cause the card gives holds: 8fbbd5082 (docs(releases): state 18.0.0 as the v18 GA release, so the GA Version Packages PR renders #24584, 2026-10-19T16:51Z) wrote "released 2026-10-19" before the cut; at the version commit the field already named the newest GA, so the script left it, date included (rewriteStatusField returns null for a same-version field). On this branch node scripts/sync-release-index-currency.mjs exits 0 with "nothing rewritten".

Done-when 2: should the currency script verify the date it leaves in place?

Yes, but not in this PR (the card forbids a code change in a docs PR), so it is reported to the seat as an out-of-scope finding. The reading:

  • The script's refusal to re-date a same-version field is right for prerelease cuts (its header records the 17.7.0 re-dating it prevents). The gap is narrower: the run that IS the version commit of the newest GA, where the field was pre-written by hand. That run is detectable without a clock or network: the newest GA in the committed packages/spec/CHANGELOG.md at HEAD differs from the newest GA after changeset version. On that run, and only that run, the date it holds is true, so it should stamp it even when the version already matches.
  • A check-only alternative (compare the date to npm time) needs the network at version time and so cannot be the guard on the version-pr lane.

Gates

Head 9be39f2: node scripts/pm/dispatch-gates.mjs --commands derived 48 commands for the two changed paths. Each ran with its exit code captured before any pipe, recorded as COMMAND :: exit CODE; --ran reconciles 48 derived, 48 run, 0 NOT-MEASURED, 0 UNRUN. All 48 exit 0, among them check:release-page-status, check:release-notes, check-release-section-coverage.mjs --strict, check:doc-anchors and check:docs. check:docs-transcript-drift first exited 3 (PREREQUISITE NOT MET, lint not built); after @objectstack/lint... and @objectstack/client-react... were built under the verify lock (VERDICT command-exit 0) it exits 0.

Not measured locally, CI's: Build Docs, Test Core, the type-check lanes and the wide-population families. No package source moves, so no test or ablation applies. content/docs/** is in no package's files[], so this carries skip-changeset and no changeset.

Acceptance notes

🤖 Generated with Claude Code

https://claude.ai/code/session_01854Y7atqKDuWMySuBxa1SJ

…age saying a plain install resolves 17.7.0

The release index dated 18.0.0 "released 2026-10-19", the day the GA prose
was written ahead of the cut; npm time["18.0.0"] is 2026-10-20T12:51:40Z and
the Version Packages commit is dated 2026-10-20. The v17 status blockquote
still said a plain install resolves 17.7.0; npm dist-tags.latest is 18.0.0.

Co-authored-by: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01854Y7atqKDuWMySuBxa1SJ
@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 Oct 23, 2026
@objectstack-fleet
objectstack-fleet Bot marked this pull request as ready for review October 23, 2026 06:21
@objectstack-fleet
objectstack-fleet Bot enabled auto-merge October 23, 2026 06:21
@objectstack-fleet
objectstack-fleet Bot added this pull request to the merge queue Oct 23, 2026
Merged via the queue into main with commit a6351bc Oct 23, 2026
52 checks passed
@objectstack-fleet
objectstack-fleet Bot deleted the claude/project-thread-bb3ks9 branch October 23, 2026 07:05
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/xs skip-changeset PR has no user-facing published change; bypasses the changeset gate

Projects

None yet

2 participants