Skip to content

docs(spec): the released 17.5.0 quickAdd entry no longer sends the control to the retired kanban-ui block - #21224

Merged
objectstack-fleet[bot] merged 2 commits into
mainfrom
claude/issue-21143-changelog-17-5-kanban-ui-erratum
Oct 1, 2026
Merged

objectstack-fleet[bot] merged 2 commits into
mainfrom
claude/issue-21143-changelog-17-5-kanban-ui-erratum

Conversation

@objectstack-fleet

Copy link
Copy Markdown
Contributor

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 fix(spec): the object-kanban quickAdd retirement prescribes "delete the key", not the unregistered kanban-ui block #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

claude added 2 commits October 1, 2026 18:06
…ntrol to the retired kanban-ui block

The 17.5.0 entry for 48203ff said the retired object-kanban quickAdd key
"stays only on the kanban-ui block", tabled that block as unchanged, said
the control "stays on the kanban-ui block", and called it "the live
kanban-ui spelling". objectui retired that registration before this change
landed; neither the pin 17.5.0 was versioned at nor today's registers one.

Four passages are amended in place to "Delete the key; object-kanban
offers no quick-add control", and one dated erratum line closes the entry
quoting the old phrasings, in the shape this file's errata already use.

Claude-Session: https://claude.ai/code/session_01UtnxvdiN376GF3sgXwAw4d
Co-authored-by: Claude <noreply@anthropic.com>
@github-actions github-actions Bot added size/s documentation Improvements or additions to documentation labels Oct 1, 2026
@github-actions

github-actions Bot commented Oct 1, 2026

Copy link
Copy Markdown
Contributor

📓 Docs Drift Check

⚠️ 1 changed file(s) yielded no anchor (packages/spec/CHANGELOG.md), so the pages documenting them are NOT COVERED by this run — this is not a clean bill of health for those files. Nothing else in this diff resolved to a documentable surface (no symbol, route or SDK anchor derived from 1 changed package(s)).

What this run could not see
  • 1 changed file(s) yielded no anchor (packages/spec/CHANGELOG.md) — pages documenting those are invisible to this run
  • a page that states a rule by its inputs shares no identifier with the emitter that implements the rule, so an emitter-only diff cannot list it — not on this run and not on any run. Measured on fix(driver-sql): emit varchar(maxLength) for a text field a declared index keys on #11430: content/docs/protocol/objectql/types.mdx documents the text-family column mapping by the ObjectQL type names it maps FROM (text / textarea / html) while the diff changed createColumn; it went unlisted, and it was the page that diff falsified, in four places. No shared token exists to detect this on, so a rule your change carries has to be re-read by hand in the pages that restate it.
  • a key NAME is not a key, so the hand re-read the line above prescribes can land on the wrong schema. The same spelling is authorable on one governed type and a [REMOVED] tombstone on another for each of active, aria, joins, objects, template, tools and version (censused on [finding] tools is a key on BOTH AgentSchema (tombstoned, dead) and SkillSchema (live, cloud-attested), so a name-based search attributes skill examples to the agent key — it produced a false stop-the-line alarm on PR #19059 #19093 over the liveness ledger's governed types, top-level keys); nothing in a search result distinguishes the two, so a grep hit on a LIVE example reads as evidence about the DEAD key. Measured on fix(spec): the agent.tools liveness row says dead — it claimed live on a key the schema tombstoned #19059: content/docs/ai/agents.mdx was reported as contradicting the agent.tools tombstone over its tools: example at :161, which is inside the defineSkill({ block opened at :155 — the page was already correct. Settle ownership by PARSING the value against both schemas, never by the name: that literal PASSES SkillSchema, and as an AgentSchema it FAILS at tools with the tombstone prescription. ⛔ These names are not the whole class — a key retired through a .strict() guidance map leaves no tombstone in the walked shape and none of them here (tool.category, live as AIToolDefinition.category).

Coarse fallback — 137 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): node scripts/docs-audit/affected-docs.mjs --json bbcd20c5270eaa8cfd10080279f83eeb3464213f → packageMentionDocs.

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/s skip-changeset PR has no user-facing published change; bypasses the changeset gate

Projects

None yet

2 participants