---
id: w5/m8/t006
title: Live verify on the mock cluster (create → ready → connection info → delete) + screenshots
worker: worker5
status: done
estimate: 30m
depends_on: [w5/m8/t004, w5/m8/t005]
---

## Objective

Prove the whole page end-to-end against a real cluster: create a database from the dashboard, watch it converge to ready, reveal and sanity-check the connection info, then delete it — screenshotting each surface.

## Context

- The mock cluster (`scripts/mock-cluster.sh`) carries the full backend incl. CNPG; w5/m7's t004 set the precedent (full flow on mock; prod verify deferred to post-`/ship` when prod's bex-api predates the change).
- Dev tunnels: `VITE_KRATOS_PUBLIC_URL=http://localhost:5173/kratos VITE_API_URL=http://localhost:5173/graphql yarn dev` (the m4 recipe) — or point the proxy at the mock cluster's api per the m7 recipe.
- Screenshots: bare filenames → `.playwright-mcp/` (repo rule), e.g. `m8-databases-list.png`, `m8-database-create.png`, `m8-database-conninfo.png`.

## Steps

1. Stand up / reuse the mock cluster with the t002 backend deployed.
2. Drive the flow via Playwright MCP: list (empty) → create → poll to ready → detail + connection-info reveal (verify the psql string against the CNPG secret) → delete → list (empty again).
3. Capture screenshots of list, create dialog, detail with revealed info, delete confirm.

## Files

- `.playwright-mcp/m8-*.png`
- `.pm/w5/m8/README.md` (verification notes)

## Acceptance criteria

- [ ] Full create → ready → connection-info → delete loop performed from the UI against a live cluster.
- [ ] Revealed connection string actually matches the CNPG-provisioned credentials.
- [ ] Screenshots of all four surfaces land in `.playwright-mcp/`.

## Out of scope

- Prod verification if prod's bex-api predates t002 (defer to post-`/ship`, m7 precedent).
