Repository navigation
feat(workspace): integrate attention, task and reading continuity - #7544
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 96adcc9b00
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
cocolord
left a comment
There was a problem hiding this comment.
Reviewer: model_agent; model=GPT-5; provider=OpenAI; declaration=self_reported
动机
这个 PR 试图把 Goal personal workspace 从“能看到若干结果和任务”推进到更可读、可浏览、可恢复的工作界面:用户可以在全部工作中按负责人、状态和关键字定位任务,在回答、研究、团队与托管结果之间使用统一 catalog,并在设置生成后看到明确回读。旧界面的实际成本是信息散落、长文本难扫读、部分异步配置缺少恢复提示。exact head 96adcc9b001964472e3c2ca5250ed26eedab5e07 的方向有用户价值,但 read-only completed-task 搜索存在可复现的数据丢失视图,且多条 PR 引入的合同/浏览器检查没有闭合,所以当前不能把预期改善当成已验证结果。仓库没有为整批 craft 改造提供独立、带验收编号的书面规范;我同时按 docs/development/design.md 的现有视觉/交互原则检查了实现。
改动思路
实现大体复用 personal-workspace 现有 owner:GoalWorkspaceWork 组织 document/rail/dialog,CompletedTaskLane 负责完成任务历史,result components 通过 ResultCatalog 和安全 React markdown renderer 呈现成果,capability/machine settings 在 mutation 后做 generation/readback,channel timeline 在当前 conversation 范围内折叠历史。正路径覆盖 task browsing、catalog-first results、outline/excerpt、安全 markdown、设置恢复和 task-inspector return;负路径则应覆盖查询清除、read-only 无 fetch、请求失败与旧 catalog/download 行为。问题出在父组件提前按 query 裁剪 seed,而 lane 又把 seed 固化为本地 state:两个 owner 各自做了一半筛选,导致状态切换不再可逆。
具体改动
关键代码讲解
goal-workspace-work.tsx::rail:新增 owner/status/query controls、inline/dialog 两种 rail 布局和 activity tab,并把 completed seed、owner、query 传给完成任务 lane。completed-task-lane.tsx::CompletedTaskLane:增加 locale-aware query、unassigned-only、selection auto-expand/scroll 和虚拟窗口;它仍用useState(seed)持有初始行,只有refreshRevision触发 snapshot reset。markdown-blocks.ts与markdown.tsx::Markdown:把 markdown 解析成受控 block/inline React nodes,提供 outline/excerpt,并避免dangerouslySetInnerHTML。goal-managed-results.tsx、goal-team-results.tsx、goal-research-results.tsx:统一为 catalog-first 的成果入口,补充 answer/report、研究比较和 team evidence 展示。goal-capability-settings.tsx与machine-configuration-settings.tsx:保存后等待 generation/readback,并将失败留在可恢复状态;channel-timeline.tsx则把历史折叠范围绑定在 mounted conversation。
其余 diff 包括 route/dashboard composition、workspace action form、18 个 browser examples/smokes、图片与主题资源,以及 python_whitespace.ts 的 content-digest owner。完整 diff 已覆盖;视觉资源本身不承担状态 authority。未发现必须新增的 capability 或第二套 control plane,bounded future-facing pass 认为应先修复 query/seed 单一 owner,并让变更后的默认 UI 行为与现有 smokes 对齐,而不是继续增加并行状态。
对主干的风险
阻断路径可直接复现:在 read-only Goal 中输入 query 后,父组件第 200 行用 matches(id) 先从 digest.work.rail.done 删除不匹配任务;CompletedTaskLane 第 33 行只在挂载时 useState(seed),且 read-only 下 enabled=false,不会从 API 补回。用户清空 query 时,lane 只重新过滤已经被裁剪的 rows,被排除任务持续缺失直到 remount。最小修复是传入未过滤 seed、由 lane 单独过滤,或在 seed/query 变化时可靠重置 rows;必须新增 read-only “搜索后清空”浏览器回归。对应 inline finding 已留在 goal-workspace-work.tsx。
语义与 CI 对齐
exact head 的 required checks 还暴露了三类 PR 相关缺口:conversation-input browser 因新增两个 role=status 元素触发 strict locator;TypeScript core 的 content_digest_single_owner 因新增 python_whitespace.ts RegExp owner 未同步合同而失败;completed-task 默认折叠和 Files catalog-first 使既有 completed-task/report-download browser smokes 继续断言旧行为。后两项可能是有意 UX 变化后的 smoke mismatch,我不把它们夸大成独立产品 bug,但它们说明 previous default/new default 尚未完整披露和验证。修复后应重跑对应 browser smokes、TypeScript core 和 final checks。
额外 lens:browse filter 使用 typed union,generic control-plane 文案仍领域中立;没有新增 actor authority;但默认折叠、catalog-first 与 status live-region 的行为变化尚未和既有验证合同同步。这里的测试失败是 machine-enforced merge obligation,不只是“guidance”。
我的整体评价
整体设计方向和多数局部实现是正向的,安全 markdown、catalog 复用和异步设置恢复也合理;但用户体验在 read-only 搜索清除路径上发生确定性回退,且 exact-head 的语义/CI 合同没有闭合。长期上这会让只读操作者误以为完成任务消失,短期也无法用仓库 required checks 证明新的默认行为。请先修复 query/seed authority、补负路径回归并更新/修复四类 PR 相关 checks;在 exact head 变化后需要重新全量判断。因此当前结论是 REQUEST_CHANGES,而不是基于方向放宽门槛。
English verdict: REQUEST_CHANGES - exact head 96adcc9 loses completed rows after clearing a read-only search and still has PR-related TypeScript/browser contract failures; fix the seed/query owner and rerun the affected checks.
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
动机 / Motivation
需要在既有工作区处理请求、查找任务并继续阅读旧报告的用户。例如,同一 Goal 有多条待处理事项时,用户应直接打开那条原请求;报告返回也应回到原消息,而不是重新选择会话或执行器。当前实现将这些阅读选择与真实业务状态分开保存。
本次已验证原请求直接打开、共享浏览条件、保存查询恢复完整负责人完成项,以及报告/成果精确返回和设置读取恢复。这项提案不完成整个研究工作台、M4、验收目标编写、真实 provider 执行或正式安装 App 验收。正式安装 App、真实团队和长期效果/完整成本仍由既有产品验收承接;本次只资格化可独立回退的阅读与恢复切片。
本次重新审查的是 7544@b3002d14d86a5093e1a5a355d2a86110a2a7ffee 的完整提案,相对目标主干 843be494266774b63b3de61d0adf5dd7f4f877a2;不是继承旧 head 的批准,也不只检查最后一次修复。以前把受影响 Goal 当成事项、在不同视图重新选择过滤条件或自动打开第一份成果,都会让用户多做一次找回上下文的工作。独立核验以原用户的阅读与处理任务为准,不要求先配置新能力或完成整个父级路线图。
改动思路 / Approach
这些机制分别归既有展示、读取和动作边界:共用浏览与渲染,保留各原生结果/配置 owner;必要的身份、版本和一次写入保护默认生效,不建立额外控制面或可选执行策略。当前 PR 交付可用的请求—任务—报告阅读与恢复切片,保留真实数据 owner 和原权限;正式安装与整个 M4 仍属既有验收。
原请求和结果身份继续来自原生数据,浏览选择才属于界面意图:来源与 Goal 同时匹配后,概览与任务才恢复同一查询、负责人和视图。三类成果保留各自原生版本校验,仅共用目录行和焦点恢复;把它们合成一个通用数据加载器反而会混淆接受状态、投影 hash 与报告 SHA。Markdown 块解析及 Python 空白规范化复用已有实现,未新增第二份业务规则。
| 用户动作 | 原行为或风险 | 本次实际验证 |
|---|---|---|
| 修改只读来源的已保存查询 | 首次过滤会丢失其它已加载完成项 | first → second → 清空恢复同负责人两项;未分配仍独立 |
| 从成果回到目录 | 默认读第一份、同标题易误认 | 明确选择原生标识;迟到响应不重开;返回同条目 |
| 配置写入后读取失败 | 成功与失败混在一起,可能重复保存 | 保留草稿与已写事实,只 GET 恢复,再编辑须新预览 |
| 返回历史答复 | 当前执行器选择可能替换原来源 | 定位原 Session/message,保留当前执行器偏好 |
这些变化没有新增澄清或确认轮次。选择具体成果是阅读导航;现有动作真正需要的预览和权限检查继续保留。目录/来源可用不表示已执行、已接受或获得写入权限。
具体改动 / Changes
验收依据是变更前已接受的 docs/architecture/rfcs/goal-workspace-surface-v0.md,固定版本 843be49,并结合该版本的 design.md 与 task-first frontend-delivery。此次新增检查点仅按提案评估,不作为自己的验收依据。
- V3:负责人、未分配与完整已加载完成项不丢失;只读保存查询反例在旧
96adcc9b001964472e3c2ca5250ed26eedab5e07失败、当前 head 通过。 - V6:本切片的长内容、未知/部分/失败、双语、键盘、窄屏和 reduced-motion 经打包场景及实际整页查看;沿用原主题/对比度 owner,不把这项审查扩大成全部已安装设备资格。
- V7:沿用原生决定/添加任务与配置 owner;失败、CAS、错误 actor、成功响应丢失及 GET 恢复分别验证。
- V9:读取、改视图、返回和只读来源不启动业务;三个目录读者均先只读索引。Ego 的合成整页观察结束时写入与 Turn 均为 0。
- V8、V10:目标声明权限和 200 节点图性能资格未改变;既有 owner、图渲染器和阈值保留,不声称本 PR 新完成这些验收。
82 个路径中,38 个生产文件为 +1412/-503,31 个测试/夹具为 +834/-68,4 个文档为 +168,另有 9 张公开合成 PNG;解析器与空白规则移动已包含在生产计数里,没有按移动再算一次收益。
关键代码讲解
readGoalWorkBrowse/writeGoalWorkBrowse以来源和 Goal 共同约束 URL 中的展示意图;空负责人表示未分配,旧链接或错来源不能带入查询。既有 router 负责历史,Provider 不另造历史 owner。GoalWorkspaceWork给完成列表保留完整负责人 seed,再由列表应用当前查询。这样只读来源无需向本机补读,就能从 first 改 second 并清空恢复;这正是旧评审实际暴露的失败方向。GoalManagedResults保留原生 Todo/SHA 与分页;Files 的 catalogOnly 分支需要明确选择,聊天内嵌结果保留原行为。新 hash、撤回的目录或取消的迟到响应都不能悄悄替换已选版本。answerReportNavigation从保存答复的可信来源恢复原会话和消息;当前 runtime 偏好不因阅读旧答复被修改。块解析共享于目录与正文,重复标题仍有稳定唯一锚点;复制失败提供完整 Markdown 手动复制。MachineConfigurationSettings用目标代次隔离迟到预览,成功 apply 后消费旧预览,区分后续 GET 失败。Goal 编辑器也保留草稿,原生恢复后才重新预览/应用,不用第二次写入掩盖读失败。
五个旧评审问题已逐项复核:只读查询丢项由真实旧/新包反例证明;digest 单 owner 的路径引用更新后 19 项 TS 检查通过;首个任务的 status 断言、已完成列表自动展开和 Files 明确选择的断言都在当前对应打包场景通过。未删除既有阻塞 review,也没有用线程 resolved 代替验证。
对主干的风险 / Risks
最强风险是晚到的预览、写入或读取抢回新选择,以及从旧查询 seed 中永久丢掉记录。当前 target/generation、原生 identity/version 和完整负责人 seed 分别覆盖这些失败;新消息不折叠正在阅读的回复,当前/流式输出保持展开。设置与大部分报告结果的 API 为合成夹具;任务/事项和具名配置恢复使用独立临时原生 HTTP/SQLite owner。没有拿浏览器渲染代替正式安装或 provider 资格。
独立验证结果:
- PASS:当前 head 构建及 663 个源输入的 bundle witness;16 个风险选定场景全部通过,原完整目录运行在失败前另有 11 个场景通过;任务路由覆盖 1512/1024/768/390/320,craft 与来源切换也通过。
- PASS:19 项 TS owner/Unicode 检查、234 项相邻 Python 测试;82 个由 Python 独立产生的相同输入,在不可变目标主干与当前 helper 上的规范化/有无正文结果相等。BOM、零宽字符和 400/1000/8000 码点边界保持原语义。相同的真实打包 Add task 场景在不可变目标主干因“Python-only whitespace is empty”断言失败,当前完整路径通过;不是只比较两个 helper。
- FAIL,已证为基线同因:完整目录在
attached-host-follow-up的 network discovery 恢复等待Original result超时。不可变843be494266774b63b3de61d0adf5dd7f4f877a2与当前 head 的同一场景、同一 Node 24.21.0 环境出现相同 30000ms 失败;该场景、原生夹具和驱动文件逐字节不变。未猜测更细环境根因,也未称全部 81 场景通过;当前改动的原消息返回和只读/设置恢复由另选场景独立覆盖。 - 自动检查 PASS,完整合并门仍未通过:原生 standard premerge 的 4 个 direct、19 个选定检查通过。命令实际 exit 1:本 reviewer 复用工作树中的旧质量 receipt 不匹配当前 diff,且原生仍列出 9 个 PNG 人工 hold;我已逐张查看图像,但不把人工观察伪造成原生 receipt 或 merge-ready。这里没有新的合并/安装权限,也没有查询或等待远端 CI。
语义与 CI 对齐
空白谓词只迁到一个纯 TS owner,原 todo_agents 导出兼容;新增 lens/filter 是局部界面枚举,没有新共享状态或授权协议。搜索字符串只筛选已列任务,不充当权限/完成分类。此项属于已披露的默认展示改变,不宣称新 default-off 能力;业务开关、quota、scheduler、lease 和验收状态均未更改。相关双语 RFC 差分、语义词汇及公开边界检查通过;远端 CI 按当前评审策略未查。
我的整体评价 / Verdict
结论是 justified_increment:阅读与恢复切片已能通过真实入口独立验证和回退,继续使用现有权威 owner,整体成本与已有问题相称。长程维度为 preserved:没有把 UI 的恢复状态变成新任务或义务,也未证明长期净收益;用户体验维度为 improved,依据是上述明确任务、失败恢复与实际整页观察,而不是测试数或折叠本身。
已检查真实整页默认、完整阅读及窄屏布局:事项、Goal和操作投递各有独立单位;长报告以正文/标题/表格为主,出处和方法可继续读取;历史消息明确标示节选并保留展开。观察与数据/无溢出断言分开记录。
本次查看了 PR 中 9 张公开合成图,并在当前包检查 1200/1512 桌面、390 窄屏、原要求完整展开和长报告/历史消息的上下部;旧公开图保留其原版本,相关 home/report/catalog/settings 组件在旧图版本至当前 head 未变,当前构建观察另记。未验证正式安装 App、原生 WebView、真实团队持续使用、200% 原生缩放或独立读者理解;本次不将这些范围或长程净收益宣称通过。
没有发现当前 head 仍需作者修改的阻断问题。上述基线失败、完整 premerge hold 和旧 CHANGES_REQUESTED 的原生收口资格分别保留;批准本提案不代表批准合并或替其它审阅者撤销结论。
English verdict: APPROVE — the scoped reading and recovery changes are independently validated; baseline failures and separate merge holds remain disclosed.
|
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 |
Keep native request identity and source scope through home actions, shared task browsing, exact report returns and lazy result readers. Align Unicode admission with the existing owner and preserve drafts during settings readback recovery. Signed-off-by: song <liusongstep@gmail.com>
Extend existing packaged journeys with native identity, source isolation, Unicode boundaries, delayed responses, version recovery and keyboard return checks. Wire focused parser/browse tests, reconcile the bilingual checkpoint and include public synthetic visual evidence. Signed-off-by: song <liusongstep@gmail.com>
Keep the completed-task seed independent of text search while retaining owner isolation. Cover saved-query changes and clearing through the read-only Overview, with no local history reads or writes, and retain the native history recovery checks. Signed-off-by: song <liusongstep@gmail.com>
Retain strict input-limit, catalog download, completed selection and accessibility assertions while following the current UI entrypoints. Register the moved Python whitespace expressions at their existing owner and wait for connection readback before checking its table. Signed-off-by: song <liusongstep@gmail.com>
Verify that a successful configuration write followed by a failed readback retains a disabled draft, retries only the read, and requires a fresh preview before another apply. Keep backend state and request-count assertions. Bind the scale smoke's keyboard targets to native owner IDs so an asynchronous dependency read cannot reorder positional locators. Preserve all 200-item reachability, keyboard, and render-budget assertions. Signed-off-by: song <liusongstep@gmail.com>
Signed-off-by: huangruiteng <huangrt01@163.com>
b3002d1 to
8405e5d
Compare
Signed-off-by: huangruiteng <huangrt01@163.com>
huangruiteng
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
动机
结论:APPROVE。未发现最终 head 仍需作者修改的阻断问题。本次审查完整提案 7544@75a6239a23090b3c235340cd588a1642d31bc258,不是沿用 rebase 前的批准。
需要在工作台查找任务、处理原请求并继续阅读旧报告的用户。
只读来源保存 first 查询后,改为 second 或清空查询应恢复同一负责人的已加载完成项;旧实现提前裁剪初始数据,用户只能刷新找回。
当前打包页面恢复完整负责人完成项,并保持只读;报告、成果和设置恢复均保留原请求与版本。
本次不交付完整 M4、验收目标编写、正式安装 App、真实团队持续使用或生产 provider 全量资格。
已安装原生 WebView、真实团队和长期效果/完整成本仍由原有产品验收承接。
不合入会留下已经实证的查询丢项及重复找回阅读上下文的成本。只修 seed 是旧 blocker 的最小修复,但不能替代整份提案的阅读、任务和恢复切片。没有要求先完成父级路线图才能交付这个可独立验证、整体回退的增量。
改动思路
只共享展示状态、文本规则和目录焦点;原生业务、权限、版本和读写恢复继续归已有 owner。
当前 PR 交付请求、任务、阅读与恢复的完整可回退切片,不建立新的业务状态库或执行策略。
用户明确的查询、负责人、视图和阅读位置属于展示意图,不能从 Todo 数据推导;任务计数、权限与结果版本仍来自现有权威来源。来源与 Goal 共同约束浏览状态,改变来源时不能借用旧选择。晚到的网络响应仍回写已发生的原结果,但不会抢回用户刚关闭的抽屉或新选择。设置保存成功后消费旧预览;读取失败只重试 GET,下一次变更仍需要新预览。
| 用户任务 | 旧行为或风险 | 当前已验证结果 |
|---|---|---|
| 修改只读完成任务查询 | 初始 seed 被查询裁剪,后续无法补回 | first → second → 清空恢复同负责人完成项;未分配独立 |
| 在成果中选正文、再返回 | 自动读首份正文、同名条目易误认 | 目录零预读;保留原生身份、版本、分页,返回原条目 |
| 设置写入后读取失败 | 容易误以为保存失败并重复写入 | 保留草稿和已写事实,锁住变更,恢复仅 GET |
| 从旧报告回到对话 | 原会话与当前执行器偏好可能混淆 | 返回原 Session/message,保留当前执行器选择 |
这张表来自本次执行和代码追踪,不是额外的状态协议。Files 增加一次明确的阅读选择,换取准确版本与按需读取;没有新增澄清或审批轮次。已有写入需要的预览、授权和 CAS 检查保持。三种成果读取器的验收、版本和分页语义不同,因此共用目录与焦点,继续分别调用原生 API,比泛化成第二个业务加载器更合理。
具体改动
验收依据:变更前已接受的 docs/architecture/rfcs/goal-workspace-surface-v0.md,固定版本 0cfbf11,结合该版本的 design 与 task-first delivery。PR 新增 checkpoint 是交付提案,不拿它作为自己的独立验收依据。
- V3:同一负责人、未分配及完整已加载完成项不丢失;相同当前浏览器回归在旧
96adcc9b001964472e3c2ca5250ed26eedab5e07的实际源码包失败,在当前包通过。 - V6:本切片的长文本、错误恢复、双语、键盘、窄屏和 reduced-motion 经过打包场景及整页查看;不宣称重新完成整个设备、对比度或原生 WebView 矩阵。
- V7:已有原生请求处理与 Add task 路径验证实际写入、独立读回、错误 actor、CAS、响应丢失及失败后保留草稿。
- V9:来源只读,目录/返回/刷新不触发业务执行;按需读取与明确选择由网络计数检查。
- V10:现有 200 项本地场景通过,保留冻结的 2 秒初始显示与 1 秒视图切换限制,不外推到跨宿主规模。
- V8:验收目标编写不在本次阅读切片内,没有改变其 owner 或宣称实现。
关键代码讲解
GoalWorkspaceWork只按负责人选择完成任务 seed,再交给CompletedTaskLane应用当前查询。旧缺陷正是两层各做一部分筛选,导致只读来源无法恢复被剪掉的记录。共享浏览状态通过现有 router 按来源和 Goal 保存,隐藏的选中任务仍能回到详情。GoalResearchResults保留原生 surface/revision/hash 检查,Files 只先列目录。rebase 冲突解决时特别保留最新 main 的可选索引语义:真实 HTTP 404/410 是清除旧内容后的空态;500、解码失败及正文里提及 404 都不是“没有成果”。已取消的迟到响应不能重开阅读器。answerReportNavigation依据可信会话范围恢复原 Session/message,仍由原绑定读者验证授权。标题、目录与正文共用块解析及稳定去重锚点,复制失败提供完整 Markdown,不用节选替代原文。MachineConfigurationSettings.applyPreview区分“写入成功”和“后续读取失败”,用编辑目标代次隔离旧响应。Goal 编辑器使用同类保护,恢复只读、不重放 apply;切换目标沿用原先丢弃旧编辑的设计。ChannelTimeline只冻结第一批稳定旧回复的节选资格,最新或流式输出始终完整。节选在代码、列表、表格块边界结束;来源消息焦点和展开/收起后的滚动位置由既有对话容器控制。
其余改动包括首页原生事项与 Goal/投递确认分开计数、Tasks 共用筛选、managed/team 原生目录、研究比较返回、Unicode 码点限制,以及相应 CSS、路由、既有 smoke、双语 checkpoint 和九张合成图片。完整最终 diff 为 83 个路径;生产代码约 +1418/-506,包含规则搬移,不将搬移重复计作精简收益。没有新增 DB 表、持久化业务格式、CLI 或 Agent 策略。
对主干的风险
最强反例是“正向搜索通过,但改变已保存的只读查询后记录永久消失”,其次是晚到的读取/预览覆盖新选择。前者通过相同测试脚本、真实旧/新源码包做了反证:旧版本在 Alpha second completion 等待超时,当前版本通过。两边先校验各自包的源码 witness;一次误用 installed-mode 的预备运行没有算入基线证据。后者通过关闭后迟到响应、目录版本替换、错误 Goal/owner、失败后恢复及零副作用断言覆盖。
本轮验证记录:
- PASS:前端完整构建与当前源码 bundle witness;control-plane 类型检查;19 项 TS 空白/owner/digest 检查;21 项原生 Todo 请求与 completion Python 测试;browse、Markdown、answer/team SSR 及 CSS token 检查。
- PASS:25 个风险选定的打包目录场景,以及 task-inspector-route、workspace-craft、runtime-source-workspace 三个独立浏览器检查。包含真实隔离 SQLite/HTTP 的请求/历史/部分配置恢复,也包含明确标注的合成报告与目录 API;没有把后者冒称生产 provider 资格。
- 历史 FAIL → 当前 PASS:
goal-showcase的旧断言要求未知费用显示破折号。不可变目标 main 与本次修正前的 head 均在同一断言超时;当前 GoalVitals 已显示“未采集”。只更新该显示断言,保留未知不等于零、不得残留旧金额及切回已知窗口的全部检查,重跑通过。没有修改费用计算或以更宽阈值遮掩失败。 - PASS,自动部分:standard premerge 的 4 个 direct 与 19 个选定检查均通过,双语 RFC 与全部变更文本的公开边界扫描通过。原生命令的首次 aggregate exit 1 还包括缺失的精确质量回执及九项图片人工检查,未将该 aggregate 伪报为绿。九张图的像素、来源和空 PNG metadata 已逐项检查;质量回执另按最终 diff 记录验证,人工检查在本 exact-head 评审中落实。
语义与 CI 对齐
Python 等价空白谓词从 todo_agents.ts 搬到单一纯 TS owner,并保留原导出供现有调用者使用;浏览器采用同一规则,避免 JS \s 与 Python 空白集合不一致。digest 单 owner 检查只更新实际归属,未缩小扫描范围。浏览 lens/filter 为局部 typed union,搜索文本不判断权限或完成状态。不存在新增 default-off 策略;Files 的目录优先、旧稳定消息节选等默认展示变化已在 PR、文档和回归中披露。配置的权限、CAS、原请求恢复与只读来源保护是强约束,并非可忽略的建议。
当前策略 wait_for_ci=false:没有查询、等待或以远端 CI 替代本地证据。前一 reviewer 的全目录 attached-host-follow-up 失败保留为历史观察,本次没有声称修复或重新完成全部 81 场景。正式安装、完整设备矩阵与真实团队持续使用仍由原有验收承接。
我的整体评价
这是 justified_increment:已交付可独立使用、验证和回退的阅读与恢复切片。长程维度为 preserved:已有任务、原请求及结果回执继续由原 owner 持久化,读取恢复不会偷偷变成新的执行义务;没有证明长期效率净收益。用户体验为 improved:上述确定性的丢项、找回原消息和已写后读取失败路径得到改善。
已查看桌面与 390px 的首页、目录、长报告和历史节选;正文与表格保留可读字号,原生身份区分同名条目,完整内容及错误恢复仍可到达。
未验证正式安装 App、原生 WebView、200% 原生缩放、独立用户理解或长期净收益。
已检查新增 helper 的实际生产调用,复用现有安全渲染、文本、路由与原生业务 owner。继续保留不同结果读者的原生验收/版本边界,比为了减少文件而强行统一更合理。没有发现需要在当前 PR 引入额外抽象或兼容层的理由。本次 APPROVE 与旧 review 收口、精确 head 的 merge-readiness 和用户已给出的合并授权仍分别处理;未删除原讨论或用“已解决”标记代替验证。
English verdict: APPROVE — exact head 75a6239 preserves source and authority boundaries, fixes the verified read-only search regression, and passes the selected packaged/native checks after rebase; installed/live-team qualification remains out of scope.
Owner-authorized merge reconciliation at 75a6239. Every finding in this review was independently rechecked: the identical read-only saved-query regression fails on the real 96adcc9 source package and passes now; seed is owner-only and the lane owns query filtering. Unicode/digest single-owner tests pass (19), and packaged conversation-input, typed-actions, completed-history-isolation and report-download now preserve the intended status, automatic expansion and explicit catalog-selection assertions. Current focused/native/browser checks and exact diff quality verification passed; the full approval and limitations are recorded in review 5681204183. Dismissing only this resolved obsolete blocker, preserving its discussion and prior evidence.
Rebase 与最终验证 · 2026-10-28
最终 head:
75a6239a23090b3c235340cd588a1642d31bc258,rebase 到目标main的0cfbf11dcea4ba7bc8fb13f06f1c915b63ce8fad。保留原作者和 DCO;未提交生成的前端 bundle。冲突解决保留主干的新研究阅读能力及可选索引语义:404/410 清除旧内容并显示空态;500、解码失败及正文提及 404 仍显示错误和重试。额外修复既有
goal-showcase的旧破折号断言,与主干已显示的“未采集”对齐,保留未知不等于零、不得残留旧金额及窗口恢复断言;没有修改费用计算。本轮通过:前端完整构建与源码 witness、control-plane 类型检查、19 项聚焦 TS、21 项原生 Python、browse/Markdown/report/CSS 检查;25 个选定打包目录场景及 task-inspector-route、workspace-craft、runtime-source-workspace 三项独立浏览器检查。包含隔离真实 SQLite/HTTP 请求与读回;其余合成 API、打包浏览器、正式安装/native WebView 与真实 provider 的边界保持原说明。
相同只读搜索脚本在旧
96adcc9b001964472e3c2ca5250ed26eedab5e07实际源码包中复现第二条完成项缺失,当前包通过。目标主干与修正前 head 的旧费用断言同因失败记录保留,修正后场景通过;未声称历史完整目录失败已修复或本轮重跑了所有场景。standard premerge 自动部分 4 个 direct + 19 个选定检查通过;双语 RFC 与变更文本公开边界扫描通过。九张图片逐项检查像素、来源和 metadata;原生 aggregate 的人工检查状态不冒称自动绿。最终 diff 的严格质量回执与 exact-head 评审分别校验。按当前策略未查询或等待远端 CI;合并仍单独执行新 head 的评审收口和 merge-readiness。
下方原作者说明和截图保留其原始 revision,作为历史视觉/执行证据;本轮另外检查了当前包的桌面、390px、长报告、目录、历史消息与读取失败恢复。没有宣称正式安装 App、200% 原生缩放、真实团队长期收益或完整生产 provider 验收。
Review 修复 · 2026-10-28
当前 head:
b3002d14d86a5093e1a5a355d2a86110a2a7ffee。已将最新目标分支main(843be494266774b63b3de61d0adf5dd7f4f877a2)无冲突合入,保留原 PR 和已发布历史。以下提交均有 DCO sign-off:032d93443:同步最新 main。37eba9e02:修复只读完成任务搜索,补回归与截图。149a98d68:修复 review 指出的检查合同,并保留原有功能断言。b3002d14d:补齐设置回读恢复检查,并按原生负责人身份稳定定位键盘操作。CompletedTaskLane过滤。打包回归验证保存的first → second → 清空、两条原记录恢复、未分配负责人隔离,且本地 history 请求、Turn 和 apply 均为零。content_digest_single_ownerpython_whitespace.ts;数量仍为 2,扫描器和否定用例未放宽。status的严格定位失败conversation-input和typed-actions分别验证真实超限提示与有名称的保存计数;保留 400/1000 边界、禁止预览及草稿恢复断言。aria-expanded=true,不再误点击将其收起;4,087 条分页、证据、有限 DOM 与切换不重读全部通过。本轮验证: control-plane 类型检查、打包 Chat TypeScript/build/source witness、聚焦 Unicode/Todo/digest 检查、双语 RFC gate 与 public-boundary scan 均通过。此前失败的完整 TypeScript-core shard 2:1,836 tests,1,824 passed,0 failed,12 skipped;11 项需要独立 PostgreSQL URL,1 项需要非 root POSIX 权限环境。SQLite 资格预检 6/6,实际 Node 24.22.1 / SQLite 3.53.4 获得资格,无 SQLite 资格跳过。
81 个打包浏览器场景已逐项通过,覆盖完整分片以及针对失败场景的修复后重跑。包含
completed-history-isolation、typed-actions、conversation-input、report-download、navigation-sorting、steward-group-trigger、replan-cadence和goal-workspace-m2。最后一笔仅修改测试;已再次验证最终 head 的 Chat bundle source witness 和双语 RFC gate,远端完整 tree 与测试工作树一致。新 head
b3002d14d的 GitHub CI 已触发:DCO、Dependency Review 已通过;PostgreSQL Integration、Frontstage Pages、Desktop Release Artifacts 运行中,Python Tests、Release Artifacts 等待运行。此处记录提交后的观测状态,不将上一 head 的结果视作本 head 已通过。已修复的只读搜索 inline thread 已 resolved;原 REQUEST_CHANGES 仍待 reviewer 复审。截图为 1512 × 982 的公开合成只读来源;本轮只修筛选状态,原布局与下方首轮视觉证据保持适用。打包浏览器使用 Chromium 153;只读筛选使用合成远端状态,完成历史与下载使用隔离真实 SQLite/HTTP owner。没有宣称已安装 App、真实远端来源或完整生产 provider 验收。原 REQUEST_CHANGES 保留,等待 reviewer 对新 head 重新判断;作者没有 dismiss review、批准或合并 PR。
动机
工作台已有原生动作、任务、报告和设置 owner,但入口之间仍有连续性缺口:首页把事项和目标混作计数,概览与 Tasks 丢失浏览状态,报告无法准确回到原消息,Files 提前读取多个正文,设置写入成功后的回读失败会丢失编辑上下文。本 PR 将这些缺口接入现有流程,沿用既有权限、版本、CAS 和原请求恢复语义。
对应现有
design.md、S5 和 Goal workspace RFC;同步更新中英文 checkpoint。当前 main 的原回复/引用展示继续保留,相关在途研究布局和短时间线分支没有整段引入。改动
新增共用代码限于纯文本规则、展示浏览状态、Markdown 块解析和目录展示/焦点辅助;没有新增业务状态库或第二套权限 owner。
首轮验证(历史 head)
首轮验证 head:
96adcc9b001964472e3c2ca5250ed26eedab5e07。首轮远端完整 tree 已与当时的测试工作树逐字节核对,打包 source witness 的 663 个输入匹配当时的候选。attention-user-action、goal-activity、confirmed-operations、goal-showcasePASSsteward-model-settings、capability-scope、goal-draft、goal-workspace-create、task-inspector-returnPASSanswer-presentation、runtime-source workspace PASSmanaged-goal-results、research-results、team-evidence、research-display-languagePASS导航 smoke 使用
domcontentloaded后的具体可见就绪条件,避免周期读取与networkidle耦合;原有行为断言保留。前四个输入/设置场景在最后一轮独立 reader/标签修复前的有效包通过,其对应实现字节未变;原文编辑及其他收尾场景在重建后的有效包完成。视觉证据
全部为公开安全的合成 fixture。Before:
1fe6134e0b0fd0df6dc671a9bce0ea29c9613891;After:上述提交的源码。桌面 1512×982,手机 390×844。目标行视图 · 复现与证据边界
范围与风险
这是一组共用既有 owner 的前端整合,影响面跨首页、任务、阅读和设置,建议按上述用户路径审查。原生 Todo 创建、编辑和处理有隔离真实后端与独立读取证据;设置和多数成果/报告读取使用 fixture API,不能外推为生产 provider 或 live-team 验收。
浏览器使用 Chromium 153;固定版本下载不可用,因此未宣称固定浏览器或安装版原生 WebView 已验证。原生 200% 缩放、完整 CI/设备矩阵和安装发布均不在已通过结论内。独立标题/多段正文合同与大集合虚拟化仍需各自需求或瓶颈证据,本次没有启动。
普通 PR 待独立审查;未合并、未安装、未发布。