| spec_version: 1 | |
| name: ShopManagerEng | |
| type: space | |
| runtime: fastapi | |
| app: server.app:app | |
| port: 8000 | |
| tasks: | |
| - id: market_timing | |
| name: "Market Price Analyst" | |
| description: > | |
| Long-horizon Phase 1: get gold (troy oz) at a reasonable cost using live or synthetic | |
| market quotes, coordinate with optional inventory-urgent signals, then proceed to | |
| craft and sell. May require multiple market steps in real mode (no hard round cap); | |
| synthetic mode supports classic round-budget runs. | |
| grader: | |
| type: reward_threshold | |
| threshold: 0.3 | |
| - id: demand_crafter | |
| name: "Demand-Based Crafter (Inventory)" | |
| description: > | |
| Phase 2: use demand and demand_forecast, gold stock, and costs to pick which product | |
| to craft. Products: ring (1oz + $200), necklace (2oz + $300), bracelet (0.5oz + $100). | |
| FIFO (SQLite) pricing applies in real + DB mode for true metal cost. | |
| grader: | |
| type: reward_threshold | |
| threshold: 0.2 | |
| - id: profit_negotiator | |
| name: "Profit Maximizer" | |
| description: > | |
| Complete the full pipeline: buy gold at a good price, craft the | |
| best product based on demand, and negotiate with the customer. | |
| Counter-offer to drive up the price before accepting. | |
| grader: | |
| type: reward_threshold | |
| threshold: 0.25 | |