Skip to content

fix(workspace): make Goal details readable - #7236

Merged
loopx-agent merged 2 commits into
mainfrom
codex/goal-details-readable-20261024
Oct 24, 2026
Merged

loopx-agent merged 2 commits into
mainfrom
codex/goal-details-readable-20261024

Conversation

@loopx-agent

@loopx-agent loopx-agent commented Oct 24, 2026 •

Copy link
Copy Markdown
Collaborator

Problem and resulting behavior

Goal information used caption-sized paragraphs, a narrow label column and repeated missing-usage text. Long evidence was difficult to read, and the next action appeared after the full observation list.

The Goal reader now uses 16px prose, one Goal title, stacked fields and a next-action section before the evidence. Owner identities, exact observation times and component checks are available in place; failed-check counts, evidence requirements and permission conditions stay visible. Coverage has one compact status line; missing-source names, display limits and interpretation are available by hover or keyboard focus. A display limit alone is labeled partial records rather than a missing source. Usage aligns 24h and 7d in columns, preserves measured zero and unknown windows, and shows one missing status when every metric is absent.

Existing typed projections, hasGoalUsage, formatting and contextual help are reused. No data, authority, model call or execution behavior changes. Task and proposal inspectors retain their existing styles. The obsolete smoke that matched optional-chaining source spelling is replaced by the packaged reader's zero/unknown-window assertions; formatter tests remain.

Written by: model_agent — OpenAI Codex.

Validation and limits

Tested candidate: d7dfac02a7a4cddb598abe7d1d0742193ec595df; base: 7c48375df5aa4824c8d6fba0baef1f96de6cc87e.

  • Production TypeScript/Dashboard/Chat build; CSS token validation; usage-progress smoke; semantic validation and bilingual diff checks pass.
  • Packaged goal-workspace-m2 passes: existing 200-item workspace and read-only isolation, long original Chinese/English evidence, mixed checks, a held owner decision, partial/truncated coverage, measured zero and missing windows, complete hover/focus help and compact missing-source/truncated-only/untruncated states, help/Escape, return focus, 390px and 200% text, both languages, and wrong-Goal observations. No effect request is introduced.
  • The baseline bundle reproduces 12px/16px evidence text and the new reader regression fails on the duplicated Goal title. Before/after use the same synthetic input.
  • The optional unchanged Python observation suite has 18 passes and 2 failures on both base and candidate. Both failures are canonical-authority migration setup in the existing real-collection fixtures; all Python production and test files are unchanged. Full local evidence is retained; these failures are not called passing.
  • Text publication scan passes. PNGs require manual image review; all eight captures and their metadata were inspected. Installed native-window adoption remains separate from the synthetic packaged evidence below.

Visual evidence

The primary question is “What remains unresolved, and what should happen next?” The default now gives the next step before long evidence, without six repeated missing values or a repeated Goal heading. Expanded original text uses the same readable scale; technical source details do not become a new page. Empty/unavailable observations remain unknown, and an owner gate remains visible.

All images are public synthetic packaged UI. Base/candidate revisions are above; screenshots contain no live Goal or private source. The shared reader's layout is the subject of the comparison; no translation of original evidence is inferred.

Default desktop before Default desktop after
Before desktop After desktop
Default 390px before Default 390px after
Before phone After phone
Expanded desktop Expanded 390px
Expanded desktop Expanded phone
Mixed usage windows 200% text on 390px
Usage windows Large text

Scope and rollback

One reversible presentation slice; no schema, backend, stored-state or permission migration. Revert this commit to restore the prior reader. Backend acceptance-source work in #7234 is separate and has no changed-file overlap. Broader research-source, language and sustained-product qualification remain outside this presentation change.

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>

@loopx-agent loopx-agent left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewer: model_agent; gpt-6.1-sol; OpenAI; runtime_reported; max

Approval conclusion (author-owned PR; GitHub blocks formal self-approval)

动机

现有 Goal 信息面板用12px/16px展示真正需要阅读的缺口和证据,74px字段列使时间窗口标签断裂;同一Goal标题出现两次,六个“未采集”反复占空间,下一步却排在全部观察之后。原任务是读懂尚未解决的事情和下一步,不是查看所有协议元数据。这次是既有页面的独立完整展示修复,保留真实数据、未知、限制和原文;不把页面变清楚等同验收完成,也不宣称研究收益或长程生产率已提高。正常App采用和更广研究体验继续各自验收。

改动思路

沿既有 ContextDrawer、GoalAcceptanceObservationCard、hasGoalUsage、formatUsageValue 与 ContextHelp 实现。先保留一个Goal标题和真实状态,再呈现简短覆盖状态及下一步;缺口理由、所需证据、门禁条件和决策范围保持可见,Owner、精确时间与组件检查通过原位展开读取。检查失败数量留在收起态。用量改为24小时/7天两个对齐的列,只有全部缺失才合并为一个提示,实测零和另一窗口未知仍分别保留。

这是比只增大字体更完整、比新建详情体系更小的修改。没有新模块、协议、持久状态、翻译器、模型调用或执行入口,也没有将原文命令变成可执行按钮。普通路径仍是从原Goal点击一次信息;从已知意图到结果没有新增提问、确认、复制或配置轮次,技术展开属于自愿探索,Escape返回原入口。较大的抽屉拆分没有在本PR中顺带实施,避免为了局部阅读修复重写任务与提案的状态机。

具体改动

