src.dackar.RCA.pm_compliance.schedule_loader¶
PMScheduleLoader — load PM schedule / task rows for an asset scope.
Classes¶
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]])
- load_from_export_rows(rows, window_start=None)[source]¶
Filter and return rows for this asset scope.
- Parameters:
rows (Optional[Sequence[src.dackar.RCA.pm_compliance.types.JsonDict]])
window_start (Optional[str])
- Return type:
- 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 fallbacktask_code) orcheck_typeare 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:
rows (Optional[Sequence[src.dackar.RCA.pm_compliance.types.JsonDict]])
window_start (Optional[str])
- Return type:
tuple[List[src.dackar.RCA.pm_compliance.types.JsonDict], List[str]]