@gadfly review
(First review — the original one died on the docker.gitea.com CI outage, now resolved. This is the admin Settings + runtime model-swap PR; see the description for the notes-for-r…
@gadfly review
(Re-requesting after the CI infra recovery — earlier runs died on a docker.gitea.com outage. Current head has the degenerate-rect 400, the named fillRect type, and the two…
@gadfly review
(Re-requesting after the CI infra recovery — earlier runs died on a docker.gitea.com outage. Current head has the plantId-boundary and negative-remaining coverage plus the…
@gadfly review
(CI infra recovered — the earlier review runs died on a docker.gitea.com outage, not anything in the diff. Re-requesting on the current head, which adds the per-frame-refresh…
@gadfly review
The sharp one — "the test can't catch a regression to a set-once deadline" — was right, and it's now covered.
The old test ran entirely within ~900ms, far under the 30s…
@gadfly review
Findings addressed:
- Degenerate rect (zero-area or inverted, including an empty
"rect": {}that decodes to all-zeros) is now a 400 instead of silently planting one plop…
@gadfly review
Findings addressed:
- plantId out-of-range branch now covered (0, -1 → 400), not just non-numeric.
- Negative-remaining case added: over-planting a lot (57 against 50…
@gadfly review
Both findings taken, and the security one was a genuine catch — I'd traded one unbounded failure for another.
Clearing the deadline entirely removes the backstop. Correct.…