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

70 lines
4.5 KiB
Markdown

# 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.