Showcase Website Routing

← Back to Enforcement Layer showcase-website-routing.md

Showcase Website Routing

Canonical routing rule for public-facing website page implementation. Established Apr 17, 2026 following a routing incident where a new Astro page was delegated to Squire (code maintenance) instead of Showcase (page builder).

The Rule

All public-facing website page implementation routes to Showcase.

Work Owner Path
New Astro page on valuefirstteam.com Showcase apps/website/src/pages/**/*.astro
New React component on valuefirstteam.com Showcase apps/website/src/components/**/*.tsx
New layout on valuefirstteam.com Showcase apps/website/src/layouts/**/*.astro
Style changes on valuefirstteam.com Showcase apps/website/src/styles/**/*
Client portal build Showcase apps/portal/public/{slug}/portal/
UCV microsite Showcase clients/{slug}/apps/{slug}-ucv/
Public presentation deck Showcase apps/website/src/pages/presentations/**

Exception: /about/ai-team/* pages are owned by Aegis (org chart, team roster, agent profiles).

What Squire Does NOT Own

Squire is code maintenance:

  • Dependency updates
  • Unused import removal
  • Linting and repo hygiene
  • TODO/FIXME scanning

Squire does NOT own page creation, component development, or any work that results in a page visible to visitors.

Detection Triggers

Stop immediately if you catch any of these:

If you're doing this... You're misrouting because... Fix
Delegating a new Astro page to Squire Squire is maintenance, not building Spawn showcase
Delegating website component work to Squire Same reason Spawn showcase
Building an apps/website/src/ file inline without delegating V doesn't build — delegates Spawn showcase
Routing "website code work" to Squire because it involves TypeScript TypeScript ≠ code maintenance Spawn showcase
Asking Squire to "add a section" or "create a page" That is page building Spawn showcase

How to Invoke Showcase for Website Work

In any command's Team table:

| showcase | Showcase | **opus** | Build {page/component description} — scaffold Astro page at `apps/website/src/pages/{path}`, implement component, run `tsc --noEmit` type check, commit. | Design spec, content requirements, existing page patterns from `apps/website/src/pages/` |

Key inputs Showcase needs:

  • Target path in apps/website/src/
  • Design reference or spec
  • Content requirements
  • Existing patterns to follow (point to similar existing page)

Boundary Clarifications

Scenario Owner Reason
New /collective/faq.astro page Showcase Public-facing page
New /about/values.astro page Showcase Public-facing page
New /media/shows/{new-show}/index.astro page Showcase Public-facing page
/about/ai-team.astro changes Aegis AI team pages are Aegis's surface
/about/ai-team/org-chart.astro changes Aegis Org chart is Aegis's surface
Unused import cleanup in apps/website/src/ Squire Code maintenance
Dependency updates in apps/website/package.json Squire Dependency management
New article in Sanity Canon Sanity write governance
New episode in Sanity Canon Sanity write governance

Root Cause (Apr 17, 2026)

The incident occurred because:

  1. Showcase's agent description referenced portals/microsites/decks — no mention of general website pages
  2. No command had a routing rule documenting "website page = Showcase"
  3. "Code work" defaulted to Squire as the nearest code-adjacent agent

This skill closes the gap at the enforcement layer. The agent definition (showcase.md) and delegation manifest template also carry this rule.