create_parallel_queue reports success while silently skipping a step that did not render

オープン
#478 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
50/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
静か
技術スタック
python
領域
backend

調査の方向性

まず issue の YAML パイプラインを再現し、create_parallel_queue エントリーポイントを追跡してください。examples/ にはこれを対象とするカバレッジがないためです。未解決の内部アクションが明示的に失敗すること、$ 参照が暗黙に削除されないこと、templated on: の値が正しく分割されること、そして文書化された内部アクションの構文に一貫性があることを確認してください。報告された動作をカバーする焦点を絞ったテストを追加し、失敗が呼び出し元まで到達することを確認してください。

索引モデルが issue の本文から書いたものです。

説明

Observed while probing loop bindings by execution.

Inside a create_parallel_queue, a step whose template references an unbound bare name does not write its file, and the pipeline still reports success:

- id: loop
  action: create_parallel_queue
  create_parallel_queue:
    "on": "['A']"
    action_loop:
      - action: filesystem
        parameters:
          action: write
          path: "out/probe.txt"
          content: "{{ nosuch_name }}"

The write is refused internally with still contains unresolved template references, no file appears, and the run's result reports success. Nothing surfaces to the caller.

The $ spelling fails differently and just as quietly: {{ $nosuch }} is stripped to nothing and the literal text is written to the file, so the artifact exists and its contents are wrong.

Two more findings from the same probe, same construct:

  1. A template in on: breaks queue splitting. "on": "['x', '{{ 1 + 1 }}']" yields a single queue item whose value is the list ['x', '2'], rather than two items. Without a template it splits correctly.
  2. Inner actions cannot use tool:. tool: filesystem inside the nested action_loop raises Could not import tool filesystem: No module named 'orchestrator.tools.filesystem_tools'; action: filesystem is required. So the step syntax inside this construct differs from the step syntax everywhere else, undocumented.

The silent-success case is the serious one: it is the failure mode the resilience work was meant to remove, and no test covers this construct. examples/ contains no create_parallel_queue pipeline that validates, so nothing exercises it.

主要言語
Python
スター
3
フォーク
2
PR マージ指標
30日以内にマージされた PR はありません

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

ContextLab/orchestrator のほかの issue

ContextLab/orchestrator の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。