Audit round 2: aspect measured the case too; defensive image decode; own-key state reset
4. aspect_profile had the same root cause as edges/centering but no guard. On the cased photo it reported 5.8% off standard -- the CASE's proportions -- and the UI would surface that as a trimming hint about a card it never measured. This one is more directly load-bearing than the other two, since the measurement IS the detected box. Now refuses, with both consumers (prompt block and UI hint) checking reliable. 5. _decode_images could KeyError/raise out of a plain read on a malformed row, and separately b64decode returns b'' rather than raising on some corrupt input -- which would have fed a zero-byte 'photo' into grading to fail confusingly deep in the pipeline. Both now degrade to the existing re-pick path. 6. _last_used_own_key is instance state on a handler that serves every request on a keep-alive connection, so it outlives the request that set it. Currently safe (every logging path assigns first), but a future path that logged without reaching the assignment would bill the previous request's payer. Cleared up-front now. Full regression suite re-run: die-cut exclusion, uniform cards, centering, aspect, cased-photo refusals, and the store layer all still behave.
This commit is contained in:
parent
6c612c1f4a
commit
0cbeb26665
5 changed files with 39 additions and 4 deletions
|
|
@ -157,7 +157,8 @@ function renderGradeBlock(g, opts = {}) {
|
|||
// would just be clutter, not information. Shown against its best-matching
|
||||
// standard; which standard is actually relevant is a judgment call the
|
||||
// model made with the photo in hand, not something this line re-derives.
|
||||
const am = g.aspect_measurement || null;
|
||||
const am = (g.aspect_measurement && g.aspect_measurement.reliable !== false)
|
||||
? g.aspect_measurement : null;
|
||||
const bestDev = am && am.against_standards && am.best_match
|
||||
? am.against_standards[am.best_match].deviation_percent : null;
|
||||
const aspectLine = (bestDev !== null && bestDev >= 3)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue