Skip to content

Add Batch Aggregate Integration to WorkshopCoordinator #280

Description

@jhw-db

Summary

Integrate batch aggregate for WorkshopCoordinator transport operations to complete batch aggregate integration across all coordinators and prepare for future rake management.

Problem

WorkshopCoordinator currently uses manual coupling/decoupling time calculations without batch aggregate integration, making it inconsistent with CollectionCoordinator and ParkingCoordinator.

Solution

Implement batch aggregate integration for both inbound (Retrofit → Workshop) and outbound (Workshop → Retrofitted) transport with MVP coupling strategy.

Implementation Details

MVP Coupling Strategy (Approach C - Pre-Dissolved)

  • Retrofit Track: Wagons treated as decoupled (MVP simplification)
  • Before Transport: Couple wagons into rake: (n-1) × coupling_time
  • Transport: Batch aggregate for validation and tracking
  • Workshop: Manual coupling/decoupling for bay operations

Changes

  1. Retrofit Track Coupling: Add coupling time before transport to workshop
  2. Inbound Batch Aggregate: Create with SCREW couplers
  3. Outbound Batch Aggregate: Create with DAC couplers (after retrofit)
  4. New Methods:
    • _transport_to_workshop_with_batch()
    • _transport_from_workshop_with_batch()
  5. Fallback: Old methods if batch aggregate creation fails

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions