Files
exportAnything-ComfyUI-Diff…/GITHUB_RELEASE_CHECKLIST.md
T

4.5 KiB

GitHub and Comfy Registry Release Checklist

Use this checklist from the standalone ComfyUI-DiffusionGemmaPromptBuilder repository before pushing or publishing a release.

Product Boundary

  • Keep the stable Director Assistant surface at seven exports:
    • five-node core: Model Loader, Context Hub, Target Profile, CoT Generator, JSON Splitter
    • two companions: H3 Reference Context and Generation Gate
  • Keep the two SplatStage planners visibly experimental. Their mapping ids stay compatible, their display names end in (Experimental), and their category is prompt/diffusiongemma/experimental-motion-planning.
  • Confirm NODE_CLASS_MAPPINGS and NODE_DISPLAY_NAME_MAPPINGS contain the same nine ids.
  • Treat ltx_reframe.py and the reframe workflows as unexported prototypes. Do not describe them as installed nodes unless the package entry point and frontend are deliberately restored together.
  • Do not bundle model weights or generated tensor dumps. The NVFP4 bridge remains source code in nodes.py.

Repository Preflight

  1. Run git rev-parse --show-toplevel and confirm it resolves to this package directory, not the parent ComfyUI checkout.
  2. Confirm origin is https://github.com/exportAnything/ComfyUI-DiffusionGemmaPromptBuilder and that the branch is based on the public repository history.
  3. Confirm the worktree is clean and the intended release commit is pushed.
  4. Confirm the repository URLs in pyproject.toml are current.
  5. Keep [tool.comfy].PublisherId exactly exportanything; this is the immutable Registry id, while exportAnything is its display name.
  6. Confirm project.version is newer than the latest Registry version. Version 0.1.0 is already published, so this release begins at 0.2.0.
  7. Confirm requires-comfyui = ">=0.30.1" and record ComfyUI 0.30.1 as the tested baseline. The Registry field is a compatibility range, not a test-report field.
  8. Confirm LICENSE and the Python copyright headers match the intended release policy.

Automated Gates

Run the same three gates enforced by .github/workflows/ci.yml:

python -m unittest discover -s tests -p "test_*.py" -v
python scripts/smoke_prompt_builder.py
node --check web/js/model_loader.js
node --test tests/*.mjs
  • The unit suite must validate the exact nine-node surface, the Director/experimental category split, both bundled SplatStage schemas, and retained reframe helpers.
  • The readiness/schema smoke must finish with Prompt Builder readiness/schema smoke passed.
  • The JavaScript suite must exercise the shipped model_loader.js. No test may import the retired ltx_reframe_layout.js.
  • Require all three CI jobs to pass on the release commit.

Manual Runtime Gates

  1. Run the NVFP4 proof gate on a CUDA workstation with the real model:

    python proof_gates.py --model-path C:\ComfyUI\models\LLM\diffusiongemma-26B-A4B-it-NVFP4
    
  2. Fresh-install the repository in a clean ComfyUI 0.30.1 custom-nodes folder and confirm all nine nodes appear: seven Director nodes at the stable category and two SplatStage planners only under the experimental motion-planning category.

  3. Copy examples/assets/character_motion_transfer to ComfyUI/input/character_motion_transfer and load examples/07_ltx23_character_motion_transfer.json.

  4. Load the MiniMax H3 T2VA and Ref2VA examples and confirm the Generation Gate blocks invalid or empty prompt packets.

  5. Treat longer experimental SplatStage and reframe workflows as separate opt-in validation, not as evidence for the stable Director compatibility promise.

Files Tracked on GitHub

  • Package entry point and source: __init__.py, nodes.py, ltx_reframe.py, proof_gates.py
  • Metadata and policy: README.md, LICENSE, requirements.txt, pyproject.toml, .gitignore, .comfyignore, this checklist
  • Runtime contracts: schemas/, web/, scripts/
  • Verification: tests/, .github/workflows/ci.yml
  • Publishing: .github/workflows/publish_action.yml
  • Documentation, current examples, and GitHub demo assets: docs/, examples/

Registry Archive

  • Keep .github/, docs/, tests/, caches, temporary files, and large demo video/GIF files out of the Registry archive through .comfyignore.
  • Confirm both SplatStage schemas remain in the Registry archive because the experimental planners load them at runtime.
  • Inspect the archive before publishing and confirm it contains no model weights, local paths, logs, caches, or generated outputs.
  • Publish only after the GitHub release commit and version metadata agree.