Skip to content

Make transport roles and routing fully PDL-derived #38

Description

@Hackatro

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

improvementFor everything that improves an already existing feature.simulation logicFor everything related to the internal simulation logic

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions