Skip to content

Commit 5b481e2

Browse files
docs(spec): the released 17.5.0 quickAdd entry no longer sends the control to the retired kanban-ui block (#21224)
Fixes #21143 Clause-②: no ## What `packages/spec/CHANGELOG.md`, inside the released `@objectstack/spec` 17.5.0 entry for 48203ff (the `object-kanban` `quickAdd` retirement), told the reader four times that the quick-add control lives on objectui's `kanban-ui` block: - the ruling sentence: "the key leaves the board and stays only on the `kanban-ui` block, where a React host can supply the runtime function the control needs"; - the table row `kanban-ui` (objectui block), whose `after` cell read **unchanged**; - the "What to write instead" paragraph: "The control itself is not withdrawn from the platform. It stays on the `kanban-ui` block, which a React host renders directly and can hand the `onQuickAdd` slot to"; - the D2 conversion bullet: "scoped by component `type` so the live `kanban-ui` spelling stays out of its reach". objectui registers no `kanban-ui` block. objectui#8865 retired the registration (objectui#8257) on 2026-09-10T10:17Z. 48203ff landed on 2026-09-12T07:24Z, so the retirement came first. The sentences were true of the `.objectui-sha` pin the entry was measured at (`53ded82bf`). They are false of the pin 17.5.0 was versioned at (`dd3f7e1be`) and of today's pin (`31971ff1e`). This PR amends that one entry in place. It uses the shape this file's errata already use (`*Erratum, DATE — … (Corrected after publication, #N.)*`, 7 instances on `main`). The nearest precedent is 576afc1, which amended the 17.4.0 entry the same way: passages corrected in place, then one dated erratum line at the end of the entry that quotes the old phrasing. 1. The ruling sentence now reads "the key leaves the board. Delete the key; `object-kanban` offers no quick-add control." 2. The table row keeps its `before` cell. Its `after` cell now reads "**retired** in objectui (objectui#8257), not by this change: no block a document can name offers the control". The row is corrected rather than deleted, so a reader who greps `kanban-ui` lands on the corrected answer. 3. The "What to write instead" paragraph now says that no block a document can name offers the control. It also says the ruling kept the control on `kanban-ui` and that objectui has since retired that block. 4. The D2 bullet now gives the scoping reason that the conversion's own docblock on `main` gives: by component `type`, never by key name, so a node of any other type that authors the same key is left alone. 5. One dated erratum line ends the entry. It quotes the four old phrasings and says that the retirement, its tombstone and its D2 conversion are unchanged. No other entry and no other file is touched. The corrected wording matches what PR #21141 put on every non-released copy: the tombstone prescription, the D2 summary and both migration entries. ## Changeset: none, labelled `skip-changeset` `CHANGELOG.md` is in `@objectstack/spec`'s `files[]`, so the next tarball carries this text. A changeset is still the wrong instrument. It would compile the correction into a new entry under a later version. That is the erratum-in-a-later-entry shape that the Documentation Guardrails row for `packages/*/CHANGELOG.md` rules out, and the PR declares no package change. `changeset version` prepends to this file and keeps the amended 17.5.0 entry. 105 pending changesets on `main` already bump `@objectstack/spec`, so the next release ships the corrected entry. This is the same disposition as 576afc1 (PR #21014, labelled `skip-changeset`). ## Evidence | Reading | Result | |---|---| | `grep -c kanban-ui packages/spec/CHANGELOG.md` at the merge base `ce4e205e` | 4, at lines 1580, 1586, 1616 and 1629 | | npm tarball `@objectstack/spec` 17.5.0, `package/CHANGELOG.md` | the same 4 lines | | objectui registration-key lines (`'kanban-ui',` alone on a line, test files excluded) at the current pin `31971ff1e`, the 17.5.0 pin `dd3f7e1be` and the 48203ff pin `53ded82bf` | 0, 0 and 2 (`plugin-kanban/src/index.tsx:209` and `cli/src/utils/known-schema-types.ts:225` at `53ded82bf`). The firing control `'object-kanban',` on the same instrument reads 4, 4 and 3 | | `.objectui-sha` at 48203ff, and at 8c87d26 (`chore: version packages`, spec 17.5.0) | `53ded82bf`, then `dd3f7e1be` | | Dates | objectui#8865 merged 2026-09-10T10:17Z; 48203ff committed 2026-09-12T07:24Z; spec 17.5.0 published 2026-09-29T08:09Z (npm `time`) | | Other released copies | `kanban-ui` occurs in no other `*/CHANGELOG.md` and nowhere under `content/docs/releases/`. The 69 other CHANGELOGs that name 48203ff carry it only as `- Updated dependencies [48203ff]` | | After this PR | `grep -c kanban-ui packages/spec/CHANGELOG.md` reads 3: the corrected row, the corrected paragraph and the erratum line | ## Gates (on `ca8dffb4`, the final commit) `node scripts/pm/dispatch-gates.mjs --repo objectstack-ai/objectstack --commands` derived 55 commands for this one path. 51 ran and exited 0. They include `pnpm check:nul-bytes`, `pnpm check:published-files`, `pnpm check:release-notes`, `pnpm check:release-page-status`, `pnpm check:doc-authoring` and `node scripts/check-release-section-coverage.mjs --strict`. The `--ran` reconciliation reads: "55 derived famil(ies) accounted for — 51 run, 4 NOT-MEASURED (4 DERIVED from a recorded exit 3)", 0 UNRUN. NOT MEASURED (4): `check:dts-closure`, `check:dual-build-cjs-loads`, `check:lean-entry-closure` and `check:sourcemap-no-sources-content`. Each exited 3 (PREREQUISITE NOT MET) because it reads built `dist/` trees across the workspace, and this worktree built none. No build reads `CHANGELOG.md`. CI runs these four on a fresh build. Outside the derived set, two gates that read `packages/spec/CHANGELOG.md` also ran and exited 0: `pnpm check:future-spec-major` and `pnpm check:docs-image-tag`. `check:issue-citations` is green, but it read 0 files: `**/CHANGELOG.md` is one of its declared deferred surfaces. So the three citations this PR adds were read by hand. #21143 is this card, objectui#8865 is the merged retirement PR and objectui#8257 is the card it answered. ## Acceptance notes - PR #21141 corrected the source copies to the same wording. This PR is the released-text half that the Documentation Guardrails keep out of a code PR. - The pinned objectui still exports the `KanbanRenderer` React component, which reads the `quickAdd` / `onQuickAdd` pair (`plugin-kanban/src/index.tsx:345-346` at `31971ff1e`). The tombstone docblock on `main` already records this as "not withdrawn from objectui's React layer, but no metadata node reaches it". The amended entry says only what holds for metadata and does not name that component. Written by the `domain:spec` dev session `session_01UtnxvdiN376GF3sgXwAw4d`, dispatched by the PM loop on #21143. --- _Generated by [Claude Code](https://claude.ai/code/session_01UtnxvdiN376GF3sgXwAw4d)_ Co-authored-by: Claude <noreply@anthropic.com>
1 parent d6d6e87 commit 5b481e2

1 file changed

Lines changed: 11 additions & 8 deletions

File tree

‎packages/spec/CHANGELOG.md‎

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1577,13 +1577,13 @@
15771577

15781578
**BREAKING** — `quickAdd` is retired from the `object-kanban` component props. Executes the
15791579
objectui#8285 director-seat ruling (decision batch #91, 2026-09-08, standing maintainer
1580-
delegation), ruled **option B**: the key leaves the board and stays only on the `kanban-ui`
1581-
block, where a React host can supply the runtime function the control needs.
1580+
delegation), ruled **option B**: the key leaves the board. Delete the key; `object-kanban`
1581+
offers no quick-add control.
15821582

