Handoff docs, Explain flow, local font, and UI primitive expansion

A broad frontend pass adding a set of handoff/architecture/roadmap docs, a new Explain page alongside Review and Draft, a migration from runtime `next/font/google` to locally bundled `@fontsource/inter`, and a set of shadcn-style UI primitives (card, alert, label, separator, tabs, textarea, skeleton) adopted across pages.

chat-uiworkflow

The documentation commit (3a52bcd) adds docs/HANDOFF.md, docs/ARCHITECTURE.md, docs/DEPLOYMENT_STATUS.md, and docs/ROADMAP.md. These describe the current deployment topology (Workers for frontend, Railway/Render for backend), the secrets policy, and known blockers as of the handoff. The architecture doc explicitly calls out that the backend cannot go onto Workers due to Node-only dependencies (filesystem, child processes for LibreOffice, large in-memory buffers).

The font change swaps next/font/google - which fetches at runtime and fails in CI environments without external network access - for @fontsource/inter, a self-hosted copy bundled at install time. The DEPLOYMENT_STATUS.md lists this as a current blocker: npm install may fail in restricted environments if @fontsource/inter can't be fetched from npm. CSS font variables were updated to match.

The new UI primitives live in frontend/src/components/ui and follow the shadcn pattern. foolish-bandit validated the changes with a production build and smoke tests of the new shells, then self-merged in under a minute.

The Explain page addition is a new guided workflow shell alongside Review and Draft. It takes pasted legal text and returns an explanation of what it says, what could go wrong, and how it might be revised. The backend-unavailable fallback messaging is consistent with the rest of the polish passes.

So what The font migration is worth considering if your CI environment doesn't have external network access during builds. The `@fontsource/inter` approach is more reproducible. The handoff docs are useful context if you're evaluating the overall fork posture. The Explain shell and UI primitives are additive; the primitives in particular are clean enough to pull without the rest of the Gary-specific content.

View this fork on GitHub →

Spotted something wrong? Or know the PR text has fresher detail than the writeup above?

Commits in this thread

2 commits from foolish-bandit/gary, oldest first. Source extracted verbatim from the harvested git log.

SHA Subject Author Date
3a52bcd0 Add detailed GaryOSS handoff and architecture docs Zack Brenner 2026-05-07 ↗ GitHub
a7d88b83 Merge branch 'main' into codex/create-pr-#10-frontend-polish-and-bugfix-xsy6ae Zack Brenner 2026-05-07 ↗ GitHub

Capture this thread into my fork

Download a single Markdown prompt that tells Claude how to port every commit above into your working tree — adapting paths and structure to match your repo. Run it via claude -p < capture-thread-266.md from inside the repo you want the changes in.

⬇ Download capture-thread-266.md