41b86bcc80515725c70bfd5372f1a579b3a99dbd
Nathan: the members axis should be whole numbers, since it counts people. It was drawing fractional ticks (19.17 people) because the 1.08 headroom factor fed straight into the label math. Ticks now come from a step, with the axis top set to step x 4, so labels land on round numbers: - counts (members, requests): whole numbers, rounded up to a half power of ten (requests read 3,000, not 2,888). Never below 1, so a near-empty series still gets an integer axis rather than fractions. - money: the 1/2/5 x 10^k rule, so ticks read $10.00 rather than $4.92. Rendered now: members 0 | 20 | 40 | 60 | 80; requests 0 | 3,000 | 6,000 | 9,000 | 12,000; spend $0.00 | $10.00 | $20.00 | $30.00 | $40.00. The node harness gained assertions for this, checked geometrically (tick values ascend while their screen positions descend, the zero tick sits lowest, ticks are evenly spaced) rather than assuming a text order, so a fractional people-axis or a misplaced label fails before a deploy.
Languages
Python
99.5%
Dockerfile
0.5%