Overview
The PatchPhase step now produces data using Polars LazyFrames, but the HarmonisePhase step still uses the legacy implementation and cannot process this new output. To keep the pipeline consistent and efficient, the HarmonisePhase phase must be updated to use the Polars version. This will keep existing behaviour while modernising the underlying process.
Tech Approach
- Update digital_land/phase/HarmonisePhase.py so it delegates to the Polars HarmonisePhase implementation.
- Implement the full HarmonisePhase logic inside digital_land/phase_polars/transform/HarmonisePhase.py.
- Convert existing HarmonisePhase rules into Polars lazy transformations.
- Ensure the HarmonisePhase phase accepts the LazyFrame produced by the new HarmonisePhase step.
- Keep the same public interface so no downstream code needs changing.
Acceptance Criteria/Tests
Resourcing & Dependencies
Depends on PatchPhase, no external teams.
Overview
The PatchPhase step now produces data using Polars LazyFrames, but the HarmonisePhase step still uses the legacy implementation and cannot process this new output. To keep the pipeline consistent and efficient, the HarmonisePhase phase must be updated to use the Polars version. This will keep existing behaviour while modernising the underlying process.
Tech Approach
Acceptance Criteria/Tests
Resourcing & Dependencies
Depends on PatchPhase, no external teams.