00ad6c8ac0
docker 起来后拿真库验证,上一版有两处只有真数据才暴露的问题: 1. 轨迹字段名猜错了。实际是 seq/ts/node/kind/phase/label/detail,我写的是 type/msg/at。更糟的是兜底判断用了 !e.msg && !e.node —— node 恰好存在, 兜底不触发,结果会渲染出一列几乎空白的行。现按真实字段渲染:label 作 标题、detail 作正文、kind 上色(system/model/tool/agent/plan/section/ render/approval 八种)、phase=error 整行标红、ts 转本地时间。 2. 评测页签点开直接白屏。库里 flags 存的是字符串 "null"(不是 "[]"), JSON.parse 出来是 null,flags.length 抛 TypeError 把整个控制台打崩。 `as string[]` 的类型断言骗过了 tsc,单测也覆盖不到——只有点开真数据的 页面才会炸。改为 Array.isArray 校验。 验证方式:本地起 gateway + 真 Postgres,浏览器里逐个页签点过(轨迹 15 条 真实事件、最终输出、评测 100/100/100、DSL 格式化),并在真库上确认跨租户 读取、jsonb ->> 取 topic、cast(jsonb as text) 取 graph 均正常。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>