Customization #177 verification
Implementation: https://github.com/RayDataCo/scribble-works/pull/184 Merged revision: c40036d8ad1a2671ccf1626532e070cbac58a4f8
Runtime and accounting
The pre-fix real workerd boundary failed with Invalid redirect value before outbound dispatch; Node accepted the option. Manual redirect mode plus explicit 3xx rejection passed. Runtime tests also exercise timeout reservation retention; handler tests cover HTTP failure, unsuccessful settlement, preserved good output and one attempt per submission. All 33 local preflight gates and both PR CI jobs passed.
Historical reservations 46541168-02a3-4282-ac87-e0c573a5f009 and e5dce2b0-61ef-4ad2-b889-1976635d359f remain fully held, 123,923 micros in total, with null settlement times. Their outcome is reviewed_hold_177. No historical provider charge or refund is inferred.
The one controlled real words smoke used the audit's synthetic description, "A nine-year-old who enjoys space mysteries and decoding secret messages." It returned HTTP 200 in 5,807ms, passed the real validator, and settled attempt 82181642-cfc0-4c9c-b862-c7999e20b0a4 at 10,260 micros. No image request.
Local browser fixture
390×844, final built assets, real application client, stubbed server responses; no model calls.
- HTTP 503 retained the description, Nova and English in the dialog.
- The recovery text was visible: "Customization couldn’t finish. Your details are still here. Try again later."
- Download original PDF was visible with a 44px target; click produced a browser download event and kept the dialog open.
- Manual retry with retained details displayed the customized iframe and Print Nova's page.
- Customize again successfully reloaded and applied another fixture answer.
- No JavaScript errors were reported after these checks.
- Visually reviewed screenshot: local-error-mobile.png.
Production release and signed-in checks are recorded below after completion.
Production verified
Website release https://github.com/RayDataCo/scribble-works/actions/runs/34663326501 succeeded. Cloudflare production deployment a2e86ceb-08af-45a6-ab98-3988c53460f0 reports merged revision c40036d8ad1a2671ccf1626532e070cbac58a4f8.
Signed in as the authorized account, the exact synthetic Crack the Code request with nickname Nova completed. The iframe displayed Nova, revised transmission instructions and an astronaut tip; the result offered Print Nova's page and honestly reported the unchanged artwork. Inspected live-success.png.
Production metadata (no prompts or identity in logs):
{"endpoint":"generation","attempt":"a96e3d86-bf2a-44b6-bf2b-f17700e8ad0f","status":200,"ms":4336,"outcome":"reported"}
{"endpoint":"customize","attempt":"a96e3d86-bf2a-44b6-bf2b-f17700e8ad0f","status":200,"ms":5953,"code":null}
The same ledger row reserved 61,815 micros and settled at 10,350 micros. Current committed total is 1,332,193 micros; remaining allowance 17,667,807; only the two historical reviewed holds remain unresolved. Total paid qualification for #177: two successful words calls, 20,610 micros ($0.02061), no image calls.
Safe production failure: changed the nickname to Nova123, which the client rejected before generation. The description, invalid name and English selection remained in the open dialog alongside Download original PDF. Clicking the link emitted a live PDF download event and preserved the dialog. Inspected live-safe-failure-desktop.png. This was a safe validation failure; the HTTP 503 and provider/settlement faults were exercised by fixtures, not deliberately induced in production. Restored Nova in the form, closed it, and left the successful customized page available.