Found by Raincloud triage round 3 (#205) on two datasets the Rust oracle reads fine. ScanIterator.buildChunks enforces "mixed per-column chunking beyond 1-vs-N is not supported":
VortexException: scan: column 'PM2.5' has 4 flats but the widest column has 10; ...
at ScanIterator.buildChunks(ScanIterator.java:144)
Two severity tiers, same guard:
- Nested boundaries —
emotions-dataset-for-nlp (416,961 rows): label has 4 chunks [131072 ×3, 23593], text has 26 chunks (25×16384 + 7209); 8×16384 = 131072, so every coarse boundary is also a fine boundary. A boundary-nesting generalization of the 1-vs-N rule (slice the coarse column at the fine grid) fixes this tier.
- Disjoint grids —
uci-beijing-multi-site-air-quality (420,768 rows): numeric columns chunk [131072 ×3, 27552] while station chunks [40960, 49152, 49152, 49152, 49152, 40960, 49152, 49152, 40960, 2976]; 40960+49152+49152 = 139264 ≠ 131072 — boundaries do not nest. This tier needs true chunk realignment/splicing during scan (emit chunks at the merged boundary grid, slicing every column to each window).
Worth checking how the Rust scan planner merges per-column chunk grids before designing the fix. Matrix entries: both datasets pinned as gaps referencing this issue.
Found by Raincloud triage round 3 (#205) on two datasets the Rust oracle reads fine.
ScanIterator.buildChunksenforces "mixed per-column chunking beyond 1-vs-N is not supported":Two severity tiers, same guard:
emotions-dataset-for-nlp(416,961 rows):labelhas 4 chunks[131072 ×3, 23593],texthas 26 chunks(25×16384 + 7209); 8×16384 = 131072, so every coarse boundary is also a fine boundary. A boundary-nesting generalization of the 1-vs-N rule (slice the coarse column at the fine grid) fixes this tier.uci-beijing-multi-site-air-quality(420,768 rows): numeric columns chunk[131072 ×3, 27552]whilestationchunks[40960, 49152, 49152, 49152, 49152, 40960, 49152, 49152, 40960, 2976]; 40960+49152+49152 = 139264 ≠ 131072 — boundaries do not nest. This tier needs true chunk realignment/splicing during scan (emit chunks at the merged boundary grid, slicing every column to each window).Worth checking how the Rust scan planner merges per-column chunk grids before designing the fix. Matrix entries: both datasets pinned as gaps referencing this issue.