test(flows): v2 分支 harness 裸检 41/43——s33 宿主断言与 s43 沙箱节点注册依赖运行环境
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 45/100
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
优先级 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)。
- Lenguaje dominante
- Rust
- Estrellas
- 4
- Forks
- 0
- Merge medio
- 5 h 32 min
- PR fusionados (30 d)
- 7
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de jeffkit/recursive
-
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 53/100
jeffkit/recursive#195 · 4 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 15/100
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 15/100
Los mantenedores suelen responder en 1 día
-
tracking: 安全面闭环——已落地机制的绕过(4 项)Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 8/100
Los mantenedores suelen responder en 1 día
Todos los issues de jeffkit/recursive
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
cmlarsen/writemorebetter#158 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
-
state:triage-needed
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
scanaislop/aislop#482 ·
Los mantenedores suelen responder en 1 día
-
docs(skills): issue-first should reference an existing Linear ticket instead of filing a duplicateAbiertodocumentation
Dificultad 1/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día