# UX Acceptance Criteria

## Global Shell

- `#command-center` is the root app landmark.
- `#module-nav` contains product navigation and Research Validation.
- A sticky command bar remains available on desktop.
- Mobile collapses to a single-column command view without overlapping controls.
- The first impression is MaterialForge Pro and enterprise operations, not the research archive.

## Product Workspaces

- MaterialForge generates an experiment packet, ranked candidates, validation gates, and governance.
- GridForge returns ranked energy tactics, a runbook, and impact metrics.
- Catalyst Agent benchmark displays provider, score, dimensions, and approval gates.
- ExoSignal renders evidence, confounders, score, confidence, and follow-up plan.
- Reality Foundry renders ranked candidate worlds and next experiments.
- Pricing exposes Free, Starter, Pro, and Enterprise with Stripe links for paid self-serve tiers.

## Research Validation

- GaugeBench controls are available inside Research Validation.
- Four canvases render nonblank charts: amplitude, log fit, sweep, and phase snapshot.
- Spectrum validation and validation matrix populate without console errors.
- CurveRank, CycleExtract, and TopologyFlow images render from local artifacts.

## Empty, Error, Loading States

- No run selected state appears in `#evidence-drawer`.
- API offline state writes a readable message to the evidence drawer.
- Agent benchmark failure renders a transcript message.
- Product run failures restore button labels and do not leave controls disabled.

## Cloudflare Integration

- `/v1/agent/capabilities` reports provider `workers-ai`.
- `/v1/agent/respond` uses the Workers AI binding when available.
- `/v1/agent/benchmark` preserves approval gates for GitHub, email, and Cloudflare actions.
- `/v1/modules` returns MaterialForge, GridForge, Catalyst Agent, Reality Foundry, and ExoSignal before research validation modules.

## CI/CD

- `scripts/ghost-forge-ci.sh` runs TypeScript checks and tests before deployment.
- R2 receives the `ghost-forge/latest` docs and pipeline manifest.
- Worker deploy uses `cloudflare-product/wrangler.toml`.
- Pages deploy uses Direct Upload to `catalyst-holographic-dashboard`.
- Stripe funnel metadata is published to R2 at `ghost-forge/latest/stripe-funnel.json`.
