From 0bdc4886cf631879792e0c0a873ecf97b98a64ea Mon Sep 17 00:00:00 2001 From: Takeshi Date: Tue, 13 Oct 2026 00:06:47 +0900 Subject: [PATCH] docs: freeze owner-requested mana proposal contract --- docs/spec/acceptance/P06-mana-proposal.json | 61 +++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 docs/spec/acceptance/P06-mana-proposal.json diff --git a/docs/spec/acceptance/P06-mana-proposal.json b/docs/spec/acceptance/P06-mana-proposal.json new file mode 100644 index 0000000..adcbc32 --- /dev/null +++ b/docs/spec/acceptance/P06-mana-proposal.json @@ -0,0 +1,61 @@ +{ + "id": "MP-01", + "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として返す。" + ] +}