From 3d05459a2db47ec137a31cb60202adfb76e06243 Mon Sep 17 00:00:00 2001 From: "s0wlz (Matthias Puchstein)" Date: Tue, 3 Feb 2026 23:09:44 +0100 Subject: [PATCH] conductor(plan): Mark task 'Refactor _run' as complete --- .../fix_memory_subprocess_20260203/plan.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 conductor/tracks/fix_memory_subprocess_20260203/plan.md diff --git a/conductor/tracks/fix_memory_subprocess_20260203/plan.md b/conductor/tracks/fix_memory_subprocess_20260203/plan.md new file mode 100644 index 0000000..24be4ce --- /dev/null +++ b/conductor/tracks/fix_memory_subprocess_20260203/plan.md @@ -0,0 +1,17 @@ +# Implementation Plan - Fix Critical Memory & Subprocess Issues + +## Phase 1: Fix Subprocess Handling in buildings.py +- [x] Task: Refactor `_run` in `geodata_pipeline/buildings.py` (358e093) + - [ ] Update `_run` to remove unsafe splitting of arguments. + - [ ] Ensure all callers pass lists of strings correctly. + +## Phase 2: Fix Memory Leak in buildings.py +- [ ] Task: Implement windowed reading for ground snapping + - [ ] Calculate `srcwin` (xoff, yoff, xsize, ysize) based on tile bounds and VRT geotransform. + - [ ] Update `ReadAsArray` to use the calculated window. + - [ ] Handle edge cases (partial overlap). + +## Phase 3: Optimize Heightmap Export (Optional) +- [ ] Task: Use in-memory warp in `geodata_pipeline/heightmaps.py` + - [ ] Replace temporary file output in `gdal.Warp` with `MEM` driver. + - [ ] Pass the in-memory dataset to the next processing step.