Meet HelixWorks: A Platform, Not One AI App
Build one bounded platform that can create, host, govern, and retire several kinds of AI application.
System map · Day 01
Whole-system design
Five stable layers. Today's work is expanded and linked; the rest stays in context.
Product and authority
Ahead — People and product entry points · Identity and policy
HelixWorks control plane
Source-backed today
Defines the provider-owned lifecycle boundary instead of treating one generated application as the entire product.
Generated application plane
Source-backed today
Keeps application users and domain authorization outside provider membership and project policy.
Delivery and desired state
Ahead — Git desired state · CI and immutable artifacts · Argo CD reconciliation
Cloud and orchestration
Ahead — Terraform and AWS APIs · Accounts, VPC, DNS, and private paths · Kubernetes or EKS control plane
Compute and traffic
Ahead — Worker compute · Platform service workloads · Generated app workloads · Ambient mesh data plane
Storage and evidence
Ahead — Infrastructure state · Cluster desired and live state · Evidence and observability
Product data and artifacts
Source-backed today
Names control, artifact, runtime, and evidence stores as separate durable responsibilities from the first day.
The enterprise problem and today’s slice
HelixWorks is the platform you will build throughout this course. A platform is a shared product that helps teams create and operate many applications; it is not one application with one fixed purpose.
The source repository uses Forge in implementation names such as the Python Forge class, the gitops/apps/forge directory, and the helixworks-forge Kubernetes namespace. Those names refer to HelixWorks code and deployment resources; Forge is not a second product or component. This course says HelixWorks when it means the product and preserves Forge only when showing an exact code identifier.
Enterprise teams often assemble AI demos that cannot prove who owns data, who may publish, or how an application is revoked. A promising prototype then becomes an operational risk because nobody can review its full lifecycle.
Whole-course context: This first day establishes the customer lifecycle and the stable product boundary that every later implementation must preserve.
Today’s slice: Define HelixWorks as a provider control plane plus hosted runtimes for generated applications, not as one support bot or content tool. A control plane is the part that accepts an owner’s intent and coordinates the work; a runtime is the part that executes the generated application.
End-of-day evidence: A reviewed platform charter names three contrasting application archetypes, three authorization planes, their owners, and falsifiers for the shared platform claim.
Still unsolved: Generation, preview isolation, data provisioning, connectors, deployment, AWS infrastructure, and day-two operations remain deliberately deferred.
What you will be able to explain
By the end of the lesson, you will be able to follow one request from a product owner into the HelixWorks control plane, identify which runtime executes the result, and point to the evidence that proves what happened. You will also be able to explain why a generated application’s own users and data do not belong to the HelixWorks control plane.
Components in focus
Today you focus on three responsibilities in the whole-system map above: the HelixWorks control plane receives and authorizes the owner’s request; the generated-application plane owns its end users and domain rules; and product storage keeps the project, artifact, runtime, and evidence records separate. The local implementation uses containers and SQLite-backed volumes, which you will inspect directly below.
Define the platform boundary in the control plane
Reproduce the boundary review
A diagram is not evidence when nobody can validate its source. The current monorepo expresses the first runnable boundary as six local containers; it does not yet contain a separate charter validator. Read the exact source in compose.yaml.
control-plane:
build: { context: ., dockerfile: services/Dockerfile, args: { SERVICE: control_plane } }
environment: { GENERATOR_URL: "http://generator:8080", RUNTIME_URL: "http://runtime:8080", EVIDENCE_URL: "http://evidence:8080", SERVICE_TOKEN: "local-service-token-32-characters-minimum", JWT_SECRET: "local-jwt-secret-32-characters-minimum", CONTROL_DATABASE_URL: "sqlite:////data/control.db", ARTIFACT_DATABASE_URL: "sqlite:////data/artifacts.db" }
volumes: ["control-data:/data"]
ports: ["8080:8080"]
depends_on: [generator, runtime, evidence]
Decision rules
A platform claim is credible only while the policy portal, approval workflow, and support dashboard share lifecycle machinery without sharing domain authorization. If a fourth archetype requires a fork in identity, release, or retirement services, narrow the advertised envelope before expanding the implementation.