Skip to content

Merge branch 'research/walk6-flow-perceivable' - #522

Merged
dommaker merged 24 commits into
masterfrom
feat/ship-20260913-0051
Sep 12, 2026
Merged

dommaker merged 24 commits into
masterfrom
feat/ship-20260913-0051

Conversation

@dommaker

Copy link
Copy Markdown
Owner

Summary

24 commits from feat/ship-20260913-0051

Commits

1e360db Merge branch 'research/walk6-flow-perceivable'
dc8ba19 Merge branch 'research/walk5-page-load'
0308d2a Merge branch 'research/walk4-receipt-fanout'
a97405b Merge branch 'research/walk3-claim-latency'
c367e6a Merge branch 'research/walk2-route-dispatch'
550a258 Merge branch 'research/walk1-msg-intake'
78f985f Merge branch 'research/frontend-perf-recheck'
8acbf43 docs(web): CONTEXT.md 同步 receipt_render 起点 agent-only 口径 (#520)
5ebc67f fix(web): receipt_render 起点仅记 agent 消息,人类消息不混入回执分布 (#520)
82f5a70 docs(bench): CONTEXT.md 沉淀 mainline-align 工具入口与口径 (#521)
979ec68 feat(bench): 频道主链路离线对齐工具——四段分布 + 单链明细 (#521)
efdf982 feat(web): 前端测量模块 clientPerf + 频道主链路 3 埋点落事件流 (#520)
b555ba1 docs(channels): CONTEXT.md 沉淀 traceId 三路径口径 (#519)
c7d1922 feat(channels): traceId 三条派单路径补齐,全链路统一关联键 (#519)
6983f61 docs(adr): 频道主链路流程与性能优化决策集 + 分级清单(#504 定稿,#513
f8df559 docs: 频道前端性能治理复核——取数纪律漏管行动中心 store(#512
fbaf640 docs: 走查③认领延迟研究报告 + bench(#508
d2e9320 docs: 走查②路由派单 routeMessage 链路性能走查报告 + bench(#507
fcc73e3 docs: 走查⑤页面加载读路径成本研究报告 + bench(#510
d598aaf docs: 走查⑥流转链路频道可感知段研究报告(#511

Test plan

  • CI build-and-test passes
  • Manual smoke test

🤖 Generated with studio-ship

- 嫌疑点③成立:findMergeTargetWorkUnit 稳态每条消息全热文件读(缓存被上一条 append 失效),成本随行数线性 3.4ms@492行→222ms@24.6K行
- 尾部倒扫替代实测全档位 ~0.4ms(约 300-700 倍);生产 3 频道无 defaultProfileId,P3 当前休眠
- 附带发现:P1 replyTo / P2 linkWorkUnit 的 getMessageById 全频道扇出同样是 O(全量) 读口
EVENT trigger 只 observe 不唤醒(票面前提证伪);建单路径统一吃 15s idle 地板,
实测建单→认领 8.5-12.0s、线程回复唤醒 4ms;claim/observe 开销 <40ms 可忽略。
线程回复与默认角色派单(新建 + 合并窗口并入在途 WU)两条路径此前断档,
现与 @mention 路径同写法写入/刷新 WU metadata.traceId(复用发消息路由
已生成的 audit requestId)。合并窗口口径按 spec user story 5 二选一,
统一取「本次消息 traceId」,与 AC「与本次请求一致」对齐。

路由级集成测试先红后绿:三条路径各断言建出/关联的 WU metadata.traceId
与本次请求一致;@mention 路径既有测试不回归。
测量②(spec 2026-09-12-channel-mainline-measurement §3/§4,决议 #505 最小常驻版):
- utils/clientPerf.ts:read-metrics 同构模块级 sink + safeEmit——默认开启
  (HTTP sink 经既有 POST /api/v1/events 落 studio-events,不新增端点;
  测试模式默认 null),setClientPerfSink(null) 整体关闭零行为变化,异常永不外泄
- 三埋点 client.perf.*:send_click(composer 提交瞬间)/ receipt_render
  (SSE 到达→渲染完成,含耗时)/ page_load(进页→首屏消息渲染完成,含耗时)
- 接线:ChannelInput.handleSend / useChannelMessages SSE 新消息记起点
  (已在列表的回声不记)/ ChannelDetailPage messages effect 记终点
- 测试:sink 单测(时机/事件名/负载/关闭零变化/异常不外泄/HTTP sink 契约)
  + hook 测试 + ChannelInput 组件测试 + ChannelDetailPage jsdom 时机测试
统一 code-review minor 修复:SSE 新消息标记起点前过滤 authorType==='agent',
多用户共享频道时 client.perf.receipt_render 不再混入非回执样本。
@dommaker
dommaker enabled auto-merge September 12, 2026 16:53
@dommaker
dommaker merged commit 7d4909d into master Sep 12, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant