Repository navigation
test(workspace): restore delivery-check recovery browser journeys - #6546
loopx-agent wants to merge 1 commit into
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; model=gpt-6.1-sol; provider=OpenAI; declaration_source=runtime_reported; reasoning_effort=max
Approval conclusion (author-owned PR; GitHub blocks formal self-approval)
动机
使用团队工作区的用户需要在证据失效、反馈回执丢失或原执行恢复后,再次检查同一份交付;维护者需要浏览器回归真正走到这些恢复断言。旧脚本仍寻找“重新读取证据”,而实际按钮已改为“重新检查交付”,因此在检查版本和恢复结果以前就超时。当前提案修正定位名称,使四条既有旅程重新执行完整断言,不改变用户操作或执行权限。本 PR 不证明真实模型纠偏、独立语义验收、请求方采用或已安装 App 的完整链路。
评审目标为 6546@66d1bbae178db514ea7feb7632d891d1d0df96c5,实际基线 7c1f12a47c75a39cb37514e26b3570f3ef22f3f3。先读取同版本 docs/architecture/rfcs/live-team-workspace-v0.md、设计和前端交付规范,再读实现;依据为 §7 的权限及兼容边界、§9 的真实状态与恢复要求。准则 V1、V3、V6 在本测试修复范围内得到覆盖,V4 的真实持续协作仍是既有功能验收,不能由合成脚本代替。经验建议仅用于核实实际恢复路径,没有继承旧结论或声称记忆带来净收益。
改动思路
GoalTeamEvidence 已用效果更明确的“重新检查交付”描述现有 read 操作,操作仍经过原来的验收及当前授权边界。此处只让测试调用方跟上这个名称。没有重命名产品按钮、扩大匹配范围、增加等待时间或删除失败断言。
我比较了不改、修复既有定位器、引入公共测试封装三种路径:不改会持续在错误入口停止;现有定位器已足够;为六个名称引用增加框架反而扩大维护成本。team-evidence-return-smoke.mjs 复用本地 recheck,另外三份独立 fixture 保留各自的后端与恢复语义。当前边界是修复四个测试调用方,生产组件、状态所有者和执行控制保持原样。
还核对了相关工作:#6547 已于 2026-10-15 合并,当前 main 的四个文件与此提案逐一同 blob。因此这是正确但已经被主干吸收的等价修复,建议维护者关闭重复提案;不需要为了交付相同结果再合并一次,也不需要增加后继任务。
具体改动
完整差异只有四个文件、6 行替换及 1 个签署提交。team-evidence-return-smoke.mjs 的 recheck 改为精确匹配当前按钮,并在采用撤回和核心版本恢复两处复用。team-feedback-recovery-smoke.mjs 的 command 仍读真实收件箱;其恢复点击只更正名称。team-task-revalidation-smoke.mjs 和 team-result-use-recovery-smoke.mjs 的 recheck 仍调用原 HTTP 及 delegation owner,没有另造状态或校验器。
在正常构建的基线页面上,未修改的 evidence-return 脚本于第 67 行等待旧名称 30 秒后失败;正常构建当前头后,四份完整脚本全部通过。对反馈旅程,提交后故意丢失响应,导航及刷新不发送新反馈,显式重试保留原身份、正文和版本,真实 store 中只有一条输入;暂停后仍拒绝新投递。对原任务恢复,失败保持可见,修复及提交后丢响应的恢复保留原操作且 Host 调用计数仍为 1。对结果使用,撤回源版本会同时清除报告,恢复后读取当前版本,历史保持不变,三条 Host 计数均不增加。
返回旅程还保留错版本与缺版本、核心证据及下游采用丢失、显式恢复、键盘返回、分页游标、390px 和 reduced motion 的原断言。源文件逐项比较确认所有断言、超时、fixture 及产品代码都未改变;图片只展示合成内容,桌面及手机截图已查看。
对主干的风险
当前头的构建、verify --source、四条打包旅程、语法检查与语义 advisory 均通过。原生 canary premerge --from-git-diff 针对实际基线得到 3 项直接检查及 5 项目录选中检查通过,失败和人工 hold 均为 0。基线旧名称失败作为回归敏感性证据保留,没有把它隐藏成当前通过,也未查询或等待 GitHub CI。
没有新配置、协议词汇、状态判断、默认开关、提示或权限。默认关闭、只读导航及拒绝路径仍由同一产品代码及真实 fixture 验证;浏览不会启动工作,收件箱 delivered 也没有被解释为 applied。证据返回脚本的业务观察为合成 API;另外三份脚本使用一次性生产 HTTP/store 或 delegation worker,不能扩大为真实模型、PostgreSQL 或原生 App 资格。此次没有产品视觉或首屏变化。
我的整体评价
APPROVE:测试调用方的修复正确,全部受影响恢复断言得到当前头的独立执行。 有界维护性检查已经应用:复用现成 recheck 即可,没有必要抽象不同 fixture。相关 #6547 已交付完全相同的文件,因此建议关闭此重复 PR;本结论不授予合并权限,也不把测试通过当成 §9 完整协作验收。
English verdict: APPROVE - 6546@66d1bbae178db514ea7feb7632d891d1d0df96c5. All four packaged recovery journeys pass without weakened assertions; the old-name baseline fails as expected. The identical fix is already on main via #6547, so closing this duplicate is preferable to another merge. No live-model or installed-App qualification is claimed.
Goal And Delivered Outcome
The Team recovery browser smokes still searched for 重新读取证据 after #6473 renamed the action to 重新检查交付 to disclose that it runs configured checks. The packaged-browser failure reproduces on current
main; three adjacent recovery journeys fail at the same obsolete accessible name.Point all four journeys at the current action and reuse the existing recheck locator within the evidence-return smoke. The complete failure/recovery assertions remain intact. Intended base:
main; related: #6473. This fixes test discovery of the existing operation.Author Declaration
7c1f12a47c75a39cb37514e26b3570f3ef22f3f3.Self-check: compared the actual component action with all active smoke callers, reproduced all four old-name failures, reviewed the complete diff and inspected generated desktop/390px screenshots. The small future-facing pass reuses one existing locator; separate fixtures need no shared abstraction. No new capability, protocol vocabulary or decision owner.
Scope And Continuation
Complete within this test-only scope: evidence return, uncertain-feedback recovery, original-task revalidation and result-use recovery. Product UI, default behavior, backend and first screen have identical source blobs to the base. Full model/installed-App/L1 qualification remains in the existing feature scope; this proposal does not close it. No new successor is needed for the selector repair.
Validation
66d1bbae178db514ea7feb7632d891d1d0df96c5test bytes; the production bundle was built from7c1f12a47c75a39cb37514e26b3570f3ef22f3f3, whose product sources are unchanged by this PR.uv run --extra test python scripts/chat_bundle.py build --installandverify --source; actual packaged Team UIteam-evidence-return-smoke.mjs: checked output versions, stale/revoked source/consumer, recovery, keyboard return, list pagination, 390px/reduced motion, no work dispatchteam-feedback-recovery-smoke.mjs: disposable production inbox HTTP/store, lost acknowledgement, same-id retry, scoped input and paused admissionteam-task-revalidation-smoke.mjs: disposable production Chat/delegation worker, original failure and response-loss recovery without a second Host callteam-result-use-recovery-smoke.mjs: disposable production Chat/delegation worker, source withdrawal/restoration, unchanged history and no redispatchgit diff --check, public-boundary scan; semantic advisory found no supported vocabulary carriers (MJS is outside that probe)The bundle build emits the existing chunk-size warning; the build succeeds. Initial failures are retained as before/after evidence. Production authority is exercised only by the named disposable backend fixtures; the evidence-return transport fixture is presentation coverage, not independent semantic acceptance.
Frontend / Visual Evidence
UI impact: none. Existing desktop/390px layouts, keyboard focus and failure/recovery screenshots were inspected during the smokes; there is no before/after presentation delta or first-screen change. The existing single explicit check keeps its effect-disclosing label and adds no user interaction.
Type of Change
LoopX Area
Direction: S5/R2 live-team evidence/recovery qualification. Shared-authority RFC fixture impact: N/A; no state rule, provider or compatibility change.
Boundary Checklist