For an agent

This pack is two ComfyUI nodes. SG Publish sends a generation to Flow Production Tracking as a Version with the model, prompt, seed, sampler and workflow that produced it. SG Load reads a Version's media back into a graph. Nothing here makes images.

Run this first

<comfy-python> tools/doctor.py            # the interpreter, the paths, the profile
<comfy-python> tools/doctor.py --site     # also the connection, the fields, the storage, the links

It prints one line per thing a publish needs, with the fix appended where it fails. It exits non-zero on anything that would stop a publish.

Which install this is

filethe Registry packthe repo checkout
__init__.py, src/, web/, example_workflows/yesyes
README.md, INSTALL.md, DESIGN.md, CLAUDE.md, AGENTS.mdyesyes
.claude/commands/, tools/doctor.pyyesyes
tests/, the rest of tools/, site/, RELEASE.mdnoyes

Manager updates the pack. git pull updates the checkout. Changing the code needs the checkout.

Documents

jobread
What the nodes do, and a first runREADME.md
A local file, an interpreter, a command, a profile key, a fixINSTALL.md
Changing this codeCLAUDE.md, then DESIGN.md

Procedures

.claude/commands/ has four procedures. They are plain markdown with no Claude Code in them. Follow the file whether or not your harness has slash commands.

filedoesalso needs
setup.mda first run, from the connection to the example workflownothing
inspect-site.mdmeasure one project and write profile.local.jsonthe sg-groundtruth checkout
track-workflow.mdput the nodes into a graph the operator already usesnothing
task.mddo a job against the API, grounded in the corpusthe sg-groundtruth checkout

The profile says where to clone sg-groundtruth.

Command lines

commandneeds
<comfy-python> tools/doctor.py [--site]nothing without --site
<comfy-python> src/comfyui_sg/instrument.py <wf.json>no site, no profile, no torch
PYTHONPATH=src <comfy-python> -m comfyui_sg.fields.env.local
PYTHONPATH=src <comfy-python> -m comfyui_sg.seed <file> ....env.local, profile.local.json
  • PYTHONPATH=src is required for every -m comfyui_sg.*. The package is under src/ and nothing installs it.
  • instrument.py and doctor.py are run as files. -m would import the package __init__ and therefore torch.
  • None of these reads Settings. They read .env.local in the pack directory, or the same three keys in the environment.

Positional order

  • widgets_values is positional. Append a widget, never insert or remove one. The order is declared once, in widgets.py.
  • Outputs are positional. The order in RETURN_NAMES is frozen from the first release. Append only.

The source is on GitHub.