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