# Upgrade Report — v20 Agent Rooms

## Summary

v20 adds a first-class Agent Rooms module to the v19 treasury/voting/private-room package. The new surface completes the missing chat layer for human-only rooms, human-agent single chats, multi-agent panels, and preview-safe agent swarms with BYOK provider routing.

## Added

- `agent-rooms/index.html`
- `agent-rooms/app.js`
- `src/agents/*`
- `schemas/agent-room.schema.json`
- `schemas/agent-profile.schema.json`
- `schemas/agent-message.schema.json`
- `examples/agent-room.config.json`
- `examples/agent-provider-routing.example.json`
- `docs/AGENT_ROOMS.md`
- `docs/V20_RELEASE_NOTES.md`
- `tests/agent-rooms.test.mjs`

## Safety boundary

The UI defaults to preview-safe local simulation. BYOK values are runtime-only; encrypted vault mode uses WebCrypto. Production live model calls should be routed through a user-controlled proxy rather than exposing provider keys directly in browser runtime.

## Validation

v20 release validation checks the new static surface, modules, schemas, examples, service-worker precache entries, and surface registry entry.
