Nodes/Continuity Director/CD · Migrate Payload
ComfyUI Node

CD · Migrate Payload

Move old payloads to a new schema version without breaking their hash

By xinjian0101·Created 3 months ago·Updated 2 months ago· 0
CD · Migrate Payload
    • migrated_json
    • changes_json
    • changed
    payload_json{}
    target_version1.0

    Packages carry a schema version, and versions change. When Continuity Director bumps a schema label - say a payload recorded as continuity-director/[email protected] needs to become @1.0 - the old record's hash stops matching, and re-hashing by hand is a recipe for a silent mismatch. CDMigratePayload is the node that does the migration for you: it relabels the schema, records exactly what changed, and regenerates the integrity hash so the migrated payload verifies cleanly.

    It's from Continuity Director, a 20-node pack for repeatable AI video production, and it's part of the reliability layer that keeps the pack's own records honest across its own version bumps - something a young, fast-moving pack (currently v0.8.42 preview) actually needs.

    What you feed it

    • payload_json - any Continuity Director JSON payload with a schema label and a hash.
    • target_version - the version you want to migrate to, in dot notation like 1.0 or 1.0.1. The default is 1.0.

    How it works

    The node parses the schema label into a prefix and a version. If the current version already matches the target, it's a no-op - the payload passes through unchanged and changed comes back false. Otherwise it updates the schema label to the target, records the change (path $.schema, from-version, to-version) in a changes list, adds a migration marker, and - the important part - recomputes the SHA-256 hash over the new content so the result is a valid, verifiable payload rather than a broken one.

    Outputs: migrated_json (the new payload), changes_json (what was changed, as a list), and changed (boolean - false means "already at that version, nothing to do"). The target_version field is validated against a strict numeric pattern, so garbage like "latest" fails fast with a clear message instead of producing a mangled schema label.

    Installing it

    Continuity Director is a clean install with nothing heavy: no model downloads, no API keys, and requirements.txt is literally a comment saying "No mandatory third-party Python dependencies." Pure standard library. Search "Continuity Director" in ComfyUI Manager and restart, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/xinjian0101/continuity-director.git ComfyUI-ContinuityDirector
    

    Restart ComfyUI - nodes show up as CD · ..., with the Continuity Director sidebar's "Add starter chain" scaffold. Update with git pull.

    The honest take

    This is a niche node and it knows it - you'll reach for it only when an upgrade changes a schema version and you have archived payloads you want to keep verifiable. Which is also the caution: it's a label migration, not a data migration. It updates the schema version string and the hash; it does not reshape fields or convert data between incompatible layouts. If a future version renames or restructures fields, relabeling won't rescue those payloads. Use it to keep version markers and hashes consistent across your archives, and treat real structural upgrades as their own project. For its narrow job - "make this old record verify as new" - it's exactly right.

    CategoryContinuity Director/07 Reliability

    Inputs (2)

    NameTypeDefaultDescription
    payload_jsonSTRING{}
    target_versionSTRING1.0

    Outputs (3)

    NameTypeDescription
    migrated_jsonSTRING
    changes_jsonSTRING
    changedBOOLEAN