Five things the stack merged with nobody having read it - #37
Conversation
Eleven PRs landed on main and ten of them were never reviewed — CodeRabbit skips a non-default base branch and every manual retrigger came back rate limited. These are what reading the diffs afterwards turned up. - The listing row printed a hard-coded measured dot beside the provenance chip that says declared, so one count was described two ways in the same breath. Game.razor was fixed for exactly this and the listing pointing at it was not. - badge.json set its five-minute Cache-Control after WriteJsonAsync had already started the response, so the header was dropped and the route shipped the API's default minute. The lifetime is now passed into the write rather than assigned after it, and the SVG route goes through the same helper instead of hand-rolling Prepare/NotModified. Only the SVG route was asserted on, which is why nothing caught it; both are tested now. - ResignAsync was inserted between RevokeAsync's doc comment and RevokeAsync, leaving revocation undocumented and attaching "never called because a beacon went missing" to the wrong method — the one piece of doc that stops someone wiring revocation to beacon loss. - MsspLint parsed counts in the current culture and accepted negatives, so "1,024" was a pass or a fault depending on the host and "-3" read as a well-formed answer. A scorecard that disagrees with itself across machines is worse than one that is strict. - The opt-out table in the spec had its Request row stranded below the paragraph that ended the table, so the rendered spec silently dropped one of the three routes it documents. 1010 tests across five suites, Postgres exercised. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 17 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (9)
Comment |
Eleven PRs landed on
mainthis session and ten of them were never reviewed: CodeRabbit skips a base branch that is not the default, and every manual@coderabbitai reviewretrigger came back rate-limited. These are the defects reading the diffs afterwards turned up. All five were already onmainbefore this branch.Games.razorstate-present ●beside a◇ declaredchip — one count described two ways at oncebadge.jsonkeeps its 5 minutesBadgeEndpoints.cs,ApiResponse.csCache-Controlassigned afterWriteJsonAsyncstarted the response, so it was dropped and the route shipped the API defaultmax-age=60RevokeAsyncgets its doc backClaimService.csResignAsyncwas inserted between the comment and the method, attaching "never called because a beacon went missing" to the wrong oneMsspLint.csint.TryParse—1,024passed or failed depending on the host,-3read as well-formedRequestrow sat below the paragraph that ended the table, so the rendered spec dropped one of the three routes it documentsTwo of these are behavioural and are covered by new tests; the badge one is a good illustration of why it survived review-by-CI —
ABadgeIsCacheableAndRevalidatesassertedmax-age=300on the SVG route only, and the JSON route beside it was never looked at. Both are asserted now.The SVG route also stopped hand-rolling
Prepare/NotModified/write and goes throughApiResponse.WriteAsynclike everything else, which drops a triplicatedETag.Of(body).Verification
Not in this PR
Found in the same audit, left alone because each is its own change:
NpgsqlPresenceRollupStore's only production consumer isPresenceMaintenance, which writes it; the heatmap, activity band and rankings all stillSELECT … FROM presence_sample. Until a reader lands,PresenceRetentionOptions.AsDesignedbuys nothing on any surface.AboutIdentity.ContactConfiguredis false on the built-inInfoUrl, so the about page tells operators to write to somebody and names nobody.WHO-format override.🤖 Generated with Claude Code