File size: 16,479 Bytes
e9fb2a1
6797597
e9fb2a1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6797597
 
 
 
 
 
 
 
 
 
 
 
 
 
 
e9fb2a1
6797597
e9fb2a1
6797597
 
 
 
 
 
 
 
 
 
 
 
 
0fc372a
 
 
 
 
 
 
 
8f7c928
0a28266
 
 
 
 
 
1f0aec1
 
 
 
 
 
7f8bb3a
bfb6ff1
 
 
 
 
 
 
 
 
7f8bb3a
4c76f67
 
 
 
 
 
7f8bb3a
4c76f67
 
 
 
 
 
 
0a604e3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5e4a1ad
 
 
 
 
 
 
 
 
 
 
 
 
 
0b70faf
 
 
 
 
 
 
 
 
 
8c2bff8
9c2f2d3
 
 
 
 
8c2bff8
9c2f2d3
4745dd6
9c2f2d3
 
 
 
4745dd6
9c2f2d3
46421be
9c2f2d3
 
 
46421be
9c2f2d3
46421be
9c2f2d3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
# v190.19 β€” Eval archive effective outcomes + owner flush

- Eval records now preserve automatic outcome and add effective outcome metadata for linked Space Test validations.
- Backend archive publishing enriches records with linked validation summaries, endpoint discovery metrics, smoke retry metrics and stricter privacy flags without storing prompts, args, target Space IDs or generated code.
- Eval publish statuses now use schema v1.3 and republish when a parent Build Run gains new effective validation state.
- Instance owners / configured eval admins can flush archived eval records from the mounted eval bucket while preserving archive configuration.

# v190.19 β€” Build completion matrix + endpoint discovery-first Space Test

- Added canonical `space_test_policy` for replay/complete/recover/blocked/unavailable Build Run states.
- Linked Space Test can now discover Gradio endpoints before validation when a Build Run has no known endpoint schema.
- Space Test UI consumes policy labels/messages and shows discovery-first validation state.
- Runs Explorer/Stats can surface recoverable and needs-validation states without treating Space Test as standalone.

## v190.19 β€” Linked validation hardening and effective status UX

- Fixed linked Space Test parent update after smoke success by sourcing `api_name` and `expected_output_type` from the smoke payload/environment instead of out-of-scope variables.
- Prevented failed linked validation attempts from downgrading a parent Build Run that already has a successful linked validation.
- Clarified effective status filters/stats, Eval Archive effective hints, Space Test context, and latency/ZeroGPU recommendation provenance.

## v190.16 β€” Cascade delete linked Space Tests

- Deleting a Build Run now cascades to its linked Space Test validation runs so no hidden validation artifacts are orphaned.
- Deleting a linked validation run updates the parent Build Run linked validation metadata and manual validation status.
- The delete modal now reports linked validation counts and the frontend removes parent/child cache entries together.

## v190.16 β€” Build-first explorer compatibility cleanup

- Keeps Runs Explorer simple after the linked-only Space Test change: Build Runs remain the primary list items, linked validations are summarized on their parent, and no standalone/legacy validation section is introduced.
- Hardens the run cache, stats, pagination, and selection paths against null, partial, or legacy Build Run records that do not contain manual validation metadata.
- Fixes linked validation parent selection without duplicating variables in the snapshot path.
- Keeps the v190.12 generic Gradio schema-choice smoke retry intact.


## v190.16 hotfix β€” Runs Explorer null-safe linked validation cache

- Hardened Runs Explorer against null or malformed run summaries returned by stale bucket/list responses.
- Preserved build-first linked validation grouping while filtering invalid cache entries safely.
- Added regression coverage for null-safe linked validation parent lookup.

## v190.16 β€” Build-first explorer and linked validation stats polish

