V1 Web PWA · Surface walkthrough

Isis Lineage Graph

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 isis · route /studio/isis/lineage-graph · auth signed-in + studio entitlement (NOT AAA-gated) · source apps/oshun/web/src/app/studio/isis/lineage-graph/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#

Read-only admin lane console over the §24.10 provenance DAG. For any generated output it shows the provenance parents (what it was derived from), the derivative children, and the full descendant reach — the set a takedown would cascade to. The graph and per-output neighborhood are read live from the lineage service.

Entry points#

  • Sibling quick-action card from /studio/isis/provenance-tracking
  • Studio index (/studio)
  • Direct URL / bookmark

Layout regions#

page.tsx mounts ShellLayout active="studio" and three panels (no breadcrumb panel).

  • Workspace panel (data-isis-lineage-graph-workspace):
    • <h1> "Isis Lineage Graph Workspace" (WorkspaceHeading)
    • Summary paragraph (data-isis-lineage-graph-summary)
    • Graph summary (data-lineage-summary): output count, edge count, generatedAt
    • Two-column body: output picker (data-lineage-outputs, <h2>) of data-lineage-output={id} buttons, and neighborhood detail (data-lineage-detail, <h2>) with data-lineage-parents, data-lineage-children, data-lineage-descendants
  • Route map panel (data-isis-lineage-graph-route-map): <h2> "Route Map" enumerating STUDIO_ISIS_LINEAGE_GRAPH_ROUTE_MAP
  • Quick-actions panel: quickAction links to /studio/isis/provenance-tracking and "Back to Studio workspace index" → /studio

States#

  • Loadingdata-lineage-loading "Loading lineage graph…"
  • Unauthorizeddata-lineage-unauthorized (admin-scope fail-closed on 401/403)
  • Errordata-lineage-error on non-OK / malformed response
  • Ready — graph summary + output picker render; selecting an output loads its neighborhood
  • Neighborhooddata-lineage-detail shows parents / children / descendants (descendants empty → "no downstream derivatives")

Interactions#

Output navigation#

  • Output buttonsdata-lineage-output={id} (active marked data-lineage-output-active); click fetches that output's neighborhood via GET /v1/admin/isis/output-lineage/{outputId}
  • Descendant rowsdata-lineage-descendant={id} (read-only takedown reach)

Route map#

  • Route-map articles — non-interactive path + purpose entries

Quick-actions#

  • Open Isis Provenance Tracking workspace/studio/isis/provenance-tracking
  • Back to Studio workspace index/studio

Data & contracts#

  • Reads: GET /v1/admin/isis/output-lineage (LINEAGE_ENDPOINT) on mount — graph (outputs + edges); GET /v1/admin/isis/output-lineage/{outputId} on selection — neighborhood (parents/children/descendants)
  • Writes: None (read-only provenance view)
  • Realtime: None
  • Caching: client fetch, cache: 'no-store', buildBffAuthHeaders()
  • Auth: admin-scoped fail-closed (401/403 → unauthorized state); route behind the signed-in + studio proxy gate
  • Component sources:
    • apps/oshun/web/src/components/studio/StudioIsisLineageGraphWorkspace.tsx
    • apps/oshun/web/src/components/studio/StudioIsisLineageGraphRouteMap.ts

Cross-references#

Open questions / known gaps#

  • Read-only — initiating a takedown that cascades over the descendant reach happens elsewhere; this view only previews the reach
  • Output picker is the full graph node set; confirm how very large DAGs paginate / scope