Skip to content

test(workspace): restore delivery-check recovery browser journeys - #6546

Open
loopx-agent wants to merge 1 commit into
mainfrom
codex/team-evidence-return-20261016
Open

loopx-agent wants to merge 1 commit into
mainfrom
codex/team-evidence-return-20261016

Conversation

@loopx-agent

Copy link
Copy Markdown
Collaborator

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

  • Written by: model_agent (Codex, GPT-6 family, OpenAI).
  • Implemented against: Live Team Workspace RFC, revision 7c1f12a47c75a39cb37514e26b3570f3ef22f3f3.
Criterion Disposition Existing path / decisive validation
§7: retain current authority and recovery boundaries implemented within the test repair Original feedback identity/deduplication, unchanged Host-call counts and immutable history assertions retained and passed
§9: show stale, rejected and lost observations honestly implemented within the test repair Four packaged recovery journeys now reach and pass their original withdrawal/recovery assertions
§9: real-model objection → independent acceptance → requester adoption deferred, unchanged These browser/fixture runs do not qualify the full live-team outcome

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

  • Tested revision: 66d1bbae178db514ea7feb7632d891d1d0df96c5 test bytes; the production bundle was built from 7c1f12a47c75a39cb37514e26b3570f3ef22f3f3, whose product sources are unchanged by this PR.
  • Run state: finished. Input class: synthetic.
Check kind Result Evidence / limitation
regression_parity passed All four base journeys reproduced 30s old-name locator failures; all four fixed journeys passed without timeout changes or removed assertions
real_entrypoint passed uv run --extra test python scripts/chat_bundle.py build --install and verify --source; actual packaged Team UI
integration passed team-evidence-return-smoke.mjs: checked output versions, stale/revoked source/consumer, recovery, keyboard return, list pagination, 390px/reduced motion, no work dispatch
real_backend passed team-feedback-recovery-smoke.mjs: disposable production inbox HTTP/store, lost acknowledgement, same-id retry, scoped input and paused admission
real_backend passed team-task-revalidation-smoke.mjs: disposable production Chat/delegation worker, original failure and response-loss recovery without a second Host call
real_backend passed team-result-use-recovery-smoke.mjs: disposable production Chat/delegation worker, source withdrawal/restoration, unchanged history and no redispatch
static passed Node syntax checks for four files, git diff --check, public-boundary scan; semantic advisory found no supported vocabulary carriers (MJS is outside that probe)
manual passed Generated desktop/390px screenshots inspected; no visual change introduced
integration not_run Full hosted CI and PostgreSQL suite; no product/provider/store code changes. No installed-App upgrade or paid model evaluation performed

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

  • Test update

LoopX Area

  • Build, packaging, installer, or CI

Direction: S5/R2 live-team evidence/recovery qualification. Shared-authority RFC fixture impact: N/A; no state rule, provider or compatibility change.

Boundary Checklist

  • Public-safe diff and PR body; private state, raw logs, local paths and generated screenshots excluded.
  • No duplicated benchmark work.
  • Scope limited to the reproduced selector failures.
  • UI impact marked none.
  • Commit carries DCO sign-off.

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>

@loopx-agent loopx-agent left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant