- TIME injection: change from spaces to '2500' (hour>23) for NUMVAL trigger
- Runner: add .resolve() to work_dir to fix chdir+relative path breakage
- Coverage: per-target field overrides for DP#9-#12 (START-DATE=20240115 etc.)
- .gitignore: add compilation artifacts, temp scripts, test outputs
Bug #1: AND compound branch-body MOVE not propagated (HIGH)
Root cause: ELSE on same line as false_body, rest of line lost after
self.advance(). Fix: reinsert ELSE body text same as ELSE IF does.
Result: MOVE 'Y'/'N' TO WS-FLAG correctly propagated, all 3 paths
verified (A<=10/B<20=F, A>10/B<20=T, A>10/B>=20=F).
Bug #2: Performance — path explosion (25 IFs = 47s, 10000 records)
Root cause: BrSeq inner loop combined all paths before capping.
Fix: early break at _MAX_PATHS in the combo loop.
+ _MAX_PATHS reduced from 10000 to 500.
Result: 47s/10000rec -> 0.2s/27rec (235x improvement)
Bug #3: COPY+REDEFINES parse failure (test-only)
Root cause: test code called parse_data_division on full source
instead of extract_data_division first. Fixed.
Real pipeline (extract_structure -> generate_data) was never affected.
Co-Authored-By: Claude <[email protected]>