Skip to content

[agents doc] notes on when to create new blocksets for checkpoint variant#14208

Open
yiyixuxu wants to merge 6 commits into
mainfrom
modular-doc-checkpoint-variants
Open

[agents doc] notes on when to create new blocksets for checkpoint variant#14208
yiyixuxu wants to merge 6 commits into
mainfrom
modular-doc-checkpoint-variants

Conversation

@yiyixuxu

Copy link
Copy Markdown
Collaborator

Keeping seeing modular PRs not creating separate blocksets for distilled checkpoints, so adding notes on this

#14083
#14177

Contributors keep handling checkpoint variants (distilled/turbo) with a
ConfigSpec flag and an if-branch inside a shared block — the standard-pipeline
mindset ported into modular. The doc never said what to do instead: nothing
routed on 'behavior differs per checkpoint', and flux2-klein was only cited
as a flatness example, not as the variant pattern it embodies.

Adds:
- a per-checkpoint branch in the block types decision tree
- 'Key pattern: Checkpoint variants' — separate assembly when the variant
  changes the contract (inputs/components/blocks), ConfigSpec only when it
  changes a value; flux2-klein as reference; the config-flag anti-pattern
- gotcha #9 for the if-components.config.<variant_flag> smell

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actions github-actions Bot added the size/S PR with diff < 50 LOC label Jul 16, 2026
yiyixuxu and others added 4 commits July 17, 2026 00:12
…pos)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ponents/config, never inputs)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The config-flag branch is what standard pipelines are forced into; modular's
pitch is that the loaded pipeline describes exactly its checkpoint. Lead with
the payoff (clean per-variant contract, automatic routing, input-surface
expressiveness) and present the flag branch as tolerable-but-lossy rather
than forbidden.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ckset unless literally the same

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@yiyixuxu
yiyixuxu requested review from dg845, sayakpaul and stevhliu July 17, 2026 02:22
…alize only by removing branches/duplicates

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

@sayakpaul sayakpaul left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. Nothing major from my end.

Comment thread .ai/modular.md
NO -> ConditionalPipelineBlocks (custom select_block method)

Is it a different CHECKPOINT (distilled / turbo / a variant with its own schedule)?
YES -> its own blocks assembly, unless it behaves literally the same

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"its own block assembly" reads a bit confusing to me. Possible reword?

Comment thread .ai/modular.md
3. `before_denoise.py` -- Timesteps, latent prep, noise setup. Each logical operation = one block
4. `denoise.py` -- The hardest. Convert guidance to guider abstraction

## Growing a pipeline: one workflow at a time

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Possible to also link an example here?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/S PR with diff < 50 LOC

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants