From 37deb6e877e60e8f19ae4fbc64382880cf7f75bb Mon Sep 17 00:00:00 2001 From: Agent Control Runner Date: Fri, 23 Oct 2026 16:12:07 +0900 Subject: [PATCH] =?UTF-8?q?P05-02:=20=E5=85=A8=E8=B2=BB=E7=9B=AE=E3=81=A8?= =?UTF-8?q?=E8=B3=87=E9=87=91=E5=8C=BA=E5=88=86=EF=BC=9A=E8=A1=A8=E9=87=91?= =?UTF-8?q?=E3=83=BB=E8=A3=8F=E9=87=91=E3=80=81=E7=B6=AD=E6=8C=81=E8=B2=BB?= =?UTF-8?q?=E6=9C=AA=E6=89=95=E3=81=84=E3=80=81=E4=BB=95=E5=85=A5=E3=82=8C?= =?UTF-8?q?=E3=80=81=E4=BA=BA=E4=BB=B6=E8=B2=BB=E3=80=81=E5=85=83=E6=9C=AC?= =?UTF-8?q?=E3=80=81=E5=88=A9=E6=81=AF=E3=80=81=E7=A8=8E=E3=81=AE=E5=B8=B3?= =?UTF-8?q?=E7=B0=BF=E3=81=B8=E3=81=AE=E6=8E=A5=E7=B6=9A=EF=BC=88=E5=8E=9F?= =?UTF-8?q?=20P05-02=20=E3=81=AE=E5=AE=8C=E4=BA=86=E3=81=AE=E6=9D=A1?= =?UTF-8?q?=E4=BB=B6=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../execution/p05-02/REPAIR_01.md | 6 ++++++ tools/run_p05_funds_tests.py | 10 +++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 docs/plans/original-completion-2026-10-02/execution/p05-02/REPAIR_01.md diff --git a/docs/plans/original-completion-2026-10-02/execution/p05-02/REPAIR_01.md b/docs/plans/original-completion-2026-10-02/execution/p05-02/REPAIR_01.md new file mode 100644 index 0000000..a7517a2 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/execution/p05-02/REPAIR_01.md @@ -0,0 +1,6 @@ +# P05-02 修正1: 登録の validation の出力先 + +- S `7808ca76db5f997096cdfbb0edfad0c45479e238` の正式の validation(`p05-funds`)は、照合の入口で失敗した(生の stderr: `AssertionError: regular final receipt required`)。native の収集(10 suites・765 checks・verify true)と build の場所への写しは成功していた。 +- 原因: 登録の argv は `--output {build_dir}/p05-funds-evidence`。今の Runner は validation の argv の `{python}` だけを置き換え、`{build_dir}` は文字どおり渡し、build の場所を環境変数 `BUILD_OUTPUT_DIR` で渡す。`tools/run_p05_funds_tests.py` は P18 の runner の写しで、置き換えを Runner に任せていたため、作業ツリーの中の存在しない path を照合した。 +- 修正: `tools/run_p05_funds_tests.py` は、`--output` が `{build_dir}/` で始まるとき、`BUILD_OUTPUT_DIR`(絶対 path で、symlink でない既存のディレクトリ)で置き換える。それ以外の値の扱い、収集と照合の中身、登録の argv、試験、製品のコードは変えない。 +- 新しい S では native の収集をやり直す(runner の SHA が変わり、S `7808ca7` の証拠の source map と合わないため)。S `7808ca7` の収集と失敗の validation の記録は保持する。 diff --git a/tools/run_p05_funds_tests.py b/tools/run_p05_funds_tests.py index 34361ca..153277d 100644 --- a/tools/run_p05_funds_tests.py +++ b/tools/run_p05_funds_tests.py @@ -556,7 +556,15 @@ def main(argv=None): args = parser.parse_args(argv) args.timeout = 1200 root = shared.HERE.parent - out = plain_path(args.output) + output = args.output + # The registered validation passes the literal '{build_dir}/p05-funds-evidence'. The current Runner + # replaces only {python} in validation argv and gives the task's build directory as BUILD_OUTPUT_DIR. + if output.startswith('{build_dir}/'): + build = os.environ.get('BUILD_OUTPUT_DIR', '') + require(build and Path(build).is_absolute() and Path(build).is_dir() and not Path(build).is_symlink(), + 'registered build directory from BUILD_OUTPUT_DIR') + output = build + output[len('{build_dir}'):] + out = plain_path(output) refs = shared.source_refs(root) require(set(SUITES).issubset(shared.roster(root)), 'normal discovery includes narrow roster and restart tests') discovered = shared.roster(root)