test(flows): v2 分支 harness 裸检 41/43——s33 宿主断言与 s43 沙箱节点注册依赖运行环境
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 45/100
Rechercherichtung
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.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
优先级 P2 · 依赖:无
基线 HEAD = 6787cfcc
Summary
值守独立验收 #148 时,在裸检(非 flow_worker 子树)实跑 .dev/flows/test/flow_v2_paths.py 得 41/43,journal(6787cfcc)记的自托管环境为 43/43。两项差异全部由运行环境决定:
- 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(活兄弟放过、真孤儿照杀)。 - 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 行为正确)。
建议
- s43:harness 显式注册沙箱节点(导入
plaita/server/flow_worker的注册路径,或把该注册抽成可复用函数由 harness 调用); - s33:断言改为语义判据(宿主命中祖先链且兄弟 pid 在 spared 集合),不断言宿主字符串形态;
- 在 harness docstring 里写明所需环境(若确需 worker 注册),或提供
--require-worker-env显式开关。
验收:裸检 python3 test/flow_v2_paths.py 全绿(或显式声明环境要求并在不满足时 SKIP 而非 ERROR)。
- Vorherrschende Sprache
- Rust
- Sterne
- 4
- Forks
- 0
- Ø Merge
- 1 Std. 2 Min.
- Gemergte PRs (30 T.)
- 5
Entwicklungsumgebung
- Enthält ein Dockerfile oder eine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Kein Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus jeffkit/recursive
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 56/100
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
Alle Issues in jeffkit/recursive
Ähnliche Issues
-
question
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag
-
autoindex tests: denied loopback bind shows only PermissionDenied (255 failures), not the causeOffenfield-report
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
Maintainer antworten meist innerhalb von 1 Tag
-
area:core
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
julian-hemmer/ypass#4 ·
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 70/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
davidkodar/klipp#3426 ·
Maintainer antworten meist innerhalb von 1 Tag