v0.2.4: DataCanvas spill fixes
DataCanvas spill fixes
Spill eligibility is serialized payload size rather than row count, and staged tables keep their column types and both cadences.
Fixed:
- Wide results under 500 rows now spill —
exceedsInlineBudget()replaces theINLINE_LIMIT = 500gate and measures records against the samePREVIEW_CHARSbudget passed tospillover()aspreviewChars. (#23) - Spilled numeric columns keep their type through a leading all-null run —
spillover()now receives an explicit schema fromderiveSpillSchema()derived over every staged row instead of sniffing its own preview buffer. (#21) - Daily-only columns survive a mixed hourly + daily spill, unioned into the one staged table under the existing
table_namecontract. (#22)
Changed:
canvas_idandtruncateddescriptions no longer claim a ~500-record threshold — corrected in the three spill-capable tools,README.md, anddocs/design.md.
Dependency bumps:
ignore^7.0.5 → ^7.0.6
156 tests pass; bun run devcheck clean.