Upload 6 files
Browse files- CHANGELOG.md +58 -16
- README.md +18 -9
- pyproject.toml +4 -0
CHANGELOG.md
CHANGED
|
@@ -1,23 +1,65 @@
|
|
| 1 |
-
#
|
| 2 |
|
| 3 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4 |
|
| 5 |
-
|
| 6 |
|
| 7 |
-
|
|
|
|
|
|
|
|
|
|
| 8 |
|
| 9 |
-
|
| 10 |
-
- `/health` validation is correctly reflected in inference gate records.
|
| 11 |
-
- Generation smoke tests are schema-aware and can use `INFERENCE_CONTRACT.json` smoke payloads.
|
| 12 |
-
- Smoke-test failures are classified by owner/type, including validator request errors vs generated app runtime errors.
|
| 13 |
-
- Anonymous eval records include explicit verdict, outcome, and validation fields.
|
| 14 |
-
- Backend eval archive publication is observable via `eval_publish_status.json`.
|
| 15 |
-
- Active Run UI better reflects post-run states, recovery, fallback hardware, latency, documents, and eval archive status.
|
| 16 |
-
- Space log collection is more robust, with SDK/REST fallbacks and structured diagnostics.
|
| 17 |
-
- Runtime versioning is centralized in `src/version.py`.
|
| 18 |
|
| 19 |
-
|
|
|
|
|
|
|
| 20 |
|
| 21 |
-
|
| 22 |
|
| 23 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# v189.5 β Timeline State Hotfix
|
| 2 |
|
| 3 |
+
- Derives canonical phase status from the latest status per worker step, not any historical event.
|
| 4 |
+
- Prevents terminal runs from leaving early phases visually `running` because of older `started` events.
|
| 5 |
+
- Prevents resolved Space log collection warnings from over-marking Deploy when final log quality is full.
|
| 6 |
+
- Refines terminal active-phase selection so full-success runs focus Live test/Archive/Done while non-blocking warnings stay grouped separately.
|
| 7 |
+
- Keeps the validated worker/runtime path unchanged.
|
| 8 |
|
| 9 |
+
# v189.4 β Mobile Timeline Polish
|
| 10 |
|
| 11 |
+
- Adds an Active Run phase details panel for the canonical `run_timeline_model.v1`.
|
| 12 |
+
- Uses a mobile-first vertical canonical timeline on narrow screens.
|
| 13 |
+
- Shows compact phase details and Needs attention summaries without changing the validated runtime worker path.
|
| 14 |
+
- Keeps legacy timeline fallback behavior for older runs without `timeline_model`.
|
| 15 |
|
| 16 |
+
# v189.2 β Canonical Timeline UI bridge
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 17 |
|
| 18 |
+
- Active Run now uses `run_timeline_model.v1` for the progress header and main timeline whenever the backend view model provides it.
|
| 19 |
+
- The legacy compact worker timeline remains as a fallback for old or partial payloads.
|
| 20 |
+
- Timeline phases now represent product-level phases instead of re-inferred worker step groups, reducing conflicting progress states.
|
| 21 |
|
| 22 |
+
# v184 β Compact Model Pre-scan Card
|
| 23 |
|
| 24 |
+
- Refined the default Model pre-scan card to be more visible without adding heavy borders.
|
| 25 |
+
- Reworked successful model pre-scan results into a compact premium summary with metadata icon chips, inline signal pills, and a single recommendation line.
|
| 26 |
+
- Reduced the visual footprint of safe scans while preserving pipeline, library, expected output, good signals, and recommendations.
|
| 27 |
+
|
| 28 |
+
# v176 β startup import fix for eval archive build
|
| 29 |
+
|
| 30 |
+
- Fixed a syntax error in `src/bucket.py` caused by nested quotes inside the launch summary `artifacts_url` f-string.
|
| 31 |
+
- Verified that the app imports/compiles cleanly again and that the full test suite passes.
|
| 32 |
+
|
| 33 |
+
# v174 β Bucket run-prefix mount and robust worker bootstrap writes
|
| 34 |
+
|
| 35 |
+
- Mounted the `runs/` Storage Bucket prefix explicitly into Jobs using `Volume(type="bucket", source=..., path="runs", mount_path="/output/runs")`.
|
| 36 |
+
- Preserved the worker contract: `OUTPUT_ROOT=/output`, `run_dir=/output/runs/<run_id>`, and remote objects under `runs/<run_id>/`.
|
| 37 |
+
- Hardened API-side `_worker.py` persistence with `HfFileSystem.write_text`, `pipe_file`, `open(..., "wb")`, and a final `sync_bucket` fallback.
|
| 38 |
+
- Removed virtual-directory creation for Bucket prefixes and kept deletion/listing/document links aligned with the configurable run prefix.
|
| 39 |
+
- Raised the minimum `huggingface_hub` requirement to `>=1.11.0`.
|
| 40 |
+
|
| 41 |
+
# v173 β Bucket path separation fix
|
| 42 |
+
|
| 43 |
+
- Reverts the v172 API-side `makedirs` workaround for fresh run prefixes.
|
| 44 |
+
- Keeps a strict distinction between remote bucket object URIs (`hf://buckets/<namespace>/<bucket>/runs/<run_id>/...`) and Job mount paths (`/output/runs/<run_id>/...`).
|
| 45 |
+
- Writes API-side bucket objects directly with `HfFileSystem.pipe_file(...)`, with `open(..., "w")` as a compatibility fallback.
|
| 46 |
+
- Adds tests to prevent treating virtual `runs/` prefixes as directories/repositories.
|
| 47 |
+
|
| 48 |
+
# v172 β fresh bucket writes and pre-scan polish
|
| 49 |
+
|
| 50 |
+
- Keeps Hugging Face Space metadata at the very top of `README.md` so the app archive cannot boot with a configuration error.
|
| 51 |
+
- Makes fresh Bucket run-prefix writes more robust by creating parent prefixes before writing `_worker.py`, `launch.json`, `summary.json`, `state.json`, and other API-authored artifacts.
|
| 52 |
+
- Restyles the Model pre-scan card into a calmer premium status panel with compact metadata chips and less oversized success treatment.
|
| 53 |
+
|
| 54 |
+
# v171 β delete Space option, ghost-run cleanup, storage polish
|
| 55 |
+
|
| 56 |
+
- Added an opt-in checkbox in the premium delete modal to delete the associated generated Space for build runs.
|
| 57 |
+
- Kept validation runs protected from accidental associated Space deletion.
|
| 58 |
+
- Made ghost/unknown run prefixes deletable from Run Explorer.
|
| 59 |
+
- Compacted the Run Storage setup error card.
|
| 60 |
+
- Preserved the v170 real recursive bucket deletion behavior.
|
| 61 |
+
|
| 62 |
+
# v120 β Agent recovery UI
|
| 63 |
+
|
| 64 |
+
- Added the Agent recovery section to summarize Pi recovery decisions, blockers, evidence, and repair/revalidation status.
|
| 65 |
+
- Kept detailed source files in Run traces instead of duplicating raw recovery logs in the summary card.
|
README.md
CHANGED
|
@@ -13,16 +13,16 @@ hf_oauth_scopes:
|
|
| 13 |
- read-billing
|
| 14 |
---
|
| 15 |
|
| 16 |
-
##
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 17 |
|
| 18 |
-
- Finalizes the v188 sequence after the live `universal-20260606-181620-5f6004b8` diagnostic run.
|
| 19 |
-
- Treats health-only/full-inference-candidate outcomes as partial validation rather than full success.
|
| 20 |
-
- Uses schema-aware and contract-aware generation smoke tests so required Gradio arguments such as `negative_prompt` are supplied.
|
| 21 |
-
- Enriches anonymous eval records with explicit `verdict`, `outcome`, `validation`, `failure_owner`, and `failure_reason` fields.
|
| 22 |
-
- Separates run-local `eval_record.json` creation from backend publication to the operator eval archive via `eval_publish_status.json`.
|
| 23 |
-
- Polishes Active Run post-run UI for partial validation, recovery, documents, hardware fallback and terminal actions.
|
| 24 |
-
- Centralizes the default app/eval version in `src/version.py` so Job env and eval records no longer drift across releases.
|
| 25 |
-
- Consolidates Space build/runtime log collection with `logs/space_logs_index.json`, runtime snapshots and explicit unavailable states.
|
| 26 |
|
| 27 |
## v181 β Backend-published private eval archive
|
| 28 |
|
|
@@ -348,3 +348,12 @@ Run deletion now supports an explicit opt-in option to delete the associated gen
|
|
| 348 |
## v187 note
|
| 349 |
|
| 350 |
Signed-out users can see the public eval archive status for this ASF instance, while management actions remain restricted to the instance owner/admins.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 13 |
- read-billing
|
| 14 |
---
|
| 15 |
|
| 16 |
+
## v189.5 β Timeline state hotfix
|
| 17 |
+
|
| 18 |
+
- Adds `run_timeline_model.v1`, a canonical projection of run artifacts/events into product phases.
|
| 19 |
+
- Separates process completion from final verdict so a completed run can be success, partial, failed, blocked, or manual-action-required.
|
| 20 |
+
- Defines stable phases for Start, Model, Agent, Hardware, Deploy, Live test, Recovery, Archive, and Done.
|
| 21 |
+
- Preserves validated v188.9 runtime behavior while preparing the UI for a cleaner timeline/progress redesign.
|
| 22 |
+
- Keeps the global Eval archive storage panel separate from the per-run Eval archive publication panel.
|
| 23 |
+
- v189.4 adds Mobile timeline polish: a compact active phase detail panel, vertical canonical timeline on narrow screens, and readable Needs attention summaries.
|
| 24 |
+
- v189.5 hardens the canonical timeline state model so old `started`/`warning` events cannot keep terminal runs visually running or over-warning resolved phases.
|
| 25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 26 |
|
| 27 |
## v181 β Backend-published private eval archive
|
| 28 |
|
|
|
|
| 348 |
## v187 note
|
| 349 |
|
| 350 |
Signed-out users can see the public eval archive status for this ASF instance, while management actions remain restricted to the instance owner/admins.
|
| 351 |
+
|
| 352 |
+
## v189.4 notes
|
| 353 |
+
|
| 354 |
+
The run view model now exposes `timeline_model`, which summarizes progress, verdict, phase status, and non-blocking warnings without replacing the existing UI yet. Eval archive sidebar restoration from v188.9 remains carried forward.
|
| 355 |
+
|
| 356 |
+
|
| 357 |
+
### v189.4 Semantic progress bar
|
| 358 |
+
|
| 359 |
+
The Active Run progress header now separates pipeline completion from product verdict. A run can be 100% complete while still being partial, failed, or requiring manual action.
|
pyproject.toml
CHANGED
|
@@ -9,3 +9,7 @@ dependencies = [
|
|
| 9 |
"pydantic>=2.0.0",
|
| 10 |
"python-dateutil>=2.9.0",
|
| 11 |
]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 9 |
"pydantic>=2.0.0",
|
| 10 |
"python-dateutil>=2.9.0",
|
| 11 |
]
|
| 12 |
+
|
| 13 |
+
[tool.pytest.ini_options]
|
| 14 |
+
pythonpath = ["."]
|
| 15 |
+
testpaths = ["tests"]
|