Repository navigation
fix(research): give saved report content a clearer first viewport - #7383
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: model_agent · OpenAI · gpt-6.1-sol · runtime_reported · reasoning_effort=max
Approval conclusion (author-owned PR; GitHub blocks formal self-approval)
详细中文评审
动机
阅读已保存研究报告的人,在手机上需要先看到观察、解释及其证据。改前的 390×844 页面把第一条简短解释挤到首屏下面;改后同一视口能同时读到观察和解释。已验证的改善是减少报告头部占用,并保留完整正文、抽样标记、未知结论及原文引用。本 PR 不改变研究判读、模型调用、输入用量归因、执行权限或安装发布。整个研究工作台的真实安装后阅读、研究者理解和效果归因仍待各自原有验收。
这次核对的是已保存报告的实际阅读路径,不能以折叠、没有横向溢出或测试数量代替可读性判断。相同合成数据的前后浏览器结果表明,原先的独立范围行、Agent 身份行和嵌套间距占用了正文位置;修正后原始解释没有缩短,改变的是它在页面中的层级。
改动思路
修改留在既有报告投影与帮助组件内;数据、引用、错误恢复和执行仍由原 owner 负责。本次只交付报告头部与间距整改;普通过程指标由已合入的 #7365 独立负责。既有 ResearchAnalysisPanel 组合报告标题、范围计数和抽样类型;ResearchSynthesis 仍负责保存结果的摘要、观察、解释、竞争解释及实验建议。完整方法说明使用原有 ContextHelp,支持悬停、键盘和点按,Esc 先关闭帮助并保留报告。点击历史图标仍返回同一 Goal 历程,名称与回调没有改成另一种操作。
比不改更有价值的是减少重复头部;比 CSS 隐藏更稳妥的是保留范围、未知和原文。另建目录、分页器或报告状态系统不能解决本次已复现的间距问题。当前机制都是投影或本地帮助,没有新增执行 provider、准入策略或状态 owner。
具体改动
规范依据为 docs/development/design.md,固定版本 f794ee4642353b70cde185e2774fa0059c467d6a。explanations-on-demand 已实现:辅助身份说明进入共享语义帮助,正文和抽样仍可读。populated-page-review 已实现:检查普通摘要、完整展开报告、下方历程与未知/失败状态,并分别核对桌面和窄屏。earn-the-users-attention 已实现:去除重复行,保留读者此刻需要的结果与操作;没有把读取报告变成新的确认流程。
关键代码讲解
ResearchAnalysisPanel在有 synthesis 时采用紧凑头部,保留具体报告名、片段数、固定范围或定向抽样。无 synthesis 时继续输出原范围和 Info 帮助。错误、重试、只读限制及显式分析按钮没有移入本次新条件。ResearchSynthesis的普通模式用 Sparkles 帮助说明 Agent 分析未校准;详细模式移除重复 provenance 头部。观察和解释仍分列或窄屏堆叠,引用、竞争解释、片段链接及实验内容保持原文。research-reading-layer间距 只覆盖普通摘要,展开报告由自己的样式控制。标签的局部选择器抵御通用按钮样式覆盖,恢复单一下划线。既有整页脚本新增实际段落位置、帮助交互、范围和英文断言;六张截图仅使用公开合成数据。
对主干的风险
最强反例是“画面更安静,却隐藏抽样、校准限制或完整证据”。实际检查保留了三片段和定向抽样标记,完整帮助包含范围外工作、证据不等于核验及各指标含义。正文仍展示无效候选和保留未知,原有引用可进入完整原文并返回原控件。非 synthesis、历史/不可用来源、旧请求晚到、语言/pack 切换和失败恢复也在完整生产 HTTP/隔离 SQLite 场景中通过;没有用 mock 提供目标后置条件。
最终 research-history 为 181.052 秒,goal-showcase 为 3.250 秒;Chat 类型检查与打包、CSS token、差异/双语检查和公开边界扫描通过。初始准备、触屏 fixture 和继承间距失败都保留,最终修复后在相同相关路径重新验证,没有放松断言。自动 premerge 与六张二进制图片的逐张视觉检查分开记录。当前策略 wait_for_ci=false,未查询或等待 CI。#7365 后续合入的普通过程披露与本次头部条件独立,合并树无冲突;其新增条件和测试也已检查。
没有新增 Actor、权限、持久化字段、控制平面义务或文案分类启发式。没有 default-off 新功能声明;旧模式的原范围和读写边界继续保留。若回退本次单一提交,不需要数据迁移或撤销模型副作用。代码量的主要收益是删除重复显示并缩小样式作用域,没有保留一个无实际调用方的新框架。
我的整体评价
交付判断为 justified_increment;长程执行能力保持,报告阅读体验在已检查的源构建范围内改善。整页观察显示报告正文更早出现;观察与解释的区分、原生保留未知和引用入口仍清楚,完整解释留在共享帮助与原有阅读器。未验证正式 App 的安装采用、真实研究者理解、科学收益或输入 token 的框架归因。
修改留在既有报告投影与帮助组件内;数据、引用、错误恢复和执行仍由原 owner 负责。本次只交付报告头部与间距整改;普通过程指标由已合入的 #7365 独立负责。前后比较覆盖同一真实读取边界和固定合成数据:窄屏解释段落原来结束于 836.50px,阅读区底部为 774px;当前结束于 767.91px。它证明这条短报告的呈现改善,不能推成普遍理解提升或科学收益。英文内容较长时继续按原文换行滚动,没有为塞入首屏而删减。规范与原有 owner 匹配,未发现阻塞问题,本精确 head 可作 APPROVE 结论;合并权限、当前 CQR、premerge 和新鲜 readiness 仍单独检查。
英文简短结论
English verdict: APPROVE — bc263ef622bb6ecea0265b691c408b088832d64e. The existing report header/help and scoped CSS bring the first short interpretation into the narrow reading viewport while retaining scope, uncertainty, original content and exact citation return. Packaged HTTP/SQLite research and showcase journeys, build/token/boundary checks and actual visual review pass. Installed adoption, researcher comprehension and scientific/token-attribution outcomes remain unverified; merge readiness is separate.
|
Post-merge qualification at The reviewed author head remains |
Goal And Delivered Outcome
The saved research report spends several rows on scope and Agent provenance before its findings. At 390×844, even the first short interpretation falls below the reading viewport.
Combine that metadata into one report header, keep the selected report, episode count and sampling visible, and put the complete provenance explanation in the existing accessible help. The full observation, interpretation, competing explanations and citations retain their original content. Report tabs use their intended flat treatment; the outer history layout no longer overrides detail spacing.
Before → after: the first short Chinese finding now exposes both its observation and interpretation in the same narrow viewport. This is a presentation repair under the existing design contract, not a new research score or an analysis execution change.
Author Declaration
Implemented against
ResearchSynthesis,ResearchAnalysisPanel,ContextHelpScope And Continuation
Complete within this scope: report header hierarchy and optional provenance. Non-synthesis analysis keeps its existing scope/help; permissions, original evidence, error/recovery actions, pack/language binding and model execution stay with their existing owners. The history action retains its accessible name with the existing glyph family.
The separate ordinary process-disclosure repair in #7365 remains independent. Installed App adoption, full native research readback, researcher comprehension and scientific benefit are not qualified by these source-built captures.
Validation
bc263ef622bb6ecea0265b691c408b088832d64e, integrated on targetmainatf794ee4642353b70cde185e2774fa0059c467d6a.npm run build:chat: TypeScript and verified packaged bundle; CSS token check, diff hygiene, RFC bilingual gate and isolated public text scanresearch-historyin 181.052s: summary/deep report, zh/en, keyboard/touch help, original citations, related episodes, view/reload/Back and source failure/recoverygoal-showcasein 3.250s, including narrow layout, English, failed refresh/recovery and motionInitial preparation and touch-fixture errors, plus the inherited spacing failure, were corrected before the final runs. Required local validation now passes. Premerge automatic checks pass; binary-image review and exact-head review/readiness remain separate gates. No PostgreSQL, storage, scheduling, CLI or messaging behavior changes are claimed.
Frontend / Visual Evidence
93bb1ed2794685aec8325142d4b9a31860e93428; the report was also rechecked against current targetf794ee4642353b70cde185e2774fa0059c467d6a. After captures show the final report source. The rebase did not change this report composition.Attention review: the saved research account leads; metadata occupies fewer rows, while selected scope and sampling remain visible. The model identity and full methodological limits have one shared help entry per reading mode. Unknown retention and failure/recovery remain explicit. English and longer source text continue as readable prose rather than being shortened to fit a screenshot.
Craft review: the same monochrome hierarchy, body size, theme tokens and glyph family remain. Tabs have one active underline, and the report keeps its existing observation/interpretation columns on desktop and stacked reading on a narrow screen. Functional assertions and these visual observations are separate evidence.