fffiloni commited on
Commit
9c2f2d3
Β·
verified Β·
1 Parent(s): d1592ef

Upload 6 files

Browse files
Files changed (3) hide show
  1. CHANGELOG.md +58 -16
  2. README.md +18 -9
  3. pyproject.toml +4 -0
CHANGELOG.md CHANGED
@@ -1,23 +1,65 @@
1
- # Changelog
2
 
3
- ## v188.8 β€” deploy-clean release
 
 
 
 
4
 
5
- This deployable package consolidates the v188.1 β†’ v188.8 fixes into a clean runtime archive.
6
 
7
- ### Highlights
 
 
 
8
 
9
- - Partial validation states no longer render as full success.
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
- ### Sanitization notes
 
 
20
 
21
- The deploy-clean archive removes development-only tests, old version-specific changelog files, Python caches, and temporary files.
22
 
23
- Operational/debug assets are preserved, including `worker/hello_worker.py`.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
- ## v188.8 β€” Space logs collection consolidation
 
 
 
 
 
 
 
 
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"]