Repository navigation
fix(dashboard): compact research decision history - #7489
Conversation
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
loopx-agent
left a comment
There was a problem hiding this comment.
Reviewer: actor_kind=model_agent; model=gpt-6.1-sol; provider=OpenAI; declaration_source=runtime_reported; effort=max
Approval conclusion (author-owned PR; GitHub blocks formal self-approval)
这是作者合并后审计。评审期间 PR 已由维护者合入;对完整 head e00543402c30eb531fc0bfeaaee92c9d6f57dfc0 未发现需要修复的阻塞问题。结论限于已实际验证的决策阅读改动,不代表独立评审或安装生效。
动机
研究页需要比较同一问题多次决策的读者会遇到这个问题。原来三条记录各自重复展示变化、停止和保留段落;现在每条记录用两行原文预览与数量标记呈现,点开同一个结论即可阅读全文。在390px的相同合成数据中,三条记录从633.5px缩为391.1px,真实状态、全部条目和旧记录仍能读取。
重复条件原来与实际变化争夺注意力,尤其在同一问题累积多次决定时,读者需要连续滚动才能比较下一条。只改文字标签不能解决这个布局问题;把原始证据塞进悬浮说明也不符合完整阅读要求。本PR不改写已存内容,不增加翻译修订、分析执行或控制平面规则,也不证明研究收益或安装中的App效果。整个研究工作台仍需按已有任务继续验收;安装中的App与独立用户阅读效果尚未验证。
改动思路
决定列表本就是既有研究历史的显示投影,继续复用同一结论 reader 比新增折叠面板或译文编辑器更合适。当前边界是决策列表的默认摘要与已有详情入口;解析、状态、历史和执行权限保持原 owner。
默认行保留结果、记录时间、真实来源状态、两行原文预览和条目数量,右侧箭头指向既有详情。预览优先使用变化;没有变化时使用停止或保留原文,不生成短标题、不推断新结论。打开一条记录仍直接选定原来的结论版本,回看旧记录也不会跳到最新版本。读者没有新增设置、复制、确认或模型等待;完整来源是一项自愿的一次交互,Escape 返回原行。
具体改动
依据 docs/development/design.md,规范版本 31d61bff11474e60726b87a756170feee122e0d1,逐项核对已有条款:compact-supporting-rows 对应紧凑的可比较摘要和完整选中内容;preserve-consequential-state 对应可见的已反驳、暂定、停止与保留事实;populated-page-review 对应长、重复、混合状态的默认全页、下方问题和展开窄屏检查。这些条款没有随实现改写。
TrailQuestion 继续使用既有 ExploreDecision。其选择回调仍把 node_id 与 result_id 交给 GoalResearchHistory,完整原始列表由原 reader 展示。CSS 只调整该列表的行结构,未缩小正文字体。字段迭代只是复用既有变化、停止、保留名称,没有新增共享词表或控制规则。
实际打包界面和一次性只读 HTTP/SQLite 后端验证了三个问题、每题五条长决策、负结果与暂定状态。空变化记录、六个完整条目、旧记录的精确选择、中文/英文、390px、reduced motion、Enter/Escape、来源不变和零写入均通过;完整 research-history 场景在最终集成 head 上通过。对照基线的密度断言实际失败于633.515625px,最终为391.125px。10项历史投影测试、desktop/chat构建和共享 goal-showcase 场景也通过。
对主干的风险
最值得防范的是摘要压缩后隐藏负面条件,或点旧记录却打开最新结论。当前行仍给出来源状态和停止/保留数量,打开后核对的是准确 result_id 与完整六项内容;原始事件字节没有改变,读取没有写操作。较短截图本身不是这些语义的证据,实际入口的身份、完整条目、旧记录和失败恢复检查分别执行。
完整 diff 为13个路径、+131/-12,其中生产代码+20/-12、既有集成场景+111,其余是10张实际合成截图。四项直接检查和16项选中 canary 自动检查均通过,精确范围的 change-quality 记录为pass;10张二进制图片仍保留人工评审项,不能写成自动隐私检查通过或合并资格。依当前契约 wait_for_ci=false,没有读取或等待远程CI。后续主干的只读路由 import 调整已检查,不触及本PR的显示或选中语义;没有把它当作本次修改或安装证据。若出现回归可撤回这两个显示文件,不涉及数据迁移。
我的整体评价
这是对原可读性问题有实际价值的独立增量,边界可测试、可回滚;更广的研究页验收仍沿已有工作继续。long_horizon 判为 preserved:旧决策、未知与负结果继续保留,不声称调度、成本或研究收益改善。user_experience 判为 improved,依据是同一真实打包入口下更容易比较的默认行和仍可直接阅读的完整来源,不是字段齐全或测试数量。
已查看默认首屏、下方问题与选中结论的首段和保留条目,桌面与390px均保留正文层级;停止和保留段落不再在每条摘要中反复铺开,完整来源仍在同一 reader 内。未验证已安装App、真实模型或独立用户理解效果;长原文仍可能重复,按需逐条阅读。
决定列表本就是既有研究历史的显示投影,继续复用同一结论 reader 比新增折叠面板或译文编辑器更合适。当前边界是决策列表的默认摘要与已有详情入口;解析、状态、历史和执行权限保持原 owner。未引入新的详情框架、状态 owner 或翻译编辑工作流;现有 owner 足以承载这次调整。该审计保留了上述安装与用户验证边界,也保留图片人工项,不能代替独立审查或自动清除其他门槛。
English verdict: APPROVE for the reviewed presentation change. This author post-merge audit found no actionable regression; it does not establish independent validation or installed behavior.
研究页同一问题下的每条决策都会铺开“变化、停止、保留”三段长文,重复条件让下一条决定很难比较。现在每行保留决策、记录时间、真实结论状态和两行原文预览,停止与保留内容用数量标记。点击或 Enter 仍直接打开对应的完整原始结论,Escape 返回原来的记录;旧记录和负结果继续可读。
沿用现有 按需阅读规范、Explore 字段和结论 reader。没有新增翻译修订流程、分析请求或执行入口。完整原文没有改写,也不放进悬浮帮助。
验证使用合成的三问题、十五条长决策和混合状态,经一次性只读 HTTP + SQLite 后端和实际打包 UI 回读。390px 下同组三条记录从 633.5px 缩为 391.1px;这只是布局测量,不是研究收益或用户效率评分。比较基线为
d60b1f9ef;最终集成版本包含后续 main 的输入占比精度修复。research-history浏览器场景,含中文/英文、390px、reduced motion、无变化记录、完整停止/保留条目、旧记录、焦点返回和零写入。explore_history的 10 项投影测试;goal-showcase全页场景。视觉证据
实际打包界面,公共安全的合成数据;桌面 1280×900、手机 390×844。以下首屏及下方区域均已查看,原始长文仍通过单条 reader 阅读。最终源码版本:
e00543402c30eb531fc0bfeaaee92c9d6f57dfc0。桌面首屏:
手机首屏(同一打包版本,原生测量合成场景):
后续问题、英文界面与完整原文阅读