AZRAS Feasibility Version 1.0.1

フォルダ名:
04_AZRAS_Feasibility

役割:
03_AZRAS_Evaluation が出力する世界共通の200年事業評価を受け取り、
国・地域別の経済条件、税制、税引後キャッシュフロー、国別NPV等を評価します。

接続:
Producer: 03_AZRAS_Evaluation
Consumer: 04_AZRAS_Feasibility
入力契約: common/03_interface_contract_v1.json
主要入力: module_outputs.module6

起動:
run_AZRAS_Feasibility_without_build.bat

注意:
03_AZRAS_Evaluation のProject JSONは読み取り対象です。
AZRAS Feasibility側の国別税制・税引後評価を03へ書き戻す構成にはしていません。

自己診断:
dev_checks\FULL_SELF_CHECK.bat

国別利用状態:
日本版は現在の正式な有効対象です。
USA、UK、France、Germany、Saudi Arabia、Norway、Australia、UAEは準備中です。
未検証の経済条件・税条件は自動適用しません。
詳細は COUNTRY_READINESS_MAP.txt を参照してください。

国別プロファイル:
common/country_registry.json と countries/*/country_profile.json の国コード・表示名・地域ID・共通エンジン参照を自己診断で確認します。

NPV表示:
国別NPV（税引前）と国別NPV（税引後）を別項目で表示します。
税引後NPVは税制が実際に適用された場合のみ表示します。

NPV節目表示:
NPVグラフでは50年・100年・150年・200年の節目に、税引前NPVと税引後NPVを別々に表示します。

出力JSON:
日本版完成候補JSONの financial_metrics に、割引率、税引前NPV、税引後NPV、税額合計、200年累積CF（税引前／税引後）を保存します。

出力契約:
common/04_output_contract_v1.json に、日本版完成候補JSONの正式な出力スキーマを定義します。
financial_metrics の税引前NPV・税引後NPV・割引率・税額・200年累積CFを後続処理で利用できます。

最終確認レポート:
50年・100年・150年・200年の節目表に、税引前NPV・税引後NPV・選択割引率を追加します。

完成候補JSON:
保存直前に common/04_output_contract_v1.json と照合し、必須項目や50/100/150/200年の節目構造に不備があれば保存を中止します。

200年事業収支グラフ:
⑤ 投資回収率を追加し、初期投資額に対する累積回収額を税引前／税引後で比較します。100%が初期投資回収相当です。

投資回収年:
税引前／税引後の累積CFが0以上になる最初の年を投資回収年として表示・保存します。200年以内に回収できない場合は未回収として扱います。

出力契約:
税引前投資回収年・税引後投資回収年を financial_metrics の正式な必須項目として定義します。後続モジュールは同じキー名で利用できます。

投資回収年出力:
節目CSVと最終確認レポートにも、税引前／税引後の投資回収年を出力します。

財務指標整合チェック:
完成候補JSON保存前に、200年NPVと税引前／税引後投資回収年を共通計算関数の結果と再照合します。不一致がある場合は保存を中止します。

例外条件:
税制未適用、税引後NPV算出不可、200年以内未回収などの場合に、画面・JSON・CSV・最終確認レポートで矛盾した表示をしないよう統一します。

安定版 1.0.0:
PATCH 200で日本版04_AZRAS_Feasibilityを安定版として固定します。日本のみ有効、その他8か国は検証済みデータ・税制エンジンが揃うまで準備中のままです。03_AZRAS_EvaluationのProject JSONは変更しません。

ファイル整理:
開発・検証用の *_self_check.py と FULL_SELF_CHECK.bat は dev_checks フォルダにまとめました。通常利用では触る必要はありません。


現在の安定版:
Version 1.0.1 / PATCH 209
PATCH 202のdev_checksルート解決修正を含みます。


配布・ビルド:
- LICENSE.txt / NOTICE.txt を同梱します。
- build_AZRAS_Feasibility.bat でWindows EXEを作成できます。
- AZRAS_Feasibility.spec / version_info_AZRAS_Feasibility.txt を使用します。
- Windows EXE Product/File Versionは1.0.1です。

Project JSON互換性:
- Core Project JSON Schema 3.0 を読取対象とします。
- compatible_schema_versions: 3.0
- 03_AZRAS_Evaluationの元Project JSONはread-onlyです。


01工法候補一次判定との連携:
- Project JSON common.construction_feasibility_screening を読込みます。
- Candidate / Conditional / Excluded / Unknown の件数とproxy地域を入口画面に表示します。
- Conditionalは材料供給・物流・技能者・重機・法規を04で詳細確認する対象です。
- Unknownは除外せず、情報不足として詳細確認対象に残します。


法規・災害一次判定の引継ぎ PATCH 206:
- 01が保存した regulatory_hazard_trace を読み込みます。
- 04ではConditionalを「禁止」と解釈せず、詳細な法規・材料・物流・技能確認へ回します。
- Excludedは明示的で検証済みの法的根拠がある場合だけを想定します。


PATCH 207 配布整理:
- 現行安定版表記を Version 1.0.1 / PATCH 207 に統一。
- FINAL_RELEASE / COUNTRY_READINESS_MAP / JP country profile / final release self-checkを207へ整合。
- 配布物に残った __pycache__ / *.pyc は P207_CLEAN.bat で削除できます。
- 財務・税・200年CF・01→04一次判定連携のロジックは変更していません。


物理施工性詳細判定 PATCH 208:
- 01のCandidate / Conditional / Excluded / Unknownを起点にします。
- 生コン供給、道路搬入、港湾アクセス、重機・揚重設備、施工技能者を別々に評価します。
- OpenStreetMap/Overpassが利用可能なら、周辺5kmの道路、100kmの生コンプラント候補・港湾候補を補助証拠として取得します。
- 道路が地図にあるだけで大型車搬入可とは判定しません。幅員・橋梁荷重・高さ・重量規制・許可は別途確認事項です。
- 生コンプラントや港が地図に無いことを「存在しない」とは判定しません。
- 重機・技能者は地図だけで確定せず、01 proxyまたは04の手動Yes/No/Unknownで補正します。
- 最終状態は Feasible / Conditional / Difficult / Unknown / Excluded。
- Difficultは必要条件が明示的にNoと確認された場合に限ります。
- 判定結果は別JSONへ保存し、元の03 Project JSONは変更しません。


条件付き施工 追加負担（PATCH 209）:
- 物理施工性詳細判定画面から追加負担計算を開けます。
- 遠距離資材輸送、派遣職人、追加重機、仮設設備/仮設生コンプラント、その他を入力します。
- 追加費・追加CO₂・追加工期を別々に算定します。
- AZRASは地域差の大きい市場単価・CO₂原単位を既定値として設定しません。
- 0は「影響ゼロ確認済み」ではなく「未計上」です。
- feasibility_adjustment JSONとして保存できます。
- 04→03 handoff contractを追加しました。
- PATCH 209では03 Module 4/5/7へ自動加算しません。明示承認後に反映する安全設計です。
