Repository navigation
fix(research): clarify tentative findings and explicit status selection - #7368
Conversation
Signed-off-by: huangruiteng <huangrt01@163.com>
Signed-off-by: huangruiteng <huangrt01@163.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
动机
在研究页阅读来源判断,或通过现有 Explore 写回记录观察与解释的调用方。
旧界面把60条已有证据显示成待检查;新界面显示暂定结论,并解释来源判断、问题收束与继续决策各自独立。
读者能够区分暂定判断与排队任务;作者必须明确选择结论状态,既有有效写回与问题状态保持独立。
本次不自动重分类历史、不证明科研正确性或模型采用,也不改变 CLI finding 默认值、结算与执行权限。
“暂定”描述的是来源尚未确认或反驳的判断,不等于没人做过观察。旧中文文案和模板预选把这两件事混在一起,读者容易误判仍有验证任务排队,记录者也可能没有明确作出判断。这次修复把语义放回原来的阅读与填写入口,不另建检查队列。
改动思路
A copy-only fix would leave preselection. Existing decoder already rejects missing judgment, so only its generated templates and shared frontend wording need change. 当前边界:读者能够区分暂定判断与排队任务;作者必须明确选择结论状态,既有有效写回与问题状态保持独立。
现有 Explore typed affordance 仍是模板与指导的唯一生产者,现有 normalizer 仍只验证允许的状态和输入。前端用一个13行纯函数共享来源状态名称与解释,三处真实读者复用现有 ContextHelp;读取帮助不启动模型、修改问题或写入结论。
| 路径 | 基线 | 本 head |
|---|---|---|
| 暂定来源判断 | 中文显示待检查 | 显示暂定结论,按需解释来源判断边界 |
| 直接填写事实模板 | 已带 tentative | status 留空,调用方明确选择原有三值之一 |
| 问题已回答、结论仍暂定 | 两种原始状态独立 | 仍独立,既不自动关闭也不自动确认 |
| 普通未启用或拒绝路径 | 原行为 | 完整 CLI 响应相同 |
最值得质疑的是模板留空给已有复制式调用带来的拒绝,以及指导是否把“科学正确”变成新的硬门。本实现明确披露前者;机器仍只验证既有三值,不会依据分数、文字或证据数量推断真值。添加的解释是可选捕获内的指导,未变成 must-attempt、结算或配额义务。
具体改动
评审前读取的接受依据为 https://github.com/loopx-project/loopx/blob/0e47330fe57ce5ea1101dae67ee19b836869ef4e/docs/architecture/rfcs/research-exploration-control-plane-v0.md ,固定版本 0e47330fe57ce5ea1101dae67ee19b836869ef4e;也读取原 design 与 task-first 约束。RFC 新增的状态说明作为本次澄清审查,不能反过来充当接受依据。
- 3. Goals — implemented:使用类型化来源身份,保留负面证据,不从置信度自动制造真值。 本轮通过实际原始记录、恢复/返回和对应状态的验证;不把局部交付计作整个路线图完成。
- 10. Ownership and Effect Boundaries — implemented:Explore 保留研究记录,展示层只渲染,结算/执行 owner 不变。 本轮通过实际原始记录、恢复/返回和对应状态的验证;不把局部交付计作整个路线图完成。
- 13.2 Authority rules — implemented:默认关闭与普通权限保留,启用上下文不授予执行权。 本轮通过实际原始记录、恢复/返回和对应状态的验证;不把局部交付计作整个路线图完成。
关键代码讲解
exploreResultWritebackAffordance将 full、path-delta、linked-question 三个模板的状态由预填 tentative 改为空,并补两条关于范围内判断与问题收束的指导。底层既有字面量校验没有改变;显式提交不完整材料仍在主提交前拒绝。exploreFindingCopy集中来源状态名称和中英完整解释;只返回展示文案,不新建词汇、真值分类器或持久化状态。GoalResearchTimeline复用同一标签并把解释放在图例的现有帮助模式;原来颜色、计数、时间与决策保持。GoalResearchHistory和 Saved findings 复用相同文案。问题收束、结论状态、后续继续/转向分列,不用来源确认冒充独立验收或 Goal 完成。
其余路径包括两份能力说明、现有设计文案、英中 RFC 镜像、现有 Python/TS/浏览器回归及四张公开合成截图。中英新增 RFC 语义一致。没有更改 CLI finding 命令的默认值、已保存历史、Lark 传输或通用工作流;历史阅读即使未启用执行也会得到新标签,这是明确的显示变化。
对主干的风险
本轮独立完成63项真实写回 Python 测试、38项 turn-context 测试和39项 TS 测试,以及生产构建与完整 packaged research-route-reading(11.110秒)。覆盖原始有效材料、空/无效状态的提交前拒绝、主写失败、重放、问题状态保留,以及中英、桌面/平板/窄屏、帮助关闭返焦点和来源不可用。真实 HTTP/SQLite 另以60条暂定记录验证:已收束的问题仍可同时有20条暂定结论,读取后原字节不变、业务写为零。
对不可变基线与本 head,额外执行7组完整公共 CLI 响应比较:未启用、其它 Agent 拒绝和缺失 Goal 三组逐字一致;四组启用/分页/选定/缺失节点输出仅三个模板状态及两条新增指导不同。移除准确两条新增指导后,原指导逐字保留,所有 before-work 条款直接逐字一致。22组完整 normalize 正常/错误结果也相同,包括状态与可选问题收束的独立性;只有把模板默认值直接带入事实材料时,基线自动接受暂定、head 要求明确选择,符合声明的默认改变。
标准 premerge 的5项直接检查及19项选中检查全部执行通过,含双语、语义、热路径预算与公共文本边界;整体仍退出1、manual_review_required,保留四张图片人工门。我逐张查看了四图和元数据,且以实际源码构建做了基线、桌面和390px中英帮助/原文观察。初次 Ego 对已聚焦控件做 focus 未打开帮助的超时被保留;实际点击以及 Tab/Shift+Tab 重新聚焦、Escape 和触屏入口随后验证,不改源代码或断言。没有查询或等待 CI。
新义务没有从 Explore 泄漏到通用 quota、Todo 或结算。捕获仍为 required=false,省略合法;已显式提交的状态必须通过原校验,而解释与科研结论的正确性不会自动获证。没有按散文、置信度或评分自动分类。原始失败和未知保留;现有已填合法材料无需迁移,模板消费者要按已披露的新默认作判断。
我的整体评价
APPROVE,限 1e14056be60d771ff3645d0bd72c58831b91d802。 当前 head 完成了来源状态的可理解阅读和显式模板选择。长程工作维度为 preserved:原观察、未知、合法继续和问题状态仍独立,用户体验维度为 improved;这不推导为模型判断能力或科学收益提升。
实际检查了60条暂定记录和混合状态的整页、桌面及390px帮助/阅读器:默认保留数量和来源状态,完整解释按需展开,已收束问题与暂定结论分别呈现;正文未缩小。
未验证安装版 App、真实模型对新指导的采用、科研判断正确率或完整成本收益;合成读取和模板拒绝不证明这些结果。
实际帮助在宽屏和390px均可完整读取、关闭并返回;默认主结果未被解释文字挤走。复用已有三值和 shared typed owner,不新造协议;13行共享文案消除三个活跃读者的重复,边界适当。原生图片留置和维护者合并/安装权限仍是独立门,批准不会清除它们。
English verdict: APPROVE at 1e14056. Source-status wording and all three blank authoring templates reuse existing owners; valid input, disabled paths, failures and question closure retain their semantics. Independent 101 Python and39 TS tests,7 complete CLI pairs,22 normalization/error pairs and packaged real-backend reading passed. Manual image, installed adoption and actual model-benefit qualifications remain separate.
|
质量核验补充(head 发布评审后,补跑仓库要求的
English: The scoped approval remains evidence-backed, but required broad demo validation fails identically on the immutable baseline and this head. Strict quality remains FAIL; no merge or full-demo qualification is claimed. |
#7368 renamed the tentative finding state from 待检查 to 暂定结论 so the reader no longer calls a tentative finding a queued check. The packaged research-finding-reader acceptance scenario still pinned the retired label in three assertions, so dashboard-browser (2) and chat-bundle-browser (2) aborted there and the required checks job failed for every PR. Follow the shipped label and keep the Chinese/English assertions paired. Closes #7480 Signed-off-by: JasonBuildAI <jasonbuildai@gmail.com>
Tentative findings currently read as “待检查”, suggesting a verification queue even when evidence and decisions already exist. This change uses “暂定结论” across the timeline, history and saved-finding reader, with on-demand explanation of source judgment, question closure and decision state.
The existing Explore TypeScript owner now leaves
statusblank in all three writeback templates. Callers must deliberately choose tentative/confirmed/refuted using the existing validator; guidance separates scoped observations from unresolved broader claims and reuses optional question closure. This changes enabled template authoring, not the persisted vocabulary, CLI finding default, stored history, feature-off behavior, settlement or execution authority. No automatic reclassification or new verification queue is introduced.Delivery boundary: S11 / the existing Research Exploration Control Plane RFC. The UI and ordinary writeback entrypoints share existing owners; Lark transport is unchanged. The bounded refactor centralizes duplicated finding copy in the nearest frontend owner (three active readers). Model adoption, scientific correctness and historical state cleanup remain unqualified; this PR addresses misleading reading and preselected authoring.
Validation:
Visual evidence (proposed packaged build, not an installed App upgrade; head 1e14056):
Phone reader: resolved question with tentative findings
The default view preserves counts, colors and full source evidence; only the status name and a contextual help entry change. No horizontal overflow was observed in the phone reader. No live model or production Goal was mutated. Author work is complete; CI and maintainer review/merge remain pending.