5.6 KiB
5.6 KiB
P05-02 修正3: 通常の帳簿の画面の返済(A09)と、残りの試験と開示
- S
d65e3da9f33d399c598ad88296e4a9d88d847a7bの whole-unit の独立レビュー(fresh、local_92520fb7)は changes_requested(medium 1・low 4)。F1〜F8 は証拠の上で満たすとされ、残りは下の指摘。正規の受付でrepair_pending、commander の修正3(COMMANDER_REPAIR_PLAN_P05_02_R03.md、event 28、repairs 3)。Sd65e3daまでの native・全 roster・validation・review・容量の記録と失敗は全て保持し、新しい S に流用しない。原本は 23/88 のまま。
直したもの
- 指摘1(medium、F2 と横断条件「原本条件と UI 操作の一致」): 通常の帳簿の画面(
scripts/ui/operating_ledger_panel.gd)の返済の上限・案内・拒否を、表金だけ(cash)から表金+裏金(FinancePolicy.available_funds)にした。SimulationRuntime.get_loan_principal_reportにback_cashとavailable_fundsを足した(cashは今までどおり表金)。案内は「表金 xG・裏金 yG(計 zG)から元本を返済します。表金で足りない分は裏金から補填します。」と出し、完済に足りない時は「完済には表金と裏金の合計が不足しています。」と出す。返済の command は今までどおり Runtime のrepay_loan_principalで、表金から先に払い、残りを裏金からの補填と同じ1つの取引で記帳する(A09)。既存の試験が確かめる文言(「借入はありません」「受理済み」「実行できません」「…Gを返済」)は残した。- 試験
_test_ledger_repayment_uses_hidden_funds: 通常の帳簿の画面の部品で、表金 20・裏金 300 の時に 200 の返済が押せ、1つの取引(裏金からの補填 180 → 元本 200)になること、残元本 800 の完済は表金+裏金 120 では押せず、500 の指定も押せず、押しても状態が変わらないこと、裏金が 820 になると完済が押せ、1つの取引(補填 800 → 元本 800)で完済し、表金 0・裏金 20・Gold が表金を写すこと、save から戻してそのまま一致すること。
- 試験
- 指摘2(low): 税と利息の滞納も §3.8 の
arrears_totalに入るので、建設と投資の制限にも入る(開示)。締めの日次の記録のarrears_totalに税・利息の滞納が入り、Operations の調整役の判定(can_start_construction_or_investment)がARREARS_REMAINで止める。その後の Runtime の判定(_operations_construction_investment_gate。_operations_total_arrearsにRANK_TAX_PAYABLEとLOAN_INTEREST_PAYABLEの残高が入る)も、残高が残る間はUNPAID_EXPENSESで止める。試験_test_tax_arrears_next_day: 税の滞納 20 がある日に建設の command がARREARS_REMAIN(arrears 20)で拒まれ、翌日の締めで払った後に建てられる(表金から 20)こと(局所の確認で実際の理由がARREARS_REMAINだったので、レビューの指摘のUNPAID_EXPENSESではなくそれを確かめる)。 - 指摘3(low): 試験を足した。表金 0・裏金 663 の時に建設(
guest_corridor、20)が拒まれ、裏金が減らず、補填が増えないこと(建設は A09 の対象外。_test_operation_top_ups_and_day_total)。税の滞納が残る日に、帳簿の画面の締めの欄が「未払い 税 20G・利息 0G」、今日の欄が「(未払い 20G)」と出すこと(_test_tax_arrears_next_day)。罰金・event の支払など他の対象外の支払は、コードで表金だけから払うことを確かめたが試験は無い(開示)。
文言の補足(指摘4、low)
- 凍結の SPEC(契約の
spec_sha256)と DB の契約は変えない。SPEC §3.5 の「元本の出入り(financing_principal_*)は今までどおり売上と経費に入れない」は、原本どおり次の意味で読む: 借入の元本の入金は売上に入れない(F4)。元本の返済は原本どおり日次の経費(financing_principal_outflows。scripts/operations/operations_coordinator.gdの_net_profitが日次の利益から引き、帳簿の画面は「元本返済(決算経費)」と出す。原子要件の借金返済の経費)。この単位はこの挙動を変えていない。
範囲の外で直していないもの(指摘5、low)
- 仕入れの画面
scripts/ui/supply_management_panel.gdは契約の allowed_paths の外なので、この単位では直さない。今の画面は「手持ち %dG」に表金だけを出し、見積の「購入後 %dG」は preview のcash_after(A09 で表金+裏金からの残り)を出すので、例えば表金 2・裏金 100 で 15 の仕入れでは「手持ち 2G」と「購入後 87G」が並ぶ。操作は A09 どおりに通る。- 具体的な差分の案: 「手持ち %dG」を「表金 %dG・裏金 %dG」に分けて出し(
economy_service.get_balance(FinancePolicy.BACK_CASH))、「購入後 %dG」を「購入後(表金+裏金)%dG」とし、表金で足りない分を裏金から補うことを一言出す。 - 正規の扱い: この画面を範囲に含む別の登録(仕入れ・UI の単位、または P05-03 の登録で allowed_paths に入れる)で直す。それまでは未修正で、P05-02 の完了に数えない。
- 具体的な差分の案: 「手持ち %dG」を「表金 %dG・裏金 %dG」に分けて出し(
変えていないもの
- 登録の argv、
tools/run_p05_funds_tests.py、狭い roster(8 suites+再開の2段、実 10 段)、試験の既存の期待値(EXPECTATION_CHANGES.jsonに足すものは無い)、凍結の SPEC、DB の契約。