oficina / docs Public

Spec: rastrillo v0.20.0 is released; close the release gap

Verified independently rather than recorded on report: v0.20.0 carries
ThemeCSS, ThemeNames and LayoutNames, and is zero commits behind main.
Docs pins it instead of a main pseudo-version.

Keeps a measurement correction alongside it, because it is the same shape
as the two verification traps already recorded here. The release was
described -- including to this spec -- as removing 20 MB of vendored
gallery from go get. Measured, the 20 MB never reached a release: added
and removed between v0.19.0 and v0.20.0, and the zip is compressed. The
real reduction is 4.28 MB to 1.98 MB and applies only to someone on a
main pseudo-version, which Docs was. v0.20.0 is larger than v0.19.0,
because three themes, twelve catalogs and a date parser are real content.

A plausible number that nothing contradicted until somebody measured.
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 c48cfe290efb909f27402bd028c194b142a773e7 parent bc29de7
1 file changed, +26 −16
  • docs/superpowers/specs/2026-08-30-docs-design.md +26 −16

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 79f6eb3..4a42cde 100644
--- a/docs/superpowers/specs/2026-08-30-docs-design.md
+++ b/docs/superpowers/specs/2026-08-30-docs-design.md
@@ -547,18 +547,27 @@ Verified against `origin/main` and `v0.19.0`:
| Symbol | State |
|---|---|
-| `ui.TokensCSS()` | Released (`v0.19.0`) |
-| `ui.ThemeCSS(name)`, `ThemeNames()`, `Layout(name)`, `LayoutNames()` | **On `main` only** — `main:ui/ui.go:309` etc.; absent from `v0.19.0` |
+| `ui.TokensCSS()` | Released |
+| `ui.ThemeCSS(name)`, `ThemeNames()`, `Layout(name)`, `LayoutNames()` | **Released in `v0.20.0`** (2026-08-30) — were `main`-only for six days |
| `Pair`, the allocation entry point | **Ruled only.** In no tree |
| The bare-attribute grammar (`<div rst-inspector>`) | **Ruled only.** In no tree, no branch, unstarted |
-**`main` is 18 commits ahead of `v0.19.0`, which was tagged 2026-08-24**
-(counted at `ac287b5`, 2026-08-30; the count moves, the gap is the point). An
-app that runs `go get` today gets a rastrillo with none of the themes, none
-of the shells and none of the twelve locales — most of what the
-design-system spec describes. Docs therefore pins a `main` pseudo-version
-until a release carries them, and §15 tracks that as a dependency on
-somebody cutting one.
+**Resolved 2026-08-30: `v0.20.0` is tagged and level with `main`** (verified:
+carries `ThemeCSS`, `ThemeNames` and `LayoutNames`; zero commits behind
+`main`). For six days `v0.19.0` was the only release and lacked the themes,
+shells and twelve locales the design-system spec spends its length
+describing, so an app running `go get` got none of them. Docs pins `v0.20.0`
+rather than a `main` pseudo-version.
+
+*(A measurement correction worth keeping, because it is the same shape as the
+two traps below: the release was described — including to this spec — as
+removing 20 MB of vendored gallery from `go get`. Measured, the 20 MB never
+reached a release at all; it was added and removed between `v0.19.0` and
+`v0.20.0`, and the zip is compressed. The real reduction is 4.28 MB → 1.98 MB
+and applies only to someone who was on a `main` pseudo-version, which Docs
+was. `v0.20.0` is in fact **larger** than `v0.19.0`, because three themes,
+twelve catalogs and a date parser are real content. A plausible number that
+nothing contradicted until somebody measured.)*
*(Two traps for whoever checks this next. The repo squash-merges, so `git
branch --merged` reports nothing useful about whether work has landed —
@@ -882,13 +891,14 @@ thumbnails all fall out of it.
and would fail our own gate (§12); decrypting the corpus per query is
O(corpus). Title and metadata search ships; full text waits for a design,
not for a decision.
-3. **rastrillo needs a release** (§10.1). `main` is 18 commits ahead of
- `v0.19.0` and carries the themes, shells and locales Docs depends on —
- plus viewport-fitting menus and a stable scrollbar gutter, which the
- inspector and toolbar dropdowns want directly.
- Until one is cut, Docs pins a `main` pseudo-version — workable, but a
- pinned pseudo-version is not a dependency anyone should ship on.
- `ui-guidelines-52` is raising it; two apps hit it in one afternoon.
+3. ~~**rastrillo needs a release**~~ — **closed 2026-08-30.** `v0.20.0` is
+ tagged, serving from the proxy, and level with `main`. Docs pins it rather
+ than a pseudo-version. It also carries two things the chrome wants
+ directly whenever that work resumes: menus that cap their height and flip
+ to fit the viewport via CSS anchor positioning — so a style dropdown near
+ the foot of a page opens upward with no script — and `scrollbar-gutter:
+ stable` behind a token, which matters most against a fixed-width sheet of
+ paper. Re-copy `tokens.css` deliberately on adopting it (§10.1).
4. ~~**The identity-assertion helper**~~ — **filed 2026-08-30** as
`rastrillo/rastrillo` discussion #1 on amadan, drafted jointly with
Sheets, both apps named as consumers. Neither app is blocked on it;