Files
TheTree_mock/docs/plans/original-completion-2026-10-02/checkpoints/mana-proposal-draft-r01/proposal.json
T

2422 lines
70 KiB
JSON

{
"id": "MP-01",
"linked_original_delivery": "P06-01",
"status": "proposed_unapproved",
"applied_to_product": false,
"counting_scope": "approval artifact only; excluded from original 88; not acceptance of P06-01",
"base_commit": "0bdc4886cf631879792e0c0a873ecf97b98a64ea",
"recommended": {
"initial_amount": 100,
"storage_capacity": 300,
"world_tree_generation_per_interval": 20,
"interval_minutes": 10,
"provenance": "candidate_unapproved",
"unit": "integer Mana per 10 game minutes; stock in Mana",
"demand_conversion": "D=sum(instance_count * observed_maintenance_mana); candidate conversion of allocation demand to interval energy, not existing consumption",
"demand_policy": "completed retained facilities including closed/unpowered facilities; no depletion waiver; destroyed/demolished excluded",
"furnace": {
"input_quantity": 1,
"input_unit": "eligible generic slave actor",
"output_quantity": 100,
"output_unit": "Mana",
"eligibility": "owned generic nonunique slave only; exclude heroes, rivals, unique/irreplaceable/protected/not-sellable actors, visitors, employees, detained unclassified actors; uncertain classification rejects",
"footprint": "6x3 BACK underground",
"timing": "one explicitly confirmed queued transaction per furnace at next 10-minute boundary; no automatic input",
"atomicity": "revalidate eligibility, ownership, furnace readiness and headroom >=100; actor removal, Mana credit and immutable transaction receipt commit together or none",
"history": "persist transaction id, actor id and eligibility evidence, furnace id, boundary, before/after Mana, input/output and committed status in same save",
"interruption": "before commit cancel without removal; after commit restore receipt and never repeat; conflicting retry rejected; depleted furnace cannot initiate until natural generation restores power",
"actual_actor_consumption": false
}
},
"alternatives": [
{
"id": "conservative",
"initial_amount": 100,
"storage_capacity": 200,
"world_tree_generation_per_interval": 10,
"interval_minutes": 10
},
{
"id": "generous",
"initial_amount": 200,
"storage_capacity": 600,
"world_tree_generation_per_interval": 40,
"interval_minutes": 10
}
],
"demand_catalog": [
{
"definition_id": "adult_private_room",
"path": "data/facilities/adult_private_room.tres",
"observed_maintenance_mana": 3,
"observation": "explicit",
"provenance": "current_implementation"
},
{
"definition_id": "cafeteria",
"path": "data/facilities/cafeteria.tres",
"observed_maintenance_mana": 2,
"observation": "explicit",
"provenance": "current_implementation"
},
{
"definition_id": "black_market",
"path": "data/facilities/expansion/black_market.tres",
"observed_maintenance_mana": 2,
"observation": "explicit",
"provenance": "current_implementation"
},
{
"definition_id": "chapel",
"path": "data/facilities/expansion/chapel.tres",
"observed_maintenance_mana": 0,
"observation": "omitted; FacilityDefinition default 0",
"provenance": "current_implementation"
},
{
"definition_id": "cleaning_room",
"path": "data/facilities/expansion/cleaning_room.tres",
"observed_maintenance_mana": 0,
"observation": "omitted; FacilityDefinition default 0",
"provenance": "current_implementation"
},
{
"definition_id": "clinic",
"path": "data/facilities/expansion/clinic.tres",
"observed_maintenance_mana": 3,
"observation": "explicit",
"provenance": "current_implementation"
},
{
"definition_id": "cold_storage",
"path": "data/facilities/expansion/cold_storage.tres",
"observed_maintenance_mana": 4,
"observation": "explicit",
"provenance": "current_implementation"
},
{
"definition_id": "general_store",
"path": "data/facilities/expansion/general_store.tres",
"observed_maintenance_mana": 0,
"observation": "omitted; FacilityDefinition default 0",
"provenance": "current_implementation"
},
{
"definition_id": "guild_counter",
"path": "data/facilities/expansion/guild_counter.tres",
"observed_maintenance_mana": 1,
"observation": "explicit",
"provenance": "current_implementation"
},
{
"definition_id": "laundry",
"path": "data/facilities/expansion/laundry.tres",
"observed_maintenance_mana": 3,
"observation": "explicit",
"provenance": "current_implementation"
},
{
"definition_id": "maintenance_workshop",
"path": "data/facilities/expansion/maintenance_workshop.tres",
"observed_maintenance_mana": 2,
"observation": "explicit",
"provenance": "current_implementation"
},
{
"definition_id": "mana_control_room",
"path": "data/facilities/expansion/mana_control_room.tres",
"observed_maintenance_mana": 1,
"observation": "explicit",
"provenance": "current_implementation"
},
{
"definition_id": "premium_room",
"path": "data/facilities/expansion/premium_room.tres",
"observed_maintenance_mana": 1,
"observation": "explicit",
"provenance": "current_implementation"
},
{
"definition_id": "private_bath",
"path": "data/facilities/expansion/private_bath.tres",
"observed_maintenance_mana": 4,
"observation": "explicit",
"provenance": "current_implementation"
},
{
"definition_id": "secret_tavern",
"path": "data/facilities/expansion/secret_tavern.tres",
"observed_maintenance_mana": 3,
"observation": "explicit",
"provenance": "current_implementation"
},
{
"definition_id": "staff_dormitory",
"path": "data/facilities/expansion/staff_dormitory.tres",
"observed_maintenance_mana": 1,
"observation": "explicit",
"provenance": "current_implementation"
},
{
"definition_id": "tea_lounge",
"path": "data/facilities/expansion/tea_lounge.tres",
"observed_maintenance_mana": 1,
"observation": "explicit",
"provenance": "current_implementation"
},
{
"definition_id": "underground_guest_room",
"path": "data/facilities/expansion/underground_guest_room.tres",
"observed_maintenance_mana": 1,
"observation": "explicit",
"provenance": "current_implementation"
},
{
"definition_id": "vip_private_salon",
"path": "data/facilities/expansion/vip_private_salon.tres",
"observed_maintenance_mana": 5,
"observation": "explicit",
"provenance": "current_implementation"
},
{
"definition_id": "waste_processing",
"path": "data/facilities/expansion/waste_processing.tres",
"observed_maintenance_mana": 2,
"observation": "explicit",
"provenance": "current_implementation"
},
{
"definition_id": "guest_corridor",
"path": "data/facilities/guest_corridor.tres",
"observed_maintenance_mana": 0,
"observation": "explicit",
"provenance": "current_implementation"
},
{
"definition_id": "guest_elevator",
"path": "data/facilities/guest_elevator.tres",
"observed_maintenance_mana": 5,
"observation": "explicit",
"provenance": "current_implementation"
},
{
"definition_id": "guest_stairs",
"path": "data/facilities/infrastructure/guest_stairs.tres",
"observed_maintenance_mana": 0,
"observation": "explicit",
"provenance": "current_implementation"
},
{
"definition_id": "service_stairs",
"path": "data/facilities/infrastructure/service_stairs.tres",
"observed_maintenance_mana": 0,
"observation": "explicit",
"provenance": "current_implementation"
},
{
"definition_id": "kitchen",
"path": "data/facilities/kitchen.tres",
"observed_maintenance_mana": 2,
"observation": "explicit",
"provenance": "current_implementation"
},
{
"definition_id": "massage_room",
"path": "data/facilities/massage_room.tres",
"observed_maintenance_mana": 2,
"observation": "explicit",
"provenance": "current_implementation"
},
{
"definition_id": "public_bath",
"path": "data/facilities/public_bath.tres",
"observed_maintenance_mana": 4,
"observation": "explicit",
"provenance": "current_implementation"
},
{
"definition_id": "reception",
"path": "data/facilities/reception.tres",
"observed_maintenance_mana": 1,
"observation": "explicit",
"provenance": "current_implementation"
},
{
"definition_id": "infirmary",
"path": "data/facilities/rescue/infirmary.tres",
"observed_maintenance_mana": 0,
"observation": "omitted; FacilityDefinition default 0",
"provenance": "current_implementation"
},
{
"definition_id": "security_station",
"path": "data/facilities/security_station.tres",
"observed_maintenance_mana": 2,
"observation": "explicit",
"provenance": "current_implementation"
},
{
"definition_id": "service_corridor",
"path": "data/facilities/service_corridor.tres",
"observed_maintenance_mana": 0,
"observation": "explicit",
"provenance": "current_implementation"
},
{
"definition_id": "service_elevator",
"path": "data/facilities/service_elevator.tres",
"observed_maintenance_mana": 6,
"observation": "explicit",
"provenance": "current_implementation"
},
{
"definition_id": "staff_door",
"path": "data/facilities/staff_door.tres",
"observed_maintenance_mana": 0,
"observation": "explicit",
"provenance": "current_implementation"
},
{
"definition_id": "staff_waiting_room",
"path": "data/facilities/staff_waiting_room.tres",
"observed_maintenance_mana": 0,
"observation": "explicit",
"provenance": "current_implementation"
},
{
"definition_id": "standard_room",
"path": "data/facilities/standard_room.tres",
"observed_maintenance_mana": 0,
"observation": "explicit",
"provenance": "current_implementation"
},
{
"definition_id": "tavern",
"path": "data/facilities/tavern.tres",
"observed_maintenance_mana": 2,
"observation": "explicit",
"provenance": "current_implementation"
},
{
"definition_id": "warehouse",
"path": "data/facilities/warehouse.tres",
"observed_maintenance_mana": 0,
"observation": "explicit",
"provenance": "current_implementation"
}
],
"demand_catalog_scope": {
"resource_count": 37,
"one_each_sum": 63,
"registration_and_operation_not_assumed": true,
"unknown_original_facilities": [
"VIPスイート",
"ドミトリー",
"レストラン",
"屋台",
"カジノ",
"闘技場",
"高級ソープ",
"SM拷問室",
"覗き部屋",
"地下牢",
"マナ炉",
"ワープ",
"魔法砲台"
],
"unknown_demand": "unknown, never zero; not a full-game prediction; mana_control_room is not the original furnace"
},
"ordering": {
"approval": "D05 pending",
"observed": "APPLY_COMMANDS -> TIME_BOUNDARIES -> MANA -> CONSTRUCTION -> LOGISTICS -> FACILITY_COMPLETION -> VITALS_AND_ENVIRONMENT -> INCIDENTS_AND_EVENTS -> FACILITY_QUEUES -> AI_DECISIONS -> PUBLISH_SNAPSHOT",
"recommended": "retain existing phases; at MANA boundary snapshot inputs, stage natural generation and eligible furnace transaction, calculate reserve once, allocate network once, project global zero gate, commit receipt before dependent phases",
"boundaries": "00:00 existing ownership-based Gold upkeep and settlement timing retained; 06:00/18:00 shift boundary retained. Power change affects subsequent logistics/service completion/queues; no charges or actor departure for uncompleted service. EV/cargo pause in place, retain ids/load/route; resume after restored power without duplicate delivery. Cross-boundary in-flight disposition requires D05 approval.",
"zero": "after==0 stops all facilities including zero-demand ones; world tree natural recovery is external to stopped facilities; next boundary generation pays standing demand first; resume only after>0 and local supply valid",
"replay": "persist minute, input snapshot/hash, full flow, network projection and furnace receipts; identical replay no second mutation/events; conflicting or backwards replay reject; catch up every 10-minute boundary, never one aggregate period"
},
"legacy_zero": {
"observed": "GameState restore accepts nonnegative resource values including 0; Runtime projects reserve>0 gate; missing mana get_resource returns 0. No approved stock capacity or energy rate migration implied by network snapshot version 1 or save format versions 1/2.",
"recommended": "explicit versioned domain migration preview and verified backup; explicit old mana=0 stays 0 and stopped, never full or unlimited; positive stock preserved only if <= approved capacity; missing/ambiguous/noninteger/negative/overcapacity reject without changing original or live state",
"new_save": "approved new stock schema must persist capacity, amount, last boundary/flow and receipts; numeric domain version and source-version applicability need separate approval",
"recovery": "0 with restored world supply resumes only when boundary after>0; no offline generation unless separately approved"
},
"open_decisions": [
"D04: approve candidate initial/capacity/rate/period and maintenance conversion; no original numeric mandate",
"D05: boundary completion/cost, EV/cargo pause/resume and cross-midnight order remain unapproved",
"Approve furnace eligibility predicate, one actor ->100 Mana, timing/headroom rejection, atomic save receipts; actor classifications must be explicit before implementation",
"Approve legacy domain schema/version/applicability and missing/overcapacity rejection",
"Unknown 13 original facilities demand and runtime instance counts; no whole-game forecast",
"Separate network output/flow capacities from energy accounting; do not count reserve/network storage twice"
],
"source_pins": [
{
"path": "autoload/game_state.gd",
"sha256": "cf0e884910220e54c56b5875983e53de439af9d893be1e1b65c2121d2a30722f",
"provenance": "current_implementation"
},
{
"path": "autoload/simulation_runtime.gd",
"sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39",
"provenance": "current_implementation"
},
{
"path": "data/facilities/adult_private_room.tres",
"sha256": "d8501586416b5c57a8b3b3b2afd1c0143428d8a4fa1df7112e995bd36649df6d",
"provenance": "current_implementation"
},
{
"path": "data/facilities/cafeteria.tres",
"sha256": "86d540fe2d78b9dcdbe5a0af6e4a001f4cec54934636ed01deb25a943c79128a",
"provenance": "current_implementation"
},
{
"path": "data/facilities/expansion/black_market.tres",
"sha256": "c209d734c82487f6df4c03714618865d6a5f1d2cf991dc0056fe4bbad8f03a42",
"provenance": "current_implementation"
},
{
"path": "data/facilities/expansion/chapel.tres",
"sha256": "9b30a7c51712e7bb99c17870d1f03e3429ea9279851d88284545bb2eb5042fcb",
"provenance": "current_implementation"
},
{
"path": "data/facilities/expansion/cleaning_room.tres",
"sha256": "ae366cf67cbf117db7989c6b76092eb5a65229b93d35999a40d19b8260f95ad8",
"provenance": "current_implementation"
},
{
"path": "data/facilities/expansion/clinic.tres",
"sha256": "339cf22c68d7ab3cb1514b9e8d2ea63dc0772fe93918d70767c11cf7b6ee0e16",
"provenance": "current_implementation"
},
{
"path": "data/facilities/expansion/cold_storage.tres",
"sha256": "1aac824147b52b41e124d2ab2ce63c3bac58de2ec7fc447a5806a1cf9fa9ad99",
"provenance": "current_implementation"
},
{
"path": "data/facilities/expansion/general_store.tres",
"sha256": "76872e0375648b43f05fdc5581ccabe4aa6a166674c3b523980dd1cf0b6e6dc1",
"provenance": "current_implementation"
},
{
"path": "data/facilities/expansion/guild_counter.tres",
"sha256": "93e8736da4aab8a17b1c8e7831c9a7b8de7f32d0ec251aa9aa5c8cf859c8fd7b",
"provenance": "current_implementation"
},
{
"path": "data/facilities/expansion/laundry.tres",
"sha256": "2518ea2e5da12cf4f2997502bf50f00dd8145caca153fb3486b44b99881fdab4",
"provenance": "current_implementation"
},
{
"path": "data/facilities/expansion/maintenance_workshop.tres",
"sha256": "8bd10332a9f45a252febdc626f22f90507317fb4cff5b18b2526aacd1f1a176b",
"provenance": "current_implementation"
},
{
"path": "data/facilities/expansion/mana_control_room.tres",
"sha256": "55e4c52a049ff61ddf3d081ccb990a8572b64bc7cf37d3a0d52ca5a08cc32f25",
"provenance": "current_implementation"
},
{
"path": "data/facilities/expansion/premium_room.tres",
"sha256": "6665090e041f36df5809314cd171be228a94bf77d7e93f5b70be648db4705d98",
"provenance": "current_implementation"
},
{
"path": "data/facilities/expansion/private_bath.tres",
"sha256": "241b807e7fa3a1b9dc4bda0d2495e637155cdaea89a4234e37a121f00098499c",
"provenance": "current_implementation"
},
{
"path": "data/facilities/expansion/secret_tavern.tres",
"sha256": "f0a1372931078fa0f93dd5b9cec6df6b137975479aa706633fdf6a9be4cf1f62",
"provenance": "current_implementation"
},
{
"path": "data/facilities/expansion/staff_dormitory.tres",
"sha256": "8d7c7cd6dfe98d137f7fef62e35eb31f82f1ca282216a40df54ac81728101271",
"provenance": "current_implementation"
},
{
"path": "data/facilities/expansion/tea_lounge.tres",
"sha256": "77d1ace36c5e84f80c0e6d563ae973c7ff1cd12b56956afd4895cdcdd5771a67",
"provenance": "current_implementation"
},
{
"path": "data/facilities/expansion/underground_guest_room.tres",
"sha256": "cdfd0f8cd21812a9972485926dff27daaa6718af16aac1651894728b087bef9e",
"provenance": "current_implementation"
},
{
"path": "data/facilities/expansion/vip_private_salon.tres",
"sha256": "1c94a7a70393262fba82112c3f4a0cb67ad22728664f5ca408f450049d3657a7",
"provenance": "current_implementation"
},
{
"path": "data/facilities/expansion/waste_processing.tres",
"sha256": "9954855c7a07e425376a220c589989beb6ec95da3c5331316ef3615a60b45f1d",
"provenance": "current_implementation"
},
{
"path": "data/facilities/guest_corridor.tres",
"sha256": "d77ccf267e20a26ed70527d29e8d54e6fcab1df213f02d5a4e28ead4f705276b",
"provenance": "current_implementation"
},
{
"path": "data/facilities/guest_elevator.tres",
"sha256": "ad4fb3c439ac4ed90fe52f07e29ed7b4ff654c54d1c400c7c8e226da77127af7",
"provenance": "current_implementation"
},
{
"path": "data/facilities/infrastructure/guest_stairs.tres",
"sha256": "757c687b1ebe2a3f237fb28092cd5f01591f15b2bcd1b4e639042a24635a92c6",
"provenance": "current_implementation"
},
{
"path": "data/facilities/infrastructure/service_stairs.tres",
"sha256": "637217d867bcc99669d27c54b6d2c391c82a4a17356ab9a80c897ccaee38622c",
"provenance": "current_implementation"
},
{
"path": "data/facilities/kitchen.tres",
"sha256": "38197aa8a3e90c03a82e9ccdc88bb444af4eeb0349c41a39e0bdd7b188e7d5d3",
"provenance": "current_implementation"
},
{
"path": "data/facilities/massage_room.tres",
"sha256": "75ecf845fb3cfa8d3150f6b0dc90e901953469af512611384b70cc4878d21e85",
"provenance": "current_implementation"
},
{
"path": "data/facilities/public_bath.tres",
"sha256": "8ec259f48ed75c8ab2e5154a1caccf19f6be04331adbe774b877f0a2d8b2f778",
"provenance": "current_implementation"
},
{
"path": "data/facilities/reception.tres",
"sha256": "bed3de120a0e98c539771d1bb189111d095712f8ae25dfdf7cb2983efc0dee9f",
"provenance": "current_implementation"
},
{
"path": "data/facilities/rescue/infirmary.tres",
"sha256": "c3e861533971e369068ae9e42f71b660fa4ab3893c7c1f798fc367893befd943",
"provenance": "current_implementation"
},
{
"path": "data/facilities/security_station.tres",
"sha256": "69f3f518df7714d00c8e954e9c7405aa44b683dd274181cc3da832cc956815b3",
"provenance": "current_implementation"
},
{
"path": "data/facilities/service_corridor.tres",
"sha256": "5d79fbde201d657740efcba924f595bd7075e069b344d708e424dbebbdc2f254",
"provenance": "current_implementation"
},
{
"path": "data/facilities/service_elevator.tres",
"sha256": "35d552d5b96065413feccb50847e3cd7173e673896ce65afba238f90abc25132",
"provenance": "current_implementation"
},
{
"path": "data/facilities/staff_door.tres",
"sha256": "a993058bfd809ccdbbb9a61b9850259d7bf6e60003e57ccfa3972f6c29170752",
"provenance": "current_implementation"
},
{
"path": "data/facilities/staff_waiting_room.tres",
"sha256": "5c7a2f7f7c508102c4ee89401ad6348191b57d1ff65538acb9d450e464a3a46f",
"provenance": "current_implementation"
},
{
"path": "data/facilities/standard_room.tres",
"sha256": "89f0a3a861d66afa4c1338ff1ec919685cf338b93b8da9a2387ce85e7e5bc336",
"provenance": "current_implementation"
},
{
"path": "data/facilities/tavern.tres",
"sha256": "eb494ae6ab0d1b9e88ae0a38944609702e43c81a370a29cfb030af9ae46f523c",
"provenance": "current_implementation"
},
{
"path": "data/facilities/warehouse.tres",
"sha256": "d0fcf0528da66da7b354ab5efaafe2483a7a76e05b324db255700ef73cdfc791",
"provenance": "current_implementation"
},
{
"path": "docs/plans/original-completion-2026-09-29/execution/CURRENT_FACILITY_AUDIT.md",
"sha256": "cb0fedecc8006bfdb4aed97eb75dfdbae54e44dee4cf36c9149f8c99246008b8",
"provenance": "historical_audit_not_current_acceptance"
},
{
"path": "docs/plans/original-completion-2026-10-02/decisions.json",
"sha256": "ad0673051b0fa601e525f05128e0b11e2dddd9d4bae6a3e0170bbf47da35efe9",
"provenance": "decision_register"
},
{
"path": "docs/spec/acceptance/P06-01.json",
"sha256": "823db2a3b74f1582b1c23b2273e3b8262f679f4d5e6c18ad93757375df1d19ca",
"provenance": "original_or_task_contract"
},
{
"path": "docs/spec/acceptance/P06-mana-proposal.json",
"sha256": "7bc73267db99c06dba7a897d3d6377919c0572acba1057a894accd0afcf1adc4",
"provenance": "original_or_task_contract"
},
{
"path": "docs/traceability/original/BASELINE.txt",
"sha256": "75e4bdbdeb379c9269553f0c776bdb9cc96e01f2d6aa5ca650d132c63a8aeb1a",
"provenance": "original_or_task_contract"
},
{
"path": "scripts/core/definition_registry.gd",
"sha256": "e2ce5e0512a92fec6989e1bb5f0e7da1dbb50bd9ee67a07b4624fdc8bc65814f",
"provenance": "current_implementation"
},
{
"path": "scripts/core/save_migration_registry.gd",
"sha256": "22ac2cce07a02d1a2a9ac2109e7a0ecf9a0fbe675df4dc9d5249aa9ab3583f98",
"provenance": "current_implementation"
},
{
"path": "scripts/core/save_service.gd",
"sha256": "0c158d3e6ee693b89814bf232c954e4757c5ff91dc9df03bb322c3e593e73617",
"provenance": "current_implementation"
},
{
"path": "scripts/core/simulation_kernel.gd",
"sha256": "341c0c878c4894adbac628d0db6362ff69fc3347bdd9e61e50936e15dc2d1edb",
"provenance": "current_implementation"
},
{
"path": "scripts/data/facility_definition.gd",
"sha256": "e90d56f7eab69c2a75238de465925c1c6df57ee6d44b3b81e7f6fcfd069af0a1",
"provenance": "current_implementation"
},
{
"path": "scripts/mana/mana_network_service.gd",
"sha256": "96f195cf2a28b0966d12cd7c6fab86d13eae97c8342d07d70f52e598fbf49af9",
"provenance": "current_implementation"
},
{
"path": "scripts/mana/mana_power_projection.gd",
"sha256": "2026467960e857349bcb18fb97b7753189be5f2de2be91a17e73e90146eba69e",
"provenance": "current_implementation"
},
{
"path": "scripts/mana/mana_reserve_balance.gd",
"sha256": "cd462c279d37cc297466b64d9cf3fd71870df9508c1ff5f7189e22ddbdbef4b3",
"provenance": "current_implementation"
},
{
"path": "tests/s2/test_mana_reserve_balance.gd",
"sha256": "07fe5f10e665cac3c8aa1b12e0c71878ffccc6d4b409250b317135345e3c8a05",
"provenance": "fixture_not_approved_balance"
}
],
"comparisons": [
{
"model": "recommended",
"scenario": "low",
"period_minutes": 120,
"inputs": {
"demand_per_interval": 2,
"instance_mix": "low: cafeteria x1; normal: cafeteria,kitchen,public_bath,guest_elevator,reception,security_station x1 each; excess: all 37 definitions x1 including definition-only resources"
},
"flows": [
{
"from_minute": 360,
"to_minute": 370,
"before": 100,
"generation": 20,
"demand": 2,
"consumed": 2,
"shortage": 0,
"overflow": 0,
"after": 118,
"global_stop": false
},
{
"from_minute": 370,
"to_minute": 380,
"before": 118,
"generation": 20,
"demand": 2,
"consumed": 2,
"shortage": 0,
"overflow": 0,
"after": 136,
"global_stop": false
},
{
"from_minute": 380,
"to_minute": 390,
"before": 136,
"generation": 20,
"demand": 2,
"consumed": 2,
"shortage": 0,
"overflow": 0,
"after": 154,
"global_stop": false
},
{
"from_minute": 390,
"to_minute": 400,
"before": 154,
"generation": 20,
"demand": 2,
"consumed": 2,
"shortage": 0,
"overflow": 0,
"after": 172,
"global_stop": false
},
{
"from_minute": 400,
"to_minute": 410,
"before": 172,
"generation": 20,
"demand": 2,
"consumed": 2,
"shortage": 0,
"overflow": 0,
"after": 190,
"global_stop": false
},
{
"from_minute": 410,
"to_minute": 420,
"before": 190,
"generation": 20,
"demand": 2,
"consumed": 2,
"shortage": 0,
"overflow": 0,
"after": 208,
"global_stop": false
},
{
"from_minute": 420,
"to_minute": 430,
"before": 208,
"generation": 20,
"demand": 2,
"consumed": 2,
"shortage": 0,
"overflow": 0,
"after": 226,
"global_stop": false
},
{
"from_minute": 430,
"to_minute": 440,
"before": 226,
"generation": 20,
"demand": 2,
"consumed": 2,
"shortage": 0,
"overflow": 0,
"after": 244,
"global_stop": false
},
{
"from_minute": 440,
"to_minute": 450,
"before": 244,
"generation": 20,
"demand": 2,
"consumed": 2,
"shortage": 0,
"overflow": 0,
"after": 262,
"global_stop": false
},
{
"from_minute": 450,
"to_minute": 460,
"before": 262,
"generation": 20,
"demand": 2,
"consumed": 2,
"shortage": 0,
"overflow": 0,
"after": 280,
"global_stop": false
},
{
"from_minute": 460,
"to_minute": 470,
"before": 280,
"generation": 20,
"demand": 2,
"consumed": 2,
"shortage": 0,
"overflow": 0,
"after": 298,
"global_stop": false
},
{
"from_minute": 470,
"to_minute": 480,
"before": 298,
"generation": 20,
"demand": 2,
"consumed": 2,
"shortage": 0,
"overflow": 16,
"after": 300,
"global_stop": false
}
],
"result_amount": 300,
"replay": null
},
{
"model": "recommended",
"scenario": "normal",
"period_minutes": 120,
"inputs": {
"demand_per_interval": 16,
"instance_mix": "low: cafeteria x1; normal: cafeteria,kitchen,public_bath,guest_elevator,reception,security_station x1 each; excess: all 37 definitions x1 including definition-only resources"
},
"flows": [
{
"from_minute": 360,
"to_minute": 370,
"before": 100,
"generation": 20,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 104,
"global_stop": false
},
{
"from_minute": 370,
"to_minute": 380,
"before": 104,
"generation": 20,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 108,
"global_stop": false
},
{
"from_minute": 380,
"to_minute": 390,
"before": 108,
"generation": 20,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 112,
"global_stop": false
},
{
"from_minute": 390,
"to_minute": 400,
"before": 112,
"generation": 20,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 116,
"global_stop": false
},
{
"from_minute": 400,
"to_minute": 410,
"before": 116,
"generation": 20,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 120,
"global_stop": false
},
{
"from_minute": 410,
"to_minute": 420,
"before": 120,
"generation": 20,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 124,
"global_stop": false
},
{
"from_minute": 420,
"to_minute": 430,
"before": 124,
"generation": 20,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 128,
"global_stop": false
},
{
"from_minute": 430,
"to_minute": 440,
"before": 128,
"generation": 20,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 132,
"global_stop": false
},
{
"from_minute": 440,
"to_minute": 450,
"before": 132,
"generation": 20,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 136,
"global_stop": false
},
{
"from_minute": 450,
"to_minute": 460,
"before": 136,
"generation": 20,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 140,
"global_stop": false
},
{
"from_minute": 460,
"to_minute": 470,
"before": 140,
"generation": 20,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 144,
"global_stop": false
},
{
"from_minute": 470,
"to_minute": 480,
"before": 144,
"generation": 20,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 148,
"global_stop": false
}
],
"result_amount": 148,
"replay": null
},
{
"model": "recommended",
"scenario": "excess",
"period_minutes": 120,
"inputs": {
"demand_per_interval": 63,
"instance_mix": "low: cafeteria x1; normal: cafeteria,kitchen,public_bath,guest_elevator,reception,security_station x1 each; excess: all 37 definitions x1 including definition-only resources"
},
"flows": [
{
"from_minute": 360,
"to_minute": 370,
"before": 100,
"generation": 20,
"demand": 63,
"consumed": 63,
"shortage": 0,
"overflow": 0,
"after": 57,
"global_stop": false
},
{
"from_minute": 370,
"to_minute": 380,
"before": 57,
"generation": 20,
"demand": 63,
"consumed": 63,
"shortage": 0,
"overflow": 0,
"after": 14,
"global_stop": false
},
{
"from_minute": 380,
"to_minute": 390,
"before": 14,
"generation": 20,
"demand": 63,
"consumed": 34,
"shortage": 29,
"overflow": 0,
"after": 0,
"global_stop": true
},
{
"from_minute": 390,
"to_minute": 400,
"before": 0,
"generation": 20,
"demand": 63,
"consumed": 20,
"shortage": 43,
"overflow": 0,
"after": 0,
"global_stop": true
},
{
"from_minute": 400,
"to_minute": 410,
"before": 0,
"generation": 20,
"demand": 63,
"consumed": 20,
"shortage": 43,
"overflow": 0,
"after": 0,
"global_stop": true
},
{
"from_minute": 410,
"to_minute": 420,
"before": 0,
"generation": 20,
"demand": 63,
"consumed": 20,
"shortage": 43,
"overflow": 0,
"after": 0,
"global_stop": true
},
{
"from_minute": 420,
"to_minute": 430,
"before": 0,
"generation": 20,
"demand": 63,
"consumed": 20,
"shortage": 43,
"overflow": 0,
"after": 0,
"global_stop": true
},
{
"from_minute": 430,
"to_minute": 440,
"before": 0,
"generation": 20,
"demand": 63,
"consumed": 20,
"shortage": 43,
"overflow": 0,
"after": 0,
"global_stop": true
},
{
"from_minute": 440,
"to_minute": 450,
"before": 0,
"generation": 20,
"demand": 63,
"consumed": 20,
"shortage": 43,
"overflow": 0,
"after": 0,
"global_stop": true
},
{
"from_minute": 450,
"to_minute": 460,
"before": 0,
"generation": 20,
"demand": 63,
"consumed": 20,
"shortage": 43,
"overflow": 0,
"after": 0,
"global_stop": true
},
{
"from_minute": 460,
"to_minute": 470,
"before": 0,
"generation": 20,
"demand": 63,
"consumed": 20,
"shortage": 43,
"overflow": 0,
"after": 0,
"global_stop": true
},
{
"from_minute": 470,
"to_minute": 480,
"before": 0,
"generation": 20,
"demand": 63,
"consumed": 20,
"shortage": 43,
"overflow": 0,
"after": 0,
"global_stop": true
}
],
"result_amount": 0,
"replay": null
},
{
"model": "recommended",
"scenario": "zero",
"period_minutes": 10,
"inputs": {
"demand_per_interval": 16,
"instance_mix": "low: cafeteria x1; normal: cafeteria,kitchen,public_bath,guest_elevator,reception,security_station x1 each; excess: all 37 definitions x1 including definition-only resources"
},
"flows": [
{
"from_minute": 360,
"to_minute": 370,
"before": 0,
"generation": 20,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 4,
"global_stop": false
}
],
"result_amount": 4,
"replay": null
},
{
"model": "recommended",
"scenario": "capacity",
"period_minutes": 10,
"inputs": {
"demand_per_interval": 2,
"instance_mix": "low: cafeteria x1; normal: cafeteria,kitchen,public_bath,guest_elevator,reception,security_station x1 each; excess: all 37 definitions x1 including definition-only resources"
},
"flows": [
{
"from_minute": 360,
"to_minute": 370,
"before": 300,
"generation": 20,
"demand": 2,
"consumed": 2,
"shortage": 0,
"overflow": 18,
"after": 300,
"global_stop": false
}
],
"result_amount": 300,
"replay": null
},
{
"model": "recommended",
"scenario": "loss_and_return",
"period_minutes": 30,
"inputs": {
"demand_per_interval": 16,
"instance_mix": "low: cafeteria x1; normal: cafeteria,kitchen,public_bath,guest_elevator,reception,security_station x1 each; excess: all 37 definitions x1 including definition-only resources"
},
"flows": [
{
"from_minute": 360,
"to_minute": 370,
"before": 100,
"generation": 0,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 84,
"global_stop": false
},
{
"from_minute": 370,
"to_minute": 380,
"before": 84,
"generation": 0,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 68,
"global_stop": false
},
{
"from_minute": 380,
"to_minute": 390,
"before": 68,
"generation": 20,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 72,
"global_stop": false
}
],
"result_amount": 72,
"replay": null
},
{
"model": "recommended",
"scenario": "same_minute_replay",
"period_minutes": 10,
"inputs": {
"demand_per_interval": 16,
"instance_mix": "low: cafeteria x1; normal: cafeteria,kitchen,public_bath,guest_elevator,reception,security_station x1 each; excess: all 37 definitions x1 including definition-only resources"
},
"flows": [
{
"from_minute": 360,
"to_minute": 370,
"before": 100,
"generation": 20,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 104,
"global_stop": false
}
],
"result_amount": 104,
"replay": "same boundary and identical inputs: return stored receipt without changes; conflicting inputs: reject atomically"
},
{
"model": "conservative",
"scenario": "low",
"period_minutes": 120,
"inputs": {
"demand_per_interval": 2,
"instance_mix": "low: cafeteria x1; normal: cafeteria,kitchen,public_bath,guest_elevator,reception,security_station x1 each; excess: all 37 definitions x1 including definition-only resources"
},
"flows": [
{
"from_minute": 360,
"to_minute": 370,
"before": 100,
"generation": 10,
"demand": 2,
"consumed": 2,
"shortage": 0,
"overflow": 0,
"after": 108,
"global_stop": false
},
{
"from_minute": 370,
"to_minute": 380,
"before": 108,
"generation": 10,
"demand": 2,
"consumed": 2,
"shortage": 0,
"overflow": 0,
"after": 116,
"global_stop": false
},
{
"from_minute": 380,
"to_minute": 390,
"before": 116,
"generation": 10,
"demand": 2,
"consumed": 2,
"shortage": 0,
"overflow": 0,
"after": 124,
"global_stop": false
},
{
"from_minute": 390,
"to_minute": 400,
"before": 124,
"generation": 10,
"demand": 2,
"consumed": 2,
"shortage": 0,
"overflow": 0,
"after": 132,
"global_stop": false
},
{
"from_minute": 400,
"to_minute": 410,
"before": 132,
"generation": 10,
"demand": 2,
"consumed": 2,
"shortage": 0,
"overflow": 0,
"after": 140,
"global_stop": false
},
{
"from_minute": 410,
"to_minute": 420,
"before": 140,
"generation": 10,
"demand": 2,
"consumed": 2,
"shortage": 0,
"overflow": 0,
"after": 148,
"global_stop": false
},
{
"from_minute": 420,
"to_minute": 430,
"before": 148,
"generation": 10,
"demand": 2,
"consumed": 2,
"shortage": 0,
"overflow": 0,
"after": 156,
"global_stop": false
},
{
"from_minute": 430,
"to_minute": 440,
"before": 156,
"generation": 10,
"demand": 2,
"consumed": 2,
"shortage": 0,
"overflow": 0,
"after": 164,
"global_stop": false
},
{
"from_minute": 440,
"to_minute": 450,
"before": 164,
"generation": 10,
"demand": 2,
"consumed": 2,
"shortage": 0,
"overflow": 0,
"after": 172,
"global_stop": false
},
{
"from_minute": 450,
"to_minute": 460,
"before": 172,
"generation": 10,
"demand": 2,
"consumed": 2,
"shortage": 0,
"overflow": 0,
"after": 180,
"global_stop": false
},
{
"from_minute": 460,
"to_minute": 470,
"before": 180,
"generation": 10,
"demand": 2,
"consumed": 2,
"shortage": 0,
"overflow": 0,
"after": 188,
"global_stop": false
},
{
"from_minute": 470,
"to_minute": 480,
"before": 188,
"generation": 10,
"demand": 2,
"consumed": 2,
"shortage": 0,
"overflow": 0,
"after": 196,
"global_stop": false
}
],
"result_amount": 196,
"replay": null
},
{
"model": "conservative",
"scenario": "normal",
"period_minutes": 120,
"inputs": {
"demand_per_interval": 16,
"instance_mix": "low: cafeteria x1; normal: cafeteria,kitchen,public_bath,guest_elevator,reception,security_station x1 each; excess: all 37 definitions x1 including definition-only resources"
},
"flows": [
{
"from_minute": 360,
"to_minute": 370,
"before": 100,
"generation": 10,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 94,
"global_stop": false
},
{
"from_minute": 370,
"to_minute": 380,
"before": 94,
"generation": 10,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 88,
"global_stop": false
},
{
"from_minute": 380,
"to_minute": 390,
"before": 88,
"generation": 10,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 82,
"global_stop": false
},
{
"from_minute": 390,
"to_minute": 400,
"before": 82,
"generation": 10,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 76,
"global_stop": false
},
{
"from_minute": 400,
"to_minute": 410,
"before": 76,
"generation": 10,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 70,
"global_stop": false
},
{
"from_minute": 410,
"to_minute": 420,
"before": 70,
"generation": 10,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 64,
"global_stop": false
},
{
"from_minute": 420,
"to_minute": 430,
"before": 64,
"generation": 10,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 58,
"global_stop": false
},
{
"from_minute": 430,
"to_minute": 440,
"before": 58,
"generation": 10,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 52,
"global_stop": false
},
{
"from_minute": 440,
"to_minute": 450,
"before": 52,
"generation": 10,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 46,
"global_stop": false
},
{
"from_minute": 450,
"to_minute": 460,
"before": 46,
"generation": 10,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 40,
"global_stop": false
},
{
"from_minute": 460,
"to_minute": 470,
"before": 40,
"generation": 10,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 34,
"global_stop": false
},
{
"from_minute": 470,
"to_minute": 480,
"before": 34,
"generation": 10,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 28,
"global_stop": false
}
],
"result_amount": 28,
"replay": null
},
{
"model": "conservative",
"scenario": "excess",
"period_minutes": 120,
"inputs": {
"demand_per_interval": 63,
"instance_mix": "low: cafeteria x1; normal: cafeteria,kitchen,public_bath,guest_elevator,reception,security_station x1 each; excess: all 37 definitions x1 including definition-only resources"
},
"flows": [
{
"from_minute": 360,
"to_minute": 370,
"before": 100,
"generation": 10,
"demand": 63,
"consumed": 63,
"shortage": 0,
"overflow": 0,
"after": 47,
"global_stop": false
},
{
"from_minute": 370,
"to_minute": 380,
"before": 47,
"generation": 10,
"demand": 63,
"consumed": 57,
"shortage": 6,
"overflow": 0,
"after": 0,
"global_stop": true
},
{
"from_minute": 380,
"to_minute": 390,
"before": 0,
"generation": 10,
"demand": 63,
"consumed": 10,
"shortage": 53,
"overflow": 0,
"after": 0,
"global_stop": true
},
{
"from_minute": 390,
"to_minute": 400,
"before": 0,
"generation": 10,
"demand": 63,
"consumed": 10,
"shortage": 53,
"overflow": 0,
"after": 0,
"global_stop": true
},
{
"from_minute": 400,
"to_minute": 410,
"before": 0,
"generation": 10,
"demand": 63,
"consumed": 10,
"shortage": 53,
"overflow": 0,
"after": 0,
"global_stop": true
},
{
"from_minute": 410,
"to_minute": 420,
"before": 0,
"generation": 10,
"demand": 63,
"consumed": 10,
"shortage": 53,
"overflow": 0,
"after": 0,
"global_stop": true
},
{
"from_minute": 420,
"to_minute": 430,
"before": 0,
"generation": 10,
"demand": 63,
"consumed": 10,
"shortage": 53,
"overflow": 0,
"after": 0,
"global_stop": true
},
{
"from_minute": 430,
"to_minute": 440,
"before": 0,
"generation": 10,
"demand": 63,
"consumed": 10,
"shortage": 53,
"overflow": 0,
"after": 0,
"global_stop": true
},
{
"from_minute": 440,
"to_minute": 450,
"before": 0,
"generation": 10,
"demand": 63,
"consumed": 10,
"shortage": 53,
"overflow": 0,
"after": 0,
"global_stop": true
},
{
"from_minute": 450,
"to_minute": 460,
"before": 0,
"generation": 10,
"demand": 63,
"consumed": 10,
"shortage": 53,
"overflow": 0,
"after": 0,
"global_stop": true
},
{
"from_minute": 460,
"to_minute": 470,
"before": 0,
"generation": 10,
"demand": 63,
"consumed": 10,
"shortage": 53,
"overflow": 0,
"after": 0,
"global_stop": true
},
{
"from_minute": 470,
"to_minute": 480,
"before": 0,
"generation": 10,
"demand": 63,
"consumed": 10,
"shortage": 53,
"overflow": 0,
"after": 0,
"global_stop": true
}
],
"result_amount": 0,
"replay": null
},
{
"model": "conservative",
"scenario": "zero",
"period_minutes": 10,
"inputs": {
"demand_per_interval": 16,
"instance_mix": "low: cafeteria x1; normal: cafeteria,kitchen,public_bath,guest_elevator,reception,security_station x1 each; excess: all 37 definitions x1 including definition-only resources"
},
"flows": [
{
"from_minute": 360,
"to_minute": 370,
"before": 0,
"generation": 10,
"demand": 16,
"consumed": 10,
"shortage": 6,
"overflow": 0,
"after": 0,
"global_stop": true
}
],
"result_amount": 0,
"replay": null
},
{
"model": "conservative",
"scenario": "capacity",
"period_minutes": 10,
"inputs": {
"demand_per_interval": 2,
"instance_mix": "low: cafeteria x1; normal: cafeteria,kitchen,public_bath,guest_elevator,reception,security_station x1 each; excess: all 37 definitions x1 including definition-only resources"
},
"flows": [
{
"from_minute": 360,
"to_minute": 370,
"before": 200,
"generation": 10,
"demand": 2,
"consumed": 2,
"shortage": 0,
"overflow": 8,
"after": 200,
"global_stop": false
}
],
"result_amount": 200,
"replay": null
},
{
"model": "conservative",
"scenario": "loss_and_return",
"period_minutes": 30,
"inputs": {
"demand_per_interval": 16,
"instance_mix": "low: cafeteria x1; normal: cafeteria,kitchen,public_bath,guest_elevator,reception,security_station x1 each; excess: all 37 definitions x1 including definition-only resources"
},
"flows": [
{
"from_minute": 360,
"to_minute": 370,
"before": 100,
"generation": 0,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 84,
"global_stop": false
},
{
"from_minute": 370,
"to_minute": 380,
"before": 84,
"generation": 0,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 68,
"global_stop": false
},
{
"from_minute": 380,
"to_minute": 390,
"before": 68,
"generation": 10,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 62,
"global_stop": false
}
],
"result_amount": 62,
"replay": null
},
{
"model": "conservative",
"scenario": "same_minute_replay",
"period_minutes": 10,
"inputs": {
"demand_per_interval": 16,
"instance_mix": "low: cafeteria x1; normal: cafeteria,kitchen,public_bath,guest_elevator,reception,security_station x1 each; excess: all 37 definitions x1 including definition-only resources"
},
"flows": [
{
"from_minute": 360,
"to_minute": 370,
"before": 100,
"generation": 10,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 94,
"global_stop": false
}
],
"result_amount": 94,
"replay": "same boundary and identical inputs: return stored receipt without changes; conflicting inputs: reject atomically"
},
{
"model": "generous",
"scenario": "low",
"period_minutes": 120,
"inputs": {
"demand_per_interval": 2,
"instance_mix": "low: cafeteria x1; normal: cafeteria,kitchen,public_bath,guest_elevator,reception,security_station x1 each; excess: all 37 definitions x1 including definition-only resources"
},
"flows": [
{
"from_minute": 360,
"to_minute": 370,
"before": 200,
"generation": 40,
"demand": 2,
"consumed": 2,
"shortage": 0,
"overflow": 0,
"after": 238,
"global_stop": false
},
{
"from_minute": 370,
"to_minute": 380,
"before": 238,
"generation": 40,
"demand": 2,
"consumed": 2,
"shortage": 0,
"overflow": 0,
"after": 276,
"global_stop": false
},
{
"from_minute": 380,
"to_minute": 390,
"before": 276,
"generation": 40,
"demand": 2,
"consumed": 2,
"shortage": 0,
"overflow": 0,
"after": 314,
"global_stop": false
},
{
"from_minute": 390,
"to_minute": 400,
"before": 314,
"generation": 40,
"demand": 2,
"consumed": 2,
"shortage": 0,
"overflow": 0,
"after": 352,
"global_stop": false
},
{
"from_minute": 400,
"to_minute": 410,
"before": 352,
"generation": 40,
"demand": 2,
"consumed": 2,
"shortage": 0,
"overflow": 0,
"after": 390,
"global_stop": false
},
{
"from_minute": 410,
"to_minute": 420,
"before": 390,
"generation": 40,
"demand": 2,
"consumed": 2,
"shortage": 0,
"overflow": 0,
"after": 428,
"global_stop": false
},
{
"from_minute": 420,
"to_minute": 430,
"before": 428,
"generation": 40,
"demand": 2,
"consumed": 2,
"shortage": 0,
"overflow": 0,
"after": 466,
"global_stop": false
},
{
"from_minute": 430,
"to_minute": 440,
"before": 466,
"generation": 40,
"demand": 2,
"consumed": 2,
"shortage": 0,
"overflow": 0,
"after": 504,
"global_stop": false
},
{
"from_minute": 440,
"to_minute": 450,
"before": 504,
"generation": 40,
"demand": 2,
"consumed": 2,
"shortage": 0,
"overflow": 0,
"after": 542,
"global_stop": false
},
{
"from_minute": 450,
"to_minute": 460,
"before": 542,
"generation": 40,
"demand": 2,
"consumed": 2,
"shortage": 0,
"overflow": 0,
"after": 580,
"global_stop": false
},
{
"from_minute": 460,
"to_minute": 470,
"before": 580,
"generation": 40,
"demand": 2,
"consumed": 2,
"shortage": 0,
"overflow": 18,
"after": 600,
"global_stop": false
},
{
"from_minute": 470,
"to_minute": 480,
"before": 600,
"generation": 40,
"demand": 2,
"consumed": 2,
"shortage": 0,
"overflow": 38,
"after": 600,
"global_stop": false
}
],
"result_amount": 600,
"replay": null
},
{
"model": "generous",
"scenario": "normal",
"period_minutes": 120,
"inputs": {
"demand_per_interval": 16,
"instance_mix": "low: cafeteria x1; normal: cafeteria,kitchen,public_bath,guest_elevator,reception,security_station x1 each; excess: all 37 definitions x1 including definition-only resources"
},
"flows": [
{
"from_minute": 360,
"to_minute": 370,
"before": 200,
"generation": 40,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 224,
"global_stop": false
},
{
"from_minute": 370,
"to_minute": 380,
"before": 224,
"generation": 40,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 248,
"global_stop": false
},
{
"from_minute": 380,
"to_minute": 390,
"before": 248,
"generation": 40,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 272,
"global_stop": false
},
{
"from_minute": 390,
"to_minute": 400,
"before": 272,
"generation": 40,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 296,
"global_stop": false
},
{
"from_minute": 400,
"to_minute": 410,
"before": 296,
"generation": 40,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 320,
"global_stop": false
},
{
"from_minute": 410,
"to_minute": 420,
"before": 320,
"generation": 40,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 344,
"global_stop": false
},
{
"from_minute": 420,
"to_minute": 430,
"before": 344,
"generation": 40,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 368,
"global_stop": false
},
{
"from_minute": 430,
"to_minute": 440,
"before": 368,
"generation": 40,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 392,
"global_stop": false
},
{
"from_minute": 440,
"to_minute": 450,
"before": 392,
"generation": 40,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 416,
"global_stop": false
},
{
"from_minute": 450,
"to_minute": 460,
"before": 416,
"generation": 40,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 440,
"global_stop": false
},
{
"from_minute": 460,
"to_minute": 470,
"before": 440,
"generation": 40,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 464,
"global_stop": false
},
{
"from_minute": 470,
"to_minute": 480,
"before": 464,
"generation": 40,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 488,
"global_stop": false
}
],
"result_amount": 488,
"replay": null
},
{
"model": "generous",
"scenario": "excess",
"period_minutes": 120,
"inputs": {
"demand_per_interval": 63,
"instance_mix": "low: cafeteria x1; normal: cafeteria,kitchen,public_bath,guest_elevator,reception,security_station x1 each; excess: all 37 definitions x1 including definition-only resources"
},
"flows": [
{
"from_minute": 360,
"to_minute": 370,
"before": 200,
"generation": 40,
"demand": 63,
"consumed": 63,
"shortage": 0,
"overflow": 0,
"after": 177,
"global_stop": false
},
{
"from_minute": 370,
"to_minute": 380,
"before": 177,
"generation": 40,
"demand": 63,
"consumed": 63,
"shortage": 0,
"overflow": 0,
"after": 154,
"global_stop": false
},
{
"from_minute": 380,
"to_minute": 390,
"before": 154,
"generation": 40,
"demand": 63,
"consumed": 63,
"shortage": 0,
"overflow": 0,
"after": 131,
"global_stop": false
},
{
"from_minute": 390,
"to_minute": 400,
"before": 131,
"generation": 40,
"demand": 63,
"consumed": 63,
"shortage": 0,
"overflow": 0,
"after": 108,
"global_stop": false
},
{
"from_minute": 400,
"to_minute": 410,
"before": 108,
"generation": 40,
"demand": 63,
"consumed": 63,
"shortage": 0,
"overflow": 0,
"after": 85,
"global_stop": false
},
{
"from_minute": 410,
"to_minute": 420,
"before": 85,
"generation": 40,
"demand": 63,
"consumed": 63,
"shortage": 0,
"overflow": 0,
"after": 62,
"global_stop": false
},
{
"from_minute": 420,
"to_minute": 430,
"before": 62,
"generation": 40,
"demand": 63,
"consumed": 63,
"shortage": 0,
"overflow": 0,
"after": 39,
"global_stop": false
},
{
"from_minute": 430,
"to_minute": 440,
"before": 39,
"generation": 40,
"demand": 63,
"consumed": 63,
"shortage": 0,
"overflow": 0,
"after": 16,
"global_stop": false
},
{
"from_minute": 440,
"to_minute": 450,
"before": 16,
"generation": 40,
"demand": 63,
"consumed": 56,
"shortage": 7,
"overflow": 0,
"after": 0,
"global_stop": true
},
{
"from_minute": 450,
"to_minute": 460,
"before": 0,
"generation": 40,
"demand": 63,
"consumed": 40,
"shortage": 23,
"overflow": 0,
"after": 0,
"global_stop": true
},
{
"from_minute": 460,
"to_minute": 470,
"before": 0,
"generation": 40,
"demand": 63,
"consumed": 40,
"shortage": 23,
"overflow": 0,
"after": 0,
"global_stop": true
},
{
"from_minute": 470,
"to_minute": 480,
"before": 0,
"generation": 40,
"demand": 63,
"consumed": 40,
"shortage": 23,
"overflow": 0,
"after": 0,
"global_stop": true
}
],
"result_amount": 0,
"replay": null
},
{
"model": "generous",
"scenario": "zero",
"period_minutes": 10,
"inputs": {
"demand_per_interval": 16,
"instance_mix": "low: cafeteria x1; normal: cafeteria,kitchen,public_bath,guest_elevator,reception,security_station x1 each; excess: all 37 definitions x1 including definition-only resources"
},
"flows": [
{
"from_minute": 360,
"to_minute": 370,
"before": 0,
"generation": 40,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 24,
"global_stop": false
}
],
"result_amount": 24,
"replay": null
},
{
"model": "generous",
"scenario": "capacity",
"period_minutes": 10,
"inputs": {
"demand_per_interval": 2,
"instance_mix": "low: cafeteria x1; normal: cafeteria,kitchen,public_bath,guest_elevator,reception,security_station x1 each; excess: all 37 definitions x1 including definition-only resources"
},
"flows": [
{
"from_minute": 360,
"to_minute": 370,
"before": 600,
"generation": 40,
"demand": 2,
"consumed": 2,
"shortage": 0,
"overflow": 38,
"after": 600,
"global_stop": false
}
],
"result_amount": 600,
"replay": null
},
{
"model": "generous",
"scenario": "loss_and_return",
"period_minutes": 30,
"inputs": {
"demand_per_interval": 16,
"instance_mix": "low: cafeteria x1; normal: cafeteria,kitchen,public_bath,guest_elevator,reception,security_station x1 each; excess: all 37 definitions x1 including definition-only resources"
},
"flows": [
{
"from_minute": 360,
"to_minute": 370,
"before": 200,
"generation": 0,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 184,
"global_stop": false
},
{
"from_minute": 370,
"to_minute": 380,
"before": 184,
"generation": 0,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 168,
"global_stop": false
},
{
"from_minute": 380,
"to_minute": 390,
"before": 168,
"generation": 40,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 192,
"global_stop": false
}
],
"result_amount": 192,
"replay": null
},
{
"model": "generous",
"scenario": "same_minute_replay",
"period_minutes": 10,
"inputs": {
"demand_per_interval": 16,
"instance_mix": "low: cafeteria x1; normal: cafeteria,kitchen,public_bath,guest_elevator,reception,security_station x1 each; excess: all 37 definitions x1 including definition-only resources"
},
"flows": [
{
"from_minute": 360,
"to_minute": 370,
"before": 200,
"generation": 40,
"demand": 16,
"consumed": 16,
"shortage": 0,
"overflow": 0,
"after": 224,
"global_stop": false
}
],
"result_amount": 224,
"replay": "same boundary and identical inputs: return stored receipt without changes; conflicting inputs: reject atomically"
}
],
"formula": {
"available": "B+G+F",
"consumed": "min(B+G+F,D)",
"shortage": "D-consumed",
"overflow": "max(0,B+G+F-consumed-C)",
"after": "min(C,B+G+F-consumed)",
"period": "10 game minutes; 120-minute samples have 12 sequential boundaries; F=0 in comparisons",
"network": "local allocation still independently required; stock is accounted once globally, not summed with network stores"
},
"provenance": {
"original": "BASELINE 9.1 depletion; 10.6 furnace; 6.1/6.5 unique protection; no numerical balance",
"implementation": "GameState stock100; Runtime network source100; maintenance_mana allocation demand every10 game minutes, not reserve debit; reserve helper is caller-driven and not wired into periodic Runtime stock",
"fixture": "test_mana_reserve_balance: initial7/capacity10 at360, generation5/demand8 at370 ->4; purely test inputs",
"candidate": "recommended and alternatives are new unapproved design values; no product writes"
},
"validation": "static source reading and arithmetic only; formal proposal-consistency and independent review reserved for Runner"
}