Fix the P28-02-OPT registration documents (r03) before product optimization

Docs only. Adds execution/p28-02/opt/: SPEC.md, TASK_INSTRUCTIONS.md and
registration/ (acceptance baseline of 12, registration and config
proposals, the before-derived fixed table of allowed cross-version
differences, and the byte-transfer record). Decision D1 is option B:
only the load_from_path failure path stops recording its performance
telemetry; the frozen E3 rule stays. The improvement rule is the formally
completed EQ SPEC §4. No product, frozen EQ or original-condition change;
23/88 and 4/30 unchanged. Registration is Root's; implementation is Opus.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Claude Opus 5.5 (Desktop)
2026-10-22 11:17:17 +09:00
parent 44bce9177c
commit a916841bfc
7 changed files with 10449 additions and 0 deletions
@@ -0,0 +1,110 @@
[
{
"id": "P28-02-OPT1",
"requirement_id": "P28-02",
"text": "原 work: 失敗時拒否を含む同等性は正式完了した凍結 EQ(Q 4e34e52)で先に固定済みとし、snapshot 変換・コピーの実測上位 T1(I11 PUBLISH_SNAPSHOT と create_snapshot)を、SPEC §2 の表の箇所だけの変更で改善する。改善の判定は正式完了した EQ の SPEC §4 のとおり(SPEC §5 に OPT_CONTRACT_T1 §4 との違いと採用の根拠を記載): (a) I11 が「改善」で、(a)・(b-1)・(b-2) のどれも「悪化」でない場合だけ採用し「改善あり」と書く。(b-1)・(b-2) が「差は確認できない」の指標は「改善した」と書かない。(a) が「改善」でなければ採用せず、P28-02 は未達のまま保持する。ファイルの追加・削除、EQ・DIAG・collector・RESTART の bytes の変更は無い。",
"validation_ids": [
"p28-02-opt-unit",
"p28-02-opt-native-verify"
]
},
{
"id": "P28-02-OPT2",
"requirement_id": "P28-02",
"text": "原 acceptance(同条件の反復比較): (a) DIAG 区間で前の版3 PID(DIAG d6ce6dd の再利用、条件一致の確認つき)と後の版3 PID、(b) collector の P1/P2 で前の版3回(full9 db9d613 と frame-before-r02・r03)と後の版3回を、同じ入力・engine・machine・設定で比べ、全ての値と分類を記録する。",
"validation_ids": [
"p28-02-opt-unit",
"p28-02-opt-diag-native-verify",
"p28-02-opt-native-verify"
]
},
{
"id": "P28-02-OPT3",
"requirement_id": "P28-02",
"text": "原 acceptance(全状態・全イベント一致): 凍結 EQ を --opt-changed で OPT の S に実行した後の版の記録が verify_eq の検証に通り、compare_bundles の差の集合が、before の記録だけから事前に導いた固定表 opt/registration/BEFORE_DEFECT_ALLOWED_DIFFERENCES.json(SHA 3bd40d64…)の行の集合(path・before の値・after の値。E3 の K の差は、before の実行順の失敗した load の実際の増分の合計の _pause_request_serial と、決定 D1 による performance_budget の load の件数)と完全に一致する。主の31 checkpoint と全イベントの差は0。仮の定数・前方一致の包括の許容・after の観測からの許容の追加は無い。",
"validation_ids": [
"p28-02-opt-unit",
"p28-02-opt-eq-native-verify",
"p28-02-opt-native-verify"
]
},
{
"id": "P28-02-OPT4",
"requirement_id": "P28-02",
"text": "原 acceptance(キャッシュの古さ・所有権・不正入力): 後の版で E3(restore_snapshot・validate・load_from_path の全ての不正入力の原子的な拒否。凍結 E3 の判定は拒否の前後の S/K/C の全体を比べる)、E4(全ての無効化の経路)、E5(双方向の非干渉)が R と O の両方で既存の不具合 0 件(after_all_e_pass true)。前の版の不具合(E5 aliasing、E4 stream の差し替え、E3 load の K の変化)は SPEC §2・§3 の最小の原因の修正だけで直る。E3 の load の失敗の経路では pause の状態と serial を戻し、その失敗の試行の performance telemetry を記録しない(決定 D1。成功した load と他の操作の telemetry、失敗の SAVE_LOAD_FAILED の event・latest_save_operation_result・save_operation_completed は維持)。",
"validation_ids": [
"p28-02-opt-unit",
"p28-02-opt-eq-native-verify",
"p28-02-opt-native-verify"
]
},
{
"id": "P28-02-OPT5",
"requirement_id": "P28",
"text": "横断1(原本条件とUI操作が一致): snapshot_published / state_updated の公開の回数・順序・内容が前の版と一致し(EQ の check_publishes と §4)、UI の受け手(main.gd、world_preview.gd)を含む関連 suite が全 roster で PASS する。UI の変更は無い。",
"validation_ids": [
"p28-02-opt-eq-native-verify",
"p28-02-opt-native-verify"
]
},
{
"id": "P28-02-OPT6",
"requirement_id": "P28",
"text": "横断2(Runtimeの実利用・会計・行動へ接続): 変更は製品の実際の公開の経路(毎 tick の PUBLISH_SNAPSHOT と create_snapshot)にあり、process_real_delta を通る collector の実測(b)と、会計・行動を含む S 層の全状態の一致(E1)で確かめる。",
"validation_ids": [
"p28-02-opt-eq-native-verify",
"p28-02-opt-native-verify"
]
},
{
"id": "P28-02-OPT7",
"requirement_id": "P28",
"text": "横断3(途中保存・再起動で再現): OPT の S で RESTART の native の pair を1回行い、受入済みの RESTART の checker で保存と再開の再現が保たれる。E4 の restore/load の経路も後の版で合格する。",
"validation_ids": [
"p28-02-opt-native-verify"
]
},
{
"id": "P28-02-OPT8",
"requirement_id": "P28",
"text": "横断4(異常/境界/中断を検証): E3 の全ての不正入力(3 API × 6 分類、R と O)が後の版で同じ code で原子的に拒否され、S/K/C と全イベントが不変。load の失敗が X(B, SAVE_LOAD_FAILED) と一致する。",
"validation_ids": [
"p28-02-opt-unit",
"p28-02-opt-eq-native-verify",
"p28-02-opt-native-verify"
]
},
{
"id": "P28-02-OPT9",
"requirement_id": "P28",
"text": "横断5(関連回帰PASS): 製品の source が変わるので、最終の S の凍結した checkout で正式の全 roster(192 suite)を1回実行して全 PASS。Q で再利用するのは OPT_CONTRACT_T1 §5 の全条件が一致する場合だけ。",
"validation_ids": [
"p28-02-opt-native-verify"
]
},
{
"id": "P28-02-OPT10",
"requirement_id": "P28",
"text": "横断6(要件別ログとソースハッシュを保存): 全ての束(EQ・DIAG・collector・RESTART・全 roster)が、実行した commit・source map(1407 件)・全 raw と SHA・owned PID・private profile・guard・cleanup とともに seal され、要件ごとに結合される。Q で測ったとは表記しない。",
"validation_ids": [
"p28-02-opt-native-verify"
]
},
{
"id": "P28-02-OPT11",
"requirement_id": "P28-02",
"text": "補助 U1(未達と、実施していない分岐の開示): 選ばなかった T2 とその理由、予算の false 6件の扱い、200客 Ops ON の最大場面・同一 Windows 実機・長期の通し・全ゲームの未達、実施していない分岐を、受入の記録に全て開示する。",
"validation_ids": [
"p28-02-opt-native-verify"
]
},
{
"id": "P28-02-OPT12",
"requirement_id": "P28-02",
"text": "補助 U2(証拠の範囲の適用): 各測定を実行した版(S。Q ではない)と条件を記録し、前の版の記録の再利用と Q での再利用は条件の一致を確かめた場合だけに限る。診断は正式の証拠に数えない。",
"validation_ids": [
"p28-02-opt-unit",
"p28-02-opt-native-verify"
]
}
]
@@ -0,0 +1,23 @@
{
"project": "the-tree-p28-02-opt",
"models": {
"implementer": "Claude Opus 5.5 Desktop governor under the user delegation; registered worker field codex is not the actual actor and no new Codex implementation is started",
"reviewer": "claude-opus-5-5 (fresh, separate Desktop session, async delivery)"
},
"policy_alignment": "After normal registration, align max_llm_runs 20 -> null with the existing owner script protocol (policy lock, config digest, backups, unchanged rows and baseline, normal Runner reopen), recorded honestly as an owner-delegated decision under the existing human removal of per-item caps. max_repair_attempts stays null. test_timeout_seconds stays the Runner default unless a measured need is brought back to the owner.",
"unchanged": [
"models of existing projects",
"permissions",
"auth",
"billing and API fallback",
"quota fallback rule (structured provider quota only, once, same role, Antigravity claude-opus-5-5-high)"
],
"original": {
"completed": 23,
"denominator": 88,
"packages_completed": 4,
"package_denominator": 30,
"opt_credit_before_whole_unit_final": 0,
"opt_credit_after_whole_unit_final": "23 -> 24 (P28-02 only)"
}
}
@@ -0,0 +1,128 @@
{
"status": "r03 for registration (candidates r01 and r02 kept unchanged in opt-registration-proposal-r01/ and -r02/); decision D1 = option B recorded in opt/SPEC.md §3. The tracked paths below are fixed to main by a docs-only commit; that actual SHA is the base_commit of the Root registration.",
"prepared_by": "Claude Opus 5.5 Desktop governor (local_a7f85421-3eed-4482-8030-c0dca669573a) under the user's delegation; registration is the owner's (Root's) action",
"tracked_paths_to_commit": {
"docs/plans/original-completion-2026-10-02/execution/p28-02/opt/SPEC.md": "opt-registration-proposal-r03/SPEC.md",
"docs/plans/original-completion-2026-10-02/execution/p28-02/opt/TASK_INSTRUCTIONS.md": "opt-registration-proposal-r03/TASK_INSTRUCTIONS.md",
"docs/plans/original-completion-2026-10-02/execution/p28-02/opt/registration/ACCEPTANCE_BASELINE.json": "opt-registration-proposal-r03/ACCEPTANCE_BASELINE.json",
"docs/plans/original-completion-2026-10-02/execution/p28-02/opt/registration/REGISTRATION_PROPOSAL.json": "opt-registration-proposal-r03/REGISTRATION_PROPOSAL.json",
"docs/plans/original-completion-2026-10-02/execution/p28-02/opt/registration/CONFIG_PROPOSAL.json": "opt-registration-proposal-r03/CONFIG_PROPOSAL.json",
"docs/plans/original-completion-2026-10-02/execution/p28-02/opt/registration/BEFORE_DEFECT_ALLOWED_DIFFERENCES.json": "opt-registration-proposal-r03/BEFORE_DEFECT_ALLOWED_DIFFERENCES.json (byte-identical, SHA 3bd40d64dfacfa1cd81a130e67b278673b4621b9f5face8e71d63042faf2403d)"
},
"register_project": {
"project": "the-tree-p28-02-opt",
"repo": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部",
"worktrees": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p28-02-opt",
"baseline_file": "docs/plans/original-completion-2026-10-02/execution/p28-02/opt/registration/ACCEPTANCE_BASELINE.json",
"validations": {
"p28-02-opt-unit": {
"argv": [
"{python}",
"docs/plans/original-completion-2026-10-02/execution/p28-02/opt/test_opt.py"
]
},
"p28-02-opt-eq-native-verify": {
"argv": [
"{python}",
"docs/plans/original-completion-2026-10-02/execution/p28-02/eq/verify_eq.py",
"--project-root",
"."
]
},
"p28-02-opt-diag-native-verify": {
"argv": [
"{python}",
"docs/plans/original-completion-2026-10-02/execution/p28-02/diag/verify_diag.py",
"--project-root",
"."
]
},
"p28-02-opt-native-verify": {
"argv": [
"{python}",
"docs/plans/original-completion-2026-10-02/execution/p28-02/opt/verify_opt.py",
"--project-root",
"."
]
}
},
"validation_note": "The frozen EQ and DIAG verifiers run unchanged on the OPT S checkout and read the Root-placed after bundles at $BUILD_OUTPUT_DIR/p28-02-eq-evidence and $BUILD_OUTPUT_DIR/p28-02-diag-evidence. opt/verify_opt.py reads $BUILD_OUTPUT_DIR/p28-02-opt-evidence (EQ before/after copies for compare_bundles and the SPEC §4 rule, frame before/after, RESTART, full roster) and fails when any bundle is absent; unit PASS alone never accepts. Each check runs under the default validation limit; a measured need for a longer limit goes back to the owner as a normal policy decision, not a silent change."
},
"register_task_contract": {
"id": "P28-02-OPT",
"title": "意味を保つ軽量化:T1 snapshot の変換・コピーの改善(原 P28-02 の完了の条件)",
"requirement_ids": [
"P28-02",
"P28"
],
"acceptance_ids": [
"P28-02-OPT1",
"P28-02-OPT2",
"P28-02-OPT3",
"P28-02-OPT4",
"P28-02-OPT5",
"P28-02-OPT6",
"P28-02-OPT7",
"P28-02-OPT8",
"P28-02-OPT9",
"P28-02-OPT10",
"P28-02-OPT11",
"P28-02-OPT12"
],
"spec_ref": "docs/plans/original-completion-2026-10-02/execution/p28-02/opt/SPEC.md",
"base_commit": "TBD: actual main SHA that adds opt/SPEC.md and opt/TASK_INSTRUCTIONS.md",
"worker": "codex",
"worker_note": "The registered worker field codex is not the actual actor: the Runner implementer services do not include Claude, so the field is kept as for EQ S5/S6. No new Codex (or Astra) implementation run will be started. The actual implementer is the Claude Opus 5.5 Desktop governor under the user delegation, recorded honestly in each owner submit receipt; Runner submit makes the commits.",
"allowed_paths": [
"autoload/simulation_runtime.gd",
"scripts/core/simulation_snapshot.gd",
"scripts/world/world_service.gd",
"scripts/world/route_subslot_path_adapter.gd",
"scripts/world/path_service.gd",
"scripts/core/command_queue.gd",
"docs/plans/original-completion-2026-10-02/execution/p28-02/opt/**"
],
"depends_on": [],
"resource_locks": [
"p28-02-opt"
],
"validation_ids": [
"p28-02-opt-unit",
"p28-02-opt-eq-native-verify",
"p28-02-opt-diag-native-verify",
"p28-02-opt-native-verify"
],
"max_repair_attempts": null,
"allowed_paths_note": "Runner allowed_paths are file-level. The allowed sites inside each file are fixed by opt/SPEC.md §2 and enforced by opt/check_opt.py (diff hunks only inside those functions and statements, plus new private functions called only from them); scripts/core/simulation_snapshot.gd is listed by OPT_CONTRACT_T1 but is not to be changed."
},
"native_contract": {
"executor": "Root role only, after the worker submits S_opt (currently the Desktop governor by user delegation)",
"common_arguments": {
"readonly": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p28-01-perf-baseline/.runtime/P28-01-COLLECTOR/build/p28-01-readonly",
"fixture": "artifacts/original-completion-2026-10-02/p28-current1299-runtime-scale-build-candidate-native-r01/fixture/reference.variant (eb4f7700...)",
"engine": "/Applications/Godot.app/Contents/MacOS/Godot (c7cccbf8...)"
},
"runs_on_S_opt": [
"eq/run_eq.py --run <common> --opt-changed <each changed OPT file> --output artifacts/original-completion-2026-10-02/p28-02-opt/eq-after-<S>-r01",
"diag/diag_p28_02.py --run <common> --output artifacts/original-completion-2026-10-02/p28-02-opt/phase-after-<S>-r01",
"p28-01/collector/collect_p28_01.py --run <common> --output artifacts/original-completion-2026-10-02/p28-02-opt/frame-after-<S>-r0{1,2,3}",
"p28-01/restart/probe/restart_pair.py --run <common> --output artifacts/original-completion-2026-10-02/p28-02-opt/restart-after-<S>-r01",
"tools/run_all_tests.py --project-root <frozen S checkout> --godot <engine> --output artifacts/original-completion-2026-10-02/p28-02-opt/full-roster-<S>-r01"
],
"before_records": {
"EQ": "artifacts/original-completion-2026-10-02/p28-02-root-control-r01/native-9adbbee-r01 (S_eq, version before; qualified on Q_eq 4e34e52)",
"phase": "DIAG native bundle of S d6ce6dd (reused when the source map, DIAG files, engine, fixture and settings match)",
"frame": "full9 db9d613 (reused as one run) + artifacts/original-completion-2026-10-02/p28-02-opt/frame-before-r02 and -r03 (run on main 44bce91, product source map 651f7036..., summary FRAME_BEFORE_R02_R03_SUMMARY.json; P1 x1 averages 487.037 / 481.987 ms, P2 x3 P95 5126.595 / 5145.149 ms)"
},
"measured_source_rule": "Every after value is recorded as run on S_opt, never as measured on Q (OPT_CONTRACT_T1 §5)."
},
"credit": "EQ, DIAG add 0. P28-02 moves 23->24 only after the OPT final, the whole-unit independent review of the original work/acceptance, cross-cutting 6 and U1/U2, and the ledger. The P28 package stays in progress (P27, P28-03 pending).",
"improvement_rule": "Formally completed EQ SPEC §4 (lines 76-79): improvement claimed only when (a) I11 is 改善 and none of (a)(b-1)(b-2) is 悪化; (b) need not improve if not worse. OPT_CONTRACT_T1 §4 line 83 differs; EQ SPEC line 6 states its §3-§5 fix and replace that judgment, so EQ SPEC §4 is used unchanged (opt/SPEC.md §5).",
"decision_D1": {
"option": "B",
"where": "opt/SPEC.md §3",
"basis": "Root implementation decision applying the existing user scope (prioritize defect fixes needed for the target acceptance), the Opus implementation delegation and the main update permission; not a claim of a new human statement",
"content": "load_from_path failure path stops recording its performance telemetry sample; success load and other operations keep their telemetry; the failure event SAVE_LOAD_FAILED, latest_save_operation_result and save_operation_completed stay; the frozen E3 rule (S/K/C unchanged across a rejection) is unchanged; option A (excluding telemetry from E3 K) is not adopted",
"unapproved_criterion_change": false
}
}
@@ -0,0 +1,61 @@
{
"at_jst": "2026-10-22T11:17:04.576266+09:00",
"actual_Opus_governor_session": "local_a7f85421-3eed-4482-8030-c0dca669573a",
"scope": "P28-02-OPT registration documents r03 (decision D1 = option B); docs only; original P28-02 conditions and the frozen EQ unchanged; original credit zero",
"source_manifest": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p28-02-root-control-r01/opt-registration-proposal-r03/MANIFEST.json",
"sha256": "2d556634012cc6c717358eb3f472ee704242b285372ce4a0e9b72fa64f729b75"
},
"kept_candidates": [
"opt-registration-proposal-r01",
"opt-registration-proposal-r02"
],
"copies": [
{
"target": "docs/plans/original-completion-2026-10-02/execution/p28-02/opt/SPEC.md",
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p28-02-root-control-r01/opt-registration-proposal-r03/SPEC.md",
"bytes": 20639,
"sha256": "6441437c73ad6d224def596653c3638df947efc3efd1162590149d6591b2b0f0",
"byte_identical": true
},
{
"target": "docs/plans/original-completion-2026-10-02/execution/p28-02/opt/TASK_INSTRUCTIONS.md",
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p28-02-root-control-r01/opt-registration-proposal-r03/TASK_INSTRUCTIONS.md",
"bytes": 5639,
"sha256": "6d0f2b38bb15d00e3e96bd1b269569df5961841fb1d9b82df89b249f1ec9c6b7",
"byte_identical": true
},
{
"target": "docs/plans/original-completion-2026-10-02/execution/p28-02/opt/registration/ACCEPTANCE_BASELINE.json",
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p28-02-root-control-r01/opt-registration-proposal-r03/ACCEPTANCE_BASELINE.json",
"bytes": 7203,
"sha256": "7fe6146d9ee749bbe9aaeea7b9e9930c9703220a3badbc0ac177878251865b18",
"byte_identical": true
},
{
"target": "docs/plans/original-completion-2026-10-02/execution/p28-02/opt/registration/REGISTRATION_PROPOSAL.json",
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p28-02-root-control-r01/opt-registration-proposal-r03/REGISTRATION_PROPOSAL.json",
"bytes": 8913,
"sha256": "31390ec5476cbf8e25bbe00966da18a53f5611926f110e366fe0140e07ff9aa7",
"byte_identical": true
},
{
"target": "docs/plans/original-completion-2026-10-02/execution/p28-02/opt/registration/CONFIG_PROPOSAL.json",
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p28-02-root-control-r01/opt-registration-proposal-r03/CONFIG_PROPOSAL.json",
"bytes": 1230,
"sha256": "f308ba92682f0e1509a3a52aa98634fd80e8a89070a408b1948881f3b4cb1bd9",
"byte_identical": true
},
{
"target": "docs/plans/original-completion-2026-10-02/execution/p28-02/opt/registration/BEFORE_DEFECT_ALLOWED_DIFFERENCES.json",
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p28-02-root-control-r01/opt-registration-proposal-r03/BEFORE_DEFECT_ALLOWED_DIFFERENCES.json",
"bytes": 160508,
"sha256": "3bd40d64dfacfa1cd81a130e67b278673b4621b9f5face8e71d63042faf2403d",
"byte_identical": true
}
],
"registration_by": "Root (owner action)",
"implementer": "Claude Opus 5.5 Desktop governor (user delegation); no Codex dispatch",
"engine_runs": 0,
"product_edits": 0
}