Context
Follow-up to #33.
#33 completed the primary producer consolidation:
- BRA/ARG/USA producers now use one shared producer archetype;
- regional producers and originators are derived from the PDL roster;
- producer input bindings include PDL and sidecar dependencies;
- Rotterdam sourcing is origin-aware;
- map placements are roster-derived;
- the day-45 drought regression confirms that Rotterdam admits US supply while
Brazil and Argentina contribute exactly zero;
- the full test suite passes: 27/27.
The remaining work concerns transport identity and topology assumptions, not
producer behavior. It was intentionally kept out of #33 so that the already
verified behavioral changes would not be mixed with a larger structural
refactor.
Problem
The runtime still assumes several place-named model lists and roles, including
Brazilian, Argentinian, US, and Rotterdam-specific transport identities.
Examples include:
_peer_list() selecting peers through place-named role comparisons;
- eight place-named land-transport and sea-lane roles;
- generic agent behavior depending on those role names;
- sea-lane materialization relying on a literal transitional set;
- remaining direct accesses to place-named model lists;
Environment.step() unconditionally accessing sea_lane_arg.
Goal
Make transport and peer resolution depend on the PDL-derived roster and
topology rather than place-named Python roles or fixed model-list attributes.
Adding or removing an origin in the PDL should not require editing Python
routing code.
Context
Follow-up to #33.
#33 completed the primary producer consolidation:
Brazil and Argentina contribute exactly zero;
The remaining work concerns transport identity and topology assumptions, not
producer behavior. It was intentionally kept out of #33 so that the already
verified behavioral changes would not be mixed with a larger structural
refactor.
Problem
The runtime still assumes several place-named model lists and roles, including
Brazilian, Argentinian, US, and Rotterdam-specific transport identities.
Examples include:
_peer_list()selecting peers through place-named role comparisons;Environment.step()unconditionally accessingsea_lane_arg.Goal
Make transport and peer resolution depend on the PDL-derived roster and
topology rather than place-named Python roles or fixed model-list attributes.
Adding or removing an origin in the PDL should not require editing Python
routing code.