---
id: w5/m8/t001
title: Capture Render's databases dashboard IA via Playwright as design source
worker: worker5
status: done
estimate: 30m
depends_on: []
---

## Objective

Capture how Render's dashboard presents managed Postgres — the databases list, the "New Postgres" create flow, and the database info page (status, connection info, credentials reveal) — so the bex page mirrors real IA instead of guessing, exactly as w5/m7 did for the settings/plan pages.

## Context

- Precedent: w5/m7 captured Render's settings + plan pages live (`.playwright-mcp/render-plan-picker.yml`); w5/m4 did the same for the services table.
- Render's dashboard GraphQL noun is `database` (`docs/ADR006-bex-api.md` §Managed Postgres — noun split verified there).
- bex-api serves only: list / get / create / delete / connection-info. Render's suspend/resume, failover, PITR, credentials rotation, pooler are deferred — note them as gaps while capturing, don't plan UI for them.

## Steps

1. Log into dashboard.render.com via Playwright MCP; navigate to the Postgres list, a database's info page, and the New Postgres flow.
2. Snapshot each surface (bare filenames so they land in `.playwright-mcp/`): list columns, create-form fields, info-page sections, the credentials reveal/copy interaction.
3. Write up the element inventory + which elements map to bex-api fields vs. gaps (deferred verbs, prices) — feed it into the milestone README's Render-reference section.

## Files

- `.playwright-mcp/render-databases-*.png|yml` (captures)
- `.pm/w5/m8/README.md` (append a "Render reference" section, as m7's README has)

## Acceptance criteria

- [ ] List, create flow, and info page captured to `.playwright-mcp/`.
- [ ] Element inventory maps each Render element to a bex-api field or an explicit gap (omit-not-fake list).

## Out of scope

- Any UI implementation; capturing Render's metrics/logs pages (already done in earlier milestones).
