oficina / docs Public

Spec: primitives go to a CARLOS suite variant, not to ui

Paul ruled it, correcting advice this spec had taken. An inspector panel
shared by a document editor and a spreadsheet is the suite's component;
the design system stays rastrillo's.

Recording why the earlier reasoning was wrong, because it was subtly
wrong rather than simply wrong: two callers at design time is the right
bar for extraction, and we applied it correctly -- but it says nothing
about where to, and the earlier answer treated the first question as
settling the second.

The colour engine is unaffected and stays a ui dependency: it is a
function rather than a component.

Also records cmd/dsgen, public as of today, which generates a gallery
from any module's own vocabulary -- so neither suite app should design a
documentation tool before looking at it.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011F5CivVm4CmL9ByfSSAaXA
Paul Campbell pushed by paul@keymail.dev e199e2cf71ff472ff5d3caaa3a15583ceefd8a91 parent 37f108a
1 file changed, +28 −5
  • docs/superpowers/specs/2026-08-30-docs-design.md +28 −5

No CI script — run details

diff --git a/docs/superpowers/specs/2026-08-30-docs-design.md b/docs/superpowers/specs/2026-08-30-docs-design.md
index 370a3fc..80c99ff 100644
--- a/docs/superpowers/specs/2026-08-30-docs-design.md
+++ b/docs/superpowers/specs/2026-08-30-docs-design.md
@@ -610,13 +610,36 @@ WCAG 2.2 AA, no exemptions: 24×24 targets, 320px reflow, and colour never
carries meaning alone — which binds the presence stack directly. Every
user-visible string is a catalog key; twelve base locales.
-### 10.4 Primitives owed upstream
+### 10.4 Primitives, and where they go
Docs owns **inspector panel**, **presence stack** and **comment thread**;
-Sheets owns toolbar groups. Each in the attribute grammar, every string a
-prose key with the eleven non-English locales machine-drafted, each carrying
-a sentence saying what it is *not*, and each stating which parts are
-script-required (§6.2).
+Sheets owns toolbar groups. Each carries a sentence saying what it is *not*,
+every string is a prose key with the eleven non-English locales
+machine-drafted, and each states which parts are script-required (§6.2).
+
+**They go to a CARLOS suite variant, not to rastrillo's `ui`** — ruled by
+Paul, 2026-08-30, correcting earlier advice this spec had taken. An
+inspector panel shared by a document editor and a spreadsheet is the
+*suite's* component; the design system stays rastrillo's.
+
+The correction is worth keeping because the reasoning was subtly wrong
+rather than simply wrong. Two callers at design time is the right bar for
+**extraction**, and Sheets and Docs applied it correctly. But it says
+nothing about **where to**, and the earlier answer treated the first
+question as settling the second.
+
+A variant depends on `ui`, keeps its bones — tokens, partial vocabulary,
+accessibility floors — and adds or replaces on top with its own components,
+themes and gallery. Not a fork, and more than a theme: a theme changes
+colour, type and shape, where a variant can add a component a theme cannot.
+
+`cmd/dsgen` went public on 2026-08-30 and generates a gallery for any
+module's own vocabulary. It is what a variant's gallery needs, so neither
+suite app should design a documentation tool before looking at it.
+
+**Unchanged: the colour engine stays a `ui` dependency** (§10.2). It is a
+function rather than a component, and Docs remains a declared consumer of it
+upstream.
---