ABS guide draft source notes · setup

Hugging Face Spaces — Quick Deploy for an AI Demo or Agent Backend — source notes

Source notes and claim audit for the ABS Setup guide draft on Hugging Face Spaces — Quick Deploy for an AI Demo or Agent Backend.

Review copy · Updated July 22, 2026

hugging-face-spaces-quick-deploy source notes — v2 fix pass

Draft path: /opt/data/cron-state/abs-guides-drafts/hugging-face-spaces-quick-deploy.md Review URL target: /guides/review/hugging-face-spaces-quick-deploy/ Sources checked: current Hugging Face overview, pricing, SDK, configuration, storage, embedding, and forum pages Drafter: MiniMax M3 (2026-07-22) Independent reviewer: MiniMax M3 in a separate fresh context (2026-07-22) Fix pass: Hermes subagent (2026-07-22)

Priority-fix evidence

1. Account-plan and visibility gating

  • Spaces Overview states that Static Spaces are free for everyone. Creating Gradio or Docker compute Spaces requires PRO for personal accounts or Team/Enterprise for organizations, except that free personal accounts in good standing may host up to two Gradio ZeroGPU Spaces.
  • Spaces Overview lists CPU Basic as 2 vCPU, 16 GB RAM, 50 GB ephemeral disk, and no hourly cost. This is a hardware price, not free-plan eligibility.
  • The same page explicitly gates protected visibility to PRO/Team/Enterprise. It does not state that private visibility requires PRO. Private apps return 404 to users without access, so anonymous curl is not a valid private-Space smoke test.
  • Pricing lists PRO at $9/month and CPU Basic hardware at $0/hour, confirming that the two prices describe different layers.

Verdict: prior claims that a free account/no credit card sufficed for CPU Basic compute creation, and that private visibility required PRO, were wrong. Corrected throughout the draft. The unchanged “Before you start” section still contains the old free-tier/no-credit-card statements because the task explicitly prohibited changing that section; this residual conflict is recorded for the parent.

2. Persistence, lifecycle, secrets, and embedding

  • Disk usage on Spaces says default disk is ephemeral and Storage Buckets can be attached as volumes at a path the user specifies. Attachment is available during Space creation, through Space Settings, or through huggingface_hub; volumes can be read-write or read-only.
  • Storage Buckets describes buckets as mutable, non-versioned S3-like object storage. Deletions are immediate and permanent.
  • Spaces Configuration Reference contains no storage_bucket: key. Legacy suggested_storage is ignored.
  • Spaces Overview says each push rebuilds and restarts, but does not promise last-known-good rollback after a failed deploy.
  • Overview/Docker docs support runtime environment-variable injection for secrets. They do not support the removed absolutes “encrypted at rest,” “never logged,” or “logs are public.”
  • Embed your Space documents a plain iframe URL for public/protected Spaces; it does not require generic ?embed=true behavior.

Verdict: removed invented storage_bucket: metadata, mandatory /data, rollback guarantee, unsupported secret/log assertions, and generic embed-query claim.

3. Common failures

  • Spaces Configuration Reference documents startup_duration_timeout, default 30 minutes.
  • Docker Spaces documents Docker’s default app_port: 7860 and the requirement that the app and exposed port align.
  • The prior forum citations did not prove the precise causes assigned to them. Thread 63685 did not prove a port mismatch; 78367 concerned runtime DNS rather than a build-stage prohibition; 161180 did not establish torch/large ADD as the cause; 70822 was an unresolved report.

Verdict: every failure row now either relies on official configuration/runtime facts or says the condition may be transient and directs readers to their exact logs. Removed “Cloudflare 520 is common.” The current forum category is /c/spaces/24.

4. Setup contract

  • Added explicit ## Install and ## Configure sections.
  • Retained a six-row command map with one job and one observable success state per row.
  • Replaced the Gradio-only build prompt with a branch-aware prompt covering Gradio, Docker+Streamlit, and generic Docker.
  • Verification remains callout-exempt.

5. Length and focus

  • Gradio is now the single fast path.
  • Docker is a compact alternative; legacy direct Streamlit is no longer presented as a co-equal creation path.
  • Removed repeated port prose, speculative diagnoses, redundant implementation details, and unsupported recommendations.
  • Image frontmatter was deliberately left unchanged under the hard constraint not to change the image path. The source-notes filename mismatch from v1 is therefore superseded rather than “fixed” in frontmatter.

Corrected claim audit

ClaimEvidenceVerdict
Static Spaces are free; Gradio/Docker compute creation is plan-gated, with a narrow free ZeroGPU exception.Spaces Overview; PricingPASS
CPU Basic has no hourly charge but is not itself proof of free-account eligibility.Spaces Overview; PricingPASS
Protected visibility is plan-gated; private visibility is not documented as PRO-only.Spaces OverviewPASS
Current SDKs are Gradio, Docker, and static; new Streamlit deployments should use Docker.Spaces Overview; Streamlit docsPASS
Docker defaults to app_port: 7860 and runs as UID 1000.Docker docs; Config ReferencePASS
A pushed commit triggers rebuild/restart; rollback continuity is not guaranteed by cited docs.Spaces OverviewPASS
Runtime secrets are environment variables; secret values cannot be reread in Settings.Spaces Overview; Docker docsPASS
Storage Buckets attach as volumes at a chosen path through creation UI, Settings, or API.Spaces storage; Storage BucketsPASS
No accepted README storage_bucket: field exists.Config ReferencePASS
Public/protected embeds use the documented iframe URL; private apps are not anonymously reachable.Embed docs; Spaces OverviewPASS
Public/protected smoke test should expect a 2xx without requiring HTTP/2 or HEAD.Visibility/embed contract; conservative HTTP checkPASS
Failure causes must come from exact logs; DNS/queue issues may be transient.Official config/runtime facts; reviewer correctionPASS

Accuracy verdict

Accuracy grade after fix pass: B+/A- pending parent verification. The five blocking classes identified by the independent review have been addressed in the editable article body and this audit. The only known residual contradiction is inside the immutable “Before you start” section, which the task explicitly prohibited editing.

Model and review provenance

Drafted by MiniMax M3 in a fresh subagent context on 2026-07-22. Independently reviewed by MiniMax M3 in a separate fresh context on 2026-07-22 with a NEEDS_FIXES verdict. A dedicated fix-pass subagent applied all five priority fixes. No build, deployment, or additional review subagent was run, per task constraints.