Repository navigation
Show child research navigation while Goal status loads - #8315
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, gpt-6.1-sol, OpenAI, runtime_reported, reasoning_effort=max
Approval conclusion (author-owned PR; GitHub blocks formal self-approval)
动机 / Motivation
打开父 Goal 的研究页并想进入一个案例的读者,原先要等父 Goal 的完整状态。 同一组 13 个子 Goal 在父状态响应被延后时,旧版只有加载提示,卡片约 4.6 至 4.7 秒才出现。 候选版约 0.15 至 0.18 秒即显示可点击的案例入口,键盘可直接进入子 Goal 读取原记录。 本次调整案例入口出现的时机,原始记录、卡片时间和执行控件仍由各自已核验的状态提供。 父状态查询和来源读回各自仍有耗时,合并后的本机读回也待单独验证。
改动思路 / Approach
目录和状态各有现成的读取边界。让同一个研究视图先展示目录,既保留原生证据闸门,也让导航在父状态失败时继续可用。 本 PR 只调整研究视图的展示顺序,沿用现有目录、选中 Goal 状态、来源读者和重试入口。 原来等待父状态的那段时间,目录已经能提供子 Goal 名称和层级。延长超时仍会挡住入口,单独渲染一套临时卡片又会在状态恢复时重挂载。这里保留同一个研究视图和原有加载或失败提示,选择子 Goal 后仍走原生选中状态与来源读取。
具体改动 / Changes
依据 docs/development/design.md,以 e2371c4 为规格版本。research-parent-entry 由已有目录提供案例入口,研究页在父状态等待时即可导航。research-original-source 由选中快照与原来源校验后读取原记录,已核验两个独立来源。research-read-only-navigation 由原导航流程完成,打包路径浏览时没有提交研究、分析或执行请求。
关键代码讲解
goalStatusNotice复用原来的状态提示和重试。研究页可以带着提示显示案例入口,其他页签按原状态渲染。PersonalWorkspacePageGoalResearchWorkbench保持同一层级组件在等待与就绪阶段。原历史、已保存结论和时钟读取仍等选中状态可用。GoalResearchWorkbenchResearchChildGoals在早期只渲染名称和入口。状态可用且页签活跃时才用原读队列补时间。ResearchChildGoals- 现有浏览器 smoke 持住父状态,验证窄屏键盘进入、拒绝后返回及重试,并检查未就绪时没有父历史或时钟读取。浏览器回归
对主干的风险 / Risks
重点检查目录提前可见会不会让研究正文绕过访问检查。父状态被拒绝时,错误和重试仍可见,证据读取没有提前。两个具有相同原 Goal ID 的独立来源仍隔离,错传命名空间返回 409,正确来源可读回策略和历史。打包路径的键盘进入、旧目录版本、停止 Goal 书签和重试均通过。标准本地预合并通过,保留前次词汇检查超时的记录,同一个完整检查本次在 31 秒内完成,超时原因未确认。
语义与 CI 对齐
沿用现有加载状态、层级和来源标识。没有新增状态词汇或执行策略。此次评审按 Goal 配置使用本地验证,远端 CI 未纳入评审证据。正文与时间在父状态完成后补齐,服务器计算耗时仍是单独的问题。
我的整体评价 / Verdict
交付的是可独立验证的入口改进。长期使用仍沿原来的来源身份、失败提示和重试路径,用户打开研究页少了等父状态才能选案例的时间。整页截图显示状态提示在上方,子 Goal 入口紧接其下。390 px 保留相同阅读顺序,标题换行,已加载的桌面状态仍区分有日期、空记录和读取失败。 截图基于合成 SQLite。另在打包后端验证过真实来源,尚待合并后的桌面读回与本机耗时。 三个生产文件和一处既有 smoke 都围绕这一行为,现有来源权限和后续读取不需要迁移。本次是同一提交的评审结论。
English verdict: APPROVE 8e242f8. No blocking findings. Packaged Research, source isolation, failure recovery, and standard local premerge passed.
Opening a parent Goal's Research tab now shows its registered child Goal links as soon as the directory arrives. A slow or denied parent snapshot leaves the case links available and shows the existing loading or recovery notice. The selected snapshot still gates original research evidence, card clocks and execution controls.
First viewport
Packaged Chat at
8e242f8c48and basee2371c4768used the same synthetic 13-child SQLite fixture. The comparison holds the parent status response for 4.5 seconds. These captures show the loading state on desktop and at 390 px.Desktop after the selected snapshot and child clocks return
Validation