P28-01-RESTART: Registration proposal pinned to base 2132bbe and full9 receipt

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Takeshi
2026-10-21 00:54:07 +09:00
co-authored by Claude Opus 5.5
parent 2132bbe3d3
commit 131e9a599a
@@ -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)"
]
}