Context
Already discussed: the simulation should follow the PDL completely instead of inventing population sizes and wholesaler behaviour the PDL does not contain.
Do not implement on #33. #33 is a byte-for-byte identity refactor. This issue changes volumes and wholesaler economics. Start after #33 is merged (or after Minu explicitly unfreezes behaviour).
Vault write-up (for other agents): Projects/Work/OFFIS-PROVIDER/Tasks/pdl-literal-counts-passthrough-wholesaler.md
This reverses #33 spec §4.3 ("wholesalers are real actors") for this follow-up only. #33 itself still lands the current wholesaler until that gate is done.
Decision 1 — count = PDL entities, default 1
Today one PDL entity (brazil_farms) is instantiated as 10 Farmer agents (n_brazil_farms=10; ARG=5, US=8). That count is not in the PDL.
- One PDL entity → one agent, unless the PDL lists more of the same agent.
- No count field → 1.
- Total volume will drop (Brazil ~10×). Accepted.
size_sigma becomes inert at n=1. Do not add a sidecar count: as a permanent substitute.
Decision 2 — wholesaler is a passthrough (Brazil split stays)
- Wholesaler = middleman that passes volume through to its sea lane(s).
- Argentina / US: one wholesaler → one outbound lane.
- Brazil exception: one wholesaler, two ports (Santos + Paranaguá). Keep a share split (
share_{port} / equal-split fallback).
Likely files
scenario.py + both CSVs — stop using invented n_{eid} population columns
topology.py count_attr / build_roster
agents/trader.py — passthrough; Brazil split only
agents/farmer.py — size_sigma unused at n=1
- Re-baseline cascades; report volume/price deltas (not byte-for-byte)
Out of scope
Context
Already discussed: the simulation should follow the PDL completely instead of inventing population sizes and wholesaler behaviour the PDL does not contain.
Do not implement on #33. #33 is a byte-for-byte identity refactor. This issue changes volumes and wholesaler economics. Start after #33 is merged (or after Minu explicitly unfreezes behaviour).
Vault write-up (for other agents):
Projects/Work/OFFIS-PROVIDER/Tasks/pdl-literal-counts-passthrough-wholesaler.mdThis reverses #33 spec §4.3 ("wholesalers are real actors") for this follow-up only. #33 itself still lands the current wholesaler until that gate is done.
Decision 1 — count = PDL entities, default 1
Today one PDL entity (
brazil_farms) is instantiated as 10 Farmer agents (n_brazil_farms=10; ARG=5, US=8). That count is not in the PDL.size_sigmabecomes inert at n=1. Do not add a sidecarcount:as a permanent substitute.Decision 2 — wholesaler is a passthrough (Brazil split stays)
share_{port}/ equal-split fallback).Likely files
scenario.py+ both CSVs — stop using inventedn_{eid}population columnstopology.pycount_attr/build_rosteragents/trader.py— passthrough; Brazil split onlyagents/farmer.py— size_sigma unused at n=1Out of scope
count:field without partner agreement