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