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

Geschlossen
#149 10 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
45/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
python
Bereich
testing

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。两项差异全部由运行环境决定:

  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)。

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

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus jeffkit/recursive

Alle Issues in jeffkit/recursive

Ähnliche Issues

Weitere Issues zu Rust

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.