Agent-platform capability suite (parked) — LoRA catalog, concept images, training, RunComfy, PhotoMap, vault
Status: PARKED — spec preserved from PR #200 (branchfeat/agent-platform-tools, DRAFT, closed to clear the queue). The full working implementation — 44 files, all tests passing at port time — lives on that branch; nothing needs rewriting from scratch. Resuming means rebasing the branch (or re-cherry-picking its commits), not re-implementing this doc. All feature work by @MichaelDanCurtis (MichaelDanCurtis/comfyui-mcp), ported with-xprovenance trailers. This was Stack 5 of the fork-inheritance effort, parked because it is a product-direction decision (RunComfy integration, training tooling), not a code-quality one.
What the stack contains
Eight capabilities, in the branch’s pick order:
Plus:
workflow-pipeline service/tools, structure-map-concept plugin skill,
THIRD_PARTY_NOTICES.md (LoRA Manager + PhotoMapAI attribution), and per-feature design docs —
preserved alongside this spec as ai-toolkit-supervisor.md,
lora-manager.md, runcomfy-connector.md,
workflow-pipeline.md. The fork’s roadmap variant of
docs/design/agent-platform-roadmap.md differs slightly from main’s copy (~20 changed lines) —
diff against the branch when resuming.
Preconditions and entanglements (why this can’t merge casually)
- Base branch dependency. The stack was cut on top of
feat/panel-console-credentials(#197) because it extendspanel-console-http.ts(adds/api/vault+/api/photomapand a landing-page section) and relies on that base’s console port +lora-catalog.tscopy + Windowspath.sepfix. #197 must land first (or the stack must be rebased onto whatever superseded it). - Civitai-metadata redundancy vs #186. Main already writes
<file>.civitai.json/.mdsidecars fromdownload_model(action:"download_civitai"), andmodel-resolverreads them. This stack’slora-civitai-enrichfetches overlapping Civitai metadata into the catalog DB instead (no file-format collision, but two fetch paths). Stance recorded at port time: upstream’s on-disk sidecar stays source of truth; at merge time either make the catalog read the #186 sidecars or consciously bless the dual path. The willmiao.metadata.jsonimport is a third-party format and orthogonal. - Product decisions pending. RunComfy as a second cloud provider (vs going deeper on RunPod),
and whether training supervision (AI-Toolkit, RunComfy Trainer) is in scope for comfyui-mcp at
all vs. staying in the separate trainer effort (
docker/trainer,design/runpod-training-p4.md).
State at park time
npx tsc --noEmit clean; npx vitest run — 123 files / 1285 tests passing, including the 12 new
test files the stack ships. Conflicts vs main were resolved during the port (console-route unions,
tool-registration hunks).
Resume checklist
- Decide the RunComfy question (adopt as second provider / trainer-only / drop).
- Decide the training-supervision scope question.
- Rebase
feat/agent-platform-toolsonto current main (expect conflicts inpanel-console-http.ts,src/tools/index.ts,src/orchestrator/index.ts— same spots as the original port). - Resolve the Civitai-metadata dual path (catalog reads #186 sidecars, or documented split).
- Re-run the full test suite; the stack’s own tests define its acceptance criteria.