Retain the Agent list and single editor. Eight configuration sections share one draft and one Save action. Desktop keeps the list on the left; narrow screens use a top Agent selector. Trials use a right-hand panel on wide screens and a full-screen panel with bounded focus on narrow screens.
Icons directly use the repository components/animated-icons pqoqubbw components and their existing start/stop interface, triggered by whole-control hover or keyboard focus; reduced-motion disables animation. The logo is the existing project asset and colors follow neutral light/dark tokens. Embedded HTML assets are built from the existing components, not newly drawn replacement SVGs.
Trials use the current draft and fresh history with at most read-only memory. New conversation uses the saved version with optional invocation-only model, memory and initial-context overrides. Memory overrides may only narrow existing access. Neither operation edits the saved configuration. Simulated replies are labeled; no model requests, real history reads or real memory writes occur.
The state selector belongs to the design preview, covering loading, empty, error, conflict and unavailable dependencies; it is not a product setting. Conflicts display both instruction versions and require explicit selection, with no automatic merge. Production uses server-provided model capabilities, authority, effective scope and readiness rather than the prototype calculations.
Acceptance covers all sections, both languages and themes, desktop/narrow layouts, keyboard tab navigation, animated controls, draft retention, conflict recovery and invocation overrides. Passing the prototype does not establish real API, authorization or execution implementation.
| Control | Visible result | Edge case |
|---|---|---|
| Memory off | No retrieval or writes; show retained existing store separately | Does not remove facts already in conversation |
| Read/write spaces | Choose owned/project/shared references with read/write labels | Shared scope change requires explicit selection and authority check |
| Read only | Read badges; no writer controls exposed as active | Compaction and later writers must also respect read-only execution provenance |
| Required backend | Explain whether unavailable memory blocks execution or degrades | Never silently switch to the global store |
| Context selection | Inherit / clean / explicitly selected data | Keeping a conversation is separate from keeping memory |
| Instruction files | Open permitted file; show source and hash/version | Missing file is an error/warning according to declared requirement; opening a page creates no file |
| Channel resets | Advanced scope, idle timeout, daily time and timezone | Reset affects future routing, does not merge/delete old sessions |
| State/action | Required interaction |
|---|---|
| Create | Inline name input; optional fields later; failure retains name; success selects new config |
| Duplicate | Preview config and shared references; no sessions/memory/schedules copied; optional instruction-content copy is explicit |
| Default | Show one authoritative default; changing default affects new default-resolved sessions |
| Delete | Show owned and referenced resources; default/busy rejects; explicit user confirmation; no misleading all-sessions-in-folder claim |
| Empty/loading/network error | Distinct states; API read failure is not an empty Agent list; Retry retains current draft |
| Partial dependency outage | Unavailable tags in relevant section and readiness summary; other edits remain possible |
| Queued/running executions | Show configuration revision notice, link to execution records; no silent mid-run swap |
| Mobile/keyboard | Top Agent selector at narrow widths; one-column forms; tab arrows/Home/End, visible focus, native controls |
| Accessibility | 16px body baseline, secondary text contrast, labeled inputs, status announcements; no hover-only action |
Reuse AgentsPage, ManagePageHeader, ManageRow, Tabs, connection/model pickers and existing settings controls. Split panels only where behavior owns separate validation; do not build a new page/window framework. A pure draft normalizer handles set/reset and diff, while the server resolver remains authoritative. Wire permission/readiness errors from typed API responses. Frontend summaries do not implement a second policy engine.
Acceptance: A01/A02/A07/A09/A10 from the configuration contract. Exercise all eight sections, memory modes, conflict recovery, missing refs, native model selection and keyboard navigation through the built page. Source-string checks alone do not prove these behaviors. The standalone prototype passes the independent specification and quality reviews, English/Chinese browser flows at desktop and narrow widths, and original-component animation checks. Its examples make no model requests. The production page now implements the eight sections with real configuration APIs. Trial opens an independent new conversation with a persisted restricted snapshot; the embedded panel illustrated here remains a target. Effective preview, arbitrary shared spaces and portable import/export remain planned. Runtime delivery checks are recorded separately from this standalone prototype.