Repository navigation
Conversation
…nsionless asset_name Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… minimax-h3, and series-episodes skills
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…nd Klein compile tables Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e key, not camera_move Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… images confined at validate - The clip carries a silent mono 48 kHz track of its own length instead of none: assemble-and-score's world step (resample_audio on the joined cut) refused a video with no track (C-F645) - 'images' is a media argument, so each entry that names a file is confined at validate_workflow like concat_videos' 'videos' (SE-F060) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ent or mono-duplication warning Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Ran static, dolly in, dolly out, truck left, crane up and orbit on H3, LTX-2.5 and Kandinsky 6 at seed 42 on one fixed subject, judged each clip by its frames, and recorded the 18 verdicts: the cinematography skill's table, a measured column in each compile-*.md move table, and the job ids and frame evidence in docs/proposals/audits/2026-11-higgsfield/move-trial.md. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Opt-in SHA-256 over the decoded samples (native dtype, interleaved, little-endian, trimmed to the container duration) in probe_media and _AudioAccumulator, with sample_format and frames; the gallery_metadata route always asks for it, list_gallery and the save-time check never do. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…re all silent_by_design Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… chain probe Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… uses audio_qc's Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…exture_bands Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… docs Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…d encode was E(noisy) E(clean) + (E(noisy) - E(clean)) under one encode seed is E(noisy), so the clean encode was a wasted video-VAE pass per guide per segment and the docstrings described arithmetic the code did not do. Same latents, one encode. Tests, guide, map row and the design record say so. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…d join checks bounds first Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…lock never imports its importer `h3_anchor_steps` read `channel_statistics` and `match_channel_statistics` from `h3_anchor`, which lazily imports the block in `anchor_block()`: grimp counts the lazy edge, so the pair was an import cycle. The arithmetic now lives in `h3_anchor_stats.py` (torch only), `h3_anchor` re-exports it and the block imports from there - the layering `h3_mask_cells` set. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…as a Pipeline mixin pipeline.py had grown past the 1,100-line ceiling. `_with_held_audio`, `_with_guides`, `_with_guide_noise`, `_with_latent_anchor`, `_with_mask` and `_check_refine`, with `latent_anchor_source`, are one group - the per-call H3 argument checks - and now sit in `H3Arguments`, which `Pipeline` mixes in, so `Pipeline._with_guides` and the rest are still named from there and the log lines are unchanged. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…n_chain hands its result to _stitched chain.py had passed the 1,100-line ceiling and run_chain the 150-line function limit. `SegmentSpill`, `SegmentedFrames`, `SavedFrames` and the spilled-frames replay are one group - a chain's segments on disk - and now live in `chain_spill.py`, re-exported from `chain` where result.py, previous_results.py and assess.py import them. The AudioVideo a chain hands back is built by `_stitched`, taking the tail off `run_chain`. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
flow.ts was over the 600-line ceiling and chainSummary at complexity 16. The chain group (ChainSummary, the engine defaults, the summary) is its own module, and the summary is split into a block reader, one helper per continuity mode, the seam label and the count, none above 10. Its tests move with it and run against chainSummary directly; flow.test.ts keeps the one that the node carries the summary. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
FlowView.svelte was over the 600-line ceiling. The chained step's segment chips - the summary line, the chips, the seams and the anchor tag, with the segment-state rule and their styles - are a child drawn in the SVG namespace inside the node's <g>, so the DOM FlowView.test.ts reads is unchanged. The design rule allows --live in it, as in FlowView. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
checkWorkspaceExists refetches the listing once for a name the cache lacks. The catch wiped a listing that had landed and cleared `listed`, so a transient failure on that refetch emptied the sidebar and the missing name was never redirected. A failed refetch now keeps the names and calls the name missing against them; only the first fetch failing falls back to the default alone. The test drives applyRouteWorkspace directly: the routers earlier tests imported still listen on hashchange and would take the rejection. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…sembly to _assemble_loaded load_component had passed the 150-line function limit. Registering the block configs and reused components, pulling a modular pipeline's weights, dropping the declared-gone blocks and inserting the MiniMax-H3 blocks is one step - finishing a loaded component before placement - and is now `_assemble_loaded`, in the same module, so every patch target stays put. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…e through _provenance gallery_metadata had passed the 150-line function limit. Where a name lives and which run made it - the asset branch with its kept provenance, the output branch with the run manifest and listing annotations - is now `_provenance`, in the same module; the route body is the probe and the response. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…and chain_spill Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> # Conflicts: # docs/ARCHITECTURE.md
Three shipped with #1173/#1174/#1160 (h3_anchor, h3_anchor_steps, texture_bands) and three are the release-prep splits that cleared the size, length and cycle ratchets (h3_anchor_stats, pipeline_h3, chain_spill). Every other metric is at or under its baseline. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…tch fix Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
) An asset: or output: reference in a urls list resolves to a local path before the task runs, and gather_images sent every entry to safe_get, which refused it as an empty-scheme URL - after validate_workflow had passed. An entry with no scheme now loads through fetch_image under the same read policy as a glob match; anything with a scheme still goes to safe_get, so file:// stays refused. gather_videos already did this. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…efs #1201) The per-step reporting wrapper accepted only iterable/total, so Marigold's progress_bar(..., leave=, desc=) raised a TypeError before its first step. Extra keywords now reach the wrapped bar. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…refs #1201) prs-eth/marigold-normals-lcm-v1-0 never existed (the hub answers 401). v1-1 is the current Marigold normals release and ships fp16 safetensors, so the template's variant still applies. The template's recorded pipeline key moves with the model name. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ion (refs #1201) The pre-flight size lookup swallowed RepositoryNotFoundError as "unknown", so a misspelled model_name validated clean and failed mid-run. The entry now carries not_found: true and /api/validate answers valid: false with an error at model_name. An offline or timed-out lookup stays unknown. The suite's hub lookups are stubbed offline by an autouse fixture: server tests validating placeholder names were asking the real hub, which now counts its answer. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…efs #1201) MarigoldDepthOutput and MarigoldNormalsOutput carry their result in a numpy `prediction`, which no output extractor matched, so the whole object reached the save as one artifact and image/png refused it. A `prediction` field now renders through diffusers' own MarigoldImageProcessor - depth under its Spectral colour map, normals as RGB - one image per input. The visualiser is chosen by output type, not channel count: an intrinsics prediction is also three channels, in [0, 1], and stays as it was. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
#1201) MMAudioVAE builds its mel filterbank in __init__ from torch.linspace. transformers' meta-init context (meta_device_safe_creation_ops) swaps the process-global torch.linspace for one that defaults to CPU, so when that patch was live, the constructor - run under torch.device("meta") - mixed a CPU tensor with meta ones and the worker failed with "Tensor on device cpu is not on the expected device meta!". init_empty_weights(include_buffers= False) keeps the parameters empty and builds the small buffers for real on CPU; the strict assign-load replaces them all. Verified loading and decoding K6's real decoder on MPS (mini-ai) and CUDA (lem). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The worker already emits download_progress events while a load pulls a repo, but the job page read only phase events, so a long download showed "loading <repo>" with no sign it was moving. A download event newer than the step's latest phase now renders as "downloading <repo>: 4.00 GB, 38.0 MB/s", or "no bytes for 45s" once bytes stop, matching the server's phase_detail. The next phase replaces it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
37aed91 put validate_workflow at 156 lines: its plan annotations move to _annotate_plan. 848f9a1 added a dotted dw. patch target: the gather test patches the module object instead. The signature-typo e2e validated model_name 'x', which the hub not-found check now refuses as it should; it passes sizes=false, since the hub is not what it tests. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release PR for 0.19.0: develop at 15a5b2e, CI green (run 41648305927).
Notes are drafted in
docs/RELEASING.mdunder 0.19.0; paste them into the release body after the tag publishes. The 0.18.0 draft there was never pasted into v0.18.0 either.Review findings fixed in this PR's tail
guide_noise's paired encode wasE(noisy)under one seed: now one encode per guide, same latents, docs corrected (#1166 stage 2: H3 fixed guide noise (guide_noise, paired encode) #1174).modulesbaseline 237 -> 243.Security: the full diff was reviewed; no findings. GHSA-x44h (latent_anchor paths) and GHSA-fc77 (stills_to_video images) are both fixed in this range; set their patched version to 0.19.0 and publish after the tag.
Before merge:
scripts/preflight.shon a GPU box (the real-model integration tests).After merge:
scripts/release.sh 0.19.0 --next 0.20.0-alpha.1, paste the notes, deploy lem and mini-ai.🤖 Generated with Claude Code