1445f9e2afb75b078311d0a7719259a1d4c4abcd
governance / governance (pull_request) Successful in 15s
Why: TimelineTab's history effect read the shared events genRef without incrementing it, so two overlapping history requests both passed the check and a stale response could overwrite a fresher one, violating the single-async-owner / drop-stale-events rule. Tree row buttons also hid their expand state from assistive tech and announced the decorative caret. Evidence: new src/components/RdmAuditWorkspace.test.tsx (7 cases) covers out-of-order resolve, stale rejection, cleanup invalidation, ref isolation and aria attributes; reverting to the non-incrementing read fails 3 cases. npm test 43 files / 503 tests pass; npm run build ok; node scripts/check-knip.mjs 50 <= 51; test/design-guard.test.ts 7/7. Impact: history state now owned by historyGenRef via startLatestFetch (incremented per fetch, checked on resolve, invalidated on cleanup); the events-list seq is untouched. Expandable tree buttons expose aria-expanded, non-expandable rows omit it, caret is aria-hidden. Refs: review findings on RdmAuditWorkspace (TimelineTab history seq, tree row a11y); AGENTS.md async-state rule; DESIGN.md Co-authored-by: Cursor <cursoragent@cursor.com>
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%