- Treat linked validation runs as children of Build Runs in Runs Explorer by default.
- Rework Run Stats around Build Runs, linked tests, automatic success, and effective success.
- Stop the Active Run elapsed clock for partial/completed-with-warnings/manual-validated terminal states.
- Add softer Runs Explorer CSS spacing with borderless cards and linked-validation chips that breathe.

## v190.13 β€” Linked-only Space Test and parent Build validation update

- Disabled standalone Space Test validation in the product UI/API path; validations must now be linked to a completed Build Run target Space.
- Prefill Space Test now carries a parent Build Run id and locks the target Space to the generated Space from that parent.
- Linked validation Jobs persist `parent_build_run_id`, `source_kind`, and linked target metadata.
- Successful linked validations write `manual_validation_status.json` and `linked_validations.json` back into the parent Build Run folder.
- Active Run snapshots and run summaries can now surface manual validation status, effective verdict, latency, and ZeroGPU duration measurements sourced from linked Space Test.
- Runs Explorer labels linked validation runs, shows manual validation passed on Build cards, and opens the parent Build Run when a linked validation is selected.

# Agentic Space Factory v190.16

## v190.16 smoke retry and final summary hardening

- Generation smoke payloads now preserve Gradio schema choice value types before calling predict.
- If Gradio rejects a smoke payload with a choice type mismatch, the worker records the first error, coerces args to schema choices, and retries once.
- Final worker completion now writes a terminal summary.json so lightweight run cards and bucket audits do not stay stuck on running.
- The worker writes live_status.json for micro-stage telemetry during live validation and smoke retry.
- Live Validation surfaces schema-choice retry details and next actions.


- Gated the Active Run β€œPrefill Space Test” action until a build reaches a final exploitable Space state (`success`, `partial`, or manual-action-required with a target Space).
- Added live validation telemetry to the canonical timeline model: Space runtime stage, health, Gradio schema/endpoints, generation smoke state, severity, and next action.
- Removed the redundant running subtitle β€œThe pipeline is still in progress.” from the progress header.
- Tightened visible polling cadence for active build and validation runs so events feel less batched while preserving terminal stop/final refresh behavior.

# Agentic Space Factory v190.10

- Live polling now uses the same canonical run snapshot as run selection/reload, so terminal builds converge across Active Run, Runs Explorer, Run Stats, and Eval Archive without a page refresh.
- Intermediate fallback/wait/test failures no longer mark the whole build as failed unless the canonical timeline is terminal.
- Initial build launch shows a quiet snapshot wait state instead of rendering the legacy full vertical timeline.
- Current step meta was removed; the canonical timeline owns phase context.
- Timeline phase details are hidden on normal happy-path phases and shown only for warnings, fallback, recovery, manual actions, archive issues, or terminal diagnostics.

# Agentic Space Factory v190.9

- Persists/canonicalizes terminal Space Test validation status across page reloads so terminal artifacts/events override stale `running` launch metadata.
- Prevents HF Job stage or old summary data from resurrecting failed/success/partial validations as running in `/api/runs` and `/api/runs/{id}/progress`.
- Makes the delete confirmation modal use the same canonical validation status, so failed validations no longer warn that they still look active.
- Keeps validation auto-resume/polling from restarting terminal validations after reload; explicit β€œRun validation again” remains the only relaunch path.

# Agentic Space Factory v190.6

- Locks terminal Space Test validation states so stale running/pending data cannot override failed/success/partial/manual outcomes.
- Keeps validation panels stable during slow refreshes using stale-while-revalidate semantics.
- Preserves terminal validation status in Runs Explorer while backend summaries refresh.

# Agentic Space Factory v190.5

## Active Run timeline + Space Test prefill hotfix

- Restores the canonical Active Run timeline as a horizontal fit-to-width row across narrow central columns.
- Keeps the active timeline phase pulsing while a phase is running.
- Ensures the Agent phase remains `running` while `pi_run` is `started` or `running`, instead of prematurely showing complete.
- Improves Space Test prefill from partial/failed builds by reading nested `inference_gate.generation_smoke` payloads and endpoint parameters when available.
- Keeps the validation prefill in new-validation draft mode rather than reusing a previous validation selection.

