Spaces:
Running
Running
| """ | |
| scenario.py — Deterministic demo scenario. | |
| Same run every time. Seeds all RNG. | |
| Produces the 90-second ArbitrAgent demo. | |
| """ | |
| import random | |
| random.seed(42) | |
| from simulation.seller_profiles import get_profile, TRADE_TARGETS | |
| from simulation.seller_sim import CraigslistSellerSim | |
| def get_scenario(): | |
| """ | |
| Returns the standard demo scenario. | |
| Buy layer: 3 sellers (Motivated, Bluffer=camera, Ghoster) | |
| Trade layer: 4 trade targets | |
| Everything seeded for deterministic replay. | |
| """ | |
| sellers = [ | |
| CraigslistSellerSim(get_profile("seller_motivated_001")), | |
| CraigslistSellerSim(get_profile("seller_bluffer_camera")), | |
| CraigslistSellerSim(get_profile("seller_ghoster_001")), | |
| ] | |
| trade_targets = TRADE_TARGETS | |
| return sellers, trade_targets | |
| def get_extended_scenario(): | |
| """ | |
| Extended demo scenario: | |
| - 5 sellers including the two additional profiles: | |
| * seller_aggressive_001 (bluffer, vintage watch) | |
| * seller_trader_001 (trade-curious, mountain bike) | |
| - Uses the same trade targets; the demo loop controls turn count. | |
| """ | |
| sellers = [ | |
| CraigslistSellerSim(get_profile("seller_motivated_001")), | |
| CraigslistSellerSim(get_profile("seller_bluffer_camera")), | |
| CraigslistSellerSim(get_profile("seller_ghoster_001")), | |
| CraigslistSellerSim(get_profile("seller_aggressive_001")), | |
| CraigslistSellerSim(get_profile("seller_trader_001")), | |
| ] | |
| trade_targets = TRADE_TARGETS | |
| return sellers, trade_targets | |