fffiloni's picture
Upload 3 files
4d54faa verified
|
Raw
History Blame
13.8 kB
## v47 β€” Simple spec reset
- Reset the custom UI to three top-level tabs only: Build, Runs, and Space Test.
- Removed the run explorer from the Build tab so launching a new build stays focused.
- Made Runs the single place to inspect current and historical runs, progress, events, reports, diagnostics, and artifacts.
- Kept run selection in-place with no automatic tab switch.
- Preserved backend endpoints, run view models, recovery, bucket gating, and Space Test validation.
- Added responsive overrides so the simple layout stays readable on mobile.
## v46 β€” Run tab selection + mobile framing fixes
- Selecting a run no longer forces a navigation switch; it updates the visible run detail panels in place.
- Improved mobile responsive rules to prevent narrow grid columns from rendering words letter-by-letter.
- Added regression tests for run selection navigation and mobile text wrapping safeguards.
## V40 β€” Tabbed product UI and link/progress polish
- Replaced the left sidebar with a compact top tab workflow: **Run new build**, **Live progress**, and **Test Space**.
- Kept the Run Explorer inside the Live progress cockpit, so previous runs are inspectable without confusing the build form.
- Added a visible Logout action in the header.
- Made the Job link more reliable for historical runs by reconstructing it from `job_id` when the stored URL is missing.
- Reworked the live progress timeline to a compact wrapped step grid instead of a scrolling panel.
- Automatically switches to Live progress after launching a build or validation.
- Preserved bucket gating, per-user buckets, OAuth checks, hardware strategy, and validation Jobs.
## V36 - Docker OAuth dependency fix
- Added `huggingface_hub[oauth]>=1.0.0` to the runtime requirements so FastAPI OAuth via `attach_huggingface_oauth(...)` can initialize inside the Docker Space.
- Keeps the V35 Docker/FastAPI custom UI startup model unchanged: one `uvicorn` server, custom UI at `/`, `/custom` alias.
# Changelog
## V35 β€” Docker FastAPI root custom UI startup
- Switches the public product Space to `sdk: docker`.
- Adds a Dockerfile running exactly one uvicorn process: `uvicorn app:app --host 0.0.0.0 --port 7860`.
- Attaches Hugging Face OAuth directly to FastAPI with `attach_huggingface_oauth`.
- Removes the Gradio-mounted debug app from the normal startup path.
- Updates login/logout links to `/oauth/huggingface/login` and `/oauth/huggingface/logout`.
- Keeps the custom dashboard at `/` and `/custom`.
## V34 β€” Space startup fix
- Removed the explicit `uvicorn.run(app, host="0.0.0.0", port=7860)` launcher from `app.py`.
- Kept the custom FastAPI/ASGI `app` object exposed at module level so Spaces can run it without binding port 7860 twice.
- Added a regression test to prevent reintroducing a second server start.
## v32 β€” Mockup-aligned custom dashboard
- Reworked the custom Build page to match the validated dashboard mockup.
- Restored the Run Explorer as a first-class right-side panel on the main Build view.
- Moved live progress into the main cockpit with compact progress metadata and a vertical timeline.
- Added right-rail Run details, quick links, report preview, and β€œHow it works” panels.
- Kept the full Runs page for deeper run inspection while making recent runs visible from the home dashboard.
- Preserved the V31 functional feedback, OAuth, bucket gating, and polling behavior.
# Changelog
## V33 β€” Root custom dashboard
- Serve the custom dashboard directly at `/` and `/custom`.
- Move the legacy Gradio controls behind `/_gradio` for OAuth/debug only.
- Remove the product-facing Gradio iframe/preview experience.
- Keep OAuth-backed API routes and custom dashboard behavior intact.
- Add `uvicorn` as an explicit runtime dependency.
## v31 β€” Functional feedback verification
- Added stronger Custom UI feedback states so bucket checks, build launch, validation launch, and polling always show visible status.
- Added client-side validation for required build fields and JSON validation payloads before launching Jobs.
- Improved API error parsing so browser messages show clean backend errors instead of raw JSON blobs.
- Added backend bucket preflight checks for `/api/build` and `/api/validate` to prevent Jobs from launching against a missing user bucket.
- Added terminal-status handling so polling stops cleanly on `manual_hardware_required`, `technical_blocker`, `full_inference_candidate_health_passed`, and other final states.
- Added last-polled visibility and non-blocking retry feedback for live progress.
## v30 β€” Custom UI robustness cleanup
- Fixed the custom UI flex layout to avoid horizontal overflow on laptop-width screens.
- Removed duplicate auth-panel CSS and cleaned responsive behavior.
- Made the Run Explorer horizontally scrollable on medium screens and card-like on mobile.
- Restyled JSON textareas as monospace code inputs.
- Made the ZeroGPU-first checkbox user-controllable.
- Added build gating: users must check or create their private run bucket before launching a build from the custom UI.
- Removed leftover mockup-only readiness behavior and replaced it with a real bucket status pill.
## v25 β€” Custom UI OAuth bridge
- Wired the `/custom` frontend to real OAuth-backed API endpoints.
- Added custom UI actions for bucket check/create, build launch, validate launch, run progress polling, and run explorer.
- Added `/api/me`, `/api/bucket/status`, `/api/bucket/create`, `/api/build`, `/api/validate`, `/api/runs/{run_id}`, and `/api/runs/{run_id}/progress`.
- Added bucket run listing support for the Run Explorer.
- Kept the Gradio UI as a fallback while the custom frontend is validated.
## v24 β€” Custom UI shell + progress API skeleton
- Added a custom product UI shell served at `/custom` with dedicated HTML/CSS/JS assets.
- Added a live job progress visualization model based on `events.jsonl`.
- Added `/api/app-info`, `/api/progress/from-events`, and a placeholder `/api/runs` endpoint for the upcoming custom frontend auth bridge.
- Added a Custom UI preview tab while preserving the functional Gradio workflows as the source of truth.
- Added tests for the custom shell assets and progress mapping.
## V23 β€” Hardware-at-creation strategy
- Requests Space hardware as early as possible via `create_repo(..., space_hardware=...)`.
- Falls back through ZeroGPU β†’ preferred hardware β†’ fixed GPU fallback before creating a default CPU Space.
- Writes `hardware_strategy.json` alongside `hardware_attempts.json`.
- Stops treating OAuth hardware errors as transient retries; if automatic hardware is not authorized, the run is marked `manual_hardware_required` and the user can validate after manual hardware selection.
## V21 β€” Per-user bucket onboarding
- Added Run storage controls to check or create the signed-in user's private run bucket from the UI.
- Jobs now preflight the per-user bucket before launch and show a clear error if it is missing or inaccessible.
- The app no longer requires users to leave the workflow to manually create `space-factory-runs` before first use.
## v20 β€” Per-user Bucket isolation
- Reverted to the V17 product UI baseline.
- Replaced the hardcoded shared bucket source with a per-user bucket policy.
- Jobs now mount `<signed-in-username>/<bucket-name>` dynamically.
- Refresh/readback and artifacts links now use the signed-in user's bucket.
- Added a Run Bucket name field to Build and Validate workflows.
- Updated docs to require each user to create their own private `space-factory-runs` bucket.
## v28 β€” Custom UI live polish
- Added Run Explorer status filters and a manual refresh action.
- Persisted the active run in browser localStorage so progress resumes after refresh.
- Added a non-blocking polling warning when live progress cannot be refreshed.
- Highlighted the selected run row in the explorer.
## v17-product-button-links
- Replaced custom HTML/Markdown quick links with native Gradio `gr.Button(link=..., link_target="_blank")` controls.
- Quick link buttons are available in both public workflows:
- Build from model card
- Validate existing Space
- Kept the product workflow unchanged: ZeroGPU-first, fixed GPU fallback, manual hardware fallback, and existing-Space validation.
## v16-product-links
- Added quick links after launching jobs:
- open HF Job in a new tab
- open target Space in a new tab
- open Space settings in a new tab
- open run artifacts in the configured Bucket
- Added the same link panel to both Build and Validate workflows.
## v15-product-verified
- Removed legacy phase launchers from product code.
- Kept only the public workflows:
- Build from model card
- Validate existing Space
- Cleaned documentation to match the public-preview product workflow.
- Removed duplicate UI component in the build events tab.
- Rechecked previously observed failure modes:
- Gradio Client auth parameter compatibility
- endpoint discovery instead of hardcoded `/predict`
- generic README metadata sanitation
- ZeroGPU-first with fixed-GPU/manual fallback
- separate validation/smoke-test workflow
## v14-product
- Public product UI without experimental tabs.
- Universal model-card builder and existing-Space validator.
## V22 β€” dependency compatibility and build repair
- Removed the obsolete generated-Space constraint `huggingface_hub<1.0.0`.
- Generated Spaces now normalize Hub requirements to a modern compatible range (`huggingface_hub>=0.34.0,<2.0.0`, or `>=1.5.0,<2.0.0` when Transformers 5.x is detected).
- Added one automatic Pi repair pass when the generated Space fails build/runtime validation.
- The repair pass collects Space build/runtime logs, asks Pi for a minimal patch, reuploads the workspace, and retries validation once.
- Repair artifacts are stored under `runs/<run_id>/repair/` and logs under `logs/pi_repair_output.txt`.
## v27 β€” Custom run actions workflow
- Adds selected-run actions in the custom Run Explorer.
- Adds a manual hardware action panel in live progress.
- Lets users prepare the Validate existing Space form directly from a selected run.
- Keeps the Gradio fallback UI and backend workflow unchanged.
## v26-custom-run-explorer
- Expanded the custom UI Run Explorer from a simple list into a usable run-detail view.
- Added per-run detail rendering for status, model, target Space, hardware, validation result, artifacts, and report preview.
- Enhanced `/api/runs/{run_id}` and `/api/runs/{run_id}/progress` to expose `inference_gate`, `generation_smoke`, `hardware_strategy`, `technical_blockers`, file indexes, and normalized run summaries.
- Added frontend rendering for validation metrics sourced from live progress and smoke-test artifacts.
- Kept the Gradio fallback UI and core backend workflows unchanged.
## v37 β€” Premium simplified custom UI
- Simplified the Custom UI navigation to the two real product workflows: **Run build** and **Test Space**.
- Kept the Run Explorer visible on the build dashboard instead of exposing it as a redundant tab.
- Reworked the dashboard layout to feel closer to the validated premium mockup while reducing confusion.
- Replaced ambiguous timeline dots with explicit step states: completed / active / pending / failed.
- Fixed run artifact links to consistently target the run folder: `runs/<run_id>` inside the connected bucket.
- Reduced persistent banners: success/info messages now auto-clear and the OAuth OK state is reflected in the header instead of a permanent banner.
- Preserved the Docker/FastAPI Custom UI architecture, OAuth flow, per-user buckets, build Jobs, validation Jobs, and live polling.
## V38 β€” Build/run separation and faster Run Explorer
- Added an explicit **Prepare new build** action to separate the fresh build form from selected past runs.
- Added a build mode notice explaining that selecting a run only changes progress/details and never mutates the build form.
- Run Explorer filters and search now operate locally from a cached run list for a much snappier interaction.
- Refresh now explicitly reloads the connected bucket; ordinary filter/search changes no longer re-query the bucket.
- Selecting a run highlights it, switches the detail/progress context, and keeps the build form independent.
## V42 β€” Product tabs and run recovery hardening
- Renamed the custom UI top-level workflow tabs to the intended product model: **New Build**, **Live Progress**, and **Space Test**.
- Kept the build form isolated from selected historical runs; selecting a run only updates Live Progress and details.
- Hardened run discovery from the connected bucket by combining `ls` and targeted `glob` patterns so partial/in-progress runs are recovered more reliably.
- Persisted `launch.json`, `summary.json`, and a minimal `state.json` immediately after a Job launch, so running Jobs appear in the Run Explorer before the worker writes final artifacts.
- Progress polling now falls back to launch metadata when `state.json`/`events.jsonl` are not ready yet.
- Job links are preserved or reconstructed from launch metadata for active and historical runs.
## v43 β€” Canonical run view model + mockup-oriented dashboard
- Added a canonical Run View Model that normalizes heterogeneous worker/bucket statuses into stable product states.
- Added `/api/runs/resumable` and `/api/runs/{run_id}/view` endpoints for bucket-led recovery and UI rendering.
- Enriched `/api/runs/{run_id}/progress` with the new `view` payload while preserving the previous progress contract.
- Reworked the custom UI toward the product mockup: sidebar, run summary header, product pipeline stepper, agent activity feed, diagnostics panel, and Space Test preview.
- Added explicit tests for running, manual hardware, success, stale, and resumable run selection states.