Files
zeekayandHanzo Dev 93c5a73fbc feat: catch the four sites up to the published 8.x fleet stack
This repo was a stale consumer: `@hanzo/ui` was already on 8.x while `@hanzo/gui`
and every `@hanzogui/*` were still 7.3.0 — a combination `@hanzo/ui@8` does not
support (it peers `>=8.0.0` on all three). Onto the real latest, checked against
the registry rather than assumed:

  @hanzo/gui                7.3.0  → 8.0.1     (the package formerly `hanzogui`)
  @hanzogui/config          7.3.0  → 8.0.1
  @hanzogui/lucide-icons-2  7.3.0  → 8.0.1
  @hanzogui/next-theme      7.3.0  → 8.0.0
  @hanzo/ui                 8.0.26 → 8.0.39
  @hanzo/data                1.2.1 → 1.2.2
  @hanzo/iam                0.13.8 → 0.21.6

Two things the upgrade exposed, both real:

`react-native-svg` becomes a DIRECT dependency. Every lucide glyph imports it and
`@hanzo/ui/product` draws with it, but `@hanzogui/lucide-icons-2@8` declares it
neither as a dependency nor as a peer — it arrived transitively under 7.3.0 and
vanished with it, taking the build down. The webpack rule that puts `.web.*`
first was already written for exactly this package, so the dependency is now
stated where it is actually used.

`@hanzo/ui/theme.css` was never imported. Its components name `--border` and
`--radius`, and nothing else in the app defines them — gui's runtime injection
supplies the colour SCALE (`--color12`, `--background`), the token sheet supplies
the semantic tokens. Missing, they resolved to nothing and those surfaces painted
transparent while every request still returned 200. It now leads `app/layout.tsx`,
and `globals.css` drops the font-family rules it was duplicating: the token sheet
owns families and colour, this app only fetches the face and resets the document.

`<html>` gains `dark` beside `t_dark` — two vocabularies for one state, and only
`t_dark` was set. NextThemeProvider adds `dark` after hydration, so the first
frame resolved the light token set.

Verified in a browser, not by status code: `e2e/tokens.spec.ts` asserts the tokens
actually resolve, the shell paints dark, four brand marks render, nothing throws,
and neither viewport scrolls sideways at 390px. It needs no backend, which is the
point — it catches the failure `shots.spec.ts` cannot see.

No Tailwind, no shadcn, no Radix: none were present, and none are now — confirmed
absent from the installed tree, not just from package.json.

Also: `typecheck` moves to `tsgo` (TypeScript 7 native) — 2.0s against tsc's
14.2s on this tree. `next build` keeps its own tsc pass; that step is Next's and
is the only one that sees the route types it generates mid-build, so forcing tsgo
there would have traded real coverage for a few seconds.

Dead code out: `dev:cloud` invoked `dev/stack.mjs`, which does not exist; `e2e`
and `audit` replace it with scripts for the two suites that do. `page.tsx` imported
from 'react' twice. `@hanzo/logo` was a direct dependency nothing imported.

Co-authored-by: Hanzo Dev <[email protected]>
2026-08-03 17:56:13 -07:00
..