v1.0.15
Code-review fixes (Pixfaro layer)
Independent review (Codex + agent) — all findings resolved:
- Reuse one PixfaroClient — the wrappers built a fresh client per call, so the 6h LRU cache never hit and every
illustrate/refinere-billed. Now a shared client persists the cache + HTTP session. - Credential-keyed — the shared client rebuilds if
PIXFARO_TOKENchanges at runtime (no billing the old account / serving its cached images). - Robust retry —
PixfaroError.status_codedrives retry classification instead of substring-matching the error body. - requests.Session — connection reuse across retries.
- Cost-guard flag — results carry
premium: truewhen a premium-priced model was used.
No API/behavior change for callers. Verified live (cache-hit confirmed) + codex review clean.