fix(spec): correct the offer-set claim in the icon-withdrawal CHANGELOG entry - #15454
Merged
os-sales merged 1 commit intoSep 4, 2026
Merged
Conversation
…OG entry Part of #14407 — packages/spec/CHANGELOG.md:6702 said the options repeater offers "exactly SelectOptionSchema's authorable keys minus visibleWhen". SelectOptionSchema declares six authorable keys (label, value, description, color, default, visibleWhen); the repeater offers four (label/value/color/description, pinned by field-rows-option-description.test.ts). The unoffered set is { default, visibleWhen }, not { visibleWhen } alone. Text-only correction. No packages/spec/src/** file touched, no accept/reject behaviour moves, no public surface widens. The correction lands in CHANGELOG.md rather than the withdrawn .changeset/ entry because a Version Packages release already folded that changeset (@objectstack/spec is now 17.3.0) between triage's ruling and this pickup. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G4138K1EG7kQ81FNba5Kp4
Contributor
📓 Docs Drift Check
What this run could not see
Coarse fallback — 129 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): |
This was referenced Sep 4, 2026
os-sales
marked this pull request as ready for review
September 4, 2026 16:43
os-sales
enabled auto-merge
September 4, 2026 16:43
os-sales
deleted the
claude/issue-14407-changelog-select-option-offer-set
branch
September 4, 2026 17:07
This was referenced Sep 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of #14407 — not
Fixes, because the card was still open for the triage/route decision that this PR's own commit history and the issue thread record; nothing else remains to be done against it after this merges, so the maintainer can close it alongside review.What changed and why
packages/spec/CHANGELOG.md:6702(inside the merged## 17.3.0entry documenting theobject.formoptions-repeatericonwithdrawal,#13671/#14326) claimed the repeater offers "exactlySelectOptionSchema's authorable keys minusvisibleWhen". That is false as stated:SelectOptionSchema(packages/spec/src/data/field.zod.ts:287-) declares six authorable keys, none tombstoned:label,value,description,color,default,visibleWhen.field-rows-option-description.test.ts,toEqual(['label', 'value', 'color', 'description'])) is four keys.{ default, visibleWhen }, not{ visibleWhen }alone —default(z.boolean().optional()) is authorable at the publish door and was never offered by the quick-add row.Both counts were re-measured against source in this PR, not taken on the issue's word.
Route: CHANGELOG.md, not the withdrawn changeset
Triage (issue comment
5510484041) ruled the fix belongs in.changeset/object-form-option-icon-offer-withdrawn.md, while that changeset was still unconsumed onmain. By the time this card was picked up, a Version Packages release had folded it (@objectstack/specis now17.3.0) — confirmed here independently:git ls-tree origin/main .changeset/filtered forobject-form-option-icon— NOT PRESENT (30 total entries in.changeset/, so the absence is measured, not an unreadable path).The card's own stated fallback covers exactly this case ("or a CHANGELOG correction at the next version if it has already been folded"), so the fix lands at
packages/spec/CHANGELOG.md:6702instead — a docs-only correction of a factual error in an already-published changelog, not a rider on a code change.content/docs/releases/is untouched (that surface is compiled centrally at release time; this is the package's own changelog, a different file).What this PR deliberately does NOT do
Per triage: this is not a form change. The options repeater still offers exactly
label,value,color,description— whether the quick-add row should also offerdefaultis a separate question with its own ADR-0049 reading, out of scope here.Verification
Prerequisite check (H1, run before editing):
packages/spec/CHANGELOG.mdis not regenerated wholesale by any script underscripts/— it is the standard changesets-appended file (current head section is## 17.3.0, prepended by each release). The only readers that touch this file (check-release-notes.mjs,check-release-section-coverage.mjs,check-release-page-status.mjs) parse version headers / section coverage, never this sentence's bytes, and no test pins the old sentence text anywhere in the tree. ⇒ hand edit is the correct route.Gate list derived for this diff (
node scripts/pm/dispatch-gates.mjs, re-derived againstorigin/mainafter a late fetch — file surface and matched-family list identical both times): 41 commands (34 path-matched + 7 declared whole-tree), all run locally against final commit1c9c953aa(git rev-parse --short HEAD):node scripts/check-release-section-coverage.mjs --strictexits 1 — pre-existing, unrelated: it flagscontent/docs/releases/index.mdxstill naming "current series: 17.2.0" after 17.3.0 shipped, a defect this PR's one-sentence edit (which touches no version heading, nocontent/docs/releases/**file) cannot affect either way. Already tracked at docs(releases): the index's v17 entry still says "current series: 17.2.0" after 17.3.0 shipped — the #10232 / #11649 defect class recurring a third time #15332; not filed here.--strictonly runs inrelease-coverage-patrol.yml's nightly schedule and itspull_requesttrigger is path-filtered to that script and workflow file only, so it does not gate this PR.pnpm check:dual-build-cjs-loadsexits 3 (PREREQUISITE NOT MET ... nothing was measured) — its own self-test (93 cases) passed; the sweep half needsdist/for all 80 workspace packages, which is CI'sBuild Corejob, not a rebuild this docs-only change owes locally.Full command list, per-command exit codes, and logs are in the issue-comment report and this session's scratchpad.
Six/four key split and route both independently re-verified — see the issue thread (claim comment) for the measured commands.
skip-changeset: this PR corrects text in an already-published package's changelog and adds no new release content —
.github/workflows/pr-automation.yml's own Check Changeset rule ("It releases nothing … apply the 'skip-changeset' label") is the applicable route, applied on this PR immediately per repo convention (not waiting for the check to redden first).🤖 Generated with Claude Code
https://claude.ai/code/session_01G4138K1EG7kQ81FNba5Kp4
Generated by Claude Code