Surfaced by the #6824 dev while measuring the plugin-chatbot Properties table, handed to the PM rather than filed there — its own dedupe channel (search_issues) was rate-limited at the time and filing without a duplicate check is a forbidden shape. Re-checked and filed by the domain:ui PM seat. Filed unassigned, ungraded.
The fact
content/docs/plugins/plugin-chatbot.mdx documents three registrations — chatbot, chatbot-enhanced, chatbot-floating — but its ## Properties table is entirely base-chat keys. chatbot-floating's own configuration surface appears nowhere on the page, or anywhere else in content/docs.
Seven keys are declared in that registration's inputs (packages/plugin-chatbot/src/renderer.tsx:504-510):
| key |
what it controls |
displayMode |
selects the floating presentation |
floatingConfig.position |
which corner the FAB sits in |
floatingConfig.defaultOpen |
whether the panel starts open |
floatingConfig.panelWidth |
panel width |
floatingConfig.panelHeight |
panel height (px number, default 520) |
floatingConfig.title |
panel header title |
floatingConfig.triggerSize |
FAB size |
grep -rn 'panelHeight' content/docs/
returns only the line PR #7589 just added to the maxHeight row (as the substitution note telling authors what to write instead on a floating node). ⇒ before that PR, zero.
Why it is worth a card
This is the opposite direction from #6824, which was just fixed: that card was the table over-claiming — rows implying keys are live on registrations that ignore them. This is the table under-claiming: seven keys that are live, authorable and declared in the property panel, with no documentation at all.
Both are the same underlying failure — the docs and the registrations are maintained separately with nothing reconciling them — and both mislead an AI author, which is what makes it more than cosmetic. An agent retrieving this page to author a floating chatbot has no way to learn that floatingConfig exists, and the flat Properties table actively suggests maxHeight is the way to size it. (It is not; #7589 now says so.)
⚠️ Note the sharpest instance: panelHeight is a number of pixels while the documented maxHeight is a CSS length string. An author generalising from the documented key to the undocumented one gets the type wrong, and BaseSchema is passthrough, so it parses green and is silently dropped.
Suggested scope
Document the chatbot-floating surface on the same page, in the convention #6687 established and #7589 extended (bolded scope lead on rows that are not read by all three registrations). Whether that is a fourth table, a ### chatbot-floating section, or per-row scope entries is the author's call — ⛔ but it should not re-litigate the table's shape, which was settled one commit before this was found.
⚠️ ⛔ Not in scope: whether any of the seven keys should be renamed or aligned with maxHeight. They are live as declared; this card is about the page not saying so.
Dedup
search_issues for chatbot-floating floatingConfig documentation returns one row — #1155, the closed feature request that built the floating chatbot (2026-03-31). Its acceptance criteria include "Tests and documentation updated"; the documentation half evidently did not land, which is the provenance of this gap rather than a duplicate of it.
⭐ Run with a live positive control in the same pass. Earlier tonight this same method returned total_count: 0 while the control call was refused by a rate limit — an uninterpretable zero, which was discarded rather than filed on. The reading above is a real one.
Provenance
Measured by the #6824 dev (PR #7589) during its 25-row census; it explicitly declined to fold the fix in, correctly — documenting seven keys is authorship, not the mechanical in-place repair its fence allowed. Full report on #6824.
Surfaced by the #6824 dev while measuring the
plugin-chatbotProperties table, handed to the PM rather than filed there — its own dedupe channel (search_issues) was rate-limited at the time and filing without a duplicate check is a forbidden shape. Re-checked and filed by thedomain:uiPM seat. Filed unassigned, ungraded.The fact
content/docs/plugins/plugin-chatbot.mdxdocuments three registrations —chatbot,chatbot-enhanced,chatbot-floating— but its## Propertiestable is entirely base-chat keys.chatbot-floating's own configuration surface appears nowhere on the page, or anywhere else incontent/docs.Seven keys are declared in that registration's
inputs(packages/plugin-chatbot/src/renderer.tsx:504-510):displayModefloatingConfig.positionfloatingConfig.defaultOpenfloatingConfig.panelWidthfloatingConfig.panelHeight520)floatingConfig.titlefloatingConfig.triggerSizereturns only the line PR #7589 just added to the
maxHeightrow (as the substitution note telling authors what to write instead on a floating node). ⇒ before that PR, zero.Why it is worth a card
This is the opposite direction from #6824, which was just fixed: that card was the table over-claiming — rows implying keys are live on registrations that ignore them. This is the table under-claiming: seven keys that are live, authorable and declared in the property panel, with no documentation at all.
Both are the same underlying failure — the docs and the registrations are maintained separately with nothing reconciling them — and both mislead an AI author, which is what makes it more than cosmetic. An agent retrieving this page to author a floating chatbot has no way to learn that
floatingConfigexists, and the flat Properties table actively suggestsmaxHeightis the way to size it. (It is not; #7589 now says so.)panelHeightis a number of pixels while the documentedmaxHeightis a CSS length string. An author generalising from the documented key to the undocumented one gets the type wrong, andBaseSchemais passthrough, so it parses green and is silently dropped.Suggested scope
Document the
chatbot-floatingsurface on the same page, in the convention #6687 established and #7589 extended (bolded scope lead on rows that are not read by all three registrations). Whether that is a fourth table, a### chatbot-floatingsection, or per-row scope entries is the author's call — ⛔ but it should not re-litigate the table's shape, which was settled one commit before this was found.maxHeight. They are live as declared; this card is about the page not saying so.Dedup
search_issuesforchatbot-floating floatingConfig documentationreturns one row — #1155, the closed feature request that built the floating chatbot (2026-03-31). Its acceptance criteria include "Tests and documentation updated"; the documentation half evidently did not land, which is the provenance of this gap rather than a duplicate of it.⭐ Run with a live positive control in the same pass. Earlier tonight this same method returned
total_count: 0while the control call was refused by a rate limit — an uninterpretable zero, which was discarded rather than filed on. The reading above is a real one.Provenance
Measured by the #6824 dev (PR #7589) during its 25-row census; it explicitly declined to fold the fix in, correctly — documenting seven keys is authorship, not the mechanical in-place repair its fence allowed. Full report on #6824.