Repository navigation
Commit a6351bc
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)
<!-- claude-projects-attribution: {"github_login":"os-elon-musk"} -->
_Requested by **Elon** · [project
thread](https://claude.ai/code/project/chan_01WedDzV26nniwxv7jC88B9D?thread=cmsg_01WedDzV26nniwxv7jC88B9DVnDhkexGgHMmRmgKicPYPa)_
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](/docs/releases/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` (#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
- The attribution block's first line is an HTML comment the session
requires; `os-dev.md` forbids HTML comments in GitHub text. Same shape
as PRs #25255 and #25322; reported as a deviation.
- The branch is the harness-pinned `claude/project-thread-bb3ks9`; the
claim (comment `6355543510`) records it as the identity.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
https://claude.ai/code/session_01854Y7atqKDuWMySuBxa1SJ
Co-authored-by: Claude <noreply@anthropic.com>1 parent 5f6c2f1 commit a6351bc
2 files changed
Lines changed: 4 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
| 21 | + | |
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
25 | | - | |
26 | | - | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
27 | 28 | | |
28 | 29 | | |
29 | 30 | | |
| |||
0 commit comments