src.dackar.RCA.pm_compliance.schedule_loader

PMScheduleLoader — load PM schedule / task rows for an asset scope.

Classes

PMScheduleLoader

Loads PM task definitions for asset_id and optional component_ids.

Module Contents

class src.dackar.RCA.pm_compliance.schedule_loader.PMScheduleLoader(asset_id, component_ids=None)[source]

Loads PM task definitions for asset_id and optional component_ids.

Phase 1: accepts pre-parsed export rows (CSV / JSON / adapter). Real-time CMMS API integration is Phase 2 — see PM_Compliance_Module_Architecture.md §6.

Parameters:
  • asset_id (str)

  • component_ids (Optional[Sequence[str]])

_asset_id[source]
_component_ids[source]
load_from_export_rows(rows, window_start=None)[source]

Filter and return rows for this asset scope.

Parameters:
Return type:

List[src.dackar.RCA.pm_compliance.types.JsonDict]

load_from_export_rows_with_notes(rows, window_start=None)[source]

Filter rows for scope and return (rows, data_quality_notes).

Rows missing check_id (or fallback task_code) or check_type are dropped to avoid ambiguous downstream governance interpretation.

When window_start (ISO-8601) is given, rows whose most-recent activity date (completed_date / last_pm_date / scheduled_date / next_due_date) falls strictly before it are dropped as out-of-window (MR#56 review I2). Rows with no parseable date are kept — an undated task is typically a never-run / overdue candidate that still belongs in scope.

Parameters:
Return type:

tuple[List[src.dackar.RCA.pm_compliance.types.JsonDict], List[str]]