Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
284 commits
Select commit Hold shift + click to select a range
66c5a1a
Merge feat/853-A-copy-runs-arch: #859 copy calls its owners (arch rev…
dkackman Oct 13, 2026
a5ee1af
fix(roles): report only recorded roles; a run from before roles has none
dkackman Oct 13, 2026
64d5f8e
feat(workspace): #859 - tester bounce: set_note registered, empty run…
dkackman Oct 13, 2026
b8a26e2
Merge feat/853-A-copy-runs-bounce: #859 tester bounce fixes
dkackman Oct 13, 2026
e12baf0
feat(workspace): #860 - copy assets between workspaces
dkackman Oct 13, 2026
500f53c
feat(workspace): #860 - docs, OpenAPI and surface budget for asset co…
dkackman Oct 13, 2026
d084ea6
Merge feat/853-B-copy-assets: #860 copy assets between workspaces
dkackman Oct 13, 2026
0f5471b
docs(proposals): #853 close-out - workspace copy design record
dkackman Oct 13, 2026
253a681
Merge docs/853-closeout: #853 design record
dkackman Oct 13, 2026
43cba93
docs(proposals): #853 record names no nonexistent workflow file
dkackman Oct 13, 2026
725764d
Merge docs/853-closeout: #853 doc-link fix
dkackman Oct 13, 2026
9e59745
fix(mcp): #876 - warn when match_levels levels a multi-shot input as …
dkackman Oct 14, 2026
c38f8af
Merge fix/876-inner-level-step: #876
dkackman Oct 14, 2026
68f9efc
fix(mcp): #876 - one owner for the inner-step threshold, place shots …
dkackman Oct 14, 2026
df2ca06
Merge fix/876-arch-review: #876
dkackman Oct 14, 2026
61838a9
fix(check-script): #873 - validate a lines[].shot name against the re…
dkackman Oct 14, 2026
21a6f60
docs: #863 #864 - H3 base-model quality path, measured speed levers, …
dkackman Oct 14, 2026
3d0fba1
Merge branch 'develop' of https://github.com/dkackman/diffusers-workf…
dkackman Oct 14, 2026
510c47f
fix(tasks): #874 - no_loop_bed names the rule that removed the quiet …
dkackman Oct 14, 2026
c1b0d2d
docs: #880 - drop the repeated last bullet in series-episodes cinema-…
dkackman Oct 14, 2026
f8fda59
fix(check-script): #873 - member-key rule lives in references.member_…
dkackman Oct 14, 2026
4515906
feat(catalog): #883 - attention_backend variable on every H3 transfor…
dkackman Oct 14, 2026
0ec85cb
style: #883 - ruff format
dkackman Oct 14, 2026
5e7b0cc
docs: #883 - attention_backend on every H3 template in ACCELERATION, …
dkackman Oct 14, 2026
54f0e9e
Merge feat/865-A-h3-attention-backend: #883 stage A of #865
dkackman Oct 14, 2026
c467a54
fix(references): #873 - one owner of the variable-name characters; me…
dkackman Oct 14, 2026
dfc7c49
Merge branch 'fix/873-variable-name-chars' into develop
dkackman Oct 14, 2026
60b1982
fix(server): #881 - rank OOM score per dispatch: dispatching worker 1…
dkackman Oct 14, 2026
39d5969
docs: #881 - architecture map names the renamed OOM ranking test
dkackman Oct 14, 2026
a27aaab
fix(cache): #891 - mag calibrate ratios reach job warnings and log ev…
dkackman Oct 14, 2026
95813b3
style: #891 - ruff format
dkackman Oct 14, 2026
6f8e3a5
feat(plugin): #878 - minimax-h3 skill: locked frame lip-sync via Ref2…
dkackman Oct 14, 2026
fba35f2
Merge branch 'feat/852-B-h3-keyframe-audio' into develop
dkackman Oct 14, 2026
0a21c93
feat(server): #881 - get_health workers[] reports pid and live oom_sc…
dkackman Oct 14, 2026
7e1bfdf
Merge branch 'fix/881-health-oom' into develop
dkackman Oct 14, 2026
6342ab3
feat(engine): #885 - per-step timing on manifest entries
dkackman Oct 14, 2026
7dd0bf8
feat(engine): #885 - step timing tests and docs
dkackman Oct 14, 2026
4446338
Merge branch 'feat/867-1-step-timing' into develop
dkackman Oct 14, 2026
831fc66
feat(engine): #885 - map row for step timing; workflow_run.py back un…
dkackman Oct 14, 2026
415bb5e
Merge branch 'feat/867-1-step-timing' into develop
dkackman Oct 14, 2026
cd0bdba
fix(engine): #893 - emit a log event for the attention backend applied
dkackman Oct 14, 2026
23bb31d
feat(engine): #885 - document passes as the denoise passes run, not n…
dkackman Oct 14, 2026
c07730c
Merge branch 'feat/867-1-step-timing' into develop
dkackman Oct 14, 2026
a2af00b
fix(server): #881 - OOM ranking resets other workers to their spawn-t…
dkackman Oct 14, 2026
16e73ed
test: #881 - Linux /proc test asserts only the reset to the spawn value
dkackman Oct 14, 2026
f461391
fix(server): #881 - dw-serve.service sets OOMPolicy=continue so one w…
dkackman Oct 14, 2026
23c7a12
Merge branch 'fix/881-oom-floor' into develop
dkackman Oct 14, 2026
b25f6b4
fix(mcp): #891 - mag calibration counts the call's steps; warn when a…
dkackman Oct 14, 2026
e35827e
feat(validation): #887 - acceleration_warnings: short-schedule cache,…
dkackman Oct 14, 2026
950f6ff
feat(docs): #887 - ACCELERATION.md: the acceleration_warnings, Taylor…
dkackman Oct 14, 2026
a6c9a5a
fix(server): #892 - a cancel in a load/task phase terminates the work…
dkackman Oct 14, 2026
07f5612
Merge branch 'fix/892-cancel-loading' into develop
dkackman Oct 14, 2026
80a4e53
feat(validation): #887 - acceleration_warnings unit tests; say a for_…
dkackman Oct 14, 2026
31e4501
Merge branch 'feat/868-A-acceleration-warnings' into develop
dkackman Oct 14, 2026
4045d2b
feat(validation): #884 - cache accepts a whole-object variable: refer…
dkackman Oct 14, 2026
b7060b6
feat(docs): #887 - ARCHITECTURE.md: the acceleration warnings row und…
dkackman Oct 14, 2026
547a82c
Merge branch 'feat/868-A-arch-map' into develop
dkackman Oct 14, 2026
0e02f21
feat(validation): #884 - cache variable tests, H3 wiring catalog test…
dkackman Oct 14, 2026
b692c40
Merge branch 'feat/865-B-h3-cache-variable' into develop
dkackman Oct 14, 2026
37411f7
docs(proposals): #852 - close-out: design record for the locked H3 fr…
dkackman Oct 14, 2026
fb829e7
Merge branch 'docs/852-close-out' into develop
dkackman Oct 14, 2026
bf448a2
feat(server): #887 - save_workflow answers the acceleration warnings
dkackman Oct 14, 2026
c96e953
Merge branch 'feat/868-A-save-warnings' into develop
dkackman Oct 14, 2026
f15ca77
feat(server): #889 - POST /api/gallery/compare: outputs side by side …
dkackman Oct 14, 2026
9c3c23a
feat(mcp): #889 - compare_outputs: outputs side by side with PSNR/SSI…
dkackman Oct 14, 2026
7470066
feat(docs): #889 - compare_outputs in MCP, SERVER and workflow guides…
dkackman Oct 14, 2026
d21a2e6
Merge branch 'feat/871-A-compare-outputs' into develop
dkackman Oct 14, 2026
e71ef6c
docs: #868 - close-out design record for the acceleration validate wa…
dkackman Oct 14, 2026
b2d3ac0
Merge branch 'docs/868-closeout' into develop
dkackman Oct 14, 2026
6e506ba
fix(cache): #891 - warn the caller when a transformer has no enable_c…
dkackman Oct 14, 2026
8b9dad7
Merge branch 'fix/891-mag-attach' into develop
dkackman Oct 14, 2026
2931fd6
docs(architecture): #884 - name cache_errors in the Step-value checks…
dkackman Oct 14, 2026
92c3952
Merge branch 'feat/865-B-arch-map' into develop
dkackman Oct 14, 2026
95f9cff
feat(cache): #886 - count step-cache skips: timing.cache and the cach…
dkackman Oct 14, 2026
ca8ad00
feat(cache): #886 - fold the skip counter into timing.py; type timing…
dkackman Oct 14, 2026
87d5f03
Merge branch 'feat/867-B-cache-stats' into develop
dkackman Oct 14, 2026
ea5943d
docs(architecture): #886 - map row for step-cache skip counts
dkackman Oct 14, 2026
ad2c918
Merge branch 'feat/867-B-arch-map-cache-stats' into develop
dkackman Oct 14, 2026
06e245c
fix(plan): #894 - a repo whose weight-bearing components hold only co…
dkackman Oct 14, 2026
6950277
Merge branch 'fix-894-config-only-components' into develop
dkackman Oct 14, 2026
0ead3b7
fix(worker): #886 - a run event's own type key crosses the worker wir…
dkackman Oct 14, 2026
e37f2fb
Merge branch 'feat/867-B-cache-stats-wire' into develop
dkackman Oct 14, 2026
e07fbf3
feat(validation): #884 - refuse a string cache threshold once substit…
dkackman Oct 14, 2026
8b5d765
Merge branch 'feat/865-B-cache-threshold-type' into develop
dkackman Oct 14, 2026
340e31d
Merge origin/develop into develop
dkackman Oct 14, 2026
8708335
docs(proposals): #865 - design record for H3 template attention_backe…
dkackman Oct 14, 2026
b4916c7
Merge branch 'docs/865-h3-template-acceleration-complete' into develop
dkackman Oct 14, 2026
789c4e1
docs(hub_cache): #894 - state the current component-completeness rule…
dkackman Oct 14, 2026
0dcf45a
fix(cache): #895 - forward is_guidance_distilled to FasterCacheConfig…
dkackman Oct 14, 2026
93d06db
refactor(media): #889 - one at grammar and crop parse for frames and …
dkackman Oct 14, 2026
c6f5c9d
Merge branch 'feat/871-A-compare-outputs' into develop (#889 arch-rev…
dkackman Oct 14, 2026
1ff87f0
docs(proposals): #867 - design record for per-step timing and cache s…
dkackman Oct 14, 2026
0e73254
Merge branch 'docs/867-step-timing-complete' into develop
dkackman Oct 14, 2026
28796c4
fix(timing): #896 - sync the device before each timing mark so async …
dkackman Oct 14, 2026
75c5d26
fix(downloads): #899 - cancel aborts xet transfer and shows cancel_re…
dkackman Oct 14, 2026
a9c89e2
Merge fix/899-cancel-download into develop
dkackman Oct 14, 2026
e315d97
chore(api): #899 - regenerate openapi for cancel_requested
dkackman Oct 14, 2026
99f04d6
fix(media): #889 - compare_outputs refuses a negative moment instead …
dkackman Oct 14, 2026
5ff05cf
Merge feat/871-A-compare-outputs into develop (#889 negative moments)
dkackman Oct 14, 2026
f6b14ac
fix(validation): #900 - report a projection past the real card, not o…
dkackman Oct 14, 2026
5712b61
Merge branch 'develop' of https://github.com/dkackman/diffusers-workf…
dkackman Oct 14, 2026
ee0c5ce
fix(downloads): #899 - cancel stops queued files: per-file loop repla…
dkackman Oct 14, 2026
83ba2bd
feat(docs): #890 - Running a sweep section in the workspaces guide
dkackman Oct 14, 2026
776267a
Merge feat/872-A-sweep-guide into develop (#890)
dkackman Oct 14, 2026
5340e63
docs(proposals): #871 - compare_outputs design record
dkackman Oct 14, 2026
9e8f15d
Merge docs/871-close-out into develop (#871)
dkackman Oct 14, 2026
c45f522
fix(validation): #901 - a released shape's succeeded peak is survived…
dkackman Oct 14, 2026
302bae1
Merge branch 'develop' of https://github.com/dkackman/diffusers-workf…
dkackman Oct 14, 2026
2aecdb5
feat(docs): #890 - sweep guide: only the latest run of a step is cach…
dkackman Oct 14, 2026
11cc864
fix(gallery): #902 - keep_output carries the source run's inputs so a…
dkackman Oct 14, 2026
a27ad5a
fix(mcp): #903 - null-metadata hint no longer claims an image always …
dkackman Oct 14, 2026
bf8745a
Merge develop into feat/872-A-sweep-guide
dkackman Oct 14, 2026
c243b99
Merge feat/872-A-sweep-guide into develop (#890)
dkackman Oct 14, 2026
c23b610
fix(cache): #897 - infer FasterCache is_guidance_distilled from trans…
dkackman Oct 14, 2026
5600482
Merge fix/897-faster-cache-distilled into develop
dkackman Oct 14, 2026
89bf498
fix(validate): #904 - warn when a cache has no transformer (UNet) or …
dkackman Oct 14, 2026
3bef476
Merge fix/904-cache-unsupported-warning into develop
dkackman Oct 14, 2026
fa92492
docs: #872 - close-out: sweeps design record; retire sweeps-and-compa…
dkackman Oct 14, 2026
29d4c4c
Merge docs/872-close-out into develop
dkackman Oct 14, 2026
2767429
feat(validation): #888 - a proven LoRA catalog entry decides an H3 ad…
dkackman Oct 14, 2026
687e288
feat(loras): #888 - realism-people proven for t2va/fl2va; catalog-fir…
dkackman Oct 14, 2026
9a21058
Merge feat/870-A-catalog-adapter-check into develop
dkackman Oct 14, 2026
f73088a
feat(ui): add ClampedText component for text truncation and expand/co…
dkackman Oct 14, 2026
f68b4b8
feat(plan): #905 - key the plan fingerprint and step cache only by wh…
dkackman Oct 14, 2026
ec68fec
Merge feat/866-0-output-keys into develop
dkackman Oct 14, 2026
70a64a7
docs(proposals): #870 close-out - catalog-backed adapter check design…
dkackman Oct 14, 2026
581bfff
Merge docs/870-closeout into develop
dkackman Oct 14, 2026
b63cfaf
feat(plan): #905 - spell an integral float as an int in the fingerprint
dkackman Oct 14, 2026
a8e8150
docs: UI/UX improvements implementation plan
dkackman Oct 14, 2026
a4791b9
feat(ui): tab title tracks the running job; alert when a job finishes
dkackman Oct 14, 2026
65a3525
feat(ui): show this server's measured run time beside Run and on cards
dkackman Oct 14, 2026
e31d220
fix(ui): ignore a stale run-time response when the workflow changes
dkackman Oct 14, 2026
6423fc5
feat(ui): arrow keys and Delete in the gallery details for culling a run
dkackman Oct 14, 2026
c047622
feat(ui): a note left expanded stays expanded
dkackman Oct 15, 2026
575cff2
feat(server): #909 - memory key in job history, projected host-RAM pe…
dkackman Oct 15, 2026
c223d0a
feat(ui): placeholder blocks instead of 'loading…' on the overview
dkackman Oct 15, 2026
7609c93
feat(ui): jobs list shows how long a job waited for a card
dkackman Oct 15, 2026
493e4de
feat(server): #909 - memory key and host_memory plan tests, docs
dkackman Oct 15, 2026
d2a7504
Merge feat/869-a-memory-key into develop
dkackman Oct 15, 2026
e62d34a
feat(ui): notes render a safe Markdown subset
dkackman Oct 15, 2026
06b887e
fix(ui): linear-time link parsing; fade only clamped text that overflows
dkackman Oct 15, 2026
56c45bc
feat(ui): drop files onto the assets page and media inputs to upload
dkackman Oct 15, 2026
8ae4d4e
fix(ui): claim file drags while busy; drops upload to the page's own …
dkackman Oct 15, 2026
087bf42
feat(ui): group same-prefix workspaces in the sidebar; hide workspace…
dkackman Oct 15, 2026
021dcb6
fix(worker): #911 - cache probe reports 0 cached steps when the warm …
dkackman Oct 15, 2026
85570dc
feat: star output files to keep them; gallery filters to starred
dkackman Oct 15, 2026
08604f1
fix: ruff format and F811 ignore for star tests; S key ignores Alt
dkackman Oct 15, 2026
e070a7c
feat(server): #909 - memory key substitutes through replace_variables…
dkackman Oct 15, 2026
0dce4cb
Merge feat/869-a-arch-fixes into develop
dkackman Oct 15, 2026
70f50b7
feat: a rerun records and shows the job it reran
dkackman Oct 15, 2026
5d62319
feat(ui): compare 2-4 outputs side by side with synced video and the …
dkackman Oct 15, 2026
340189f
fix(ui): compare reads its clock from the first video; reset transpor…
dkackman Oct 15, 2026
f65d5d8
fix(server): #913 - delete_workspace drops the workspace's job history
dkackman Oct 15, 2026
7c311f2
Merge develop into feat/866-0-output-keys
dkackman Oct 15, 2026
c60359b
refactor(ui): split observedTitle, parseMarkdown and uploadFiles unde…
dkackman Oct 15, 2026
b45af1a
fix(ui): gallery keys step on from a hidden file's place; S ignores S…
dkackman Oct 15, 2026
5ca3e68
refactor(ui): move the health-poll watch decision into nextWatch, wit…
dkackman Oct 15, 2026
8dd0ff8
docs: rerun_of on job records, starred on gallery entries, stars afte…
dkackman Oct 15, 2026
33df797
chore: sort the test_stars ignore; reflow a NoteEditor comment
dkackman Oct 15, 2026
13703bc
test(plan): #905 - pin the H3 inline round trip, seed out of the fing…
dkackman Oct 15, 2026
2d60712
Merge feat/866-0-output-keys into develop
dkackman Oct 15, 2026
9dfb9e6
docs(architecture): #905 - fingerprint row states the number and seed…
dkackman Oct 15, 2026
cf33dd1
docs(workflows): #914 - step cache is per card and per workflow identity
dkackman Oct 15, 2026
ddd0970
feat(plan): #906 - scale the curated estimate along steps, canvas and…
dkackman Oct 15, 2026
7f70be9
feat(plan): #906 - say what a figure was scaled along in the UI and t…
dkackman Oct 15, 2026
d3efefe
docs(plan): #906 - the estimate docstring names the scaled derived basis
dkackman Oct 15, 2026
a5f56b3
Merge feat/866-A-scale-catalog into develop
dkackman Oct 15, 2026
cf369b2
Merge feat/ui-ux-improvements into develop
dkackman Oct 15, 2026
46357fd
feat(plan): #907 - flag a shift in a driver nothing scales instead of…
dkackman Oct 15, 2026
c2fcb09
docs(plan): #907 - an unscalable driver's shift keeps a flagged figure
dkackman Oct 15, 2026
de2c55c
Merge feat/866-B-unscalable-drivers into develop
dkackman Oct 15, 2026
2566e6c
feat(plan): #908 - the inherited estimate scales by inference steps a…
dkackman Oct 15, 2026
7ab6440
Merge feat/866-C-inherited-scaling into develop
dkackman Oct 15, 2026
e31b224
feat(api): enhance description for 'differs' field to clarify cost dr…
dkackman Oct 15, 2026
d90e2b6
refactor(plan): #908 - the inherited path scales through scale_curate…
dkackman Oct 15, 2026
ba0c626
Merge feat/866-C-inherited-scaling-2 into develop
dkackman Oct 15, 2026
4a7573a
fix(plan): #908 - the inherited comparison resolves variable referenc…
dkackman Oct 15, 2026
0830aa8
Merge feat/866-C-inherited-scaling-3 into develop
dkackman Oct 15, 2026
6fe4917
refactor(plan): #908 - the inherited comparison substitutes through r…
dkackman Oct 15, 2026
6ce3fce
Merge feat/866-C-inherited-scaling-4 into develop
dkackman Oct 15, 2026
d1a93db
fix(plan): #915 - an inherited estimate names a reference count other…
dkackman Oct 15, 2026
aeca218
fix(plan): #915 - reference counts come from the for_each-expanded st…
dkackman Oct 15, 2026
8ff5774
fix(plan): #916 - an inherited comparison expands for_each, so item: …
dkackman Oct 15, 2026
3fbe4ba
fix(server): #917 - a job a kept asset names survives its workspace's…
dkackman Oct 15, 2026
9038f0b
fix(server): #918 - a kept asset's job gone from history reports forg…
dkackman Oct 15, 2026
0788c56
style: #918 - ruff format
dkackman Oct 15, 2026
8cda9f0
feat(check-script): #919 - a line's start_frame picks one occurrence …
dkackman Oct 15, 2026
b0ab829
feat(check-script): #920 - unscripted_speech flags unmatched words in…
dkackman Oct 15, 2026
91732f4
fix(server): #921 - a task-only workflow with no cost drivers prices …
dkackman Oct 15, 2026
4a79cb3
feat(mcp): #922 - get_gallery_metadata measures an image (kind, width…
dkackman Oct 15, 2026
cd65e20
feat(check-script): #923 - speech_not_transcribed flags audible sound…
dkackman Oct 15, 2026
d189031
docs(check-script): #923 - name speech_not_transcribed in the templat…
dkackman Oct 15, 2026
40e0d89
feat(timing): #924 - warn when a loaded pipeline's first denoise pass…
dkackman Oct 15, 2026
47d47d3
fix(check-script): #925 - transcribe a level-normalized copy so the v…
dkackman Oct 15, 2026
c2cb4d6
fix(inherited-cost): #908 - a reference the copy doesn't declare comp…
dkackman Oct 15, 2026
f1bc2e9
Merge feat/866-C-inherited-scaling-5 (#908)
dkackman Oct 15, 2026
d0fb3f4
fix(check-script): #925 - level the transcription input to 0.9 (the 0…
dkackman Oct 15, 2026
e243ec7
fix(inherited-cost): #908 - compare cost settings by value, not spell…
dkackman Oct 15, 2026
2ce7f2a
Merge feat/866-C-inherited-scaling-6 (#908)
dkackman Oct 15, 2026
76558c3
feat(server): #910 - hold a queued job for host RAM at dispatch, with…
dkackman Oct 15, 2026
a88e66d
Merge feat/869-B-host-ram-gate (#910)
dkackman Oct 15, 2026
edfd00d
docs(proposals): #866 - design record for estimate scaling, todo entry
dkackman Oct 15, 2026
828cccb
Merge docs/866-closeout (#866)
dkackman Oct 15, 2026
cd9c8f1
docs(architecture): #910 - name host_ram_wait as an owner of the disp…
dkackman Oct 15, 2026
8605824
Merge feat/869-B-map-owner (#910)
dkackman Oct 15, 2026
f3aab7e
fix(validate): #926 - warn on an unbraced type name handed to a *_dty…
dkackman Oct 15, 2026
215688d
docs(proposals): #869 - design record for the host-RAM dispatch gate,…
dkackman Oct 15, 2026
36e20e7
Merge docs/869-closeout (#869)
dkackman Oct 15, 2026
5624505
fix(validate): #926 - move the unbraced-type warning into type_refere…
dkackman Oct 15, 2026
f08cc3c
feat(ui): enhance job status display with running jobs count and drop…
dkackman Oct 15, 2026
d8f6044
fix(cache): #927 - report mag calibration ratios a call leaves unlogged
dkackman Oct 15, 2026
6fd260c
Merge branch 'fix/927-mag-h3-calibration' into develop
dkackman Oct 15, 2026
25aa95d
feat(plugin): #882 - minimax-h3 Ramp section: draft -> final paths, c…
dkackman Oct 15, 2026
00c22f5
Merge feat/862-1-h3-quality-ramp (#882)
dkackman Oct 15, 2026
6834d68
feat(plugin): #882 - Ramp: 124-frame shots on dialogue-short at 1344x768
dkackman Oct 15, 2026
426b764
Merge feat/862-1-h3-quality-ramp-shots (#882)
dkackman Oct 15, 2026
6deed46
docs: #862 close-out - H3 quality ramp design record
dkackman Oct 15, 2026
7b72a7d
Merge docs/862-quality-ramp-closeout (#862)
dkackman Oct 15, 2026
96d1b85
refactor(ui): pull figure() qualifiers into a helper; show scaled on …
dkackman Oct 16, 2026
111042d
fix(downloads): #899 - write refs/main after a per-file repo download
dkackman Oct 16, 2026
053c5fb
test(notes): leave the job history's SQLite out of the traversal snap…
dkackman Oct 16, 2026
e6e5fe6
docs(release): draft 0.14.0 notes
dkackman Oct 16, 2026
6b1b575
fix(plan): #851 - scale an inherited price by for_each member count
dkackman Oct 16, 2026
bb54685
fix(server): #910 - a longer resident list takes the host-RAM fit
dkackman Oct 16, 2026
2645e7a
refactor(ui): extract AlertToggle from App.svelte
dkackman Oct 16, 2026
030968b
perf(ui): order gallery runs with a Map, not indexOf
dkackman Oct 16, 2026
4650647
fix(server): close JobHistory's SQLite connections at the end of each…
dkackman Oct 16, 2026
af7d61b
fix(timing): take denoise start outside a fullgraph-compiled denoiser
dkackman Oct 16, 2026
defa691
Merge fix/rr-download into fix/review-2026-10-15
dkackman Oct 16, 2026
2fcb547
Merge fix/rr-plan into fix/review-2026-10-15
dkackman Oct 16, 2026
2ea36e7
Merge fix/rr-timing into fix/review-2026-10-15
dkackman Oct 16, 2026
174c89e
Merge fix/rr-ui into fix/review-2026-10-15
dkackman Oct 16, 2026
73cfaff
Merge fix/rr-notes into fix/review-2026-10-15
dkackman Oct 16, 2026
ef5f1e9
refactor(plan): move driver scaling into dw/cost_scaling.py (ratchet)
dkackman Oct 16, 2026
7f76944
refactor(server): move the dispatch scan and host-RAM hold out of job…
dkackman Oct 16, 2026
42b7255
refactor(server): split the library response models out of api_models.py
dkackman Oct 16, 2026
67fb8c0
refactor(server): drive JobHistory's column migrations from a table
dkackman Oct 16, 2026
3362bd3
refactor(pipeline): move guide preparation into h3_guides.py (ratchet)
dkackman Oct 16, 2026
d1319ec
refactor(concat_videos): extract the join loop into _joined_tracks (r…
dkackman Oct 16, 2026
9ad9ea5
refactor(media_compare): read the asset prefix from references (ratchet)
dkackman Oct 16, 2026
ca74926
Merge fix/rr2-ratchet-a into fix/review-2026-10-15
dkackman Oct 16, 2026
9021869
Merge fix/rr2-ratchet-b into fix/review-2026-10-15
dkackman Oct 16, 2026
8ed291b
fix(roles): #928 - record a declared role, and name the files a later…
dkackman Oct 16, 2026
a78bdbd
fix(gallery): #928 - a file a later run consumed reads as intermediate
dkackman Oct 16, 2026
1609df6
docs(plugin): #928 - ingredient workflows set role intermediate
dkackman Oct 16, 2026
d0bdfff
Merge fix/rr2-roles into fix/review-2026-10-15
dkackman Oct 16, 2026
cefe43f
docs(api): #928 - GalleryFile.role names a later run as a consumer too
dkackman Oct 16, 2026
a691aa7
docs(release): 0.14.0 notes name #928 cross-run roles
dkackman Oct 16, 2026
318a74b
chore(ratchet): raise modules 211 -> 219 and test_dw_patch_targets 32…
dkackman Oct 16, 2026
93ca8db
Merge fix/review-2026-10-15 (0.14.0 release review fixes, #928, ratchet)
dkackman Oct 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ once; without it the run fails partway through with a 401/403 from the Hub.

## Drive it from an agent

Then just ask. The agent has 62 tools covering the whole surface — the
Then just ask. The agent has 65 tools covering the whole surface — the
workflow catalog, the real diffusers pipeline signatures, the job queue, the
gallery, the model cache:

Expand Down
64 changes: 46 additions & 18 deletions docs/ACCELERATION.md

Large diffs are not rendered by default.

35 changes: 22 additions & 13 deletions docs/ARCHITECTURE.md

Large diffs are not rendered by default.

8 changes: 7 additions & 1 deletion docs/LORAS.md
Original file line number Diff line number Diff line change
Expand Up @@ -165,8 +165,14 @@ exact - an adapter on the wrong base usually loads and is quietly worse.
(the turbo keyframe files are `["t2va", "fl2va"]`). `proven` and `rejected` entries need `evidence`; a rejected
entry's first note is why. The schema is `GET /api/lora-schema`.

The server's validate enforces that `workflow` (#870): a step whose workflow
sits in the other partition is refused when the entry is `proven`, and only
warned when it is `trial` or `rejected`. Without a covering entry the file
name decides (`ref2v` / `fl2v`), as in `dw/adapter_compatibility.py`.

Promotion: a trial that worked is saved with `save_lora` (or
`PUT /api/loras/{name}`) as `proven`, its job id in `evidence`.
`PUT /api/loras/{name}`) as `proven`, its job id in `evidence`. Promoting
it is also what makes its `workflow` refuse a mismatched step.

## Finding LoRAs on the Hub

Expand Down
34 changes: 21 additions & 13 deletions docs/MCP.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/RECIPES_24GB.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ pipeline-level `offload`. The working 24GB configuration at 960x544:
| `text_encoder` | `remove_modules: ["lm_head"]` - the encoder path never calls it |
| `text_encoder.model` | SDNQ int4, `truncate_layers: {"language_model.layers": 51}`, `group_offload` `leaf_level` |
| `vae`, `audio_vae` | SDNQ int8, `device: "cuda"`, `residency: "on_demand"` |
| pipeline | `cache: first_block` (`threshold: 0.1`) on the 20-step ref2va workflows only - measured on the 9-step turbo schedule it never skips (consecutive distilled steps differ too much for the threshold), so the turbo examples omit it rather than hold cache state for nothing |
| pipeline | `cache: first_block` (`threshold: 0.05`) only on a ~30-step base-model run (`lora_model_name: null`): -22% denoise there, identical staging and faces. It skips nothing at 12 steps or on a turbo schedule (consecutive distilled steps differ too much), and every H3 template takes it as a `cache` argument (null by default): `{"type": "first_block", "threshold": 0.05}`. Measured on a 3090 with `sage_hub`; see the `minimax-h3` skill's `references/quality-and-speed.md` |

The VAEs are the piece worth calling out. They hold roughly 3GiB, are used only to
encode references and decode the result, and group offloading them is worse than useless
Expand Down
116 changes: 113 additions & 3 deletions docs/RELEASING.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,115 @@ notes from commits at tag time (see below). This section is a scratch pad
for items a branch's author wants the next release note to name; clear it
when a release ships.

### 0.14.0

<!-- Drafted from v0.13.0..develop (7b72a7de). Paste into the GitHub release body once the tag has published: gh release edit v0.14.0 --notes-file ... -->

A release about what a run is and what it will cost. Gallery files say
whether they are a final or an intermediate, anything can carry a note, and
runs copy between workspaces. The cost estimate scales with steps, canvas
and frames instead of quoting a flat figure that was up to 12x off, and a
queued job waits for host RAM rather than being OOM-killed.

**Roles and notes** (#855-#858)

- Gallery files are tagged final or intermediate (inferred when a workflow
doesn't say), and the gallery opens on finals. A run lists what it was
Made from.
- A file a later run in the workspace read, through `output:` or an asset
kept from it, lists as intermediate, so a project's shots, narration and
score step aside once the cut that uses them exists. A step that sets
`result.role: "final"` stays final. The `script-to-video` and
`series-episodes` skills have ingredient workflows declare
`"role": "intermediate"` (#928).
- Runs, files, assets and workspaces take an optional note: `note` on
`run_workflow`, `upload_asset` and `keep_output`, and MCP `set_note`.
Every listing carries notes; the web UI edits them in place as Markdown.
- Starring a file keeps it. A rerun records the job it reran (`rerun_of`).
- `copy_to_workspace` copies whole runs, with manifests, and asset-library
entries into another workspace (#853, #859, #860).

**Cost and host RAM** (#866, #869, #881)

- The estimate scales as steps x canvas x frames against the template's
defaults (`basis: "derived"`, `scaled` names the axes). Any other driver
that moves keeps the figure and sets `low_confidence`; H3 adds weights,
LoRA, attention and cache as drivers. On the H3 matrix it lands within
30% (B3->L5: 32.3 min quoted, 29.5 run), and an inline copy prices
within 2% of its template (#906-#908, #915, #916, #921).
- A queued job is held at dispatch while its projected host-RAM peak won't
fit, and stays `queued` with `waiting_for` and a `queue_wait` event. It
is never held with nothing else running. On a 125 GB, 2x 3090 host a
second int8 H3 job waited ("needs ~87 GB, ~57 GB free") while two int4
jobs ran at once (#909, #910).
- An OOM kill now takes the newest dispatch, not the earlier job (#881).

**Timing and caches** (#867, #868, #905)

- Manifest entries carry per-step timing (`first_pass_s`, `pass_s`) and
step-cache skip counts (`cache_stats`). A `first_pass_slow` warning names
a warm pipeline's slow first pass (#924: 202 s against 37 s/pass).
- Validate warns on acceleration that can't pay off or won't run: a cache
on a short schedule or with no transformer to attach to, `fullgraph`
with a cache, a CUDA-only attention backend, and an unbraced type name
under a `*_dtype` key (#887, #904, #926).
- The plan fingerprint and step cache key only on what changes the output,
so metadata edits and `12.0` vs `12` no longer miss the cache (#905,
#911).
- Every H3 template exposes `attention_backend` and `cache` (#883, #884).
MagCache calibration now reports its ratios on H3 (#927); with them,
MagCache 0.06 ran the cinema final in 18.1 min, 39% under L5 (#875).

**H3 quality ramp** (#861, #862, #882)

- The `minimax-h3` skill has measured draft -> final rungs. TV: L1 (~5.4
min) -> L7 (~7.2 min), changing only `weights_dtype`. Cinema: B3 (~12.9
min) -> L5 (~29.5 min), changing only steps. Staging carries at the same
seed; the skill says what to approve at each tier.
- A proven LoRA catalog entry decides which H3 step an adapter fits,
ahead of its filename (#870, #888).

**Compare, sweeps and check-script** (#871, #872, #919-#925)

- `compare_outputs` puts 2-4 outputs side by side with PSNR/SSIM; the web
UI's Compare page plays them in sync and lists the differing arguments.
The workspaces guide has a Running a sweep section.
- check-script refuses a wrong shot name at validate, adds
`unscripted_speech` and `speech_not_transcribed`, and levels its input
so the verdict no longer depends on loudness.

**Web UI**

- A running-jobs chip, a tab title that tracks the running job, measured
run times on cards, drag-and-drop upload, and keyboard culling in the
gallery.

**Fixes**

- `cancel_download` stops queued files and shows `cancel_requested`
(#899); a model download records `refs/main`, so it reads complete.
`cancel_job` takes effect during a load (#892).
- A kept asset keeps its lineage and its job survives the workspace's
deletion (#902, #913, #917, #918).
- `get_gallery_metadata` measures an image, and `include_workflow=false`
omits the embedded workflow (#922).
- An inline copy of a list-driven template is no longer quoted the
template's default-length price unscaled.
- The host-RAM gate no longer under-projects a list-driven run whose peak
grows with the list.
- Whole-module `compile: {fullgraph: true}` no longer fails at the first
denoise step after the timing hook.
- FasterCache runs on FLUX.1-dev (#897); denoise time on mps is no longer
billed to decode (#896).
- The gallery's sort no longer stalls each keystroke on a large library.

**Dependencies and deploy**

- No dependency floors changed.
- `scripts/dw-serve.service` sets `OOMPolicy=continue`, so one worker's
OOM kill no longer stops the server. Reinstall the unit to pick it up.
- The jobs history gains a `memory_key` column, migrated on start.

### 0.13.0

<!-- Drafted from v0.12.0..develop. Paste into the GitHub release body once the tag has published: gh release edit v0.13.0 --notes-file ... -->
Expand Down Expand Up @@ -140,9 +249,10 @@ hallucinations as lyrics.

**Fixes**

- The inherited cost estimate is withheld when an inline workflow runs
more steps or frames than the template it came from, instead of
quoting the template's number (#821: a 7x under-quote).
- The inherited cost estimate is re-priced linearly when an inline
workflow runs more steps or frames than the template it came from,
instead of quoting the template's number (#821: a 7x under-quote); the
estimate carries `scaled` (why) and `low_confidence` (#851).
- `assess_output` shot findings carry `index` and `start_frame`, so a
repeated shot name is unambiguous (#835).
- `dialogue-short` and `music-video` expose `match_levels_dbfs` (#836).
Expand Down
Loading
Loading