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.
- It unblocks only when pipeline-core ships its own DataFrame retirement (register C-40; pipeline-core epic #186/#207, issues #161/#159/#211).
- 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)
Dependencies / gate
Blocked on pipeline-core C-40 (#186/#207/#161/#159/#211). Independent of S1–S6.
Files
views_postprocessing/unfao/managers/unfao.py (_read_historical_data, _append_metadata, _validate).
Epic: #85 · S7 ·
[CROSS-REPO-GATED]·blocked· gate: pipeline-core C-40 · DO NOT MOVE YETBackground
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'sPostprocessorManagerbase, whose_read/_transform/_validatecontract is defined in terms ofPGMDataset(pandas with object-dtype cells).Why this is tracked but NOT actioned now
Work (eventual, post-gate)
read_dataframe/PGMDatasetwith frame-native loaders; convert_append_metadata/_validatepandas ops to numpy/frame operations.Acceptance criteria (eventual)
PGMDataset;_append_metadata/_validateare pandas-free.Dependencies / gate
Blocked on pipeline-core C-40 (#186/#207/#161/#159/#211). Independent of S1–S6.
Files
views_postprocessing/unfao/managers/unfao.py(_read_historical_data,_append_metadata,_validate).