Skip to content

Update the README and add architecture documentation - #7

Merged
BobsBlazed merged 1 commit into
mainfrom
claude/node-update-improve-2fygeb
Aug 12, 2026
Merged

BobsBlazed merged 1 commit into
mainfrom
claude/node-update-improve-2fygeb

Conversation

@BobsBlazed

Copy link
Copy Markdown
Owner

Documentation only — no code changes.

Why

The README had drifted behind three releases. It described the project as two nodes for SDXL and FLUX, told readers to "choose either SDXL or FLUX", showed an info example predating the architecture line added in 1.2.0, and stated the wrong licence (GPL-3.0; the repo is Apache-2.0).

README

  • Leads with the three nodes and a table of when to use each, instead of bolting the Universal loader onto a two-node description. Previously the Universal bullet read "A third loader covers everything else" while the line above still said "Dual Model Support".
  • Refreshed info example — a real one, including the architecture: QwenImage transformer_blocks[60] line, with every column explained.
  • New Troubleshooting section covering what the node can now actually report: nodes missing from the menu, the mismatch warning, a LoRA matching nothing, a high Other Tensors count, and divergence from the built-in LoraLoader.
  • Notes the SDXL node also covers SD1.5 and SD2 — true since the classifier is UNet-shaped, but never stated.
  • Separates verified from expected-to-work. The 1.2.0 notes implied one list of supported architectures. SD1.5, SDXL, SD3, FLUX (full and pruned), AuraFlow, PixArt, LTX-Video, Lumina, Qwen-Image and Wan were exercised against real ComfyUI key sets; HiDream, Chroma, Mochi, HunyuanVideo and Cosmos were not, and are now labelled as such rather than listed alongside.
  • Licence corrected to Apache-2.0.
  • Changelog moved to CHANGELOG.md — it was 90 of the README's 250 lines and growing one section per release.

docs/ARCHITECTURE.md (new)

The design knowledge behind the current implementation, so it doesn't have to be re-derived:

  • Why classification runs on the canonical target key rather than the LoRA's own names, and the two consequences — (key, offset) tuples for fused weights (534 of them in a real FLUX key map), and model/CLIP routing without name guessing.
  • Why stack matching uses the raw dotted key and not the normalised one, with the SDXL nesting case that motivated it, plus why the FLUX/SDXL classifiers additionally anchor to the start of the path.
  • How runtime stack discovery and the depth axis work, including negative-index resolution for SD3's joint_blocks.-1.
  • How to add an architecture or a whole family — and the widget-order compatibility contract, which is the easiest thing here to break silently.

Verification

Every factual claim in both documents was checked against the code rather than written from memory: both FLUX block-range tables, the Universal and SDXL block lists, the preset names, all documented stack names against STACK_ORDER, the test count, and all internal links and anchors.

OK  README FLUX double_blocks ranges match code
OK  README FLUX single_blocks ranges match code
OK  Universal block table matches code
OK  all documented stack names present in STACK_ORDER
OK  all internal links and anchors resolve

That check is what caught the licence error and the over-broad architecture list.

Note on versioning

No version bump — publish.yml only fires on pyproject.toml changes, so this won't republish to the registry. The registry keeps 1.2.1's README snapshot until the next code release. Happy to bump to 1.2.2 if you'd rather the registry listing update now.


Generated by Claude Code

The README still described the project as two nodes for SDXL and FLUX, told
readers to "choose either", and showed an info example predating the
architecture line. It also stated the wrong licence.

README:

- Lead with the three nodes and when to use each, rather than bolting the
  Universal loader onto a two-node description.
- Refresh the info example to a real one, including the architecture/stacks
  line, and explain every column.
- Add a Troubleshooting section covering the cases the node can now report:
  nodes missing from the menu, the mismatch warning, a LoRA that matches
  nothing, a high Other Tensors count, and divergence from the built-in
  LoraLoader.
- Note that the SDXL node also covers SD1.5 and SD2.
- Separate architectures actually verified from those supported by the same
  mechanism but not exercised, rather than implying one list.
- Correct the licence to Apache-2.0; the README claimed GPL-3.0.
- Move the changelog to CHANGELOG.md, which was 90 of the README's 250 lines.

docs/ARCHITECTURE.md is new and covers why classification runs on the canonical
target key rather than the LoRA's own names, why stack matching uses the raw
dotted key instead of the normalised one, how runtime stack discovery and the
depth axis work, and how to add an architecture or a family -- including the
widget-order compatibility contract that is easy to break silently.

Every factual claim in both documents was checked against the code: the FLUX
and SDXL block range tables, the Universal block list, the preset names, the
documented stack names against STACK_ORDER, the test count, and all internal
links and anchors.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TUT2wQ8UsjNgosRWu6jvpj
@BobsBlazed
BobsBlazed marked this pull request as ready for review August 12, 2026 02:21
@BobsBlazed
BobsBlazed merged commit 02a47d2 into main Aug 12, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants