44b964682c89535342c283aa73492c758b16c732
Why: The login recovery contract requires a real-browser acceptance spec covering admin issue -> key-only redeem -> forced set-password -> relogin, and the changepw spec needed the same deterministic gate synchronization. Evidence: Both specs pass against an isolated auth-on instance (serve --auth on, binary backend=467718a+frontend=9fc7da2); receipts be7ae9a2/b3a9e691 bound to Dev HEAD 268ef29 (SELF). changepw-form also passes (5.9s) alongside login-key (12.2s) on a reused instance, proving idempotency. Impact: New e2e/login-key.playwright.ts (skip-guarded like existing suites); changepw login() waits for the gate heading and success page before returning to login, fixing a stale-fill race that submitted empty gate fields. Refs: Dev docs/svc-deploy/2026-10-13-login-recovery-contract.md; Dev PR #504.
Implement the three-column workbench frontend: resizable/collapsible nav with overshorthand collapse
Agent-System-Frontend
对话系统前端:React 19 + Vite + TypeScript 三栏工作台(项目会话 / 流式对话 / 计划与工件面板),含 HITL 卡片、sub-agent 追踪弹窗与 schema 驱动渲染;渲染协议由 agent-system-core 定义。
契约与架构见 Agent-System-Documents 设计方案与架构文档;开发规范见 development-guidelines(Dev 仓 development/guidelines)。本仓为 Agent-System 多仓组合的组成部分。
Description
对话系统前端:三栏工作台(项目会话 / 流式对话 / 计划与工件面板),含 HITL 卡片、sub-agent 追踪弹窗与 schema 驱动的设置/插件 UI 渲染;渲染协议由 Agent-System-Core 定义。
3.5 MiB
Languages
TypeScript
92.8%
CSS
6.8%
Shell
0.3%