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
1 file changed,
+26
−16
docs/superpowers/specs/2026-08-30-docs-design.md+26 −16
No CI script — run details
Intent
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; |