Skip to content

feat: deploy zero-cost Static Space demo - #15

Draft
Kuanyu458 wants to merge 3 commits into
codex/public-demofrom
codex/demo-deployment
Draft

feat: deploy zero-cost Static Space demo#15
Kuanyu458 wants to merge 3 commits into
codex/public-demofrom
codex/demo-deployment

Conversation

@Kuanyu458

@Kuanyu458 Kuanyu458 commented Jul 23, 2026

Copy link
Copy Markdown
Owner

Summary

  • publish the zero-compute frontend as a Hugging Face Static Space
  • add a Cloudflare Worker API with Turnstile, SSRF-safe fetching, Durable Object quotas, Gemini structured output, and signed TTS tickets
  • generate an exact one-page PDF and normalize the Podcast to about three minutes in the browser
  • add deployment workflows, privacy/security documentation, health checks, and third-party notices

Quota behavior

  • each network source gets 5 attempts per UTC day instead of 2
  • each network source gets 2 successfully completed Podcasts per day
  • the site allows 20 successful report generations per day
  • fetch, text-model, TTS, or browser MP3 failures release reserved success capacity
  • Podcast success is committed only after the browser validates and encodes the MP3
  • the UI shows remaining attempts, Podcast successes, and the Taipei reset time

Live preview

Verification

  • 36 Python tests passed
  • existing Node Worker tests passed
  • 6 Demo contract tests passed
  • TypeScript check, compileall, shell syntax, plist lint, public-tree check, diff check, and npm audit passed
  • GitHub Actions matrix previously passed on Python 3.10/3.13, Node 20/22, and macOS smoke
  • live browser verified that five attempts replace the old two-request block
  • three text-format failures did not consume Podcast success quota
  • a 118.4/131.0-second TTS processing failure was canceled and did not consume the remaining success quota
  • script length is now calibrated to 1,400-1,500 characters from those live TTS measurements

Remaining live acceptance

The tester IP used all 5 anti-abuse attempts while calibrating Gemini output. The final 1,400-1,500-character MP3 duration check must run after the next UTC reset; the quota was not bypassed or reset.

Rollback

Pause or remove the Static Space and Worker. Existing LINE, D1, R2, Mac runner, 15-minute Podcast, and full report behavior are unchanged.

@Kuanyu458
Kuanyu458 force-pushed the codex/demo-deployment branch from 4782647 to 2cc2e9f Compare July 23, 2026 08:54
@Kuanyu458 Kuanyu458 changed the title docs: add Hugging Face demo deployment feat: deploy zero-cost Static Space demo Jul 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant