Changelog

2026-07-06Feature

Handoff 04: code-owned catalog and canonical URL redirects

Every tool, category, and product now lives in a code-owned catalog under apps/marketing/src/lib/catalog/. The old Supabase wf_tools, wf_tool_categories, and wf_products tables were dropped. The admin registry UI at /account/admin/registry and its API routes were decommissioned.

Canonical URLs. Every tool now has exactly one indexable URL: workforge.cambareri.net/<category>/<slug>. All standalone tool subdomains (pdf, invoice-generator, json-to-csv, and the 12 others) 308-redirect to their canonical marketing route. Intra-marketing legacy paths for the two tools that moved from Dev Tools to Data Tools redirect too.

Tailwind fix. The marketing app now scans every workspace package for Tailwind utilities, not just @repo/ui. Utilities used only inside tool packages (md:flex, md:sticky, etc.) were silently missing from the compiled CSS before this handoff. Fixed by adding @source "packages/*/src/**" to globals.css.