The embedded UI in tasksd is now the @hanzo/gui Tamagui build from
~/work/hanzo/gui/code/admin-tasks/. v1 React/shadcn deleted.
What's still here:
ui/embed.go — Go //go:embed wrapper (handler unchanged)
ui/dist/ — synced from admin-tasks build output
ui/README.md — explains the bundle is built externally
scripts/sync-admin-ui.sh — copies admin-tasks/dist → ui/dist + stamp
Makefile — `ui` target now calls the sync script
Dockerfile — drops the node ui-build stage; expects pre-built
dist/ in the repo or built upstream via CI
What's deleted (62 files):
ui/{src,public,node_modules}/ entire trees
ui/{package.json, vite.config.ts, tailwind.config.js, postcss.config.js,
tsconfig.json, index.html, PERF.md, .gitignore, pnpm-lock.yaml,
vite.perf2.config.ts, tsconfig.tsbuildinfo}
UI-TAMAGUI-MOVED.md (no longer accurate)
Live bundle (verified curl http://127.0.0.1:7243/):
/_/tasks/ → 200
/_/tasks/assets/index-BKuZ1al1.js → 200, 674,748 bytes
/_/tasks/assets/index-DTXHKKx4.css → 200, 9,104 bytes
/v1/tasks/namespaces → 200
Bundle: 339 KB → 675 KB raw / 104 KB → 199 KB gzip. Larger because
Tamagui ships react-native-web + Tamagui core + theme primitives
that shadcn doesn't. Trade: design-system consistency across all
Hanzo admin UIs (kms, commerce, console, etc.) vs 95 KB gzip.
CI note: .github/workflows/build.yml's docker build needs a pre-step
that checks out hanzo/gui and builds admin-tasks, OR commits ui/dist/
to this repo. Dockerfile fails fast with a clear message until then.
Tag v3.0.0 because this is a meaningful UI architecture change.