AZ-009 — Mocking Bird developer console

Status

Done

Context

Read README. AZ-008 delivers mail transport interception/capped safe capture and constrained local test-email API. AZ-006 provides authenticated navigation/CSRF, and AZ-002's registry accommodates hidden/developer-only pages. General history cannot display raw mail or token URLs; local synthetic previews are a separate controlled facility.

Goal

Deliver a small, opt-in developer page for choosing fixed mock scenarios and inspecting safe requests/synthetic mail, with backend-enforced absence in hosted deployments.

Requirements

Non-goals

No live production developer tool, privileged impersonation, arbitrary outbound interception, response scripting, real-mode switching, request export/replay, persisted history or generic integration dashboard. No claim that hidden navigation secures an endpoint.

Implementation guidance

Reuse registry, MUI, localizations, transport and safe feedback from earlier tasks. Backend config is the authoritative gate; frontend availability may additionally query developer capability, but cannot override it. Extend test harness with enabled-local and disabled-hosted variants. Keep build flags and server runtime flags distinct in documentation. Use input constraints on both client and backend, and content-size limits before capture rather than truncating already stored sensitive raw objects.

Acceptance criteria

Verification

pnpm quality
pnpm test
pnpm test:coverage
pnpm build
pnpm validate:docker

Add backend enablement/negative validation tests and frontend registry/console RTL tests; add Playwright local mock send/history scenario in both projects. Canonical validation enables the local tooling build/config explicitly for that test. Separately test standard disabled build declaration absence and backend staging/production route absence in controlled fixtures; no need for a second full Docker reset just to repeat unrelated journeys. Inspect 320/360px, keyboard-only detail/clear actions and long sanitized metadata wrapping manually.

Documentation

Update development (enablement matrix, page registration, scenarios/preview caps), Docker (build/runtime flags), testing/CI (enabled-local and disabled-hosted negative proof), OpenAPI, architecture security boundary and current-state/handover. Include safe screenshots only with synthetic token-free content if useful; screenshots are not mandatory acceptance artifacts.

Dependencies

AZ-006 and AZ-008 (including their prerequisites).