By: Tom Sydney Kerckhove <syd@cs-syd.eu>
centjes-chart Tier 1: enforce alignment, select by account type, data-driven render Address the review's structural gaps: - Make the days/series alignment a real invariant: ChartReport gets a Validity instance asserting every series has one value per day, an aligned-by- construction GenValid generator, genValidSpec, and a shouldBeInvalid test that proves the check is non-vacuous. - Select accounts by declared AccountType (produceChartReport takes [AccountType]; the assets chart passes [AccountTypeAssets]) instead of a name substring, so 'the assets chart' means assets. - Pick the chart primitive from the data: stacked area only when every value is non-negative, overlaid lines otherwise, so a signed series (e.g. an overdraft) no longer renders a misleading stack. - Test the rendering math: stackBands and lineSeries are exported and property- tested (bands partition each day's total from zero; one point per day).
| Time to Start | Worker time | Duration | Time to finish | Idle | |
| Config | 0s | 2s | 2s | 2s | 0s |
| Eval | 1s | 3m32s | 3m32s | 3m34s | 0s |
| Build | 2m35s | 2m00s | 1m00s | 3m36s | 0s |
| Suite | 0s | 5m35s | 3m36s | 3m36s | 0s |