V1 Web PWA · Surface walkthrough

Studio Hathor · Entity Version Management

A per-surface walkthrough of the V1 Web PWA studio surface: layout, states, interactions, data, and cross-references.

walked
8sections2 minread

On this page

Context. surface studio · domain hathor · route /studio/hathor/entity-version-management · auth signed-in + studio entitlement · source apps/oshun/web/src/app/studio/hathor/entity-version-management/page.tsx

Last walked. 2026-05-29 automated runtime walk (Playwright headless) — render, /v1 data (2xx), console/page-errors, expected content, screenshot verified; live screen-reader, touch, offline, and telemetry-delivery checks pending a manual AT pass. Evidence: WALKTHROUGH/results/runtime-sweep-2026-05-29.md; body re-derived 2026-06-03 from current source (lane-console architecture)

Purpose#

Admin lane console that assesses a set of entity versions for lineage, branch, metadata, and approval health and returns a verdict with prioritized findings. The operator picks an assessment mode and priority, sets active/baseline version ids and per-axis percentage thresholds, supplies a JSON array of versions, and the lane scores them and lists findings.

Entry points#

  • Quick-action link from /studio/hathor/world-version-branching (verify against that page's source)
  • Direct URL / bookmark — yes; alternates.canonical set to /studio/hathor/entity-version-management
  • Studio overview — see ../../studio-overview.md

Layout regions#

page.tsx renders inside <ShellLayout active="studio">:

  • Workspace <StudioHathorEntityVersionManagementWorkspace /> (data-hathor-entity-version-management-workspace):
    • WorkspaceHeading <h1> — "Hathor Entity Version Management Workspace"
    • Summary <p data-hathor-entity-version-management-summary>
    • The assessment form lane (loading / unauthorized / error / form / result)
  • Route Map panel data-hathor-entity-version-management-route-map<h2> "Route Map" listing the 5 STUDIO_HATHOR_ENTITY_VERSION_MANAGEMENT_ROUTE_MAP entries (entities / changesets / reconciliations / governance child paths)
  • Quick-action lane — two Link.quickAction anchors: World Version Branching, Back to Studio workspace index

States#

  • Loadingdata-hathor-evm-loading while the GET catalog request is in flight
  • Unauthorized (admin-scope 401/403)data-hathor-evm-unauthorized with reason
  • Errordata-hathor-evm-error with reason
  • Ready (form) — mode/priority selects, threshold inputs, versions textarea, submit
  • Resultdata-hathor-evm-result with data-hathor-evm-verdict, data-hathor-evm-scores, data-hathor-evm-findings (list of data-hathor-evm-finding carrying data-hathor-evm-priority), or data-hathor-evm-no-findings
  • Validation errordata-hathor-evm-assess-error

Interactions#

Assessment lane#

  • Mode<select data-hathor-evm-mode> (<span>Mode</span>)
  • Priority<select data-hathor-evm-priority> (<span>Priority</span>)
  • Lineage % / Branch % / Metadata % / Approval % — threshold inputs
  • Active version id / Baseline version iddata-hathor-evm-active, data-hathor-evm-baseline
  • Versions (JSON array) — versions textarea
  • Submit<button data-hathor-evm-submit> "Assess versions" → POST ASSESS_ENDPOINT

Route Map panel#

  • Route entries — verify match with STUDIO_HATHOR_ENTITY_VERSION_MANAGEMENT_ROUTE_MAP (5 entries)

Quick-action lane#

  • "Open Hathor World Version Branching workspace"/studio/hathor/world-version-branching
  • "Back to Studio workspace index"/studio

Data & contracts#

  • Reads: GET /v1/admin/hathor/entity-version-management (EVM_ENDPOINT) — the assessment catalog (modes, priorities, defaults)
  • Writes: POST /v1/admin/hathor/entity-version-management/assess (ASSESS_ENDPOINT) with the version board + thresholds
  • Realtime: none
  • Caching: client fetch on mount, cache: 'no-store', buildBffAuthHeaders()
  • Auth/role check: admin-scoped, fail-closed on 401/403; route additionally gated signed-in + studio by the BFF proxy

Cross-references#

Open questions / known gaps#

  • Hathor is unconfirmed-v1 per WALKTHROUGH/matrix/routes.csv. Confirm whether the dedicated /studio/hathor/ lane consoles ship at V1 or are internal-only.
  • Confirm the expected JSON schema for the versions array (the form only hints "JSON array"); a schema link in the lane would reduce 400s.