Add characterization tests first, then split the hot spots into small helpers:
- STT/TTS settings updates move to extensions/piagentui-speech-settings.ts (rule tables)
- defaultExtractData is split into diff/diagnostic/output extractors
- getToolSummaryCategory becomes an ordered rule table (toolSummary.ts)
- sanitizePersistedTerminalLayoutMap is split per level
- duplicated diff stats helpers are merged into utils/diffStats.ts
- README.md rewritten from the real code: quick start, container stack with the actual image namespaces, Pages deploy, verification with the commands that ran, honest limitations
- README.pt-BR.md rewritten; the es/ja translations get a warning pointing at the canonical README
- package.json: homepage/repository point at this repository, node >=22 declared, @mariozechner/pi-coding-agent added as devDependency (extensions/piagentui-server.ts imports it)
- Cargo.toml: repository field filled
- .pi-lens/ ignored and its cached review graph removed from tracking
- three material icons replaced by their 32x32 sources (the committed 16x16 files were broken)
- backend and gateway images come from ghcr.io/evandrodevbr/opencodeui-{backend,gateway} (published)
- ghcr.io/evandrodevbr/opencodeui-frontend was never published (docker-frontend.yml failing since 2026-06-01), so the frontend keeps pulling ghcr.io/lehhair/opencodeui-frontend
- trigger on main (the default branch) instead of the non-existent dev
- VITE_BASE_PATH /OpenCodeUI/ -> /PiAgentUI/, matching the repository name
- enable Pages automatically on the first run