---
id: w5/m6/t001
title: Capture Render's Logs page via Playwright as the design source
worker: worker5
status: done
estimate: 30m
depends_on: []
---

## Objective

Capture Render's Logs viewer as the design reference for this milestone — the filter bar, live toggle, and log-line layout — and record which Render log filters bex-api can and cannot honor over raw pod logs.

## Context

- Render dashboard Logs tab (log in via Playwright MCP; screenshots to `.playwright-mcp/`, bare filenames).
- bex-api logs contract (`docs/ADR006-bex-api.md`, `docs/ADR010-observability.md`): GraphQL `logs(resource, type, text, limit)` → `LogEntry { timestamp message type instance }`; application logs only — `type=request`/`build` return empty; structured filters (`level`, `statusCode`, `method`) omitted; live tail over SSE (`/v1/logs/subscribe`), not WebSocket.

## Steps

1. Navigate Render's Logs page; screenshot filter bar + live toggle + line list to `.playwright-mcp/render-logs.png`.
2. Note the IA: filter controls, live toggle placement, line layout (timestamp/instance/message), autoscroll behavior.
3. Record in the milestone README which Render filters bex-api honors vs. omits, so the UI doesn't offer controls the backend can't serve.

## Files

- `.pm/w5/m6/README.md` (design notes)
- `.playwright-mcp/render-logs.png` (gitignored)

## Acceptance criteria

- [ ] A Render Logs screenshot exists in `.playwright-mcp/`.
- [ ] The README documents the honored-vs-omitted filter set.

## Out of scope

- Building the viewer (t002+).