# v190.5 β€” Space Test explicit prefill mode

- Fixed Active Run β†’ Space Test prefill so it prepares a new validation draft instead of re-opening the previous validation run.
- Clearing a prefilled Space Test now clears `selectedValidationId`/validation polling state and disables delete until a new validation is launched.
- Existing validation cards in Runs Explorer still open in view-existing-validation mode.
- Added regression tests for explicit validation prefill vs existing validation selection.

# v190.5 β€” Active Run timeline hotfix

- Restores the Active Run canonical timeline as a horizontal row on desktop/tablet after the fit-to-width consolidation.
- Lowers the horizontal breakpoint to avoid accidental vertical stacking in narrow center columns while keeping a true mobile fallback.
- Restores the running-step pulse/ring animation on the active canonical timeline node.
- Keeps `pi_run` started/running as Agent `running` instead of marking Agent complete because earlier setup events succeeded.
- Leaves Space Test and worker/runtime behavior unchanged.

# v190.1 β€” Space Test Validation UI/State Model

- Adds a dedicated canonical Space Test timeline: Start, Runtime, API, Endpoint, Payload, Smoke test, Result, Report. Validation views no longer reuse build/recovery phases such as repair upload, manual hardware, or upload files.
- Fixes Run Explorer status normalization for validation runs so terminal validation verdicts such as `full_inference_success` override stale `running` summaries.
- Humanizes Gradio endpoint schema rendering: component metadata objects are normalized into labels, choices/defaults are summarized, and `[object Object]` is never displayed.
- Adapts Space Test labels for completed validation runs: terminal runs can show `Run validation again`, latency displays `Not recorded` when missing, and running validations keep actions disabled.
- Keeps build worker/runtime behavior unchanged.

# v190.0 β€” Active Run layout consolidation

- Consolidates the Active Run UI without runtime changes: canonical timelines now fit the center column on desktop, hide the redundant Done dot, and relabel Hardware as GPU.
- Keeps Run notes as the only compact home for non-blocking signals, with explicit Pi assistant mismatch / GPU fallback wording.
- Makes Recovery phase details compact when Agent recovery provides the full diagnosis, avoiding duplicate Diagnose/Decide/Patch/Revalidate rows.
- Improves Agent recovery text wrapping so blocker explanations and next actions are not truncated.

# v189.9 β€” Timeline polish and Run notes clarity

## UI polish

- Keeps Recovery phase details compact when the dedicated Agent recovery panel is available.
- Uses `Run notes` as the single compact place for non-blocking warnings such as Pi model routing and hardware fallback.
- Removes opaque `+N more` style note summaries from the canonical warning banner.
- Keeps timeline phase details as navigation summaries rather than duplicating specialized diagnostic panels.

## Runtime

- No worker/runtime behavior changed from v189.8. The v189.7 guardrails remain: quoted safe `python_version`, torch added when imported, and `.cache/` excluded from generated Space uploads.

# v189.8 β€” Runtime Sanitation + Failed Timeline Truth

- Sanitizes README `python_version` to quoted safe values (`3.10`, `3.11`, `3.12`) so `3.10` is never interpreted as YAML float `3.1`.
- Adds `torch>=2.0.0` automatically when generated `app.py` imports torch but requirements omit it.
- Excludes transient `.cache/` files from generated Space uploads.
- Makes canonical timeline archive state prefer confirmed `published=true` over stale `record_not_ready` events.
- Improves failed recovery summaries so final build blockers are surfaced distinctly from initial repaired blockers.
- Keeps timeline node labels compact in both canonical and legacy render paths.
- Prioritizes failed-run documents: Report, Blockage, Build error, Space logs, Decision, Repair.

# v189.6 β€” Timeline State Hotfix