15831583
| | before | after |
15841584
|:--|:--|:--|
15851585
| `object-kanban` | `quickAdd: true` parsed clean and did nothing | refused by the tombstone, with the prescription |
1586-
| `kanban-ui` (objectui block) | the control works when the host passes `onQuickAdd` | **unchanged** |
1586+
| `kanban-ui` (objectui block) | the control works when the host passes `onQuickAdd` | **retired** in objectui (objectui#8257), not by this change: no block a document can name offers the control |
15871587

15881588
**What was actually wrong.** Measured at the `.objectui-sha` pin this repo builds against
15891589
(`53ded82bf`): the board FORWARDS the key — `ObjectKanban.tsx:931` spreads the authored bag
@@ -1613,9 +1613,10 @@
16131613
{ type: 'object-kanban', properties: { objectName: 'crm_task', groupBy: 'status' } }
16141614
```
16151615

1616-
The control itself is not withdrawn from the platform. It stays on the `kanban-ui` block,
1617-
which a React host renders directly and can hand the `onQuickAdd` slot to — that is what the
1618-
ruling preserved deliberately.
1616+
No block a document can name offers the control either. The ruling kept it on objectui's
1617+
`kanban-ui` block, which a React host rendered directly and could hand the `onQuickAdd` slot
1618+
to; objectui has since retired that block (objectui#8257), so no metadata node reaches the
1619+
control.
16191620

16201621
Existing sources: `os migrate meta --from 17` lists the mechanical edits; apply them by hand.
16211622

@@ -1625,8 +1626,8 @@
16251626
a value reaching the parse raises the prescription rather than a bare unknown-key verdict
16261627
- the D2 conversion `object-kanban-quick-add-removed` (`RETIRED_KEYS_BY_MAJOR[18]` entry
16271628
`ui/ObjectKanbanProps:quickAdd`, wired into the protocol-18 chain step) — a **pure lossless
1628-
delete**, since the key never had an effect to preserve, scoped by component `type` so the
1629-
live `kanban-ui` spelling stays out of its reach
1629+
delete**, since the key never had an effect to preserve, scoped by component `type`, never
1630+
by key name, so a node of any other type that authors the same key is left alone
16301631
- the `authorable-surface/ui.json` row becomes `ui/ObjectKanbanProps:quickAdd [RETIRED]`, and
16311632
the generated reference page prints the prescription in place of the old describe
16321633
- the schema docblock's read-point list is corrected in the same stroke: it named `quickAdd`
@@ -1640,6 +1641,8 @@
16401641
`apps/` (control: `object-grid` 3, `object-metric` 8 in the same corpora, same instrument)
16411642
- `api-surface/` is unchanged, correctly: it ratchets export existence, and no export leaves —
16421643
`ObjectKanbanProps` still exists, one key narrower
1644+
1645+
*Erratum, 2026-10-01 — this entry said the key "stays only on the `kanban-ui` block, where a React host can supply the runtime function the control needs", tabled that block's control as **unchanged**, said "The control itself is not withdrawn from the platform. It stays on the `kanban-ui` block", and called the block "the live `kanban-ui` spelling". objectui registers no `kanban-ui` block: objectui#8865 retired the registration (objectui#8257) on 2026-09-10, before this change landed on 2026-09-12, and neither the `.objectui-sha` pin this release was versioned at (`dd3f7e1be`) nor the pin at this correction (`31971ff1e`) registers one. The sentences were true of the pin they were measured at (`53ded82bf`). Delete the key; `object-kanban` offers no quick-add control. Four passages above are corrected in place; the retirement, its tombstone, its D2 conversion and everything else this entry published are unchanged. (Corrected after publication, #21143.)*
16431646
- 2f1a6f6: A flow screen field can now express a numeric bound, help text and a lookup target — spelled with the object field's own key names
16441647

16451648
<!-- adr-0087: registered screen-field-lookup-reference-required -->

0 commit comments

Comments
 (0)