Opus finding
Worker reports agreedCount: 0 and degraded: false unconditionally on done outcome
- apps/web/lib/review-worker.ts:178-184
The WorkerOutcome.done variant carries `agreedCount` and `degraded` fields, but the worker hard-codes both to 0/false regardless of what processClaimedRow actually produced. The bundle from reviewPR has agreed.length and degraded that should be threaded through. Callers (webhook route, retry-cron, logs) cannot rely on these fields. The 'webhook.worker_outcome' log only emits outcome.kind so this is mostly latent — but the field exists in the public type and tests check kind, not values. Future callers will silently get wrong values.
Recommendation
Plumb bundle.agreed.length and bundle.degraded out of processClaimedRow (return them or capture via closure) and populate the done variant correctly. Also handle the early-return cases (no files, degraded) with correct values.