fix(objective parser): use_float=True in ijson + default=str in json.dumps #321

Merged
lekss361 merged 1 commit from fix/obj-decimal-json-serialization into main 2026-05-17 19:11:26 +00:00

1 commit

Author SHA1 Message Date
lekss361
ecbdcf35fb fix(objective parser): use_float=True in ijson + default=str in json.dumps
ijson по умолчанию (use_float=False) возвращает все numeric values
как Decimal. _row_to_lot строит raw_props через json.dumps(row, ...)
— stdlib json не сериализует Decimal → TypeError → inner try/except
swallows exception → run завершается status=done, lots=0.

Двойной fix:
1. ijson.items(stream, "result.item", use_float=True) в обоих
   parse_lots_pf_stream — все numerics приходят как float (укладывается
   в float64 precision для финансовых сумм / площадей).
2. json.dumps(..., default=str) в обоих _row_to_lot и
   _row_to_corp_room_month — defense in depth для любых exotic типов.

Glitchtip BACKEND-1L (release d1b721a, firstSeen 18:58:48Z) — silent
fail после успешного streaming в PR #318 fixup.
2026-05-17 22:07:40 +03:00