规范依据为 docs/development/design.md 的 Earn The User's Attention、Typography、Populated Page Review,以及既有 task-first frontend delivery。规范版本为 7c48375,没有借本PR修改规范来迎合实现。三条要求逐项对照:去重与主次关系由原有页面布局落实;正文使用16px lead token并遵守文字偏好;长内容及混合状态的默认/展开桌面和窄屏均实际看过。公开首屏与展开证据直接位于PR正文,不以测试通过代替视觉判断。

关键代码讲解

  • ContextDrawer:仅Goal分支去掉重复的页眉上下文标题;原Goal标题和状态仍在正文,验收观察优先于辅助用量。hasGoalUsage复用既有null/undefined规则,零仍算已观测;每个表格值继续经原formatter处理,没有用0替代缺失。
  • GoalAcceptanceObservationCard:Goal身份与unavailable判断不变,next_action、reason、resolution_hint、evidence_required和guard条件保持原文。metadata进入原生details,false检查数量仍可见;完整六项检查可展开。默认只留“待核验 · 来源不全”一行;缺失哪些来源、展示上限与完整口径放入悬停/聚焦帮助。只有列表截断时显示“部分记录”,没有缺失来源或截断时仍是“待核验”,不会据此宣称验收通过。
  • CSS只把Goal信息变成阅读面板:16px正文、正常行高、上下字段、自然换行;其他任务和提案抽屉保留原密度。i18n新增的是短覆盖提示、来源/检查和用量标题,完整解释放在共享帮助;并未假装把原始英文证据翻成中文。
  • 既有M2场景补充整个Goal抽屉,包含长中英、长Owner、三个未通过检查、门禁、未知/零值、两个窗口、390px、200%文字、完整悬停/聚焦帮助、缺源/仅截断/完整记录三个状态、返回焦点及错误Goal隔离。usage smoke删除的是匹配可选链拼写的三条断言,formatter语义仍测,窗口语义改由真正打包页面验证。八张图都是合成数据,逐图、来源和PNG元数据已核。验证入口为 examples/personal-workspace-browser/goal-workspace-m2.mjs。

对主干的风险

最强反例是把关键失败或权限条件一起折叠,看起来清爽却误导用户。当前head把失败数量及guard理由、证据和决策范围留在默认正文,完整组件检查仍能读取;外来Goal观察被现有身份守卫拒绝,不能从旧抽屉带入。表格的风险是把未知变零或混合窗口,本次实际验证实测$0.00与另一窗口未采集、7天2.0h独立显示。布局增加留白和正文行高意味着长列表仍需纵向阅读,这比压缩字体或永久省略原文更符合已接受契约;下一步已前置,Owner和时间不再抢占阅读列。

生产TypeScript/Dashboard/Chat构建、CSS变量检查、usage-progress、语义校验、双语diff及打包M2通过。新阅读回归在原打包版本因标题重复2次失败,原正文确为12px/16px。开发中两次新增测试误用了display-name字段和英文按钮名称,均修正测试输入/定位后保持原断言,没有删掉反例;源码拼写断言失败经真实渲染语义替换,不是产品未知规则被放松。

标准premerge有4项直接、13项选择命令执行且零命令失败;原始状态是manual_review_required,八项PNG保留已分别做像素、来源和元数据审查,不冒充自动隐私通过。精确CQR有效。另有两个可选诊断保持失败:原Python观察套件在不可变base/head都是18通过、2个canonical迁移fixture失败,完整身份/细节、环境和输入摘要相同,且调用链在未改的Python refresh规划中提前失败;全局健康/二进制扫描也保留相同非当前显示路径的检查和PNG UTF8保留项。正文隔离扫描和图像人工检查独立通过。没有把这些观测改判绿色,相关修复与本展示增量分开;当前wait_for_ci=false,未查询、轮询或等待远端CI。

我的整体评价

APPROVE,边界清楚、可回滚且确实改善了当前阅读任务。长程维度保留原状态与继续执行路径,没有因为界面整理增加模型调用或丢掉承诺;用户体验改善由实际阅读构图支持,不由截图数量、折叠或无溢出代替判断。实看同一长中英、多缺口、未完成检查和门禁的整页:标题只保留一次,下一步进入首屏;展开后16px正文和上下字段可读,来源元数据按需出现,未知和失败不因收起而消失。这些证据资格覆盖本次Goal信息面板及共享观察展示;真实安装窗口、所有主题/浏览器、原文自动翻译与整体研究持续稳定尚未由这些合成截图证明。

这14个路径包括四项现有展示源码、两项持久验证和八张公开合成图;没有额外状态authority或兼容分支。#7234是不同文件的后端验收来源修复,本PR不替代其正确性验证。正常App采用和更广研究体验继续各自验收,当前评审只批准此展示增量;最后仍需同一head合并就绪和既有维护者授权。

English verdict: APPROVE — d7dfac0. The existing Goal reader becomes legible with one title, next action first, complete source disclosure and correct unknown/zero usage windows. Packaged M2, production build, formatter, CSS/semantic and local premerge commands pass; eight image holds were manually reviewed. Optional immutable base/head diagnostic failures remain failed and independently attributed. Installed native-window and broad sustained-product adoption are separate.

@loopx-agent
loopx-agent merged commit 4191b7d into main Oct 24, 2026
6 of 8 checks passed
@loopx-agent
loopx-agent deleted the codex/goal-details-readable-20261024 branch October 24, 2026 09:05
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