Repository navigation
Consolidate WebArena environments and add isolated Rainbond pools - #18
Conversation
|
Claude finished @lanyue-llk's task in 3m 10s —— View job PR Review: Add isolated Rainbond WebArena warm pool
Two bugs found. No security issues. Bug 1:
|
|
Claude finished @lanyue-llk's task in 3m 57s —— View job PR #18 Code ReviewReview 结论有条件通过 整体结构合理:隔离设计、原子租约、蓝绿替换逻辑清晰,测试覆盖主路径,凭据隔离(仅读环境变量,receipt 不含 token)符合 AGENTS.md 要求。发现 3 处 P1 和 3 处 P2 问题。 问题及建议P1 — 合并前建议修
P2 — 可后续优化
其他观察(不阻塞合并)
|
There was a problem hiding this comment.
Automated Claude review completed. Review run: https://github.com/lexmount/browser-eval/actions/runs/35067897956. Please check Claude's inline feedback and summary comment for details.
|
Claude finished @lanyue-llk's task in 3m 49s —— View job PR Review: Add isolated Rainbond WebArena warm pool
The bugs flagged in the previous two reviews are still present in the current code. One additional issue found. Still-unfixed P1 bugs
except BaseException:
self.api.request("DELETE", f"{self._app_path(int(replacement['app_id']))}?force=1")
replacement_path.unlink(missing_ok=True)
if stopped_previous:
self._restore_previous_app(previous)
raise # never reached if any line above throwsIf the cleanup DELETE or
for future in as_completed(futures):
slot, slot_dir = future.result() # raises; loop exits immediately
existing[slot] = slot_dir # completed-but-unregistered futures are never destroyedWhen Additional bug (not previously flagged)
actual_image = str(initializer.get("image") or "")
if actual_image and _image_digest(actual_image) != _image_digest(self.config.initializer_image):
raise RuntimeError("Rainbond copied initializer image mismatch")Same pattern as the No security issues found. |
PR #18 Code Review
|
There was a problem hiding this comment.
Automated Claude review completed. Review run: https://github.com/lexmount/browser-eval/actions/runs/35068621654. Please check Claude's inline feedback and summary comment for details.
|
Claude finished @lanyue-llk's task in 1m 51s —— View job PR #18 Code Review
Two bugs found. No new security issues. Bug 1:
|
|
Claude finished @lanyue-llk's task in 3m 51s —— View job PR #18 Code Review
Review 结论有条件通过 整体结构可靠: 问题及建议[P1] if not actual_image:
raise RuntimeError("Rainbond copied initializer has no image in response")
if _image_digest(actual_image) != _image_digest(self.config.initializer_image):
raise RuntimeError("Rainbond copied initializer image mismatch")[P2] [P2] 其他观察(不阻塞合并)
|
There was a problem hiding this comment.
Automated Claude review completed. Review run: https://github.com/lexmount/browser-eval/actions/runs/35069031850. Please check Claude's inline feedback and summary comment for details.
|
Claude finished @lanyue-llk's task in 2m 55s —— View job PR #18 Code Review
Review 结论有条件通过 前序各轮 review 指出的所有 P1/P2( 问题及建议[P1] from .rainbond_slices import _atomic_json
# ...
receipt = self.rainbond_pool.reset(self.rainbond_receipt_path)
for site, component in receipt["components"].items():
token = f"__{site.upper()}__"
self.environments[token] = {"urls": [component["site_url"]]}
new_runtime = self.rainbond_pool.runtime_config(receipt)
_atomic_json(self.config_path, {**self.config, "environments": new_runtime["environments"]})[P2] 其他观察(不阻塞合并)
|
|
Claude finished @lanyue-llk's task in 1m 55s —— View job PR #18 Review
All previously flagged P1 bugs are fixed in this revision. One P2 remains. P2:
|
There was a problem hiding this comment.
Automated Claude review completed. Review run: https://github.com/lexmount/browser-eval/actions/runs/35069787517. Please check Claude's inline feedback and summary comment for details.
|
Claude finished @lanyue-llk's task in 5m 3s —— View job PR #18 Code Review
Review 结论有条件通过 前序各轮 review 指出的所有 P1/P2 均已在当前代码中修复,独立验证通过:
问题及建议[P2] from harness.trajectory_replay.public_webarena.rainbond_slices import _atomic_json
# ...
receipt = pool.reset(slot_dir / "slice-receipt.json")
target = slot_dir / "webarena.config.json"
_atomic_json(target, pool.runtime_config(receipt))
print(target)其他观察(不阻塞合并)
|
|
Claude finished @lanyue-llk's task in 3m 5s —— View job PR #18 Code Review
All bugs flagged across previous review rounds are fixed in the current code. No new issues found. Confirmed fixed:
No security issues found. |
There was a problem hiding this comment.
Automated Claude review completed. Review run: https://github.com/lexmount/browser-eval/actions/runs/35070378865. Please check Claude's inline feedback and summary comment for details.
|
Claude finished @lanyue-llk's task in 2m 16s —— View job PR #18 Code Review
All previously flagged bugs are confirmed fixed in the current code. No new issues found. Confirmed fixed:
No security issues found. |
|
Claude finished @lanyue-llk's task in 5m 4s —— View job PR #18 Code Review
Review 结论通过 对当前代码独立逐行核查,前序各轮 review 报告的全部 P1/P2 均已修复,独立验证结论一致:
问题及建议未发现需要阻塞合并的问题。残余风险:
|
There was a problem hiding this comment.
Automated Claude review completed. Review run: https://github.com/lexmount/browser-eval/actions/runs/35101632947. Please check Claude's inline feedback and summary comment for details.
|
Claude finished @lanyue-llk's task in 5m 51s —— View job PR #18 Code Review
Review 结论通过 对当前代码逐文件独立核查,前序各轮 review 报告的全部 P1/P2 均已修复,与最近两轮中文 review 的结论一致:
问题及建议未发现需要阻塞合并的问题。残余风险:
|
|
Claude finished @lanyue-llk's task in 4m 43s —— View job PR #18 Code Review
All previously flagged bugs are confirmed fixed. No new issues found in the latest commit. Confirmed fixed (latest commit
No security issues found. |
There was a problem hiding this comment.
Automated Claude review completed. Review run: https://github.com/lexmount/browser-eval/actions/runs/35177165169. Please check Claude's inline feedback and summary comment for details.
|
Claude finished @lanyue-llk's task in 1m 30s —— View job PR #18 Code Review
All previously flagged bugs are confirmed fixed in the current code. No new issues found. Confirmed fixed:
No security issues found. |
|
Claude finished @lanyue-llk's task in 3m 30s —— View job PR #18 Code Review
Review 结论通过 对当前代码逐文件独立核查,前序各轮 review 报告的全部 P1/P2 均已修复,独立验证结论一致:
问题及建议未发现需要阻塞合并的问题。残余风险:
|
There was a problem hiding this comment.
Automated Claude review completed. Review run: https://github.com/lexmount/browser-eval/actions/runs/35177849766. Please check Claude's inline feedback and summary comment for details.
|
Claude finished @lanyue-llk's task in 3m 40s —— View job PR #18 Code Review
Review 结论通过 对当前代码逐文件独立核查,前序各轮 review 报告的全部 P1/P2 均已修复,最新两个 commit(
已独立确认的其余修复点(与上两轮 review 一致):
问题及建议未发现需要阻塞合并的问题。残余风险:
|
|
Claude finished @lanyue-llk's task in 3m 53s —— View job PR #18 Code Review
All previously flagged bugs are confirmed fixed in the current code. No new issues found. Confirmed fixed:
No security issues found. |
There was a problem hiding this comment.
Automated Claude review completed. Review run: https://github.com/lexmount/browser-eval/actions/runs/35179448046. Please check Claude's inline feedback and summary comment for details.
|
Claude finished @lanyue-llk's task in 7m 19s —— View job PR #18 Code Review
All previously flagged bugs are confirmed fixed in the current code. No new issues found. Confirmed fixed in current code:
No security issues found. |
|
Claude finished @lanyue-llk's task in 4m 10s —— View job PR #18 Code Review
Review 结论通过 对当前代码(最新 commit 已独立确认的历次修复点:
问题及建议未发现需要阻塞合并的问题。残余风险:
|
There was a problem hiding this comment.
Automated Claude review completed. Review run: https://github.com/lexmount/browser-eval/actions/runs/35183458924. Please check Claude's inline feedback and summary comment for details.
|
补充复查修复:release 原先用相对租约的 app_id 变化推断重置完成,但任务准备本身也会重置,可能误放行任务修改后的环境。现在释放前持久化 release_from_app_id,只认可本次释放发起的替换;运行配置写入或租约删除失败后可续办,不重复重建。新增任务准备后释放、配置写入失败重试的回归,并保留释放期间其他槽位可并发分配的测试。也支持 minimum_ready=0 缩到零,活跃租约仍阻止删除。相关环境/CLI/槽位测试共 64 项通过。此前 review 提到写入失败必然泄漏实例不准确(reset 会删除前一个实例),但重复重置确实不必要,本次一起修正。其余历史有效意见均已修复;没有修改已发布评测分数。 |
PR #18 Code Review
|
PR #18 Code Review
|
|
Claude finished @lanyue-llk's task in 5m 37s —— View job PR #18 Code Review
Review 结论通过 对最新两个 commit(
已独立确认历次修复点(与上轮 review 一致):
问题及建议未发现需要阻塞合并的问题。残余风险:
|
|
Claude finished @lanyue-llk's task in 3m 46s —— View job PR #18 Code Review
All previously flagged bugs are confirmed fixed. No new issues found in the latest two commits ( Confirmed new changes are correct:
No security issues found. |
There was a problem hiding this comment.
Automated Claude review completed. Review run: https://github.com/lexmount/browser-eval/actions/runs/35184318971. Please check Claude's inline feedback and summary comment for details.

WebArena 的 Docker 运行工具和 Rainbond 槽位管理统一由本仓库维护,部署与评测使用同一份镜像锁。并发执行者各自独占完整的有状态槽位,只读 Wikipedia 可共享。
主要改动:
webarena-env的 Docker 管理、归档校验和部署契约纳入harness/environments/webarena/与deploy/webarena/,共用 Docker backend 和站点初始化实现,保留 MIT 许可证。验证:
make ci通过;环境管理、CLI 与公开 WebArena 回归测试 418 项通过、3 项跳过。仓库内镜像/端口契约检查覆盖全部运行与部署模板,包括相对路径解析。2026-09-17 对两个四站点槽位和共享 Wikipedia 发送 72 个并发 HTTP 请求,全部返回预期页面,最慢站点 P95 为 2.37 秒。当前部署含两个可用槽位、一个共享 Wikipedia,以及一个已停止但仍用于复制和重置的基线应用。Map 未部署。HTTP 测试覆盖连通性和基本渲染,不代替登录、数据库隔离或正式评测初态验证。共享 Kiwix amd64 镜像身份与官方 Wikipedia arm64 镜像不同,不能复用官方运行身份回执。
webarena-verified保持独立的任务与评分器依赖;其修正由 fork PR #1 审查,本 PR 不更改既有评测分数。