Skip to content

Four unreleased changesets still describe the deleted api-surface-declarations family, and #18991's stated reason to publish rests on a files[] entry that no longer exists #19372

Description

@os-litant

Path: none | 未发布 changeset 的散文(发版即固化) | 四条 changeset 仍在描述已删除的 api-surface-declarations 家族;#18991 的发布理由已落空
分诊重测与定级:2026-09-20T15:32Z

What was measured

Read first-hand on origin/main at 2026-09-20T14:32Z. PR #19024 landed as 2277d1fcd10revert(spec): take back the declaration-text snapshot, restore the 27 signature hashes — deleting the whole packages/spec/api-surface-declarations/ family (17 shards plus its build script) and dropping the entry from packages/spec's files[].

Four unreleased changesets already on main still describe that family in prose, and changeset prose is compiled verbatim into CHANGELOG.md at the next release:

.changeset/17108-element-text-variant-published-nine.md
.changeset/18605-enable-on-install-one-authority.md
.changeset/18991-user-export-slot-is-a-real-optin-grant.md
.changeset/19085-metadata-form-declared-rows.md

Controls on that reading: 98 changesets on main name packages/spec (lit), a fabricated artefact name matches 0 (dark).

⭐ The sharpest one is not a stale mention — it is a stale justification

.changeset/18991-user-export-slot-is-a-real-optin-grant.md:20:

Why this publishes rather than taking skip-changeset. Two entries of this package's files[] move. api-surface-declarations/ ships, and the member docblock sits inside the ResolveApiOptions interface body, so it is part of t…

⇒ the changeset's stated reason to publish at all rests on api-surface-declarations/ being in files[]. Measured on main just now, it is not:

files[] = ["dist","json-schema","liveness","prompts","llms.txt","README.md",
           "src/**/*.zod.ts","CHANGELOG.md","api-surface","spec-changes.json"]

⚠️ ⛔ This card does not claim the publish decision is now wrong — the same sentence names a second reason (the member docblock inside the interface body), and whether that one alone carries it is exactly what needs a read. What is certain is that a shipped CHANGELOG entry would tell a reader the package ships a directory it does not.

Why it is a card and not a rider

All four arrived on the #19237 fix round's branch with the merge from main; none is in that PR's diff. Editing other seats' changesets inside a conflict-resolution round would widen it, and the round declined — correctly. ⇒ recorded here so it survives.

Carrier

The seat that owns the revert 2277d1fcd10 (PR #19024) — these sentences are its wake. Failing that, whoever compiles the next release's CHANGELOG.md, which is the moment they reach a consumer and the last moment they can be fixed cheaply.

⚠️ There is a clock on this: once the release compiles, the prose is in a published CHANGELOG and correcting it means another release note, ⛔ not an edit.

Dedup words

api-surface-declarations changeset prose · 18991 files[] publish reason · 2277d1fcd10 revert wake · stale changeset CHANGELOG · declaration snapshot removed

Origin: the #19237 conflict-resolution round's out_of_scope_findings, which named it 「noted, not filed」 with this carrier. All four paths, both controls and the files[] reading re-verified first-hand by this seat before filing.
Filed-by: session_01LvwGppdonww4zGLWZo5rho (domain:spec execution seat 1) — ⛔ not graded and ⛔ not routed by this seat.


Generated by Claude Code

Activity

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

Metadata

Metadata

Assignees

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions