Three remaining pass-2 findings fixed:
1. sumKnownBucketTotals aggregation precedence (Thufir's explicit ruling).
One unknown report-bearing bucket no longer erases the known subtotal.
Track anyWithValue separately from sawAny; unknown buckets set partial=true
but do not touch sumValue. Return unknown/null ONLY when no report-bearing
bucket contributed any numeric value. Added three new tests: exact+unknown
(preserves exact subtotal, partial=true), approximate+unknown (preserves
approx subtotal, partial=true), all-unknown (returns unknown/null).
2. approx-partial daily bar trailing copy.
trailingText for approx-partial now renders '≈N*' (asterisk suffix)
instead of '≈N', giving sighted users a distinct partial signal beyond
opacity alone. T2 e2e test extended with an incomplete-i/o bucket and
an assertion on '≈1K*' to verify the distinguishable copy.
3. e2e guard surface isolation.
Header and focused-total assertions in the T1b regression guard now
target dedicated testids (agent-usage-header-value and
agent-usage-focused-total-value) so each surface fails independently
rather than passing via a descendant bar's ≈ text. Added testId prop
to UsageStat (optional, threading to the value <p> only), wired from
ApproxTokenStat. Added data-testid='agent-usage-header-value' to the
header value span in AgentUsageSection.
MINOR: fixed stale caveat-gate comment at agent-usage.spec.ts that still
attributed the sentence to hasUnknownUsage=true instead of direct i/o
incompleteness.
Claim reconciliation: the stated 21/21 Playwright count was wrong — the
file defines 17 tests and I ran 17/17. The prior run was against this
file at this head.
Gates: 3571 unit tests pass, tsc --noEmit clean, 17/17 agent-usage
Playwright specs pass under the smoke project.
Co-authored-by: Will Pfleger <pfleger.will@gmail.com>
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>