Context. surface studio · domain isis · route /studio/isis/integration-events · auth signed-in + studio entitlement (NOT AAA-gated — integration-events is not in AAA_ONLY_STUDIO_ROUTES; renders for any signed-in studio operator) · source apps/oshun/web/src/app/studio/isis/integration-events/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 dry-runs a generation-job / integration-event envelope
before it is published to the bus. It validates a UUID jobId, a known
generation type, an input record, optional priority/metadata/idempotency key,
and echoes the normalized envelope (priority → normal, idempotency-key →
jobId defaults applied) or the real per-path schema errors.
Entry points#
- Embedded as the "Integration Events Lane" in many Isis aggregator routes (event-publisher, client, generation-api, gpu-worker, job-envelope, output-registry, workflow-registry, workflows)
- Sibling quick-action card from
/studio/isis/client-sdk - Studio index (
/studio) - Direct URL / bookmark
Layout regions#
page.tsx mounts ShellLayout active="studio" and three panels (no breadcrumb
panel).
- Workspace panel (
data-isis-integration-events-workspace):<h1>"Isis Integration Events Workspace" (WorkspaceHeading)- Summary paragraph (
data-isis-integration-events-summary) - The "Event envelope (JSON)" form (
data-isis-ie-form) with a generation-types disclosure (data-isis-ie-types) - Result block (
data-isis-ie-result) withdata-isis-ie-verdict,data-isis-ie-normalizedordata-isis-ie-errors
- Route map panel (
data-isis-integration-events-route-map):<h2>"Route Map" enumeratingSTUDIO_ISIS_INTEGRATION_EVENTS_ROUTE_MAP - Quick-actions panel:
quickActionlinks to/studio/isis/client-sdkand "Back to Studio workspace index" →/studio
States#
- Loading —
data-isis-ie-loading"Loading integration-events validator…" - Unauthorized —
data-isis-ie-unauthorized(admin-scope fail-closed on 401/403) - Error —
data-isis-ie-erroron the mount GET - Ready (form) — envelope textarea + generation-types disclosure render
- Result —
data-isis-ie-verdict(valid →data-isis-ie-normalized, invalid →data-isis-ie-errors) ordata-isis-ie-validate-error
Interactions#
Validate envelope (data-isis-ie-form)#
- Event envelope (JSON) —
data-isis-ie-envelopetextarea - Generation types disclosure —
data-isis-ie-types - Validate envelope —
data-isis-ie-submitsubmit; POSTs to/v1/admin/isis/integration-events/validate
Route map#
- Route-map articles — non-interactive path + purpose entries
Quick-actions#
- Open Isis Client SDK workspace →
/studio/isis/client-sdk - Back to Studio workspace index →
/studio
Data & contracts#
- Reads:
GET /v1/admin/isis/integration-events(IE_ENDPOINT) on mount — catalog (generationTypes) - Writes:
POST /v1/admin/isis/integration-events/validate(VALIDATE_ENDPOINT) — dry-run validate an envelope (no actual publish) - Realtime: None
- Caching: client
fetchon mount,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/StudioIsisIntegrationEventsWorkspace.tsxapps/oshun/web/src/components/studio/StudioIsisIntegrationEventsRouteMap.ts
Cross-references#
- Studio overview:
../../studio-overview.md - Parent aggregators:
- Sibling routes:
Open questions / known gaps#
- Validate is a dry-run only — it never publishes to the bus; confirm the real publish path (event-publisher)
- Generation
typeis validated against the catalog list; new types must be added server-side