Platform Seeds
WonderForge builds itself with itself. When the platform starts, it runs a series of seeders that create artifacts using the same APIs available to every user and agent. The platform's built-in capabilities — its relationship types, its visual interfaces, its reactive automation — are not hardcoded features. They are artifacts, created through the artifact model, stored in the event-sourced database, queryable through the API, and manageable through MCP.
This is the most concrete expression of the "everything is an artifact" principle. The nine flux types that define how artifacts relate to each other? They are V1FluxType artifacts. The lenses that render type-specific UIs? They are V1Lens artifacts. The subscription pipelines that drive automatic builds and deployments? They are V1Subscription and V1TemporalWorkflowDeliveryTarget artifact pairs.
What gets seeded
At startup, the platform seeds three categories of artifacts:
-
Built-in Flux Types — The 9 relationship types (contains, composes, includes, depends-on, references, derived-from, produces, deploys, transforms) with their finalizer and auto-subscribe behaviors. These define the vocabulary of how artifacts connect to each other.
-
Built-in Lenses — Over 30 view components, from universal lenses available on every type (YAML editor, events timeline, relationships view) to type-specific editors for CBFS files, Kubernetes jobs, Helm releases, and more.
-
Built-in Subscription Pipelines — 7 delivery target + subscription pairs that create reactive automation: CBFS builds, file status reconciliation, Kubernetes job execution, Helm deployment orchestration, and more.
Why this matters
Because the platform's own features are artifacts, they can be:
- Queried — list all available flux types, lenses, or subscription pipelines through the API
- Extended — create new flux types, lenses, or pipelines alongside the built-in ones
- Modified — update a built-in lens's priority or a subscription's filter
- Inspected — view the event history of any seed artifact to see when it was created or updated
When you create a new flux type or install a new lens, you are doing exactly what the platform did at startup. There is no distinction between "built-in" and "user-created" at the artifact level — just artifacts with different origins.
This is also how agents extend the platform. An agent that creates a delivery target and a subscription has built a reactive pipeline — the same pattern the platform uses for its own build and deploy automation. The tools are the same; the only difference is who created the artifacts.