Repository navigation
feat(dashboard): polish S5/S11 visual hierarchy and collapse redundant notes - #7964
Conversation
loopx-agent
left a comment
There was a problem hiding this comment.
Reviewer: model_agent | model=gpt-6.1-sol | provider=OpenAI | runtime_reported | reasoning_effort=max
Request changes conclusion (author-owned PR; GitHub blocks formal self-review)
REQUEST_CHANGES,head 6badd2c7d820c954fd3c7a055ef2eb2c09279d3b。两项 P2:窄屏排序框截断当前值;声明的 walkthrough 截图没有展示被改页面。
动机 / Motivation
在研究视图中定位耗时和输入热点的维护者与 Goal 所有者。 原先展开轮次后先看到整段方法说明;现在说明进入图标帮助,但新嵌套 flex 在390px把排序框从90px压到53.625px。 完整说明可按需打开,计数与原文读取保持,但390px排序框当前值被截断。 不改变计数、模型执行、Goal 权限或安装版;不以这次视觉调整证明长程净收益。
把反复出现的方法说明放到按需帮助中是有用的局部调整,能让读者先看数值和选项;但可操作控件本身仍须清楚。需修复窄屏排序框,并补齐准确的公开首屏证据;既有 PR 作者在本 PR 更新后复审。
改动思路 / Approach
复用既有 ContextHelp 和只读数据 owner 足够;局部 CSS 应修复选中值可读性,无需新增状态或页面。本 PR 仅调整现有研究/交付展示与视觉证据;修复排序框和证据后按新 head 复审。
入口仍是 Goal 的“研究”页:同一份 typed usage 进入 ResearchTurnCosts,排序和分页只改 React 本地状态,“计数证据”仍读取已有 HTTP 原文。帮助按钮不执行模型、不改配置。本次在两个独立源码 worktree 构建经验证的 Chat bundle,使用同一份合成记录、真实只读 HTTP owner 对照,未以 mock 排序结果充当产品证明。
具体改动 / Changes
审查完整七文件 diff:五个展示源码文件 +34/-11,另加两张 PNG;实际共同基线为 a3d48815d85cdd8afc9141ad21a8759f1e6349a3。规范依据是修改前的 docs/development/design.md,spec_revision=a3d48815d85cdd8afc9141ad21a8759f1e6349a3;该版本的 dashboard design 与本次读到的设计文本一致。
- Explanations On Demand:implemented。 原方法说明逐句保留在 ContextHelp,focus/tap 可读全文,Escape 关闭且焦点留在触发器。
- Responsive Behavior:not_met。 390px 下新排序框截断当前值,见 P2-1。
- Populated Page Review:not_met。 声明的公开截图没有展示人口充分的受影响页面,见 P2-2。另按同一基线
docs/development/documentation-layout.md的 Visual Evidence Retention 核对截图消费边界。
关键代码讲解
- ResearchTurnCosts 将原说明放入共享帮助;原 input/elapsed/time 排序、8条分页、未完成 Turn 和 onRead 回调不变。
- 新 toolbar/sort 布局 引入两层 flex,但 select 仍可收缩;44px 高度没有保证选中值横向可读。
- 研究历程窄屏样式 改为 metadata 纵向重排并设控件最小尺寸。实际长内容 reader 中四个控件均为44px,完整中英文 finding、暂定状态与来源仍可读。
- delivery-notice summary 提高现有不完整覆盖 disclosure 的高度,未改覆盖判定。goal-direction-toggle 在 apps 搜索仅找到原有 CSS,没有找到实际生产者,本次不把这一行算作已验证的新入口。
对主干的风险 / Risks
P2-1:保留排序框当前选项的完整可读宽度。 在390×844中文页面,依次打开“来源与用量”→“定位耗时与输入最多的轮次”,选择“时间顺序”。同一数据、字体和选项下,基线 select 为90px,新 head 为53.625px,截图只显示“时间…”的一部分。触发点是新嵌套 flex 中的可收缩 select,并非数据错误或 CI 状态。临时在 DOM 上设 flex-shrink: 0 后恢复90px、无页面横向溢出;这仅是归因探针,已撤销,没有源码修复。请在原 CSS 给 select 内容最小宽度或稳定 flex basis,保留44px高度,再检查三种选项、帮助与实际计数。定位为上述 CSS152–154行。
P2-2:用真正的受影响页面补齐视觉证据。 我逐张检查了精确 head 中的 desktop 截图 和 390px 截图:两张均停在“无法加载实时状态 / 重试”外壳,未出现 Goal Workspace、研究排序框、帮助或展开内容。当前 PR 描述仅写文件名,无法支持所声称的 S5/S11 walkthrough。搜索未找到这两个新增图片的消费方或版本化视觉 fixture;现有 craft smoke 的输出文件名也不同。请删除未消费的一次性错误页 captures,并将实际受影响页面的 desktop/narrow、默认/展开及有用 before/after 图直接嵌入 PR 描述,注明测试 head 与合成数据/源码构建边界。不要把截图来源故障称作产品运行回归,也无需增加另一套 UI 或审批。
PASS:两端 npm run build:desktop、源码 Chat bundle 构建/验证、CSS classifier 与36份样式扫描;真实 reader fixture tests 每端4 PASS。standard premerge 的4项 direct、2项 catalog、1项文本边界检查均通过,总体仍是 manual_review_required,保留两项图片人工检查 hold。初始 CSS 检查因新 worktree 尚无 root TypeScript 依赖失败;补齐已声明的 root dependencies 后,同命令在两端通过,未改检查阈值。
实际页面对照保留12个已完成 Turn 和1个未完成 Turn;时间顺序第一页8条文本在 base/head 完全相同。计数原文读回110输入/60缓存/20输出,两个 HTTP owner 都返回 source_unchanged=true、mutation_attempts=0。数据正确、无页面横向溢出和 suite 通过仍不能证明当前选项可读。没有查询、轮询或等待 CI;本次阻塞依据是上述当前 head 的独立证据。
我的整体评价 / Verdict
说明按需展开、旧数据和读回连续性得到保留;未证明长程成本收益。用户体验判断为 regression:390px 下选中值被截断,排序结果不易辨认;说明按需展开方向合理。1440px默认视图以研究汇报和实际数值为主;390px展开后的排序框却只露出部分当前值,低层级说明成功折叠不能抵消这个回归。 未验证安装版、译文覆盖控件的真实翻译输出和全部 delivery chain 状态;不继承作者的全量 craft smoke 结论。
采用原共享组件和局部样式的规模合适,未增加权限、状态协议或兼容分支;新 CSS 名称属于 local presentation。最有价值的简化是去掉没有消费契约的一次性截图,而非再建视觉框架。当前两项问题均可在本 PR 小范围修复;之后核对新 exact head,不要求 CI 成功,不继承作者的 smoke 声明。未执行 merge、dismiss、resolve、安装升级或模型实验。
English verdict: REQUEST_CHANGES — head 6badd2c7d820c954fd3c7a055ef2eb2c09279d3b; keep the selected sort value readable at390px and replace unavailable-shell screenshots with actual affected-page evidence. Local builds and reader checks pass; CI was not consulted.
c1f8702 to
ac5001f
Compare
|
This pull request has merge conflicts with Choose the remote for the base repository, not an out-of-date fork. git fetch upstream
git rebase upstream/main
# Resolve each conflict, git add the resolved files, then git rebase --continue.
git push --force-with-lease origin HEADFor a same-repository clone whose Keep the DCO |
loopx-agent
left a comment
There was a problem hiding this comment.
Reviewer: model_agent | model=gpt-6.1-sol | provider=OpenAI | runtime_reported | reasoning_effort=max
Approval conclusion (author-owned PR; GitHub blocks formal self-approval)
APPROVE,精确 head ac5001f5bd06475b02f1095f9d67e6cc033b7b24;当前未发现阻塞项。之前两项 P2 在本头都有实际修复证据。
动机 / Motivation
研究页需要让人直接比较轮次输入和耗时,按需了解限制,再打开原计数证据。默认反复展示整段成本 caveat 占据阅读空间,窄屏排序值被压缩则会妨碍这个普通读取任务。本次保留原有数据与入口,用现有帮助和局部 CSS 完成可回滚的展示改善,无需新的配置或确认轮。
在已有研究页比较轮次耗时、输入并查看原始计数证据的人。完整说明从默认段落进入按需帮助;前8行计数一致,390px排序保持90×44,搜索与刷新宽度35→44px。完整说明按需可读,排序与来源入口保持可用,两项旧 P2 已解决。本次不新增配置、执行操作、费用估算或持久化工作状态,也不认证真实模型效果。
改动思路 / Approach
Existing canonical Explore/registered analysis → production read-only HTTP → GoalResearchProgress/ResearchTurnCosts → ContextHelp, sorting/paging and original counter reader; CSS only changes display. 完整说明进入既有 ContextHelp,标签与 select 各自不收缩,数据排序/分页和来源回调保持原 owner。这里需要的是已有页面的层级调整;新建帮助框架或额外状态都没有价值。局部复用已经实施;更大的 stylesheet 整理没有必要纳入这个提交。
复用现有 ContextHelp 与局部 CSS 足以完成这个读取任务,不需要新框架或配置。当前边界是现有成本与历史页面的展示改善,运行准入与安装验证不在本次切片内。
具体改动 / Changes
发布前发现 head 从 c1f 纯 rebase 为当前 ac5;旧头没有 POST。两提交 range-diff 均为“=”,14组页面、HTTP owner、fixture、依赖与设计 blob/tree 在旧/新两端一致。重新构建当前 ac5,21份实际 HTML/JS/CSS/JSON 渲染文件逐字节相同,只有 bundle-manifest 的 source_revision 和已更新主干源指纹变化。旧 c1f 的1440/390浏览器观察保留真实测试 revision,经过这次失效检查后复用;当前 ac5 与1b37基线分别重跑4项真实HTTP测试,当前标准premerge通过。没有将旧截图伪标为新头实测,也没有重开已完成的浏览器空间。
完整6文件 +37/-11,五个产品展示文件和一个浏览器回归例;没有把重新基于 main 的无关109文件历史算成本次范围。规范 docs/development/design.md、apps/presentation/dashboard/design.md 和 docs/development/documentation-layout.md,spec_revision=d1bd9735468d549d55e2965b1b4d9030c50e1854,先读接受条款再看实现。
-
Explanations On Demand:implemented。 “仅比较当前捕获”“含工具、等待与编排”“不是可节省时间”“轮次输入不等于 LoopX 控制输入”“金额未采集”全部保留,焦点可打开、Escape 关闭并保留父 details 和触发器焦点。
-
Mobile:implemented。 390px 时间顺序 select 实测90×44,1440px为90×36;搜索和刷新由基线35×44变为44×44,元数据以362px单列组织。
-
Populated Page Review:implemented。 使用真实隔离 SQLite/canonical log/HTTP owner、20条长双语记录及12完整+1未完成轮次;对照默认、展开、窄屏、分页、源计数和失败恢复。
-
Visual evidence retention:implemented。 当前代码树已去掉旧的无消费者 PNG;PR 描述直接给出固定公开提交的1440/390实际成本页图片,我下载并逐张检查了内容,确实显示排序、计数、帮助和窄屏布局,已不是 unavailable shell。描述标明原 c1f 测试头和合成/只读构建边界;当前纯 rebase 的证据复用依据见本节。
-
ResearchTurnCosts:Moves unchanged full caveat into existing ContextHelp; preserves sort/page/onRead. 输入/分支:Captured usage13Turns; input/elapsed/time; incomplete tail.;调用方:GoalResearchProgress usage && onUsageTurn;输出交给 Read-only counter source reader。
-
ContextHelp:Unchanged reusable focus/hover/click popover with Escape and pinning. 输入/分支:Optional explanatory text; no interactive execution.;调用方:ResearchTurnCosts;输出交给 Native popover and original focused trigger。
-
research-turn-costs toolbar and sort:Non-shrinking label/select,36px desktop and44px narrow select. 输入/分支:600px viewport breakpoint; inherited label width100%.;调用方:ResearchTurnCosts markup;输出交给 Visible90px time-order select。
-
mobile history controls and metadata:Search/refresh gain44px minimum width; metadata becomes column. 输入/分支:640px and long populated records.;调用方:GoalResearchHistory;输出交给 44x44 controls and362px metadata column。
-
delivery-review detail summary:Existing local summary min-height24→44 and flex alignment; no data or handler change. 输入/分支:Existing native details summary.;调用方:Existing DeliveryReview;输出交给 Existing review detail disclosure。
对主干的风险 / Risks
旧 review 5747630892 的两项 P2 分别核对:① c1f 增加 label width:auto、label/select flex-shrink:0;本次真实窄屏把这些规则临时回退,宽度90→53.625px,独立≥80px可读性断言失败,恢复后90px通过,证明新增回归检查能发现旧问题;② 无消费截图已移除,当前描述的公开图片展示实际受影响组件,两项都已解决。没有 dismiss 或 resolve 原记录。
基线和当前头的前8个时间顺序行文本完全相同;第二页有5行并保留第13轮“未完成(仅已观测)”,重新按输入排序回到1/2页。真实来源读取第1轮展示 token_count 的输入110、缓存60、输出20,Escape 返回;完整成本与归因未知仍是“未采集/未核对”,不把耗时当节省量。390px帮助宽360、范围18→378,原句完整可读,截图也核对了两列计数与长问题页的整体层级。
故意阻断实际 explore-results GET 后出现“刷新失败,当前记录已保留”和44px重试;解除阻断并点击重试,等待完成后错误消失,20条记录保留。两端独立 backend readback 均 source_unchanged=true、mutation_attempts=0。
当前头与基线桌面 TypeScript/Vite、已校验 Chat bundle 均构建通过;当前4项真实 HTTP fixture测试通过,CSS classifier/36样式表无缺失 token。标准 premerge 4项direct、5项selected,0blocking failure;maintainability ratchet advisory 的同一基线失败已独立复现,magnitude_regressions=0,未伪称通过。浏览器脚本的几次 selector ambiguity/错写 reader CSS 通过观察当前页面后修正,没有记作产品故障或恢复完成。
goal-direction-toggle 当前只有 CSS、未找到实际 markup producer,所以不把该44px改动当作新增可用交互。delivery summary 的44px是既有 details 局部样式;本次真实 populated journey 聚焦发生行为变动的成本/历史页。没有新增协议、模型调用或全局安装;也未把相邻 UI PR 分别通过说成组合已验收。
我的整体评价 / Verdict
long_horizon:preserved,原源记录/计数及未知判断保留,没有声称效率收益;user_experience:improved,说明按需、排序不截断、窄屏触控和来源恢复保持可用。当前复用既有 owner,代码与目标相称,旧阻塞有精确头修复及负例敏感度证据,批准此独立展示切片。
未查询、轮询或等待 CI;CI 未知不是拒绝批准的理由。本批准与原 review 的 closeout、远端分支准备度及 maintainer 合并授权各自独立;随后仅做原生只读检查,本轮不执行 merge/dismiss/resolve/install。
已检查有内容的默认、展开和窄屏整页;实际布局与完整原文共同支持本次展示判断。当前证据来自精确源码构建与真实隔离后端,分析材料为确定性合成 fixture;未认证全局安装、真实 Host/模型效果或相邻 PR 组合。
当前证据来自精确源码构建与真实隔离后端,分析材料为确定性合成 fixture;未认证全局安装、真实 Host/模型效果或相邻 PR 组合。 发布前发现 head 从 c1f 纯 rebase 为当前 ac5;旧头没有 POST。两提交 range-diff 均为“=”,14组页面、HTTP owner、fixture、依赖与设计 blob/tree 在旧/新两端一致。重新构建当前 ac5,21份实际 HTML/JS/CSS/JSON 渲染文件逐字节相同,只有 bundle-manifest 的 source_revision 和已更新主干源指纹变化。旧 c1f 的1440/390浏览器观察保留真实测试 revision,经过这次失效检查后复用;当前 ac5 与1b37基线分别重跑4项真实HTTP测试,当前标准premerge通过。没有将旧截图伪标为新头实测,也没有重开已完成的浏览器空间。
新增的 mergify 冲突提示只说明与当前 main 的整合准备度待处理;它不推翻本头的展示评审,也不授权本轮 rebase、dismiss 或 merge。
English verdict: APPROVE — the current head resolves the two prior findings and preserves the existing read-only research journey.
ac5001f to
08a87db
Compare
08a87db to
4a4366b
Compare
9e279e1 to
0b6731d
Compare
0b6731d to
3bc7c9a
Compare
loopx-agent
left a comment
There was a problem hiding this comment.
Reviewer: actor_kind=model_agent; model=gpt-6.1-sol; provider=OpenAI; reasoning_effort=max; declaration_source=runtime_reported
Approval conclusion (author-owned PR; GitHub blocks formal self-approval)
动机 / Motivation
在已有研究页比较轮次耗时、输入并查看原始计数证据的人。完整说明从默认段落进入按需帮助;相同13轮计数、排序分页和未知标记保留,390px排序框为90×44。完整说明可通过键盘或点击读取,窄屏控件可用,失败后保留记录且重试恢复。本次不新增配置、分析执行、金额估算、持久化工作状态,也不认证真实模型效果或安装采用。
这次验收的是既有研究页面中“先读每轮数据,再按需了解计数限制”的任务。编译通过不能代替实际窄屏阅读;同时,不用真实模型效果或完整父项目的科学验收阻塞这个局部展示修复。
改动思路 / Approach
复用现有 ContextHelp 和局部 CSS,保留后端事实与原始计数读取的唯一所有者。当前边界是现有研究页面的展示改善;全局安装、真实模型与相邻报告导出功能的完整验收不属于本次切片。
完整的中英文说明逐句保留:仅限当前捕获、耗时包含工具/等待/编排、不等于可节省时间、轮次输入不等于控制输入、金额未采集。说明通过已有帮助组件展开,排序、分页和来源读取仍沿原来的组件状态与回调。
具体改动 / Changes
当前6个文件共 +54/-12。依据 design.md 的按需说明、Mobile 与整页阅读规则,本次三个主要验收点均满足:完整说明可达、390px控件可读、有内容页面和失败恢复经过实际检查。
逐项覆盖 Explanations On Demand、Mobile、Populated Page Review 和 Visual evidence retention:保留完整限制、验证控件与有内容整页,并按真实版本保留公开图证。
ResearchTurnCosts只增加工具栏与既有ContextHelp消费者,原input/elapsed/time比较、8行分页、未完成尾轮及onRead保持。首8轮为1–8,第二页9–13,切换输入排序回到第一页;原始计数110/60/20可读。- 局部 CSS 保持排序标签与 select 不收缩,桌面实测90×36,390px实测90×44;历史搜索/刷新为44×44。帮助面板360px宽且保持至少12px视口边距,Escape后焦点仍在说明按钮,父级详情保持展开。
- 浏览器回归检查加入说明全文、focus/Escape、排序宽度和帮助边界断言。交付提示最小高度增至44px;
goal-direction-toggle未找到当前标记生产者,不把这条CSS计为新交互功能。
发布前 head 从0b6731更新为当前3bc7c9。6个改动文件的blob完全相同,但主干的记录报告入口已变化,因此重新构建当前头并重看默认、展开、窄屏、长双语混合记录及失败恢复,未将旧截图改标为新头。PR描述的两张公开截图明确标注0b6731,已实际查看;它们与当前触及的6个blob相同,当前整页组合另有独立检查。
对主干的风险 / Risks
主要风险是说明变得不可达、排序文字被挤压、未知/未完成语义丢失及失败刷新清空旧记录。当前源码构建与真实隔离后端上,这些负例均已检查:故意把排序框收窄至53.625px会触发80px可读性阈值,恢复后90px;阻断历史GET仍保留20条记录,解除后重试清除错误,来源摘要不变且写入尝试为0。长记录按原状态显示,原生保留和完整成本仍为未知。
当前头的TypeScript/Vite桌面构建、Chat构建及验证、4项真实HTTP测试、浏览器模块语法检查均PASS。当前standard premerge为4项直接检查、5项选中检查、0项阻塞失败;公共边界检查PASS。构建保留大chunk警告。维护性ratchet在先前65b/0b配对原始命令上均exit1、同一未改动render_canonical_todo_sections且magnitude_regressions=0;当前3bc premerge仍识别为继承advisory,没有改写为历史通过。
wait_for_ci=false:未查询、轮询或等待CI,CI证据保持未知;当前独立覆盖支持本次结论。真实安装、Host/模型、科学收益与相邻报告导出的完整功能未由本审核认证。没有新增状态词汇、权限、调度、计费或持久化协议;默认展示变化已在PR说明。复用帮助组件是适量的局部整理,更大CSS重构没有本次调用需求。
我的整体评价 / Verdict
未发现阻塞finding,当前头结论为APPROVE。这个切片完成既有读取体验改善,事实、限制与恢复保持;未声称量化效率或长程收益。批准记录、原生closeout、当前头merge readiness和合并权限分别核验;本审核不执行合并。
已检查当前源码构建的默认、展开、窄屏与恢复整页,原文和混合内容共同支持这个展示判断。当前边界是现有研究页面的展示改善;全局安装、真实模型与相邻报告导出功能的完整验收不属于本次切片。
English verdict: APPROVE 3bc7c9a. Current source-built UI and real isolated HTTP validation preserve data and qualifications, with readable narrow controls and verified recovery; CI was not consulted and the inherited advisory remains disclosed.
3bc7c9a to
109643d
Compare
huangruiteng
left a comment
There was a problem hiding this comment.
Reviewer: actor_kind=model_agent; model=DeepSeek V4 Flash; provider=DeepSeek; declaration_source=self_reported
Approval conclusion (author-owned PR; GitHub blocks formal self-approval)
动机 / Motivation
Goal 所有者在研究页比较各轮耗时、输入并打开原始计数证据时,默认会先读到整段方法说明;在 390px 下,继承的整行 label 规则还可能把排序控件压窄。受影响调用方:A Goal owner reading Research turn costs, especially from a phone, who needs to sort turns and then inspect the exact counter evidence.
改动前场景:Before, opening costs showed explanatory prose first and a 390px selector could be squeezed by the parent label rule. After, the values and sort control lead, the complete caveat is available through ContextHelp, and the selector remains readable at 1440px and 390px.
可观察结果:The current source build preserves sorting, pagination, incomplete/unknown counters, source evidence readback and keyboard focus return; the 390px sort control is at least 80px wide and 44px high, and the help stays within viewport bounds.
非目标:This PR does not change measured usage, cost attribution, research execution, Goal authority, persistence or installed-App behavior. 这里只改善现有只读研究展示,不改变采集、排序语义、研究执行、权限或持久状态。
改动思路 / Approach
规范依据是 docs/development/design.md,spec_revision=ac74f90c4778381b6fcedd5d76059522591c3f42。入口仍是 Goal 研究页的既有 usage 投影,经 ResearchTurnCosts 渲染;排序和分页是本地状态,计数证据继续走原只读 source reader。The mechanisms stay in the existing presentation and read-only data owners, with no default strategy or authority change.
当前 PR 边界:Presentation hierarchy, accessibility and responsive geometry for existing research counters; no data or authority changes. 实现复用 ContextHelp 与局部 CSS,没有新增配置、第二套数据 owner 或执行路径。对应 DESIGN-EXPLANATIONS、DESIGN-RESPONSIVE、DESIGN-POPULATED 和 DESIGN-EVIDENCE-RETENTION,四项均由当前 head 的源码、真实只读 HTTP fixture 和 revision-pinned 图片覆盖。
具体改动 / Changes
六文件共 +54/-12:五个展示文件和一个浏览器回归。ResearchTurnCosts 把原方法说明完整移入 ContextHelp;排序、分页、未知值 — 和 incomplete Turn 分支保持。toolbar CSS 让 label/select 不收缩,并在 600px 以下保留 44px select 高度。研究历史移动规则保留 44px 控件尺寸与纵向 metadata;delivery notice 和既有可选方向控件也仅提高触控尺寸。浏览器场景新增帮助的焦点、全文、Escape、焦点返回、面板视口边界、无横向溢出和 390px 排序尺寸断言。
关键代码讲解
ResearchTurnCosts:输入仍是 typed usage 和 onRead;输出仍是 Turn 行与原计数证据。帮助不触发分析或写入。research-turn-costs-toolbar/.research-turn-costs-sort:修复继承的全宽 label 对 select 的挤压;在窄屏保持可读宽度和 44px 高度。researchTurnCostsScenario:用 10 个完整 Turn 和 1 个未完成 Turn 走真实 HTTP owner,验证排序、分页、原文读取、帮助可访问性和桌面/390 布局,并断言没有 POST。
对主干的风险 / Risks
最强反例是“说明折叠了,但关键控件更难看或帮助挡住页面”。当前 390px 场景直接断言排序至少 80×44、帮助两侧至少 12px inset、页面无横向溢出;1440px 场景同样检查帮助和计数。帮助用 Escape 关闭后焦点回到触发器,源原文读回不包含 fixture 的敏感文本。回滚只需撤销展示文件与回归场景,不涉及迁移。
验证:npm run build 通过;CSS 检查 36 stylesheets/60 tokens/0 undefined;真实 research-turn-costs 场景通过;研究 fixture 4 项通过;RFC 双语检查通过;standard premerge 通过。maintainability ratchet 是未改动主干的 inherited advisory,不归因给本 PR。按 loopx-meta 策略未查询、轮询或等待 CI。
我的整体评价 / Verdict
long_horizon 保持:只读记录、排序和原文身份不变。user_experience 改善:方法说明按需读取,排序值在手机上完整可辨,帮助和计数仍可用。
视觉评价:Current exact-head screenshots and browser geometry cover the default overview, expanded cost list and open help at desktop and narrow widths.
未验证范围:The installed App and live Host/model rendering were not exercised; the evidence covers the packaged source UI and real read-only research HTTP owner. 不把这次展示调整当作研究收益。代码量与原组件边界相称,现有 ContextHelp 和 research owner 足够,无需额外框架。当前未发现阻塞项。
English verdict: APPROVE — head 109643d56dfb1f5cd54678bf036c974229cd26a2. The current source UI preserves read-only research data and improves disclosure and narrow-screen control readability; builds, browser regression, fixture tests and premerge pass. CI was not consulted.
|
This pull request has merge conflicts with Choose the remote for the base repository, not an out-of-date fork. git fetch upstream
git rebase upstream/main
# Resolve each conflict, git add the resolved files, then git rebase --continue.
git push --force-with-lease origin HEADFor a same-repository clone whose Keep the DCO |
109643d to
e54c7db
Compare
…t notes Align Goal Workspace M1/M2 and research turn costs with design.md principles: - Fold explanatory prose and calculation caveats behind ContextHelp in ResearchTurnCosts, ensuring sort controls and turn list appear immediately without pushing down metrics. - Enforce 44px minimum touch targets on mobile viewports for delivery review notices and goal overview direction toggles. - Improve 390px mobile layout in research history meta and controls, ensuring responsive wrapping without text clipping or horizontal overflow. - Add ego-browser walkthrough visual evidence for 1440px desktop and 390px phone viewports. Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
…umed screenshots Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
…umed screenshots Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: huangruiteng <huangrt01@163.com>
e54c7db to
41acb87
Compare
huangruiteng
left a comment
There was a problem hiding this comment.
Reviewer: actor_kind=model_agent; model=DeepSeek V4 Flash; provider=DeepSeek; declaration_source=self_reported
Approval conclusion (author-owned PR; GitHub blocks formal self-approval)
动机 / Motivation
Goal 所有者在研究页比较各轮耗时、输入并打开原始计数证据时,默认会先读到整段方法说明;在 390px 下,继承的整行 label 规则还可能把排序控件压窄。受影响调用方:A Goal owner reading Research turn costs, especially from a phone, who needs to sort turns and then inspect the exact counter evidence.
改动前场景:Before, opening costs showed explanatory prose first and a 390px selector could be squeezed by the parent label rule. After, the values and sort control lead, the complete caveat is available through ContextHelp, and the selector remains readable at 1440px and 390px.
可观察结果:The current source build preserves sorting, pagination, incomplete/unknown counters, source evidence readback and keyboard focus return; the 390px sort control is at least 80px wide and 44px high, and the help stays within viewport bounds.
非目标:This PR does not change measured usage, cost attribution, research execution, Goal authority, persistence or installed-App behavior. 这里只改善现有只读研究展示,不改变采集、排序语义、研究执行、权限或持久状态。
改动思路 / Approach
规范依据是 docs/development/design.md,spec_revision=2f83233ef1da9202360f54f98d7be07cda6086d6。入口仍是 Goal 研究页的既有 usage 投影,经 ResearchTurnCosts 渲染;排序和分页是本地状态,计数证据继续走原只读 source reader。The mechanisms stay in the existing presentation and read-only data owners, with no default strategy or authority change.
当前 PR 边界:Presentation hierarchy, accessibility and responsive geometry for existing research counters; no data or authority changes. 实现复用 ContextHelp 与局部 CSS,没有新增配置、第二套数据 owner 或执行路径。对应 DESIGN-EXPLANATIONS、DESIGN-RESPONSIVE、DESIGN-POPULATED 和 DESIGN-EVIDENCE-RETENTION,四项均由当前 head 的源码、真实只读 HTTP fixture 和 revision-pinned 图片覆盖。
具体改动 / Changes
六文件共 +46/-11:五个展示文件和一个浏览器回归。ResearchTurnCosts 把原方法说明完整移入 ContextHelp;排序、分页、未知值 — 和 incomplete Turn 分支保持。toolbar CSS 让 label/select 不收缩,并在 600px 以下保留 44px select 高度。研究历史移动规则保留 44px 控件尺寸与纵向 metadata;delivery notice 和既有可选方向控件也仅提高触控尺寸。浏览器场景新增帮助的焦点、全文、Escape、焦点返回、面板视口边界、无横向溢出和 390px 排序尺寸断言。
关键代码讲解
ResearchTurnCosts:输入仍是 typed usage 和 onRead;输出仍是 Turn 行与原计数证据。帮助不触发分析或写入。research-turn-costs-toolbar/.research-turn-costs-sort:修复继承的全宽 label 对 select 的挤压;在窄屏保持可读宽度和 44px 高度。researchTurnCostsScenario:用 10 个完整 Turn 和 1 个未完成 Turn 走真实 HTTP owner,验证排序、分页、原文读取、帮助可访问性和桌面/390 布局,并断言没有 POST。
对主干的风险 / Risks
最强反例是“说明折叠了,但关键控件更难看或帮助挡住页面”。当前 390px 场景直接断言排序至少 80×44、帮助两侧至少 12px inset、页面无横向溢出;1440px 场景同样检查帮助和计数。帮助用 Escape 关闭后焦点回到触发器,源原文读回不包含 fixture 的敏感文本。回滚只需撤销展示文件与回归场景,不涉及迁移。
验证:最新 main rebase 后 npm run build 通过;CSS 检查 36 stylesheets/60 tokens/0 undefined;真实 research-turn-costs 场景通过;研究 fixture 与 public-safety 合计 45 项通过;research-route-reading 在 1440/768/390 的中英文页面通过;RFC 双语检查通过;standard premerge 通过。maintainability ratchet 是未改动主干的 inherited advisory,不归因给本 PR。按 loopx-meta 策略未查询、轮询或等待 CI。
我的整体评价 / Verdict
long_horizon 保持:只读记录、排序和原文身份不变。user_experience 改善:方法说明按需读取,排序值在手机上完整可辨,帮助和计数仍可用。
视觉评价:Current exact-head screenshots and browser geometry cover the default overview, expanded cost list and open help at desktop and narrow widths.
未验证范围:The installed App and live Host/model rendering were not exercised; the evidence covers the packaged source UI and real read-only research HTTP owner. 不把这次展示调整当作研究收益。代码量与原组件边界相称,现有 ContextHelp 和 research owner 足够,无需额外框架。当前未发现阻塞项。
English verdict: APPROVE — head 41acb87698e4f2bd46b51fe60d90af7be62875d7. The latest-main source UI preserves read-only research data and improves disclosure and narrow-screen control readability; builds, two browser journeys, 45 focused tests and premerge pass. CI was not consulted.
Summary
Refines the Personal Workspace and Research presentation hierarchy without changing data contracts, telemetry, scheduling, or authority rules:
ContextHelp, while keeping elapsed time, token counts, sorting, pagination, and counter-evidence inspection primary.Visual Evidence
Tested exact head:
41acb87698e4f2bd46b51fe60d90af7be62875d7The screenshots below were captured by the deterministic read-only synthetic scenario and are hosted from evidence commit
6731c1bb4c5646aa39aea2ecaab1c9904e9e4051. Re-running the same scenario at the tested head produced byte-identical PNGs. The browser is a source checkout, not an installed App or live model run.Desktop (
1440×1000, costs expanded and contextual help open)时间顺序selector remains at least80px × 36px.Mobile (
390×1000, costs expanded and contextual help open)时间顺序selector remains at least80px × 44px.Verification
npm run buildinapps/presentation/dashboard: TypeScript, Vite desktop build, Chat bundle build, and bundle verification passed.npm run check:css-custom-properties: 36 stylesheets, 60 defined tokens, 0 undefined references.LOOPX_PERSONAL_WORKSPACE_SCENARIO=research-turn-costs ... node examples/personal-workspace-browser-smoke.mjs: passed the current real HTTP owner and source UI checks for sort order, pagination, incomplete and unknown counters, contextual-help focus/Escape/focus return, exact counter evidence, no POST writes, and 1440/390 layouts.uv run --extra test python -m pytest tests/presentation/test_research_history_fixture.py tests/control_plane/test_presentation_public_safety.py -q: 45 passed.uv run --extra test loopx canary premerge --from-git-diff --git-diff-base origin/main: passed; public/private boundary passed. The maintainability-ratchet smoke has a known inherited baseline failure unrelated to this six-file presentation diff.uv run --extra test python scripts/check_rfc_bilingual.py --base origin/main --head HEAD: passed.2f83233ef1; the S5/S11 history CSS keepsmain's accepted 20px mobile detail padding and 30px recovery alignment while retaining this PR's 44px history control geometry and stacked metadata/language layout.research-route-reading: passed at 1440px, 768px and 390px in Chinese and English after the rebase.CI was not polled or waited on under the managed review policy.