Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

test(flows): v2 分支 harness 裸检 41/43——s33 宿主断言与 s43 沙箱节点注册依赖运行环境

未关闭
#149 10 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
45/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
活跃
技术栈
python
领域
testing

调研方向

Start with .dev/flows/test/flow_v2_paths.py, specifically the s33 kill-stale assertion (which checks for a flow_worker host string) and the s43 test that fails on the unregistered sandbox_agent node. Read plaita/server/flow_worker.py to see where the node is registered, and decide whether the harness should import that registration or the assertion should check semantics instead. Done means the harness passes on a bare host, or it declares its worker requirement and skips cleanly instead of erroring.

由索引模型根据 Issue 内容生成。

描述

优先级 P2 · 依赖:无

基线 HEAD = 6787cfcc

Summary

值守独立验收 #148 时,在裸检(非 flow_worker 子树)实跑 .dev/flows/test/flow_v2_paths.py 得 41/43,journal(6787cfcc)记的自托管环境为 43/43。两项差异全部由运行环境决定:

  1. s33(s33_kill_stale_只杀本仓旧run孤儿_不碰自身与兄弟run)FAIL:断言要求 kill-stale 日志的宿主形态是 flow_worker,裸检下 host= 记到的是 Python 解释器路径(…/MacOS/Python)。判据行为本身正确——同次运行日志为 spared pid=91312 run=pipeline-88-live host=… + killed … run=pipeline-77-old(活兄弟放过、真孤儿照杀)。
  2. s43(s43_kill_stale判据_v2与sbx变体同源_产物不落后)ERROR:未注册的自定义节点 SANDBOX_AGENT(...):node_type 'sandbox_agent' 不在 registry 中。该节点由 plaita/server/flow_worker.py 运行时注册(全仓 grep 该字符串仅出现在 worker 与 .flowcast/runs/* 副本),harness 未导入该注册路径。

影响

harness 的结论依赖运行环境:CI/裸检/其他宿主上复跑会得到与自托管环境不同的结果,验收者无法区分「产品回归」与「环境差异」(本次即需人工逐条判读日志才能确认 #148 行为正确)。

建议

  1. s43:harness 显式注册沙箱节点(导入 plaita/server/flow_worker 的注册路径,或把该注册抽成可复用函数由 harness 调用);
  2. s33:断言改为语义判据(宿主命中祖先链且兄弟 pid 在 spared 集合),不断言宿主字符串形态;
  3. 在 harness docstring 里写明所需环境(若确需 worker 注册),或提供 --require-worker-env 显式开关。

验收:裸检 python3 test/flow_v2_paths.py 全绿(或显式声明环境要求并在不满足时 SKIP 而非 ERROR)。

主要语言
Rust
星标
4
派生
0
平均合并
5 小时 32 分钟
30 天内合并 PR
7

环境准备

  • 提供 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 没有贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

jeffkit/recursive 的其他 Issue

查看 jeffkit/recursive 的全部 Issue

相似的 Issue

更多 Rust Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。