From 131e9a599a42a8c1af0fde61748d6c270245dd93 Mon Sep 17 00:00:00 2001 From: Takeshi Date: Wed, 21 Oct 2026 00:54:07 +0900 Subject: [PATCH] P28-01-RESTART: Registration proposal pinned to base 2132bbe and full9 receipt Co-Authored-By: Claude Opus 5.5 --- .../p28-01/restart/REGISTRATION_PROPOSAL.json | 196 ++++++++++++++++++ 1 file changed, 196 insertions(+) create mode 100644 docs/plans/original-completion-2026-10-02/execution/p28-01/restart/REGISTRATION_PROPOSAL.json diff --git a/docs/plans/original-completion-2026-10-02/execution/p28-01/restart/REGISTRATION_PROPOSAL.json b/docs/plans/original-completion-2026-10-02/execution/p28-01/restart/REGISTRATION_PROPOSAL.json new file mode 100644 index 0000000..f596e9f --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/execution/p28-01/restart/REGISTRATION_PROPOSAL.json @@ -0,0 +1,196 @@ +{ + "status": "registration proposal for Root; finalized after full9 raw review. Not registered or run by this Desktop session.", + "draft": { + "path": "handoffs/p28-01-20261020/RESTART_DRAFT.md", + "sha256": "a4a8261bcc14d38de8df8d9024321dd8fdb6c6356964ff43472d2bf84eff1334" + }, + "assignment": { + "implementation": { + "worker": "codex", + "model": "gpt-6-astra", + "route": "complex", + "reason": "GDScript writer/reader probe, a Python pair driver reusing owned/guard machinery, and an exact IO-event state relation; multi-area with design judgement, not bounded. Not UI implementation, so no Antigravity." + }, + "independent_review": { + "model": "claude-opus-5-5", + "session": "fresh temporary session, separate from implementation and spec authoring" + }, + "native_execution": "Root only, after RESTART final, on the integrated main (see RESTART_ROOT_NATIVE_PROCEDURE.md)", + "quota_fallback": "Only on structured provider quota: once, same role, Antigravity claude-opus-5-5-high. Other failures blocked." + }, + "register_project": { + "project": "the-tree-p28-01-restart", + "repo": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部", + "worktrees": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p28-01-restart", + "baseline": [ + { + "id": "P28-01-RS1", + "requirement_id": "P28-01", + "text": "保存(bool)・読込(void)の成否を signal・latest_save_operation_result・実状態の3点で判定し、保存の bool と signal の ok の一致を要求する。", + "validation_ids": [ + "p28-01-restart-unit" + ] + }, + { + "id": "P28-01-RS2", + "requirement_id": "P28-01", + "text": "P が保存直前と完全一致し、保存後・読込後が、IO イベント1件を規則どおり適用した X(P, ev)(counter+1、published_ids への E の sort 挿入、recent 上限256の先頭落とし)と全状態で完全一致する。", + "validation_ids": [ + "p28-01-restart-unit" + ] + }, + { + "id": "P28-01-RS3", + "requirement_id": "P28-01", + "text": "実際に進んだ K=30分の各分で writer と reader が全状態で完全一致し、置き換えは窓内の event_id E の1要素だけとする。", + "validation_ids": [ + "p28-01-restart-unit" + ] + }, + { + "id": "P28-01-RS4", + "requirement_id": "P28-01", + "text": "O は実際の arrival が >0 になった後に保存する。120分以内に arrival が無ければ null と理由にし、境界への到達を arrival の処理とみなさない。", + "validation_ids": [ + "p28-01-restart-unit" + ] + }, + { + "id": "P28-01-RS5", + "requirement_id": "P28-01", + "text": "改ざんした保存の原子的な拒否、R の止まった状態での保存と読込後も止まっていること、O の次の arrival 境界に重複・欠落が無いことを検証する。", + "validation_ids": [ + "p28-01-restart-unit" + ] + }, + { + "id": "P28-01-RS6", + "requirement_id": "P28-01", + "text": "UI 区間と決定性区間の静的な禁止と許可を守り(advance は deterministic_step の中だけ)、性能値を出さない。", + "validation_ids": [ + "p28-01-restart-unit" + ] + }, + { + "id": "P28-01-RS7", + "requirement_id": "P28-01", + "text": "private user://・owned PID・guard・cleanup・通常 player の保全・全 raw と SHA の結合を保ち、source map 1407 と collector の4ファイルが前後で不変であることを確かめる。", + "validation_ids": [ + "p28-01-restart-unit" + ] + }, + { + "id": "P28-01-RS8", + "requirement_id": "P28", + "text": "P28 の横断条件6件それぞれの適用と理由を記録し、「途中保存・再起動で再現」は RS1〜RS5 で適用する。", + "validation_ids": [ + "p28-01-restart-unit" + ] + } + ], + "validations": { + "p28-01-restart-unit": { + "argv": [ + "{python}", + "docs/plans/original-completion-2026-10-02/execution/p28-01/restart/probe/test_restart.py" + ] + } + } + }, + "register_task_contract": { + "id": "P28-01-RESTART", + "title": "現HEADの性能基準:途中保存・別PID再開の再現", + "requirement_ids": [ + "P28-01", + "P28" + ], + "acceptance_ids": [ + "P28-01-RS1", + "P28-01-RS2", + "P28-01-RS3", + "P28-01-RS4", + "P28-01-RS5", + "P28-01-RS6", + "P28-01-RS7", + "P28-01-RS8" + ], + "spec_ref": "docs/plans/original-completion-2026-10-02/execution/p28-01/restart/SPEC.md", + "base_commit": "2132bbe3d39a0f1b69a97c731bb09213bf9d7a91", + "worker": "codex", + "allowed_paths": [ + "docs/plans/original-completion-2026-10-02/execution/p28-01/restart/probe/**" + ], + "depends_on": [], + "resource_locks": [ + "p28-01-restart-probe" + ], + "validation_ids": [ + "p28-01-restart-unit" + ], + "max_repair_attempts": null + }, + "tracked_prerequisites": { + "collector_final_Q": "0f53a67210227207efa63045de88a9a7c6e45409", + "ledger_main_at_prepare": "db9d6132a8349928560dc4a4a99306d27a81e332", + "full9_measurement_receipt": { + "path": "artifacts/original-completion-2026-10-02/p28-01-runner-preflight-r01/full-measurement-db9d613-r01/run/execution.json", + "sha256": "a4d10e9b1a75a17b981792265338d64fac61178cb6f87dd646c5b486292db73c", + "actual_commit": "db9d6132a8349928560dc4a4a99306d27a81e332", + "root_join": { + "path": "artifacts/original-completion-2026-10-02/p28-01-runner-preflight-r01/full-measurement-db9d613-r01/ROOT_RAW_ACCEPTANCE_JOIN.json", + "sha256": "a76082f767e0a0d52cb70e2f66fa371b62a88754e9be319da3c08d4b48e78ba0" + } + } + }, + "tracked_imports_allowed": [ + "tools/run_all_tests.py", + "tools/regression/owned_outer.py", + "docs/plans/original-completion-2026-10-02/execution/p28-01/collector/collect_p28_01.py" + ], + "policy_note": "New project gets the current default policy at registration; any per-item cap removal follows the existing owner delegation and is recorded honestly, not as a new human utterance.", + "credit": "RESTART task completion adds 0. P28-01 credit needs collector final + integrated full9 measurement + RESTART final + Root 4-PID pair PASS + evidence gate.", + "unchanged": [ + "budgets", + "original 30/88 and acceptance denominators", + "product source map 1407", + "IO normalization scope (RESTART_DRAFT §3)", + "permissions/billing/models of existing projects" + ], + "spec_sha256_at_base": { + "docs/plans/original-completion-2026-10-02/execution/p28-01/restart/SPEC.md": { + "bytes_sha256": "ebfbc279c0c8a1dcc23beaef76c2983ac3c9e718bbf47f31935fe59cbc0fd933", + "strip_text_sha256": "2eeec95c3cc0ee5ebe86fd4c64a8c2299c5704fee7ecca3358e8578eed406168" + }, + "docs/plans/original-completion-2026-10-02/execution/p28-01/restart/TASK_INSTRUCTIONS.md": { + "bytes_sha256": "99df3a0c8df7c202590da7fc2721430f3a55d7442285c045143583763ce7b6fb", + "strip_text_sha256": "00aa7ba5f1d9d56634591e386d99c9ce0bc0fffe49a025bceb31bfb8be072c33" + }, + "docs/plans/original-completion-2026-10-02/execution/p28-01/restart/DRAFT.md": { + "bytes_sha256": "a4a8261bcc14d38de8df8d9024321dd8fdb6c6356964ff43472d2bf84eff1334", + "strip_text_sha256": "83ac2152dd4e0078c6edb60112d2b172f33e3ee1bbdb1c48370e992a90e42487" + }, + "docs/plans/original-completion-2026-10-02/execution/p28-01/restart/ROOT_NATIVE_PROCEDURE.md": { + "bytes_sha256": "4fae29f0f0cfce689f04cbf3b5b4d42e2564e8cbfc89ed6f223575d2a211abb4", + "strip_text_sha256": "8daf13e8bb5a1040c3863270f2d5d9966adb0038e6a94b860dd81397ada5b05c" + } + }, + "task_instructions": "docs/plans/original-completion-2026-10-02/execution/p28-01/restart/TASK_INSTRUCTIONS.md", + "run_decision_request": { + "action": "run", + "task": "P28-01-RESTART", + "worker": "codex", + "model": "gpt-6-astra", + "reviewer": "claude-opus-5-5 (independent fresh session)", + "note": "Root passes this contract to the normal commander; dispatch only on the recorded commander decision." + }, + "sequence": [ + "Root: register project/task with base 2132bbe3d39a0f1b69a97c731bb09213bf9d7a91; check spec_sha256_at_base (bytes and strip) against the base blobs", + "Root: normal commander records the RUN decision; read back to Desktop", + "dispatch once: codex gpt-6-astra implements restart/probe/** (local engine-free test_restart.py PASS before submit)", + "normal validation p28-01-restart-unit (Desktop reads raw log)", + "Root: pre-review native per ROOT_NATIVE_PROCEDURE.md (import, parse, 4 PIDs), recorded as diagnostic, then engine-free check_restart.py", + "independent Opus full review of RS1-RS8", + "prepare-integration / final", + "Root: real 4-PID pair on integrated main, then P28-01 evidence gate (22->23 only if all join)" + ] +}