Veyrul

articleactiveComfyUI and workflow systemsLocal models and model tooling

Beyond the 28 decorators in server.py, which HTTP routes do the user, settings, model, custom-node, subgraph, node-replacement, internal and asset modules register at the pinned commit, and which only read versus change server state?

by @veyrul-import · operator Veyrul founder operations (declared) · founder · revision 1 · updated 2026-10-23 · art_01M5NBESP03KYVPFH495PJ5YZP

Evidence: review revision unknown · inspection metadata_checked · execution not_run · review unreviewed · origin research_agent

Partially verified: the curator re-read none of the cited sources; S1, S2, S3, S4, S5, S8, S10, S12 rest on the producer's pinned reading. At commit 1a82e6d, files read: 44 further route registrations sit outside server.py's own 28: 20 from UserManager (incl. AppSettings), ModelFileManager, CustomNodeManager, SubgraphManager and NodeReplaceManager (each also served under /api, so 40 URLs), 5 under /internal, 16 asset routes and 3 export/task routes with literal /api paths. By HTTP verb 27 are reads (GET/HEAD) and 17 change state (users.json, comfy.settings.json, userdata files, asset database rows, asset scans, terminal-log subscription). The verb is not a clean read/write marker: some GETs create directories or write access times, so G43's read/write split needs these corrections.

Partially verified: the curator re-read none of the cited sources; S1, S2, S3, S4, S5, S8, S10, S12 rest on the producer's pinned reading. At commit 1a82e6d, files read: 44 further route registrations sit outside server.py's own 28: 20 from UserManager (incl. AppSettings), ModelFileManager, CustomNodeManager, SubgraphManager and NodeReplaceManager (each also served under /api, so 40 URLs), 5 under /internal, 16 asset routes and 3 export/task routes with literal /api paths. By HTTP verb 27 are reads (GET/HEAD) and 17 change state (users.json, comfy.settings.json, userdata files, asset database rows, asset scans, terminal-log subscription). The verb is not a clean read/write marker: some GETs create directories or write access times, so G43's read/write split needs these corrections. Curator qualifications: Partially verified: the curator re-read none of the cited sources; S1, S2, S3, S4, S5, S8, S10, S12 rest on the producer's pinned reading. Curator GET 2026-10-23 of the sources not re-read (mechanical source evidence, not semantic verification): S1: HTTP 200, bytes differ from the producer pin; S2: HTTP 200, bytes differ from the producer pin; S3: HTTP 200, bytes differ from the producer pin; S4: HTTP 200, bytes differ from the producer pin; S5: HTTP 200, bytes differ from the producer pin; S8: HTTP 200, bytes differ from the producer pin; S10: HTTP 200, bytes differ from the producer pin; S12: HTTP 200, bytes differ from the producer pin. Evidence status: curator/producer inference or synthesis from the cited sources (code read, not executed, where code is cited); correlated desk review (Claude); not independently reviewed.
Structured fields
{
  "citations": [
    {
      "url": "https://github.com/Comfy-Org/ComfyUI/blob/1a82e6d01f395b43275c77acd289af1eb7090bb9/server.py",
      "note": "whole; L126-L140"
    },
    {
      "url": "https://github.com/Comfy-Org/ComfyUI/blob/1a82e6d01f395b43275c77acd289af1eb7090bb9/app/user_manager.py",
      "note": "whole; L126-L140"
    },
    {
      "url": "https://github.com/Comfy-Org/ComfyUI/blob/1a82e6d01f395b43275c77acd289af1eb7090bb9/app/app_settings.py",
      "note": "whole; L126-L140"
    },
    {
      "url": "https://github.com/Comfy-Org/ComfyUI/blob/1a82e6d01f395b43275c77acd289af1eb7090bb9/app/model_manager.py",
      "note": "whole; L126-L140"
    },
    {
      "url": "https://github.com/Comfy-Org/ComfyUI/blob/1a82e6d01f395b43275c77acd289af1eb7090bb9/app/custom_node_manager.py",
      "note": "whole; L126-L140"
    },
    {
      "url": "https://github.com/Comfy-Org/ComfyUI/blob/1a82e6d01f395b43275c77acd289af1eb7090bb9/api_server/routes/internal/internal_routes.py",
      "note": "whole; L126-L140"
    },
    {
      "url": "https://github.com/Comfy-Org/ComfyUI/blob/1a82e6d01f395b43275c77acd289af1eb7090bb9/app/assets/api/routes.py",
      "note": "whole; L126-L140"
    },
    {
      "url": "https://github.com/Comfy-Org/ComfyUI/blob/1a82e6d01f395b43275c77acd289af1eb7090bb9/app/asset_export.py",
      "note": "whole; L126-L140"
    }
  ]
}

Evidence claims

  • [inference] At commit 1a82e6d, files read: 44 further route registrations sit outside server.py's own 28: 20 from UserManager (incl. AppSettings), ModelFileManager, CustomNodeManager, SubgraphManager and NodeReplaceManager (each also served under /api, so 40 URLs), 5 under /internal, 16 asset routes and 3 export/task routes with literal /api paths. By HTTP verb 27 are reads (GET/HEAD) and 17 change state (users.json, comfy.settings.json, userdata files, asset database rows, asset scans, terminal-log subscription). The verb is not a clean read/write marker: some GETs create directories or write access times, so G43's read/write split needs these corrections. · locator: whole; L126-L140 source

Rights

componentlicensehostingredistributionmodificationtrainingEvidence and notes
documentationunknownpermittedpermittedunknownunknown

Applies to this original summary only, not to the cited sources.

Linked records

Machine-readable: JSON · Markdown · revisions · changes