- Derives canonical phase status from the latest status per worker step, not any historical event.
- Prevents terminal runs from leaving early phases visually `running` because of older `started` events.
- Prevents resolved Space log collection warnings from over-marking Deploy when final log quality is full.
- Refines terminal active-phase selection so full-success runs focus Live test/Archive/Done while non-blocking warnings stay grouped separately.
- Keeps the validated worker/runtime path unchanged.

# v189.4 β€” Mobile Timeline Polish

- Adds an Active Run phase details panel for the canonical `run_timeline_model.v1`.
- Uses a mobile-first vertical canonical timeline on narrow screens.
- Shows compact phase details and Needs attention summaries without changing the validated runtime worker path.
- Keeps legacy timeline fallback behavior for older runs without `timeline_model`.

# v189.2 β€” Canonical Timeline UI bridge

- Active Run now uses `run_timeline_model.v1` for the progress header and main timeline whenever the backend view model provides it.
- The legacy compact worker timeline remains as a fallback for old or partial payloads.
- Timeline phases now represent product-level phases instead of re-inferred worker step groups, reducing conflicting progress states.

# v184 β€” Compact Model Pre-scan Card

- Refined the default Model pre-scan card to be more visible without adding heavy borders.
- Reworked successful model pre-scan results into a compact premium summary with metadata icon chips, inline signal pills, and a single recommendation line.
- Reduced the visual footprint of safe scans while preserving pipeline, library, expected output, good signals, and recommendations.

# v176 β€” startup import fix for eval archive build

- Fixed a syntax error in `src/bucket.py` caused by nested quotes inside the launch summary `artifacts_url` f-string.
- Verified that the app imports/compiles cleanly again and that the full test suite passes.

# v174 β€” Bucket run-prefix mount and robust worker bootstrap writes

- Mounted the `runs/` Storage Bucket prefix explicitly into Jobs using `Volume(type="bucket", source=..., path="runs", mount_path="/output/runs")`.
- Preserved the worker contract: `OUTPUT_ROOT=/output`, `run_dir=/output/runs/<run_id>`, and remote objects under `runs/<run_id>/`.
- Hardened API-side `_worker.py` persistence with `HfFileSystem.write_text`, `pipe_file`, `open(..., "wb")`, and a final `sync_bucket` fallback.
- Removed virtual-directory creation for Bucket prefixes and kept deletion/listing/document links aligned with the configurable run prefix.
- Raised the minimum `huggingface_hub` requirement to `>=1.11.0`.

# v173 β€” Bucket path separation fix

- Reverts the v172 API-side `makedirs` workaround for fresh run prefixes.
- Keeps a strict distinction between remote bucket object URIs (`hf://buckets/<namespace>/<bucket>/runs/<run_id>/...`) and Job mount paths (`/output/runs/<run_id>/...`).
- Writes API-side bucket objects directly with `HfFileSystem.pipe_file(...)`, with `open(..., "w")` as a compatibility fallback.
- Adds tests to prevent treating virtual `runs/` prefixes as directories/repositories.

# v172 β€” fresh bucket writes and pre-scan polish

- Keeps Hugging Face Space metadata at the very top of `README.md` so the app archive cannot boot with a configuration error.
- 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.
- Restyles the Model pre-scan card into a calmer premium status panel with compact metadata chips and less oversized success treatment.

# v171 β€” delete Space option, ghost-run cleanup, storage polish

- Added an opt-in checkbox in the premium delete modal to delete the associated generated Space for build runs.
- Kept validation runs protected from accidental associated Space deletion.
- Made ghost/unknown run prefixes deletable from Run Explorer.
- Compacted the Run Storage setup error card.
- Preserved the v170 real recursive bucket deletion behavior.

# v120 β€” Agent recovery UI

- Added the Agent recovery section to summarize Pi recovery decisions, blockers, evidence, and repair/revalidation status.
- Kept detailed source files in Run traces instead of duplicating raw recovery logs in the summary card.