← Back to suites
realtime-gate zero-budget semantic-index

Realtime gate

Realtime, mirror, export, and read-only browser proof. This lane validates collaboration-adjacent browser behaviour without leaving the self-hosted runner.

Behaviours 0 Tests 64 Graph 65 nodes · 64 edges Runner corbet/unraid CircleCI browser_realtime Source qa/suites/realtime-gate.yaml

Test witnesses

These tests belong to the suite. Missing implementation links stay visible until a code-backed graph claim records them.

TestStatusImplementationOpen
cloud_keys: provider API keys are redacted to "****", chains are preserved
@cv/ui · playwright · export.spec.ts
catalogmissing implementation linkTest
does not expose shared ad/role ids in exported workspace job data
@cv/ui · playwright · export.spec.ts
catalogmissing implementation linkTest
export is idempotent — two consecutive calls return the same id, slug, name
@cv/ui · playwright · export.spec.ts
catalogmissing implementation linkTest
export works with slug as the URL param (slug-or-id routing)
@cv/ui · playwright · export.spec.ts
catalogmissing implementation linkTest
exports job origins inline
@cv/ui · playwright · export.spec.ts
catalogmissing implementation linkTest
includes canonical workspace notes in the backup
@cv/ui · playwright · export.spec.ts
catalogmissing implementation linkTest
jobs array contains full job payload including tailored_cv, tailored_cl, chain_overrides
@cv/ui · playwright · export.spec.ts
catalogmissing implementation linkTest
returns 200 with all required top-level keys
@cv/ui · playwright · export.spec.ts
catalogmissing implementation linkTest
returns 404 for a non-existent workspace
@cv/ui · playwright · export.spec.ts
catalogmissing implementation linkTest
/view/[mirrorId]/dashboard loads as read-only shell
@cv/ui · playwright · mirror-workspaces.spec.ts
catalogmissing implementation linkTest
/view/[sourceId]/dashboard redirects to /[slug]/dashboard
@cv/ui · playwright · mirror-workspaces.spec.ts
catalogmissing implementation linkTest
API write to mirror source_id via mirror_id returns 403
@cv/ui · playwright · mirror-workspaces.spec.ts
catalogmissing implementation linkTest
DELETE workspace via mirror_id returns 403
@cv/ui · playwright · mirror-workspaces.spec.ts
catalogmissing implementation linkTest
PATCH workspace via mirror_id returns 403
@cv/ui · playwright · mirror-workspaces.spec.ts
catalogmissing implementation linkTest
PUT notes via mirror_id returns 403
@cv/ui · playwright · mirror-workspaces.spec.ts
catalogmissing implementation linkTest
PUT settings via mirror_id returns 403
@cv/ui · playwright · mirror-workspaces.spec.ts
catalogmissing implementation linkTest
cannot revoke a mirror belonging to a different source
@cv/ui · playwright · mirror-workspaces.spec.ts
catalogmissing implementation linkTest
creating a mirror of a live mirror returns 400
@cv/ui · playwright · mirror-workspaces.spec.ts
catalogmissing implementation linkTest
fork is independent — editing source does not affect fork
@cv/ui · playwright · mirror-workspaces.spec.ts
catalogmissing implementation linkTest
fork is writable
@cv/ui · playwright · mirror-workspaces.spec.ts
catalogmissing implementation linkTest
fork preserves canonical notes and stays independent
@cv/ui · playwright · mirror-workspaces.spec.ts
catalogmissing implementation linkTest
fork returns a new source_id (not a mirror_id)
@cv/ui · playwright · mirror-workspaces.spec.ts
catalogmissing implementation linkTest
forking a live mirror returns 400
@cv/ui · playwright · mirror-workspaces.spec.ts
catalogmissing implementation linkTest
frozen mirror API writes return 403
@cv/ui · playwright · mirror-workspaces.spec.ts
catalogmissing implementation linkTest
frozen mirror preserves canonical notes at snapshot time
@cv/ui · playwright · mirror-workspaces.spec.ts
catalogmissing implementation linkTest
live mirror reflects source updates
@cv/ui · playwright · mirror-workspaces.spec.ts
catalogmissing implementation linkTest
returns 403 when called with a mirror_id
@cv/ui · playwright · mirror-workspaces.spec.ts
catalogmissing implementation linkTest
returns created mirrors with correct types
@cv/ui · playwright · mirror-workspaces.spec.ts
catalogmissing implementation linkTest
returns empty array when no mirrors exist
@cv/ui · playwright · mirror-workspaces.spec.ts
catalogmissing implementation linkTest
revoked mirror returns 404 on subsequent access
@cv/ui · playwright · mirror-workspaces.spec.ts
catalogmissing implementation linkTest
source edits after snapshot creation do not appear in frozen mirror
@cv/ui · playwright · mirror-workspaces.spec.ts
catalogmissing implementation linkTest
CV|CL tab is active when on /cv route
@cv/ui · playwright · read-only-views-cvl.spec.ts
catalogmissing implementation linkTest
configuration panes canonicalize back to the CV viewer
@cv/ui · playwright · read-only-views-cvl.spec.ts
catalogmissing implementation linkTest
loads the real CVL viewer instead of the old placeholder
@cv/ui · playwright · read-only-views-cvl.spec.ts
catalogmissing implementation linkTest
nav tabs link to read-only routes (not editor routes)
@cv/ui · playwright · read-only-views-cvl.spec.ts
catalogmissing implementation linkTest
no CVL editing controls are present
@cv/ui · playwright · read-only-views-cvl.spec.ts
catalogmissing implementation linkTest
page loads with 200 and shows read-only title
@cv/ui · playwright · read-only-views-cvl.spec.ts
catalogmissing implementation linkTest
page title contains workspace name
@cv/ui · playwright · read-only-views-cvl.spec.ts
catalogmissing implementation linkTest
read-only badge is visible in the nav
@cv/ui · playwright · read-only-views-cvl.spec.ts
catalogmissing implementation linkTest
route resolves via mirror ID (canonical read-only credential)
@cv/ui · playwright · read-only-views-cvl.spec.ts
catalogmissing implementation linkTest
workspace name is displayed in the header
@cv/ui · playwright · read-only-views-cvl.spec.ts
catalogmissing implementation linkTest
Kanban tab is active when on /kanban route
@cv/ui · playwright · read-only-views-kanban.spec.ts
catalogmissing implementation linkTest
nav tabs all point to /view/ routes
@cv/ui · playwright · read-only-views-kanban.spec.ts
catalogmissing implementation linkTest
no Kanban write controls are present
@cv/ui · playwright · read-only-views-kanban.spec.ts
catalogmissing implementation linkTest
page loads with 200 and shows read-only title
@cv/ui · playwright · read-only-views-kanban.spec.ts
catalogmissing implementation linkTest
page title contains workspace name and read-only marker
@cv/ui · playwright · read-only-views-kanban.spec.ts
catalogmissing implementation linkTest
read-only badge is visible in the nav
@cv/ui · playwright · read-only-views-kanban.spec.ts
catalogmissing implementation linkTest
route context exposes readOnly=true (Svelte context)
@cv/ui · playwright · read-only-views-kanban.spec.ts
catalogmissing implementation linkTest
route resolves via mirror ID
@cv/ui · playwright · read-only-views-kanban.spec.ts
catalogmissing implementation linkTest
workspace name is displayed in the header
@cv/ui · playwright · read-only-views-kanban.spec.ts
catalogmissing implementation linkTest
Dashboard tab is marked as active on /view/[wsId]/dashboard
@cv/ui · playwright · read-only-views.spec.ts
catalogmissing implementation linkTest
add-job button is absent
@cv/ui · playwright · read-only-views.spec.ts
catalogmissing implementation linkTest
clicking Kanban tab navigates to /view/[wsId]/kanban
@cv/ui · playwright · read-only-views.spec.ts
catalogmissing implementation linkTest
cloud-keys modal trigger is absent in read-only mode
@cv/ui · playwright · read-only-views.spec.ts
catalogmissing implementation linkTest
navigation tabs include Dashboard, Kanban, CV | CL
@cv/ui · playwright · read-only-views.spec.ts
catalogmissing implementation linkTest
no write-action toolbar buttons (Evaluate, Extract) are present
@cv/ui · playwright · read-only-views.spec.ts
catalogmissing implementation linkTest
page contains the "Read-Only" badge in navigation shell
@cv/ui · playwright · read-only-views.spec.ts
catalogmissing implementation linkTest
route accepts the mirror ID path segment
@cv/ui · playwright · read-only-views.spec.ts
catalogmissing implementation linkTest
route loads without a 500/404 error boundary
@cv/ui · playwright · read-only-views.spec.ts
catalogmissing implementation linkTest
shows job rows when jobs exist
@cv/ui · playwright · read-only-views.spec.ts
catalogmissing implementation linkTest
workspace name and slug are rendered in the page heading
@cv/ui · playwright · read-only-views.spec.ts
catalogmissing implementation linkTest
navigating /cvl → /dashboard with no peers closes the WS again
@cv/ui · playwright · realtime-rule2-lazy-ws.spec.ts
catalogmissing implementation linkTest
navigating /dashboard → /cvl opens the WS (sensitive surface)
@cv/ui · playwright · realtime-rule2-lazy-ws.spec.ts
catalogmissing implementation linkTest
solo human on /dashboard never opens the WS
@cv/ui · playwright · realtime-rule2-lazy-ws.spec.ts
catalogmissing implementation linkTest