fix(live): betalningsspärr i pilot + tydligt OCR-fel #453

Merged
admin merged 1 commits from fix/live-honesty-and-billing-guard into main 2026-11-02 19:14:58 +00:00
Owner

Två live-defekter åtgärdade:

  1. Betalning i pilotläge: checkout svarar nu 503 CREDITS_DISABLED när OPT_CREDITS_MODE=off, så en kund aldrig kan betala för credits som pipelinen inte förbrukar. Paketlistan exponerar purchases_enabled och portalen döljer Köp-knappen samt visar att betalning inte är aktiv.
  2. Skannad PDF: dokument utan textlager (verifierat live: parse_failed) gav ett generiskt INVALID_REQUEST; nu 422 DOCUMENT_NOT_PARSED med tydligt OCR-besked.

Verifierat live: text-PDF (faktura.pdf) → parsed → 5 fält med evidens; skannad PDF → parse_failed → tydligt nej. Full svit 1343 passed, build grön.

Två live-defekter åtgärdade: 1. **Betalning i pilotläge**: checkout svarar nu `503 CREDITS_DISABLED` när `OPT_CREDITS_MODE=off`, så en kund aldrig kan betala för credits som pipelinen inte förbrukar. Paketlistan exponerar `purchases_enabled` och portalen döljer Köp-knappen samt visar att betalning inte är aktiv. 2. **Skannad PDF**: dokument utan textlager (verifierat live: `parse_failed`) gav ett generiskt `INVALID_REQUEST`; nu `422 DOCUMENT_NOT_PARSED` med tydligt OCR-besked. Verifierat live: text-PDF (`faktura.pdf`) → `parsed` → 5 fält med evidens; skannad PDF → `parse_failed` → tydligt nej. Full svit 1343 passed, build grön.
admin added 1 commit 2026-11-02 19:14:14 +00:00
fix(live): refuse billing in pilot mode and explain unparsed documents
CI (SIAX Cloud) / sonar (pull_request) Skipped
masterplan-lock / check (pull_request) Successful in 3s
masterplan-lock / check (push) Successful in 14s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 18s
CI (SIAX Cloud) / security (pull_request) Successful in 23s
CI (SIAX Cloud) / quality (pull_request) Successful in 54s
CI (SIAX Cloud) / integration (pull_request) Successful in 1m2s
a0dd6b7653
- Checkout returns 503 CREDITS_DISABLED while OPT_CREDITS_MODE=off, so a
  customer can never pay for credits that the pipeline will not consume.
- Packs expose purchases_enabled; the portal hides Buy and says billing is off.
- Structuring an unparsed document (e.g. a scanned PDF with no text layer) now
  answers 422 DOCUMENT_NOT_PARSED instead of a generic INVALID_REQUEST.
CODEOWNERS rules requested review from sax3l 2026-11-02 19:14:14 +00:00
admin scheduled this pull request to auto merge when all checks succeed 2026-11-02 19:14:57 +00:00
admin merged commit 24f4a407c8 into main 2026-11-02 19:14:58 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: admin/0pt#453