Skip to content
This repository was archived by the owner on Sep 2, 2026. It is now read-only.

feat: 上线轨迹 Network 视图 - #45

Merged
HyxiaoGe merged 48 commits into
masterfrom
feat/trajectory-p3-ui
Aug 24, 2026
Merged

HyxiaoGe merged 48 commits into
masterfrom
feat/trajectory-p3-ui

Conversation

@HyxiaoGe

Copy link
Copy Markdown
Owner

背景

将 Fusion 旧“过程”视图升级为对齐 DeepSeek Harness 的会话级 Trajectory Tab,采用 Network 式 Overview、记录表和节点详情三区布局。

改动

  • 新增会话级 Trajectory Tab、记录级 Overview 与虚拟化 Table
  • 新增 Tool 节点 Summary、Payload、Result、Timing 详情面板
  • 接入 SSE 实时归并、按 Run 懒加载、区间聚焦与 one-shot inspect
  • 增加一致性迁移闸门、retry/continue 策略和轻量状态行
  • 最终替换旧“过程”展示,并补充性能与交互回归

验证

  • Vitest:205 files、2287 tests 全部通过
  • Next.js 生产构建:通过
  • git diff --check:通过

依赖

  • 依赖 fusion-api 的 P3 Tool Node Detail 契约先部署到 dev

Co-Authored-By: Codex noreply@anthropic.com

HyxiaoGe and others added 30 commits August 22, 2026 23:05
Co-Authored-By: Codex <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@anthropic.com>
背景:
Trajectory P3 需要把现有聊天 SSE 实时事件受控归并到会话级轨迹状态,同时保持即时进度与历史重连语义不变。

改动:
- 在 parser 公共入口复用 allowlist 归一化并保留原 progress 投影
- 统一接入初次发送、continue 与页面 reconnect 三条路径
- 以流作用域 resolver 隔离迟到事件,terminal 只进入 reconciling
- 覆盖非法拒绝、late Tab、replay 幂等与 1000 事件批次性能

Co-Authored-By: Codex <noreply@anthropic.com>
先以受控 adapter 校验 agent_event,再推进单连接 watermark 并投影旧进度与轨迹,阻断非法事件污染 ready 和聊天状态。

以二分插入优化单事件 reducer,使 1000 条事件通过真实 adapter、handler、store dispatch 路径满足性能门槛。

Co-Authored-By: Codex <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@anthropic.com>
背景:轨迹 P3 已完成双仓本地实现与竞态收口,需要固化可复核的验证边界。

改动:记录前后端测试、构建、类型基线、动作门禁与尚未执行的远端验收。

验证:fusion-ui 2171 tests 与生产构建通过;fusion-api 2841 tests、2 skipped、783 subtests 通过。

Co-Authored-By: Codex <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@anthropic.com>
背景:P3 的 Tool Node Detail 需要在普通用户权限边界内按点击读取,且不能让旧节点的迟到响应污染当前选择。\n\n改动:新增保持 snake_case 的 Tool Detail wire DTO、普通 conversations 端点 client,以及仅保存当前 identity 的可取消 hook;identity 切换和卸载均取消请求,四种后端业务状态统一作为 ready 响应保留。\n\n验证:补充 URL 编码、signal、取消、迟到响应、重试、四态与失败清空数据的 Vitest 覆盖。\n\nCo-Authored-By: Codex <noreply@anthropic.com>
HyxiaoGe and others added 18 commits August 24, 2026 07:03
记录 Task 4 的 Red/Green、定向回归、类型检查基线与实现边界。\n\nCo-Authored-By: Codex <noreply@anthropic.com>
清除产品仓库根目录中的任务执行报告,并保留同内容于本地 SDD 忽略目录。\n\nCo-Authored-By: Codex <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@anthropic.com>
背景:CI Docker 中的 5000-event 用例把 Redux 开发态 immutableCheck 全量扫描计入产品性能预算,导致固定预算在慢 runner 上误报。

改动:仅在性能测试 store 中关闭 immutableCheck,保留 serializableCheck 关闭设置,生产代码和 5.0s/5.75s 预算均不变。

验证:目标 Vitest 5 项通过,git diff --check 通过。

Co-Authored-By: Codex <noreply@anthropic.com>
问题:轨迹重型性能用例在完整测试进程尾部受资源残留影响,CI 中超过固定产品预算。

改动:将普通回归与 serial-performance 项目拆成两个独立 Vitest 进程,保留原有 5.0 秒和 5.75 秒断言。

验证:npm test 与 npm run build 均通过。

Co-Authored-By: OpenAI Codex <codex@openai.com>
问题:liveEventsByRunId 使用单一数组,Immer 在逐条追加 5000 个事件时反复复制完整窗口,导致 CI 性能门禁超过 5 秒预算。

改动:改为每块 128 条的有界分块存储,按帧物化并缓存稳定数组引用;保留乱序插入、冲突审计、5000 条裁剪和 snapshot 对账语义。同时恢复单进程完整测试,避免用测试隔离掩盖真实性能问题。

验证:npm test 通过 205 个文件和 2288 项测试,npm run build 通过。

Co-Authored-By: OpenAI Codex <codex@openai.com>
@HyxiaoGe
HyxiaoGe merged commit 66fcdc2 into master Aug 24, 2026
1 check passed
@HyxiaoGe
HyxiaoGe deleted the feat/trajectory-p3-ui branch August 24, 2026 07:40
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant