docs: freeze reuse-only repair contract for mana proposal

This commit is contained in:
Takeshi
2026-10-13 00:19:30 +09:00
parent 73cda6b867
commit 5536bc0411
@@ -0,0 +1,76 @@
{
"id": "MP-01-r02",
"linked_original_delivery": "P06-01",
"counting_scope": "owner-requested approval artifact only; not an additional delivery among the original 88 and not acceptance of P06-01",
"owner_request": "承認用の候補案を作成する。候補は承認まで実装値に反映しない。",
"work": "現実装値の根拠と全既存施設の需要を調べ、初期残量・容量・世界樹生成・マナ炉投入/生成・単位・更新順序・旧ゼロ保存の承認用候補を作る。",
"acceptance": "提案値と原本値/現実装値/試験値を区別し、計算を再現でき、原本制約と未確定範囲を維持し、製品へ未反映である。",
"source_authority": "docs/traceability/original/BASELINE.txt",
"related_original_contract": "docs/spec/acceptance/P06-01.json",
"known_original_constraints": [
"枯渇時に全館機能停止",
"マナ炉6x3、裏地下、奴隷消費",
"人物の代替不可能/売却不可など別原本制約に反する投入を提案しない"
],
"distinctions": [
"GameState初期mana=100は初期残量の実装値。STARTER_MANA_OUTPUT=100はネットワーク供給能力の実装値であり、Mana/時刻あたり生成量として承認済みではない。",
"maintenance_manaの現在用途・時刻単位をコードから調べる。生成/消費への換算は提案として明示。",
"初期値、容量、周期、生成率、炉の投入量と出力量、旧ゼロの意味と旧保存の移行、同じ境界再送は別々に根拠を記載。"
],
"required_outputs": [
"proposal.json",
"PROPOSAL.md"
],
"proposal_json_contract": {
"status": "proposed_unapproved",
"applied_to_product": false,
"required_top_level": [
"recommended",
"alternatives",
"demand_catalog",
"ordering",
"legacy_zero",
"open_decisions",
"source_pins",
"comparisons"
],
"recommended_numeric_fields": [
"initial_amount",
"storage_capacity",
"world_tree_generation_per_interval",
"interval_minutes"
],
"recommended_furnace": "explicit proposed input/output quantity, eligibility, timing; no actual actor consumption",
"demand_catalog_row_fields": [
"definition_id",
"path",
"observed_maintenance_mana"
],
"source_pins": "repo-relative path to current file SHA256; original/current implementation/fixture/candidate provenance must be distinct"
},
"worker_instructions": [
"承認用候補値の作成は許可済み。これは採用/数値確定ではない。提案を作るために未確定であることだけを理由に停止しない。",
"源値と単位を現sourceから調べ、推薦案1つと比較代替案を提示。負荷計算は式・入力・期間・結果を示し、未実装13施設等の需要はunknownとして全ゲーム予測をしない。",
"低負荷/通常/需要超過/0残量/容量上限/供給喪失と復帰/同分再送の設計比較を行う。これは候補式の計算であり実機受入試験ではない。",
"炉の投入は原本制約を守り、対象/タイミング/原子性/保存履歴/中断時の扱いを提案する。値が未承認なので人物/資源を実際に変更しない。",
"更新順序はD05未承認の現点を明記し、マナ評価の推奨順序と既存会計/勤務/サービス境界への影響を提案する。旧0を満量/無制限へ黙って変換しない。",
"製品source、元88成果のwork/acceptance、仕様原本、台帳、Runner、provider設定を編集しない。allowed_paths内の2成果だけ作成。",
"数値は提案として明確に表記し、PROPOSAL.mdの先頭に未承認・製品未反映を表示。根拠・不足・承認する範囲を明示する。",
"Runnerが別Claudeレビューする。作成者は正式試験/git書込み/統合/完了を自己確定しない。指定の提案条件を満たしたらsubmittedとして返す。",
"既存提案書2点をreuse_inputsから読み、同じ数値・根拠・比較を再利用する。全再調査や新しい数値設計を開始しない。必要な矛盾が見つかった場合だけ理由を明記して修正。",
"source_pinsは {repo-relative-path: raw-file-SHA256} 辞書へ修正。個別provenanceは別項目へ移す。maintenance_mana省略の4施設はFacilityDefinitionの既定0を根拠に0と記し、未知の原13施設を0扱いしない。",
"Runner契約spec_sha256は git show の返却文字列.strip()をUTF-8ハッシュ化する方式。ファイルの末尾改行を含む生バイトSHAと異なっても仕様改変ではない。個別source_pinsは生バイトSHAを用い、契約specの比較方法と混同しない。",
"今回のspecもRunnerハッシュ方式で一致を確認する。末尾改行差のみを理由にblockedを返さない。rootがscope/提出/正式検証/独立レビューを行う。"
],
"revision_reason": "Reuse existing proposal; correct hash interpretation and source_pins serialization. No new original unit.",
"reuse_inputs": [
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/mana-proposal/MP-01-implement/docs/plans/original-completion-2026-10-02/execution/mana-proposal/proposal.json",
"sha256": "aca6d781d5ce730c9f905b5dc817f27548b372b043beea68cf6de73761f6f0d2"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/mana-proposal/MP-01-implement/docs/plans/original-completion-2026-10-02/execution/mana-proposal/PROPOSAL.md",
"sha256": "95024959e7c301c6a68a24de36dd6629e45b189f9d038f4397757124ba0bb41f"
}
]
}