Workflow Diagram
The three ways a model comes to exist, and what happens to it afterward. The statuses are the ones the Data Sources page shows; the controls are the ones on the model page.
graph TD
U["Upload a CSV or a Markdown template"] --> P1["uploaded"]
P1 --> P2["parsing"]
P2 --> P3["parsed"]
P2 -->|parse fails| E1["error: upload again after the fix"]
P3 --> P4["agent_processing"]
P4 --> P5["modeling"]
P5 --> P6["completed: a draft model, its cluster and components"]
P4 -->|agent stage fails| E2["agent_error: Retry Processing"]
E2 --> P4
W["Component Wizard, Cluster Wizard, Model Wizard"] --> D["a draft model"]
P6 --> D
A["assemble/ from a script or an agent (sdcmodeler)"] --> EST["assemble/estimate/: the cost, nothing charged"]
EST --> AR["every component reused: built at once"]
EST --> AM["something new: the pipeline mints, a job to poll"]
AR --> PUB
AM --> PUB
D --> R["Review and edit; Save and Publish each component"]
R --> PUB["Publish the model (one way)"]
PUB --> GEN["Generate (free, once)"]
GEN --> ZIP["Download Complete Package (ZIP)"]
GEN --> APP["Generate App: Lightweight or Enterprise, then Download App"]
PUB --> CAT["Public catalog API and /dmlib/ schema route"]
PUB --> CH["A change: Copy, edit, publish the copy; Retire the original"]
classDef status fill:#e0f2f1,stroke:#004d40,color:#004d40
classDef err fill:#fce4ec,stroke:#880e4f,color:#880e4f
classDef action fill:#e1f5fe,stroke:#01579b,color:#01579b
class P1,P2,P3,P4,P5,P6 status
class E1,E2 err
class U,W,R,PUB,GEN,ZIP,APP,CAT,CH,A,EST,AR,AM action
Reading the diagram
The upload path. A file goes through two background stages. Parsing (uploaded, parsing, parsed) reads the file and infers a type for each column without a language-model call; a failure here is error, and the file is uploaded again after the fix. Agent processing (agent_processing, modeling, completed) creates the components, the cluster and a draft model; a failure here is agent_error, and Retry Processing on the Data Sources page runs that stage again on the parsed data. The page does not refresh itself; reload it. See Uploading Data, The Data Sources Page and AI Processing.
The wizard path. The Component Wizard, the Cluster Wizard and the Model Wizard build the same objects by hand, one at a time. See Data Modeling and Creating a Model.
The assembly path. A script or an agent posts a tree of reused and new components to assemble/, after assemble/estimate/ has shown the cost. When every component exists the model is built at once; when something is new the pipeline mints it and a job reports the progress. Either way the tree and the model are published and the package generated in the same call, unless the call asks for a draft. See the assembly reference and The SDC MCP Servers.
After the draft. Every component is edited and published with Save & Publish; the model's Publish button is shown to those who may publish (the project owner, team admins and staff), succeeds only once its data cluster and every component in it are published, and publishing is one way. Generate produces the whole package once, free; Download Complete Package (ZIP) is the one download. Generate App builds a Lightweight or Enterprise application; Download App is 1,500 credits the first time per model, free after. A published model's schema resolves at /dmlib/dm-<ct_id>.xsd and, if public, in the catalog API. A change to anything published is a copy, and the original is retired. See Generating Outputs, App Generation, The Public Catalog API and Copy and Retire.
What it costs. A new component or cluster is 100 credits at creation (each new column or cluster an upload creates, charged when processing completes); a model from a wizard is 500; an assembled model is 500, its root cluster included, plus 100 for each new component and each other new cluster; Download App is 1,500 the first time per model, free after. Everything else on the diagram is free. See Wallet and Billing.