Skip to content

Placement Audit (Current Surfaces)

Date: 2026-02-28
Framework: Feature Placement PR Checklist and League/Lab/Dimensions Brief

Scope

Audited: - Global IA + product framing - / (current topology home) - /team/[slug] - /lab - /arena (current simulation page)

Not audited in depth: - API reliability/performance - visual polish/accessibility - backend data quality

Hard-Gate + Score Matrix

Legend: - Gates G1..G7 map to checklist hard gates in order. - P = pass, F = fail. - Score is rubric score out of 14.

Surface Intended station G1 G2 G3 G4 G5 G6 G7 Score
Global IA + branding (nav, header, metadata) cross-cutting F F F F F F F 1/14
Home / (Signal Topology) League F F P P P F P 10/14
Team /team/[slug] League F P P P P F P 10/14
Lab /lab Lab P F P F P F P 11/14
Arena /arena (future Dimensions) Dimensions F F P F P F P 8/14

Findings (Ordered by Severity)

1) Taxonomy is still old; IA contract is not implemented

Severity: High

Impact: - Fails G1 (primary station explicit) across most surfaces. - Users cannot reliably infer the new knowledge framework from navigation.

2) Dimensions is positioned as simulation, but the engine is still Monte Carlo heuristics (not transformer/state model)

Severity: High

Impact: - Mismatch with intended Dimensions positioning (alternate-state model / transformer-driven futures). - Risks user trust if narrative implies a more advanced generative engine than implemented.

3) Dimensions uncertainty contract is incomplete

Severity: High

Impact: - Fails G4 for Dimensions (probabilistic output is present, but calibration/assumptions are opaque).

4) Lab has uneven explainability between team and player contexts

Severity: Medium

Impact: - Partial fail on G4 in Lab; confidence semantics depend on tab, not model behavior.

5) League overlay contains placeholder semantics

Severity: Medium

Impact: - Increases L_league ambiguity term. - Weakens trust on the canonical “state” page.

6) Team page CTAs use old station names

Severity: Medium

  • CTA labels still say Simulate in Arena and Back to Topology in TeamProfile.tsx.

Impact: - Cross-station transitions exist, but language is inconsistent with target framework.

7) Sitemap route contract is stale and mismatched to actual app routes

Severity: Medium

  • Sitemap lists /standings, /teams, /matches, /signals, /analytics and /teams/{slug} in sitemap.ts, while the app currently routes to /, /lab, /arena, /team/[slug].

Impact: - Discovery/SEO dead links. - Adds product confusion and monitoring noise.

Strengths to Keep

  • Lab already has strong control surfaces and reproducible state via useLabUrlSync in ScatterLab.tsx.
  • League page interaction is appropriately read/compare oriented in SignalTerrain.tsx.
  • Arena already presents probabilistic distributions (not single-point outcomes) in SimulationPlayback.tsx.
  1. IA rename + route normalization
  2. Implement League / Lab / Dimensions.
  3. Add /dimensions route and redirect /arena.
  4. Update metadata, CTAs, and header copy.

  5. Station contracts in UI

  6. Add concise station explainer blocks at top of each page.
  7. Add formal uncertainty/model card for Lab and Dimensions.

  8. Dimensions engine honesty

  9. Short term: clearly label current engine as Monte Carlo scenario model.
  10. Medium term: introduce transformer/state-transition model and versioned model disclosure.

  11. League clarity cleanup

  12. Replace placeholder legend semantics and tie labels to actual pattern ontology.

  13. Routing/discovery cleanup

  14. Align sitemap to real routes and canonical URL structure.