Writing for the decider requires archive charts to point readers at the dates they describe. The entry-size chart currently places month labels evenly across the plot instead of at each month's actual day position. On a year-to-date series, the final month label can appear at the far right even when that month has only begun, so a reader can associate a spike with the wrong month.
Evidence
apps/web/src/features/journal/ui/entry-size-plot.tsx positions daily marks with xAt(index, points.length) but renders visibleMonths(points) in a justify-between flex row. Those two coordinate systems diverge whenever the series is partial or month lengths differ.
Suggested verification
Render full-year and year-to-date series. Compare each label's center with the x-coordinate of that month's first point. Check desktop and narrow widths, then add a focused regression test.
Found during the review-fix pass for PR #44. The finding is deferred as polish because it does not block journal navigation or writing.
Writing for the decider requires archive charts to point readers at the dates they describe. The entry-size chart currently places month labels evenly across the plot instead of at each month's actual day position. On a year-to-date series, the final month label can appear at the far right even when that month has only begun, so a reader can associate a spike with the wrong month.
Evidence
apps/web/src/features/journal/ui/entry-size-plot.tsxpositions daily marks withxAt(index, points.length)but rendersvisibleMonths(points)in ajustify-betweenflex row. Those two coordinate systems diverge whenever the series is partial or month lengths differ.Suggested verification
Render full-year and year-to-date series. Compare each label's center with the x-coordinate of that month's first point. Check desktop and narrow widths, then add a focused regression test.
Found during the review-fix pass for PR #44. The finding is deferred as polish because it does not block journal navigation or writing.