Gary branding cleanup: UI copy, AI prompts, DOCX author, and metadata

zgbrenner swept Mike branding out of every user- and model-facing surface in one commit: the app wordmark, global-error title, AI self-description in prompts, tracked-change author in exported Word files, and the page metadata. No new functionality; all cleanup.

branding

The diff covers 481 additions and 68 deletions across 29 files. The backend chat system prompt and the Review Table assistant prompt now name Gary explicitly, so the model identifies itself consistently with what users see. The DOCX tracked-change author and change-ID prefix switch to Gary as well - relevant if any document-processing logic downstream parses those fields.

Metadata got a proper rewrite. Page title, description, and Open Graph/Twitter cards all land on "Gary - Open-source legal AI for U.S. lawyers." More practically, metadataBase moves off a hard-coded production hostname (mikeoss.com) and onto NEXT_PUBLIC_SITE_URL, an env variable. That makes preview and staging deployments work correctly without manual edits.

zgbrenner was careful about claims. Neither the AI-identity prompts nor the metadata assert accuracy guarantees or bar-compliance. The README was rewritten at roughly 154 lines net, with a plain-English product overview, a step-by-step flow, a comparison table against MikeOSS, and a limitations section. Attribution and the AGPL-3.0 license are preserved.

A new branding.test.ts (210 lines) guards the rename going forward: it asserts that metadata uses Gary copy, checks the README preserves the upstream attribution block, and runs a terminology scan that would fail if old upstream-brand strings crept back in outside intentional exceptions. Two database columns and all internal package names were deliberately left as-is to avoid migration risk.

So what The env-driven `metadataBase` is a simple, portable improvement. The test suite pattern for policing brand strings after a rename is worth borrowing. Everything else here is Gary-specific identity work with nothing to pull into a different fork.

View this fork on GitHub →

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

Commits in this thread

1 commit from zgbrenner/gary, oldest first. Source extracted verbatim from the harvested git log.

SHA Subject Author Date
9d868c45 chore: Gary branding, metadata, and public-readiness polish Claude 2026-05-19 ↗ GitHub
commit body
Make Gary feel like a coherent, intentional open-source product rather
than a lightly renamed fork. No new functionality.

Branding / user-facing copy:
- App-shell wordmark, global-error page title, and the built-in
  Saved Legal Task author label now read "Gary" instead of "Mike".
- Backend AI identity prompts (chat system prompt, Review Table
  assistant prompt) and the DOCX tracked-change author now say "Gary".
- Column-prompt placeholders, the support form, and the backend
  startup log say "Gary".
- Remaining "tabular review" wording in user-facing/LLM-facing strings
  updated to "Review Table" / "document review model".

App metadata (frontend/src/app/layout.tsx):
- Title "Gary - Open-source legal AI for U.S. lawyers" and a factual
  description across the page, Open Graph, and Twitter cards.
- metadataBase now reads NEXT_PUBLIC_SITE_URL (documented in
  .env.local.example) instead of a hard-coded mikeoss.com domain.
- Avoids unsupported claims (no accuracy guarantee, not bar-compliant).

Visual assets:
- Add Gary social preview (SVG + rasterized PNG, 1200x630), a Gary
  wordmark/monogram logo, a standalone G mark, and a generated
  apple-touch-icon. Remove the orphaned MikeOSS link-image.jpg.
- The favicon (abstract aperture) is intentionally kept - it carries
  no Mike branding and doubles as the in-app loading spinner.

Documentation:
- Rewrite the root README: plain-English intro, who it's for, what it
  does, the 7-step product flow, bring-your-own-key explanation, how
  Gary differs from MikeOSS, features, limitations, roadmap, and a
  License & attribution section preserving the AGPL-3.0 / MikeOSS
  credit. Developer setup moved below the product overview.
- Add docs/README.md as a documentation index linking the setup
  guide, legal disclaimer, terminology map, and safe-testing doc.
- Point the CONTRIBUTING.md security link at the Gary repo.
- Update safe-local-testing.md to say Gary.

Tests:
- Add frontend/src/lib/branding.test.ts: metadata uses Gary and avoids
  unsupported claims, wordmark renders Gary, README credits MikeOSS
  and lists features + product flow, docs index links key docs, and
  the Gary visual assets exist.

Intentionally left unchanged (internal, renaming would add risk):
package names ("mike" / "mike-backend"), code identifiers (MikeProject,
MikeIcon, mikeApi, MikeLayout, etc.), the tabular_reviews /
organisation database columns, and the signup Terms/Privacy links
(no Gary-hosted legal pages exist yet - self-hosters substitute their
own).

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-571.md from inside the repo you want the changes in.

⬇ Download capture-thread-571.md