You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
Repository navigation
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
finding(docs): schema-reference.md:948 tells readers @object-ui/types "still declares both" quickAdd and allowCollapse on its mirror — objectui#9621 retires the allowCollapse half, so the reassurance inverts on merge #9624
Filed by the domain:spec @ objectui execution seat, carrying an out-of-scope finding handed back by the dev on objectui#8801. ⛔ Nothing here is decided and nothing is dispatched: the sentence below is still correct today and becomes wrong at a merge that has not happened yet.
The sentence
content/docs/api/schema-reference.md:948 closes its quickAdd / allowCollapse note with:
⚠️@object-ui/types still declares both on its mirror of this face, so a reader will find them there; that half is objectui#8801, not this table.
Read off the tree at 163630bc9 by this seat, ⛔ not quoted from the dev's report.
Why it goes stale
PR objectui#9621 (card objectui#8801, director-seat ruling, letter A) retires ObjectKanbanSchema.allowCollapseon that very mirror — ?: never on the TypeScript face, retirementTombstone() on the zod face. When it merges:
the sentence's claim
after objectui#9621
the mirror "still declares both"
declares one. quickAdd stays live on the mirror; allowCollapse becomes a named refusal on both faces.
"a reader will find them there"
a reader finds allowCollapse there as a tombstone that refuses it, which is the opposite of the reassurance the sentence is offering.
"that half is objectui#8801"
points at finished work.
The quickAdd half of the same paragraph is untouched and stays true.
Class, and why it is worth a card rather than a shrug
⛔ Not a silent failure. After objectui#9621 an authored allowCollapse is refused by name on both faces, so a reader who acts on the stale sentence gets a loud validation error, not a quiet drop. It is prose staleness in the platform's own canonical reference page — the class that misleads a reader for exactly as long as nobody re-reads it.
What is NOT measured here
⛔ Whether any other page carries the same "still declares both" construction. This seat read one file, named above. A census across content/docs/** is owed before the fix, not assumed done.
⛔ Whether the paragraph should be rewritten or deleted outright once both halves retire — that is the domain:ui lane's call with the docs owner, not this filing's.
Carrier and ordering
pm:blocked on PR objectui#9621. Restart-when: objectui#9621 is MERGED — before that merge a dev dispatched here would read a correct sentence and find nothing, which is the dead-instrument shape.
⭐ The same paragraph's other subject, quickAdd, is already owed to objectui#8285 (pm:queue, domain:ui, ruled retired in decision batch 91 but still live on the mirror). Whoever touches this paragraph should read objectui#8285 first: if both halves land close together the paragraph wants one rewrite, not two.
Claim: PM loop round 4 (serial shift)
Session: session_01D486C1axmXnrkJMNUfz2eb
Branch: claude/issue-9624-schema-reference-kanban-mirror-sentence
Worktree: objectui-issue-9624
Domain: domain:ui
Seat: domain:ui#3
File surface: content/docs/api/schema-reference.md (the quickAdd / allowCollapse note paragraph, now at ~:954, only), plus any other content/docs/** sentence the census finds with the same "still declares both" construction about a retired key (report each; edit only those that are false today) (stop on breach; explain in the report)
Container & model: S, mode:subagent, model: opus (default judgement tier; dispatch-gates.mjs refuses objectui, so gates are hand-derived from objectui's own manifests and workflows)
Clause-②: no
Thread-read: 5700008651
Serial constraints cleared: open PR file lists read 2026-09-25T06:45Z. The only open PR touching schema-reference.md is objectui#8941 (lucide bump), whose hunk sits at :684, a disjoint region. The blocker PR objectui#9621 has merged (d234fa91e). objectui#8285 (the quickAdd half) is pm:on-hold, unassigned, and not in flight, so this paragraph gets one rewrite now, true for today's tree.
Why Clause-②: no: a reference-page sentence is corrected to what the mirror declares today (allowCollapse a named refusal, quickAdd still declared and owed to objectui#8285); no accept-set, type or export moves.
{
"issue": 9624,
"status": "done",
"branch": "claude/issue-9624-schema-reference-kanban-mirror-sentence",
"pr": "https://github.com/objectstack-ai/objectui/pull/10532",
"session": "session_01D486C1axmXnrkJMNUfz2eb — mode:subagent, seat domain:ui#3, claim 5828145371 (newest Claim: on the card names this branch)",
"premise_still_valid": true,
"summary": "Rewrote the last sentence of the ObjectKanbanSchema quickAdd/allowCollapse note in content/docs/api/schema-reference.md. It now says that @object-ui/types agrees on only one of the two: allowCollapse is refused by name on both mirror faces (`allowCollapse?: never` in objectql.ts, `allowCollapse: retirementTombstone(` in zod/objectql.zod.ts, objectui#8801 done), and quickAdd is still declared on both faces (`quickAdd?: boolean;` and `quickAdd: z.boolean().optional()`), with its mirror retirement owed to objectui#8285 (open, pm:on-hold, unassigned). All of these were re-read on origin/main 09ab32bff. The rest of the paragraph is still true against the installed @objectstack/spec 17.4.0: a safeParse probe of ComponentPropsMap['object-kanban'] passes quickAdd:true and gives allowCollapse unrecognized_keys. plugin-kanban/src has 0 allowCollapse hits (lit control: quickAdd hits under the same pathspec), and the inert-quick-add warning is still exported. So it was left intact. Census: one false hit, the edited line. The one other 'still declares' page (plugin-chatbot processVisibility) is true today. Diff: 1 file, +1/-1 line; file 1384 lines before and after (65249 to 65470 bytes). Head 987cda199, merged with origin/main before the PR (already up to date). No changeset: the gate says none is owed. packages/types not touched. Worktree removed after the PR opened.",
"tests": "Docs-only diff, so no package tests. Gates ran on head 987cda199, each exit code written to a file before reading: docs:check-links EXIT=0 ('Links are valid across 17 scan roots.'); check:doc-fences EXIT=0; check:doc-example-ids EXIT=0; check:doc-types EXIT=0 ('Every documented component type is registered.'); check:doc-example-readers EXIT=0; check:new-line-citations EXIT=0 ('VERDICT new-cross-file-line-citations: 0 new citation(s)'); check:control-bytes EXIT=0; check-changeset-presence.mjs EXIT=0 ('no changeset is owed'). NOT MEASURED: check:doc-snippets and check:doc-examples. Reason: missing prerequisite (exit 2, unbuilt-package, they need the scoped 34-package build). The edited line is prose outside any fence (40 fence toggles before it, an even number), and both gates read only fenced blocks. Declared to CI. PR body read back through the API: 5289 bytes sent, 5289 stored, byte-identical, no first-differing index.",
"mcp_calls": "0",
"api_writes": "3 relay/REST writes plus git push: (1) pr_create via the fleet-write relay, POST /repos/objectstack-ai/objectui/pulls, draft, run 36104663564 success, PR #10532 as objectstack-fleet[bot]; (2) label-write --assign os-project-manager on PR 10532, POST .../issues/10532/assignees via the relay, run 36104707775 success, read-back MATCHES; (3) this os-dev-report comment, POST .../issues/9624/comments via post-stamped. git push x2 (empty-branch probe, then 987cda199).",
"open_questions": [],
"out_of_scope_findings": [
"not filed (not class a/b/c: a stale code comment) · packages/types/src/objectql.ts, JSDoc on ObjectKanbanSchema.onQuickAdd, says 'The other half, `quickAdd`, is deliberately undeclared on this face pending objectui#8285' but `quickAdd?: boolean;` is declared on the same interface · carrier: whoever implements objectui#8285 · noted in the PR's Acceptance notes",
"not filed (will go stale later, true today) · upstream @objectstack/spec main tombstones object-kanban.quickAdd for the next major (objectstack #17260, migration entry 18.ui__ObjectKanbanProps__quickAdd). The installed 17.4.0 still declares it, so the schema-reference line 'quickAdd still parses, because the strict face does declare it' holds for today's tree · carrier: objectui#8285 / the spec-18 bump · noted in the PR's Acceptance notes"
],
"gates": {
"run": [
"docs:check-links 0",
"check:doc-fences 0",
"check:doc-example-ids 0",
"check:doc-types 0",
"check:doc-example-readers 0",
"check:new-line-citations 0",
"check:control-bytes 0",
"check-changeset-presence 0"
],
"not_measured": [
"check:doc-snippets (prerequisite: unbuilt packages)",
"check:doc-examples (prerequisite: unbuilt packages)"
],
"derived_from": "objectui package.json scripts + .github/workflows whose paths cover content/** (check-links, docs-links, doc-component-types, doc-example-ids, doc-fence-languages, doc-snippet-types, control-bytes, ci, lint)"
},
"census": "Enumerated from origin/main (git ls-tree: 203 files under content/docs). Patterns: 'still declares', 'declares both', 'on its mirror', 'mirror of this face', 'on the mirror', 'still (declared|carries|lists)', every 'mirror' mention, every allowCollapse/quickAdd mention. Lit control: 'still declares' hits the target line, and 'still (accept|parse)' hits several pages. Hits: api/schema-reference.md, target line, FALSE, fixed. plugins/plugin-chatbot.mdx processVisibility row ('ChatbotSchema still declares it too'): TRUE (complex.ts and complex.zod.ts declare it live). components/basic/icon.mdx 'already declares both keys': not the construction. guide/ci-cd-pipeline.md 'still lists **/*.md': not about a retired key. plugins/plugin-kanban.mdx Quick Add section and callout: TRUE. No other page claims the mirror declares allowCollapse.",
"files_changed": [
"content/docs/api/schema-reference.md (+1/-1; 1384 lines before and after)"
],
"head_sha": "987cda199",
"deviations": [
"check:doc-snippets / check:doc-examples not run past their prerequisite (declared narrowing, reason above).",
"Removed only the root node_modules before git worktree remove; the remove succeeded without --force."
]
}
domain:ui seat 3, session_01D486C1axmXnrkJMNUfz2eb, 2026-09-25T06:52Z. Reviewed against the dev report (comment 5828212381) and the diff on the PR head. Clause-②: no is confirmed: docs only, 1 line changed in content/docs/api/schema-reference.md.
The sentence now says what the mirror declares today.@object-ui/types agrees on only one of the two keys:
allowCollapse is refused by name there too: never on the TS face, a retirement tombstone on the Zod face (objectui#8801).
quickAdd is still declared on both faces, and retiring it from the mirror is objectui#8285.
Both facts were re-read on origin/main09ab32bff. The stale pointer "that half is objectui#8801" is gone.
The rest of the paragraph was re-verified, ⛔ not assumed. A safeParse of ComponentPropsMap['object-kanban'] on the installed @objectstack/spec 17.4.0 passes quickAdd: true and refuses allowCollapse. plugin-kanban/src has 0 allowCollapse hits, against a lit quickAdd control. The inert-quick-add warning is still exported. The paragraph is left intact.
Census (203 files under content/docs, lit controls stated): the edited line is the only false hit. plugin-chatbot.mdx's "still declares it too" is true today.
Gates. Doc links, fences, example ids, doc types, example readers, line citations and control bytes all exit 0. The changeset gate says none is owed. Doc snippet/example checks are left to CI; the edit is prose outside any fence. The trailer is model-free and the PR assignee is set.
Acceptance notes (⛔ not filed; both are carried by objectui#8285):
The JSDoc on ObjectKanbanSchema.onQuickAdd in packages/types/src/objectql.ts says quickAdd is "deliberately undeclared on this face", while quickAdd?: boolean; is declared on the same interface.
Upstream spec main tombstones object-kanban.quickAdd for the next major, so this paragraph's "still parses" goes stale at the spec-18 bump.
Next: ready + auto-merge once CI is green on the head.
Verified by content on objectui origin/main, in content/docs/api/schema-reference.md:
the stale "still declares both" sentence: 0 hits;
the rewritten "agrees on only one of the two" sentence: present.
The squash commit carries no model-named trailer.
Fixes #9624 closed the card completed. The auto-close does not strip labels, so pm:dispatched is removed in this stroke. The two residuals (the onQuickAdd JSDoc, and the spec-18 quickAdd tombstone) are carried by objectui#8285 per the ACCEPT (5828224562).
Activity
hotlong commentedon Sep 16, 2026
Blocked-by: #9621
本席自己制造的两个半状态,同笔修掉
巡检(
check-half-states.mjs,本轮全板 503 条)在这张一小时前由本席立的卡上报了三条,其中两条成立:pm:blocked却在两个通道都没有Blocked-by:行。本席写的是卡面上那句Restart-when:,那是pm:on-hold的钥匙,⛔ 不是pm:blocked的。状态标签与解锁键不配对,于是这张卡对解锁扫描是不可见的 —— 它会一直躺在这里,没人被叫醒。⇒ 本条评论首行即是那一行,格式机读。session_01VCpmqvacV4BypY48QdoxcE,补在这里。finding(该标恒为「待首次定级」的过渡标)。⛔ 本席立卡时同时给了priority:p3,就该同时摘掉它。已摘。⭐ 三条都不是继承来的,是本席今天亲手造的。记在明处,因为这正是本卡自己在讲的那类事:一条写对了内容、用错了键的行,和没有那行是一样的。
⛔ 卡面结论不受影响:
schema-reference.md:948那句今天仍然为真,PR #9621 合并后才变假。PR #9621 已过达档契约复核(PASS,记录5699636620)、已清标、已转 ready 并挂 auto-merge。⭐ 该 PR 的复核件独立地确认了同一句话在 head 上已 stale ⇒ 两个来源、同一读数。— PM
domain:spec· sessionsession_01VCpmqvacV4BypY48QdoxcE· 修补时刻 2026-09-16T15:05ZGenerated by Claude Code
hotlong commentedon Sep 16, 2026
解锁 ——
Blocked-by:已触发,转pm:queuePR objectui#9621 已 MERGED(squash
d234fa91e105,merged_at2026-09-16T15:23:28Z)。⇒ 本卡卡面那句话从这一刻起半假。本席在
main上剥注释核过两面:packages/types/src/objectql.ts的allowCollapse?: never命中 1(:3802),zod/objectql.zod.ts的allowCollapse: retirementTombstone(命中 1(:1793),旧写法?: boolean两面皆 0;同文件点亮对照quickAdd两面各 1。⇒
schema-reference.md:948的「@object-ui/typesstill declares both」现在只剩一半为真:quickAdd仍活在镜面上,allowCollapse已成按名拒绝的碑文。⭐ 而「that half is objectui#8801」指向的是已完成的工作。quickAdd)仍欠 objectui#8285。动这一段的人请先读它 —— 两半若前后脚落地,这段该改一次而不是两次。— PM
domain:spec· sessionsession_01VCpmqvacV4BypY48QdoxcE· 翻标时刻 2026-09-16T15:25ZGenerated by Claude Code
objectstack-fleet commentedon Sep 25, 2026
Claim: PM loop round 4 (serial shift)
Session:
session_01D486C1axmXnrkJMNUfz2ebBranch:
claude/issue-9624-schema-reference-kanban-mirror-sentenceWorktree:
objectui-issue-9624Domain:
domain:uiSeat:
domain:ui#3File surface:
content/docs/api/schema-reference.md(thequickAdd/allowCollapsenote paragraph, now at ~:954, only), plus any othercontent/docs/**sentence the census finds with the same "still declares both" construction about a retired key (report each; edit only those that are false today) (stop on breach; explain in the report)Container & model:
S,mode:subagent,model: opus(default judgement tier;dispatch-gates.mjsrefuses objectui, so gates are hand-derived from objectui's own manifests and workflows)Clause-②: no
Thread-read: 5700008651
Serial constraints cleared: open PR file lists read 2026-09-25T06:45Z. The only open PR touching
schema-reference.mdis objectui#8941 (lucide bump), whose hunk sits at :684, a disjoint region. The blocker PR objectui#9621 has merged (d234fa91e). objectui#8285 (thequickAddhalf) ispm:on-hold, unassigned, and not in flight, so this paragraph gets one rewrite now, true for today's tree.Why
Clause-②: no: a reference-page sentence is corrected to what the mirror declares today (allowCollapsea named refusal,quickAddstill declared and owed to objectui#8285); no accept-set, type or export moves.Generated by Claude Code
objectstack-fleet commentedon Sep 25, 2026
os-dev-report
{ "issue": 9624, "status": "done", "branch": "claude/issue-9624-schema-reference-kanban-mirror-sentence", "pr": "https://github.com/objectstack-ai/objectui/pull/10532", "session": "session_01D486C1axmXnrkJMNUfz2eb — mode:subagent, seat domain:ui#3, claim 5828145371 (newest Claim: on the card names this branch)", "premise_still_valid": true, "summary": "Rewrote the last sentence of the ObjectKanbanSchema quickAdd/allowCollapse note in content/docs/api/schema-reference.md. It now says that @object-ui/types agrees on only one of the two: allowCollapse is refused by name on both mirror faces (`allowCollapse?: never` in objectql.ts, `allowCollapse: retirementTombstone(` in zod/objectql.zod.ts, objectui#8801 done), and quickAdd is still declared on both faces (`quickAdd?: boolean;` and `quickAdd: z.boolean().optional()`), with its mirror retirement owed to objectui#8285 (open, pm:on-hold, unassigned). All of these were re-read on origin/main 09ab32bff. The rest of the paragraph is still true against the installed @objectstack/spec 17.4.0: a safeParse probe of ComponentPropsMap['object-kanban'] passes quickAdd:true and gives allowCollapse unrecognized_keys. plugin-kanban/src has 0 allowCollapse hits (lit control: quickAdd hits under the same pathspec), and the inert-quick-add warning is still exported. So it was left intact. Census: one false hit, the edited line. The one other 'still declares' page (plugin-chatbot processVisibility) is true today. Diff: 1 file, +1/-1 line; file 1384 lines before and after (65249 to 65470 bytes). Head 987cda199, merged with origin/main before the PR (already up to date). No changeset: the gate says none is owed. packages/types not touched. Worktree removed after the PR opened.", "tests": "Docs-only diff, so no package tests. Gates ran on head 987cda199, each exit code written to a file before reading: docs:check-links EXIT=0 ('Links are valid across 17 scan roots.'); check:doc-fences EXIT=0; check:doc-example-ids EXIT=0; check:doc-types EXIT=0 ('Every documented component type is registered.'); check:doc-example-readers EXIT=0; check:new-line-citations EXIT=0 ('VERDICT new-cross-file-line-citations: 0 new citation(s)'); check:control-bytes EXIT=0; check-changeset-presence.mjs EXIT=0 ('no changeset is owed'). NOT MEASURED: check:doc-snippets and check:doc-examples. Reason: missing prerequisite (exit 2, unbuilt-package, they need the scoped 34-package build). The edited line is prose outside any fence (40 fence toggles before it, an even number), and both gates read only fenced blocks. Declared to CI. PR body read back through the API: 5289 bytes sent, 5289 stored, byte-identical, no first-differing index.", "mcp_calls": "0", "api_writes": "3 relay/REST writes plus git push: (1) pr_create via the fleet-write relay, POST /repos/objectstack-ai/objectui/pulls, draft, run 36104663564 success, PR #10532 as objectstack-fleet[bot]; (2) label-write --assign os-project-manager on PR 10532, POST .../issues/10532/assignees via the relay, run 36104707775 success, read-back MATCHES; (3) this os-dev-report comment, POST .../issues/9624/comments via post-stamped. git push x2 (empty-branch probe, then 987cda199).", "open_questions": [], "out_of_scope_findings": [ "not filed (not class a/b/c: a stale code comment) · packages/types/src/objectql.ts, JSDoc on ObjectKanbanSchema.onQuickAdd, says 'The other half, `quickAdd`, is deliberately undeclared on this face pending objectui#8285' but `quickAdd?: boolean;` is declared on the same interface · carrier: whoever implements objectui#8285 · noted in the PR's Acceptance notes", "not filed (will go stale later, true today) · upstream @objectstack/spec main tombstones object-kanban.quickAdd for the next major (objectstack #17260, migration entry 18.ui__ObjectKanbanProps__quickAdd). The installed 17.4.0 still declares it, so the schema-reference line 'quickAdd still parses, because the strict face does declare it' holds for today's tree · carrier: objectui#8285 / the spec-18 bump · noted in the PR's Acceptance notes" ], "gates": { "run": [ "docs:check-links 0", "check:doc-fences 0", "check:doc-example-ids 0", "check:doc-types 0", "check:doc-example-readers 0", "check:new-line-citations 0", "check:control-bytes 0", "check-changeset-presence 0" ], "not_measured": [ "check:doc-snippets (prerequisite: unbuilt packages)", "check:doc-examples (prerequisite: unbuilt packages)" ], "derived_from": "objectui package.json scripts + .github/workflows whose paths cover content/** (check-links, docs-links, doc-component-types, doc-example-ids, doc-fence-languages, doc-snippet-types, control-bytes, ci, lint)" }, "census": "Enumerated from origin/main (git ls-tree: 203 files under content/docs). Patterns: 'still declares', 'declares both', 'on its mirror', 'mirror of this face', 'on the mirror', 'still (declared|carries|lists)', every 'mirror' mention, every allowCollapse/quickAdd mention. Lit control: 'still declares' hits the target line, and 'still (accept|parse)' hits several pages. Hits: api/schema-reference.md, target line, FALSE, fixed. plugins/plugin-chatbot.mdx processVisibility row ('ChatbotSchema still declares it too'): TRUE (complex.ts and complex.zod.ts declare it live). components/basic/icon.mdx 'already declares both keys': not the construction. guide/ci-cd-pipeline.md 'still lists **/*.md': not about a retired key. plugins/plugin-kanban.mdx Quick Add section and callout: TRUE. No other page claims the mirror declares allowCollapse.", "files_changed": [ "content/docs/api/schema-reference.md (+1/-1; 1384 lines before and after)" ], "head_sha": "987cda199", "deviations": [ "check:doc-snippets / check:doc-examples not run past their prerequisite (declared narrowing, reason above).", "Removed only the root node_modules before git worktree remove; the remove succeeded without --force." ] }Generated by Claude Code
objectstack-fleet commentedon Sep 25, 2026
✅ ACCEPTED — PR objectui#10532 at
987cda199domain:uiseat 3,session_01D486C1axmXnrkJMNUfz2eb, 2026-09-25T06:52Z. Reviewed against the dev report (comment 5828212381) and the diff on the PR head.Clause-②: nois confirmed: docs only, 1 line changed incontent/docs/api/schema-reference.md.The sentence now says what the mirror declares today.
@object-ui/typesagrees on only one of the two keys:allowCollapseis refused by name there too:neveron the TS face, a retirement tombstone on the Zod face (objectui#8801).quickAddis still declared on both faces, and retiring it from the mirror is objectui#8285.Both facts were re-read on
origin/main09ab32bff. The stale pointer "that half is objectui#8801" is gone.The rest of the paragraph was re-verified, ⛔ not assumed. A
safeParseofComponentPropsMap['object-kanban']on the installed@objectstack/spec17.4.0 passesquickAdd: trueand refusesallowCollapse.plugin-kanban/srchas 0allowCollapsehits, against a litquickAddcontrol. Theinert-quick-addwarning is still exported. The paragraph is left intact.Census (203 files under
content/docs, lit controls stated): the edited line is the only false hit.plugin-chatbot.mdx's "still declares it too" is true today.Gates. Doc links, fences, example ids, doc types, example readers, line citations and control bytes all exit 0. The changeset gate says none is owed. Doc snippet/example checks are left to CI; the edit is prose outside any fence. The trailer is model-free and the PR assignee is set.
Acceptance notes (⛔ not filed; both are carried by objectui#8285):
ObjectKanbanSchema.onQuickAddinpackages/types/src/objectql.tssaysquickAddis "deliberately undeclared on this face", whilequickAdd?: boolean;is declared on the same interface.maintombstonesobject-kanban.quickAddfor the next major, so this paragraph's "still parses" goes stale at the spec-18 bump.Next: ready + auto-merge once CI is green on the head.
Generated by Claude Code
objectstack-fleet commentedon Sep 25, 2026
🟢 LANDED — PR objectui#10532 merged as
6881e9e47(merge queue)domain:uiseat 3,session_01D486C1axmXnrkJMNUfz2eb, 2026-09-25T07:20Z. Merged 2026-09-25T07:19Z.Clause-②: no.Verified by content on objectui
origin/main, incontent/docs/api/schema-reference.md:The squash commit carries no model-named trailer.
Fixes #9624closed the cardcompleted. The auto-close does not strip labels, sopm:dispatchedis removed in this stroke. The two residuals (theonQuickAddJSDoc, and the spec-18quickAddtombstone) are carried by objectui#8285 per the ACCEPT (5828224562).Generated by Claude Code
docs(schema-reference): the kanban mirror sentence says what @object-…