Context. surface studio · domain mawu · route /mawu-studio/localization · auth signed-in + creator · source apps/oshun/web/src/app/mawu-studio/localization/page.tsx
Last walked. 2026-06-03 automated runtime probe (Playwright headless) — prod build + mock BFF; render, HTTP 200, server-rendered <h1>, 0 page errors verified. Evidence: WALKTHROUGH/results/walkthrough-runtime-probe-2026-06-03.md
Purpose#
Reviews the V7 Mawu launch-locale catalog filtering, per-locale moderation
evidence, and regional governance localization. Tracks catalog / Mawu Studio /
governance / platform-UI coverage across the eight @oshun/i18n launch locales,
and surfaces which catalog content is browser-visible per locale (only
approved content shows in the Abundantia browser). Out of the V1 feature
map — a V7 surface that ships in apps/oshun/web (documented here for an
exhaustive route inventory).
Entry points#
- Direct URL / bookmark —
/mawu-studio/localization(signed-in creator) - Studio shell nav —
active="studio"(shortcut6) - From Accessibility workspace — the "Localization" footer link on
/mawu-studio/accessibility
Layout regions#
- Header (
aria-labelledby="mawu-localization-title") — eyebrow "V7 launch locale set", H1 "Mawu Studio Localization", summary - Metrics (
aria-label="Localization status") — Locales (OSHUN_LAUNCH_LOCALES.length/8), Surfaces (4/4), Moderation (per locale), Governance (regional) - Controls (
aria-label="Localization controls") — Catalog-locale select + Governance-region select - Body grid
- Abundantia Browser (
data-localized-catalog-browser) — catalog entries approved for the chosen locale (title, kind tag, summary, creator, locale, moderation status) - Governance Proposal — regionalized proposal text for the chosen region
- Abundantia Browser (
- Launch Surface Coverage — 4 surface rows (Catalog / Mawu Studio /
Governance / Platform UI) each
N/8 - Per-Locale Moderation (
aria-label="Per-locale moderation evidence") — every catalog content row's locale / status / moderation-report id
States#
- Loading / Error / Offline — N/A: catalog, governance, and coverage
data are in-bundle constants (
CATALOG_ITEMS,GOVERNANCE_TRANSLATIONS,SURFACE_COVERAGE); no client network read - Hydration —
data-hydratedflips totrueafter the mount effect - Catalog locale = es-US (default) —
data-catalog-filter-locale; browser shows only entries with a matchinglocaleandmoderationStatus === 'approved' - Catalog locale with a pending entry — e.g.
pt-BRHarbor Night ispending, so it is filtered OUT of the browser but still appears in the Per-Locale Moderation grid with statuspending - Empty catalog result — when no approved entry matches the locale, the entry list renders empty with the count "0 locale-approved entries"
- Governance region = europe (default) —
data-governance-region; proposal renders the region's locale text (REGION_OPTIONS[region]) - Governance region with no translation — the proposal
<article>is omitted (null guard) - Gated — signed-in creator (shell); no V1 BFF policy (out-of-v1)
- Standalone PWA — renders within the shell
Interactions#
- Catalog locale (select,
data-catalog-locale-filter) — options are the 8OSHUN_LAUNCH_LOCALES(<locale> - <LAUNCH_LOCALE_LABELS[locale]>); filters the Abundantia browser entries (approved-only). Wires bothonInputandonChange- Function: sets
catalogLocale; recomputescatalogEntries - Keyboard: native select semantics; screen reader announces "Catalog locale"
- Function: sets
- Governance region (select,
data-governance-region-select) — options are the 5 regions (north-america / europe / mena / japan / brazil) each shown as<region> - <locale>- Function: sets
governanceRegion; recomputes the governance proposal text
- Function: sets
- Catalog / moderation / coverage lists — read-only; no row controls
Data & contracts#
- Reads: in-bundle
CATALOG_ITEMS,GOVERNANCE_TRANSLATIONS,SURFACE_COVERAGE,REGION_OPTIONS; launch locales + labels from@oshun/i18n(OSHUN_LAUNCH_LOCALES,LAUNCH_LOCALE_LABELS) - Writes: None on the wire. The V7 catalog/moderation/governance BFF
wiring is a future-arc concern; moderation report ids are deterministic
(
kuanyin-locale:<locale>:<region>,kuanyin-governance-locale:<locale>:<region>) - Realtime: None.
- Caching: client component; SSR shell only
- Auth/role check: session (signed-in creator); no V1 BFF policy (out-of-v1)
Cross-references#
- Sibling V7 surface:
mawu-studio-accessibility.md - V6 sibling future studio:
egbe-studio.md - Related V1 governance:
../governance/studio-internationalization-localization.md - Spec:
V7/V7_features.md,V7/V7_ARCHITECTURE.md - Component source:
apps/oshun/web/src/components/mawu/MawuStudioLocalizationWorkspace.tsx
Open questions / known gaps#
- Catalog, governance, and coverage data are in-bundle constants. Confirm
the V7 BFF endpoints that will serve the real localized catalog +
moderation evidence (the
kuanyin-*report ids suggest a Kuan-yin moderation service) before this leaves V7 preview. -
OSHUN_LAUNCH_LOCALES.length/8is rendered as the metric; confirm the launch locale set stays at 8 so the "/8" denominator is correct.