Bundled Nice-to-have findings from the post-merge review of #43 (usage read module). Each item is non-blocking; ship at your convenience.
internal/usage/usage.go:24-33 — Space struct keeps both UsedWebspace (the sum) and the four sub-buckets without a doc note that the sum equals the buckets. Add a one-liner so future readers don't double-count.
internal/usage/usage.go:55-65 — Traffic.Day == 0 is overloaded (summary row vs. literal day-zero, the latter never occurs). Add a (t Traffic) IsSummary() bool helper to make caller intent explicit.
internal/cli/usage.go:80-84 — --year / --month accept any int; out-of-range values are only rejected by KAS after a roundtrip. Pre-validate month ∈ 1..12 and a plausible year range for faster feedback.
Bundled Nice-to-have findings from the post-merge review of #43 (usage read module). Each item is non-blocking; ship at your convenience.
internal/usage/usage.go:24-33—Spacestruct keeps bothUsedWebspace(the sum) and the four sub-buckets without a doc note that the sum equals the buckets. Add a one-liner so future readers don't double-count.internal/usage/usage.go:55-65—Traffic.Day == 0is overloaded (summary row vs. literal day-zero, the latter never occurs). Add a(t Traffic) IsSummary() boolhelper to make caller intent explicit.internal/cli/usage.go:80-84—--year/--monthaccept any int; out-of-range values are only rejected by KAS after a roundtrip. Pre-validatemonth ∈ 1..12and a plausible year range for faster feedback.