Short Git-tracked spec_ref with the exact P28-01 work/acceptance, the P28 cross-cutting six and BASELINE.txt line references. Collector task contract (codex/gpt-6-astra, independent Opus review) limited to execution/p28-01/ collector/**, outside the product source map, so the formal 192-suite evidence stays valid. Nothing registered or run; original credit unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3.3 KiB
3.3 KiB
P28-01 collector task 指示(worker 向け)
仕様は SPEC.md(同じディレクトリ)です。この指示と SPEC.md は変更しないでください。
作るもの(allowed_paths docs/plans/original-completion-2026-10-02/execution/p28-01/collector/** の中だけ)
collect_p28_01.py: r02 のcollect_perf.pyを基にした外部 collector です。- 1版(main の現 source)だけを、私有の CoW stage に materialize します。
- import は1回だけ行い、その後に段階0と P1〜P4 を1つずつ実行します。
--checkは入力と予定の argv を検証して表示するだけで、stage も engine も作りません。--runは実測します。Root が実行します。
measure_p28_01.gd: windowed の main scene 用 probe です。- 代表入力の読込は r02 と同じく
FileAccess.get_var(false)、initialize、restore_snapshotで行います。保存は private user:// だけです。 - 速度は
main.gd::_set_speedで設定し、SimulationKernel._processが進めるのを観測するだけにします。直接 advance を呼んではいけません。 - 計測は frame ごとに行います。
- stdout にちょうど1行
P28_01_PERF_REPORT=<json>を出します。
- 代表入力の読込は r02 と同じく
check_p28_01_report.py: report と収集結果の checker です。合格の条件と、拒否すべき偽の report は下に示します。test_collect_p28_01.py: 合成した入力だけで動く unittest です。engine も artifacts も不要にします。
必須事項
- SPEC.md の §4 と C1〜C8 を、そのとおりに実装します。
- checker が拒否すべきもの(それぞれに対応する拒否試験を書く)
- x3 が直接 advance で作られている(Clock の速度と frame の記録が一致しない)
- 登録数を稼働数や描画数の欄に流用している
- seed の欄に RNG state が入っている
- GPU 時間が 0 で、理由がない
- 必須の欄が欠けている
- source map が変わっている
- raw stdout と report が一致しない
- PID が一致しない
- 製品 source map の対象には触れません。 autoload、scripts、scenes、data、tests、assets、tools と、
project.godot、export_presets.cfg、Makefile、AGENTS.mdです。 - 予算の値、原30/88、受入分母は変えません。
- 次のことはしません。
- 全回帰
- native engine の起動(実測は Root が統合後に行います)
- fixture の生成
- P14 の再調査
- 参照用の入力(r02 の
collect_perf.py、measure.gd、profile_guard.gd、run-r02/execution.jsonと report)は、Root がbuild/p28-01-readonly/に読取専用で置きます。SHA は SPEC.md §3 のとおりです。それ以外の場所や、拒否されたパスにはアクセスしないでください。 - commit はしません(Runner が submit します)。最終出力には変更したファイルと、試験の実行結果をそのまま出します。
検証
Runner の validation p28-01-collector-unit が test_collect_p28_01.py を実行します。そのあと、独立した Opus(claude-opus-5-5)が内容をレビューします。自己申告や終了コード0は、合格の証拠になりません。