Why: cache tokens were parsed but never accumulated, the usage event carried only cumulative totals and was skipped on terminal paths (audit N20 residual), and stream retry was host-opt-in so subagents, the verifier, and squad runs were never retried. Evidence: GOWORK=off go vet + go test -count=1 ./... green; TestUsageEventSplitsLastAndCache (event carries Last*/cache), TestUsageAccumulatesCacheTokens, TestBudgetStopEmitsTerminalUsage, TestDefaultRetryAttemptsTwo (0 value = 2 retries with auto_retry_start events), TestNegativeRetryAttemptsDisables (negative = off), TestRetryNeverDuplicatesForwardedDeltas (the only-before-first-delta invariant holds under the library default). Impact: usage events now carry Last* and cache fields and are emitted on budget/error terminal paths too; Config.RetryAttempts defaults to 2 (negative disables) so every host gets the existing retry semantics without wrapping; default (unset) host wrappers should be retired to avoid double retries. Refs: Agent-System-Documents#43 (N3 plan WP6), audit N20