Skip to content

Commit fe1eba2

Browse files
committed
fix(skills): name what to refresh in the custom-node validation slice
1 parent 05e40ef commit fe1eba2

3 files changed

Lines changed: 16 additions & 3 deletions

File tree

‎comfy_cli/skills/comfy-custom-nodes-validation/SKILL.md‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@ description: Packaged fallback for staged validation of generated custom-node co
77

88
Validate in stages: static contract and Python parse; import inside ComfyUI's own Python environment; restart; discovery in `/object_info`; then one small workflow execution. filesystem presence is never proof that a node loaded. After a repair, restart and rediscover. Do not promise hot reload.
99

10-
Pin local catalog checks with `--where local`. If the result reports `object_info_stale`, restart
11-
ComfyUI and refresh before treating the catalog as proof of what loaded.
10+
Pin local catalog checks with `--where local`. If the result reports `object_info_stale`, it came
11+
from a cache: restart ComfyUI and re-run that command, and treat the catalog as proof of what loaded
12+
only once the warning is gone. `comfy nodes refresh` re-pulls annotations, not `/object_info`, and a
13+
browser reload changes neither.
1214

1315
Check one registration form, unique non-empty node/input/output ids, declared callable existence, and report dependency/filesystem/network behavior. A static scan cannot prove dynamic behavior is absent.

‎tests/comfy_cli/skills/fixtures/custom_node_context_budget.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"invocation": { "bytes": 1016, "tokens": 145 },
1010
"ecosystem-reference": { "bytes": 807, "tokens": 102 },
1111
"api-schema": { "bytes": 1143, "tokens": 137 },
12-
"validation": { "bytes": 826, "tokens": 109 },
12+
"validation": { "bytes": 987, "tokens": 135 },
1313
"dependencies-capabilities": { "bytes": 830, "tokens": 102 },
1414
"troubleshooting": { "bytes": 651, "tokens": 82 },
1515
"packaging-publishing": { "bytes": 1566, "tokens": 202 },

‎tests/comfy_cli/skills/test_installer.py‎

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,17 @@ def test_custom_node_skill_snapshot_keeps_runtime_contract():
222222
assert needle in corpus
223223

224224

225+
def test_custom_node_validation_names_what_to_refresh():
226+
"""A bare "restart ComfyUI and refresh" reads as "reload the browser tab"
227+
or "run `comfy nodes refresh`"; neither re-reads `/object_info`."""
228+
text = " ".join(skill_content("comfy-custom-nodes-validation").split())
229+
assert not re.search(r"(?i)restart(ed)?,? (comfyui )?(and )?refresh\b", text)
230+
assert not re.search(r"(?i)(refresh|reload)(ing)? (the |your )?(comfyui )?(browser|page|tab)\b", text)
231+
assert "restart ComfyUI and re-run that command" in text
232+
assert "`comfy nodes refresh` re-pulls annotations, not `/object_info`" in text
233+
assert "browser reload changes neither" in text
234+
235+
225236
def test_custom_node_search_routes_have_positive_and_negative_controls():
226237
"""A search cue without an avoid control teaches indiscriminate search."""
227238
text = skill_content("comfy-custom-nodes-search")

0 commit comments

Comments
 (0)