Repository navigation
test(workspace): follow the current delivery check action - #6547
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; runtime_reported; reasoning_effort=max
Approval conclusion (author-owned PR; GitHub blocks formal self-approval).
精确评审:6547@d9c673579084db6371bffc90cd310dd2075a7a43;实际差异基线 7c1f12a47c75a39cb37514e26b3570f3ef22f3f3。
动机
维护者验证团队执行页面时,需要完整跑过证据读取、反馈投递和原任务恢复,及时发现状态或重复执行回归。
此前四个浏览器脚本仍查找旧的“重新读取证据”按钮,实际页面已显示“重新检查交付”,测试在真正进入恢复断言前超时。本 PR 只把六处旧定位改为当前精确名称并复用原 recheck 定位器;同一打包页面上,原测试在旧定位处超时,候选完整执行四个场景并保留全部断言和等待期限。
候选四场景均通过,覆盖丢失投递确认后读取原回执、来源失效后撤回旧证据及恢复原任务不再次派发;主干原测试在第 67 行旧按钮定位处稳定超时。本 PR 不修改产品按钮、验收规则或执行权限;这些合成场景不证明真实模型协作、独立验收、请求方采用、安装后的 App 或完整 L1 已完成。
完整 L1 的真实异议、修订、独立验收和请求方采用仍归既有团队工作区 owner;本 PR 只恢复已有回归路径的可执行性。
改动思路
复用 GoalTeamEvidence 已有精确可访问名称与原 recheck 定位器,不添加兼容按钮、sleep、宽松匹配或替代执行器;失败和重试继续由原回执及验收 owner 决定。
当前边界是四个现有浏览器 smoke 的过期定位维护,产品 bundle、真实恢复 owner 与测试断言均保持原样。
四个测试文件共 +6/-6,全部是六处旧 locator 的替换/复用;改产品文案迎合过期测试、放宽选择器或延长等待都不能恢复正确的验收路径。
普通任务是核对本次交付、理解失效原因并继续原工作,用户不应为测试过期按钮重新选择对象、补充已知operation或重新授权。保持现状只让维护者得到早期定位超时;更小合法方案正是复用当前精确按钮并保留已有恢复流程。原任务身份和授权已知时新增交互为零轮;导航、查看证据或自愿展开不是新的授权确认。丢确认时读取原回执,来源修复后核对原operation,不要求重发请求或再次派发。合成的390px阻断页明确原因、来源入口和重新检查动作,恢复反馈页面保留原文/输入及已投递状态。未以合成链条替代真实独立验收和采用。
旧路径是“定位不存在的动作→30秒超时→后续验收未执行”;新路径是“定位当前精确动作→原读取/校验→原错误恢复断言”。没有新增用户步骤,测试也不把执行成功、验收和采用合为一个状态。
具体改动
recheck:精确定位当前动作,并在同一原locator上反复读取与键盘恢复。evidence recheck:来源暂时失效后通过既有按钮恢复;原envelope与持久输入断言未改。evidence recheck:来源恢复后读取原结果,不再次派发Host。GoalTeamEvidence:现有产品按钮及read owner不在diff,独立验证locator适配真实含义。
规格依据:docs/architecture/rfcs/live-team-workspace-v0.md @ 7c1f12a47c75a39cb37514e26b3570f3ef22f3f3。本次对应 V1 Truth、V3 Experience、V6 Rollback、First live outcome: one understandable correction。规格作为独立既有验收,不用新字段或测试数量代替用户结果。
已逐行核对四文件的六处差异:仅更新可访问名称/复用已有 recheck;所有 assert、timeout、fixture、恢复顺序与清理保留。相关 #6546 的整个 Git tree 与本头一致,属于重复提案,只需选择一个合入;这里的结论来自本头的独立执行,不借用另一 PR 的评审或测试。
正常 base/head 构建通过;候选 team-evidence-return、team-feedback-recovery、team-task-revalidation、team-result-use-recovery 四个完整脚本通过;旧头原 evidence-return 在同一实际按钮上第67行超时。
未松动断言:丢 HTTP ACK 后同 envelope 恢复只有一条持久输入,来源失效撤回旧内容/采用标记,修复后使用原 operation 且 Host 派发次数保持1,回列表保留页码与键盘焦点,不产生模型 Turn。
正常build/TSC、control-plane typecheck、配置内19文件mypy、DCO、diff与advisory通过;canary3项直接检查及5项产品执行全通过,另有quality_receipt_missing本地策略门。四个完整浏览器场景是另行实际执行,不冒充canary选择项。
实际执行了四个未缩短的原生 node 浏览器回归。evidence-return 使用打包页面与合成 API 观察;feedback 使用真实 Chat HTTP/File inbox;task/result 恢复使用真实 delegation/File/HTTP 和本机有界假 Host,没有付费模型。另在实际基线正常构建后运行原 evidence-return,30秒后因旧按钮名称在第67行失败,候选同场景通过。检查了恢复反馈桌面与来源失效390px实际截图:内容、对象、失效原因和下一动作可读;截图不证明真实采用或持久性,持久性由原完整脚本断言。
对主干的风险
产品源码、服务、持久格式、权限、调度和默认行为没有差异,风险集中在选错按钮而绕过真正校验。通过精确名称、原恢复断言、主干超时/候选成功反例,以及真实owner派发计数约束此风险。这里没有新的默认开启功能或自动读取循环;回列表原有一次读取仍保持。相关 future-facing pass已采用原recheck定位器复用,四脚本各自准备不同场景,不值得为相同字符串新建公共框架。原规格的完整V矩阵和安装/live episode资格继续保留。
未查询、轮询或等待 CI。上述本地质量收据门与产品检查分列;没有借用旧收据、豁免检查或声称 merge readiness 已 ready。每个头的 DCO 均已核对。本评审不执行合并、账户切换或代替维护者授权。
我的整体评价
APPROVE:这是完整且可逆的测试维护增量;四个真实打包回归已恢复,原断言未放松,基线旧定位确实失败。它恢复对原恢复语义的保护,不宣称父级协作验收完成。#6546与本头树完全相同,选一个提案即可;本地质量门和合并授权仍独立。
English verdict: APPROVE. All four complete packaged browser regressions pass on this exact head; the unmodified base still times out on the stale accessible name. Only selectors changed, with all assertions and recovery semantics retained. This is regression maintenance, not proof of live independent acceptance/adoption; #6546 is a duplicate proposal and merge gates remain separate.
Goal And Delivered Outcome
The Release Artifacts browser job timed out in
team-evidence-return-smoke.mjslooking for “重新读取证据”. The delivered action has been “重新检查交付 / Check delivery again” since #6473, explicitly reflecting that it can run configured checks.Update all six stale call sites across the four existing packaged evidence/recovery smokes. Reuse the existing
rechecklocator for two later return/recovery clicks. Every assertion, timeout, fixture and product action stays intact.Author Declaration
GoalTeamEvidenceat7c1f12a47c75a39cb37514e26b3570f3ef22f3f3, adopted in feat(acceptance): prepare owner-pinned delivery checks in the workbench #6473.main.Scope And Continuation
Complete within the four caller smokes. No capability, provider or protocol vocabulary is added. The bounded refactor reuses the existing local locator; an additional helper would add unnecessary ownership. Broader hosted CI, release qualification and independent acceptance/adoption remain open.
Validation
d9c673579084db6371bffc90cd310dd2075a7a43.npm run build:chatbuild passed at7c1f12a; its product/backend/build inputs are identical at this head. The standard large-chunk advisory remains.team-evidence-return-smoke.mjsteam-feedback-recovery-smoke.mjsteam-task-revalidation-smoke.mjsteam-result-use-recovery-smoke.mjsnode --checkcalls, workspace contract smoke/four tests, andgit diff --checkpassed.cqr_96ac9226b46a83e74696passed and verified valid.Browser scenarios use the packaged UI. The return scenario supplies synthetic API observations; the other three use their existing production HTTP/File delegation or inbox/store fixtures on disposable state with Python 3.11. No model dispatch or active Goal is used.
Frontend / Visual Evidence
UI impact: none. Existing desktop/mobile failure and recovery screenshots are generated by the original scenarios; product presentation is unchanged.
Type / Area
Boundary Checklist