Spaces:
Sleeping
Sleeping
File size: 1,521 Bytes
bf0a450 da27912 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | """
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
|