You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Epic:#85 · S7 · [CROSS-REPO-GATED] · blocked · gate: pipeline-core C-40 · DO NOT MOVE YET
Background
The historical inbound is forced pandas: read_dataframe → PGMDataset (unfao.py:58-64), plus the pandas ops in _append_metadata (.reset_index/.set_index/.join, :142-149) and _validate (.isnull().sum(), :165,177). These are inherited from pipeline-core's PostprocessorManager base, whose _read/_transform/_validate contract is defined in terms of PGMDataset (pandas with object-dtype cells).
Why this is tracked but NOT actioned now
It is forced, not own-choice. Moving it unilaterally would fork the inherited base-class contract and maximally disturb cross-repo interconnectivity — the opposite of the strategy.
Samples live on the forecast frame, not the historical frame — so S7 never blocks the sample work. This story exists to record the gate and the eventual change, not to be done in this epic.
Work (eventual, post-gate)
Replace read_dataframe/PGMDataset with frame-native loaders; convert _append_metadata/_validate pandas ops to numpy/frame operations.
Acceptance criteria (eventual)
Historical path holds a frame, not a PGMDataset; _append_metadata/_validate are pandas-free.
Delivered by #126 / PR #129 (2026-07-27) — closing as superseded-and-shipped. The historical inbound is frame-native: _read_historical_data dispatches on declared_data_format, fetches a views_frames.FeatureFrame via pipeline-core's get_feature_frame (this repo is that path's first production consumer — the C-40 gate this issue waited on has lifted), clips frame-natively, and builds the artifact pandas-free with reader-level parity proven against a legacy characterization golden. read_dataframe/PGMDataset remain only on the legacy-descriptor branch, which retires with the legacy forecast path post-run-0.
Activity
docs(risk-register): cross-link C-40 to the pandas-migration epic (#85)
Polichinel commentedon Jul 27, 2026
Delivered by #126 / PR #129 (2026-07-27) — closing as superseded-and-shipped. The historical inbound is frame-native:
_read_historical_datadispatches ondeclared_data_format, fetches aviews_frames.FeatureFramevia pipeline-core'sget_feature_frame(this repo is that path's first production consumer — the C-40 gate this issue waited on has lifted), clips frame-natively, and builds the artifact pandas-free with reader-level parity proven against a legacy characterization golden.read_dataframe/PGMDatasetremain only on the legacy-descriptor branch, which retires with the legacy forecast path post-run-0.🤖 Generated with Claude Code