One Surface Stays Out
Every app in the family that docks the assistant runs the shared chrome — except one. A browser extension does the same job in a completely different setting, and it is a deliberate non-adoption, recorded with five structural reasons and explicitly closed so it is never re-litigated.
The reasons are worth reading as a set, because no single one of them would be decisive alone and together they are overwhelming:
- It is buildless by design. Adopting a component framework means giving a content script a bundler and a runtime — a rewrite pretending to be an adoption.
- Its side mode is the browser's own native panel. The browser draws the container, the drag handle, the open and close. Shared chrome there would be chrome inside chrome.
- Its docked modes inject into arbitrary third-party pages, where class-based cascade styling collides with host styles by construction. The extension's inline-everything approach is the correct engineering for a hostile DOM, not a gap in it.
- The shared component's defining rule is impossible there. Its whole contract is that the panel pushes host content aside rather than covering it. A content script cannot repack somebody else's page.
- Its geometry lives in extension storage, a different persistence contract on purpose.
Why the Reasons Have to Be Written
An item missing from a convergence table is indistinguishable from unfinished work. The table is full of checkmarks; one cell is empty; the natural reading is that somebody ran out of time. Eventually a helpful person starts converting it, spends real effort, and either finishes — destroying a deliberate decision — or discovers the fourth reason halfway through and abandons the attempt having learned what a paragraph would have told them.
Writing the reasons converts a suspicious gap into a closed question. The record says out loud that it was recorded so it stays closed, which is a different speech act from documenting a fact: it is a decision, addressed to the future.
Notice What It Shares Anyway
The strongest part of the record is the last line: the extension already shares the part that matters. Its panel loads the same embedded surface every other app loads, so improvements to that surface reach it with no extension change at all — verified when a navigation control landed there for free.
That reframes the exclusion completely. It is not "this one is left behind". It is that the sharing happens at a different layer, and the layer where it does not share is the layer where sharing was never going to help. A non-adoption with that sentence attached is a boundary; without it, it looks like a hole.