Commit e4dccc7
V48 Gate 3 (specification-implementation): deposit review UX batch — dispatch-owned detail, telemetry error banner, repo/Obfuscations anchoring, clickable rows, /packs scoping, and fix background-dispatch survival on Vercel
Live QA on the deposit pipeline surfaced a batch of review-UX gaps and one
correctness bug in the synthesis dispatch route:
- Synthesize options hides once a run's detail owns the page (Back is the
explicit path to a new dispatch), and the loaded run's failure surfaces
through the telemetry log's own error banner (Retry/Dismiss) instead of a
separate Obfuscations-pane alert — closing QA F19, which the spec already
claimed was implemented but never was.
- VCSFileTreePicker gained root-level Select all / Clear all (a directory
selection already prefix-covers its subtree downstream, so no recursive
fetch is needed).
- Obfuscations configurations and repository selections can now be anchored
into the activity ledger and reloaded on a later run, mirroring the
existing repository-anchor primitive (V48-Gate3-F13/F17/F18).
- Deposit pipelines table rows are fully clickable (not just the first
cell); /packs is scoped to actual AssetPacks only (network-scope
depository/settled types), leaving /deposits as the full activity stream.
- V48-Gate3-F31: the dispatch route returned its response and continued the
synthesis as a bare `void runSynthesis()` — Vercel can freeze a Function
instance right after its response is sent, with no guarantee a
non-awaited continuation survives. This is the same failure class the
orphan sweep's own header already named as its reason for existing.
Wrapped both background continuations in `waitUntil` (@vercel/functions)
so a dispatched run always finishes and finalizes its row.
- Adopted a standing practice: inline comments citing a QA finding must
carry the fully-qualified `[VERSION]-Gate[N]-F[ID]` tag, matched by the
same tag in the QA ledger, so code<->spec traceability is grep-able in
both directions (AGENTS.md; retrofitted existing bare F-tags).
- Cleared 8 dead-code diagnostics in DepositPageClient.tsx.
Verified: tsc --noEmit 0 across uapi; full uapi jest suite green (158/159
suites, 637/638 tests, 1 pre-existing skip); eslint clean on touched files.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent b1f1e1e commit e4dccc7
24 files changed
Lines changed: 1095 additions & 189 deletions
File tree
- packages/pipelines/asset-pack/src/__tests__
- uapi
- app
- api/deposit/synthesize-options
- deposits
- packs
- terminal
- components/base/bitcode
- execution
- vcs
- lib
- tests
- api
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
10 | 11 | | |
11 | 12 | | |
12 | 13 | | |
| |||
Large diffs are not rendered by default.
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
107 | 107 | | |
108 | 108 | | |
109 | 109 | | |
110 | | - | |
| 110 | + | |
111 | 111 | | |
112 | 112 | | |
113 | 113 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
4 | 5 | | |
5 | 6 | | |
6 | 7 | | |
| |||
115 | 116 | | |
116 | 117 | | |
117 | 118 | | |
118 | | - | |
119 | | - | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
120 | 123 | | |
121 | 124 | | |
122 | 125 | | |
| |||
252 | 255 | | |
253 | 256 | | |
254 | 257 | | |
255 | | - | |
| 258 | + | |
256 | 259 | | |
257 | 260 | | |
258 | 261 | | |
259 | 262 | | |
260 | 263 | | |
261 | 264 | | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
262 | 274 | | |
263 | 275 | | |
264 | 276 | | |
| |||
487 | 499 | | |
488 | 500 | | |
489 | 501 | | |
490 | | - | |
| 502 | + | |
491 | 503 | | |
492 | 504 | | |
0 commit comments