# 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`: ```text 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: ```text 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.