New plnt v0.1 — the orchestration runtime for agentic workflows
00 / 04 — roadmap

The runtime in seven phases.

Phase 0 shipped. Phases 1–2 in progress. Phases 3–6 are scoped and sequenced. Progress tracked in the plnt repo.

01 / 04 — SHIPPING

What works end-to-end right now.

WorkflowRun CRD

Schema + printer columns + status subresource. kubectl apply -f workflow.yaml is the entire deploy trigger. Installed by the plnt Helm chart.

Operator (kopf)

plnt/operators/workflowrun_controller.py watches create/update/delete → starts or cancels a Temporal orchestration workflow.

Orchestration saga

plnt/workflows/orchestrate.py — five-step Temporal workflow (pull → resolve → helm → smoke → promote or rollback) with per-activity retries + compensation.

Helm chart template

plnt/charts/workflow-runner/ — Deployment + Service + Ingress + HPA + ConfigMap. Parameterised over workflow ref, backend, GPU class, replicas.

Playground API

FastAPI wrapper exposing the workflow catalog + invoke path. OpenAI-compatible endpoint kept for the demo chat surface.

Live playground

play.plnt.work — browser UI showing the workflow orchestration timeline + backend selector + invocation log.

Marketing site

plnt.work — this. Static Astro build on Vercel. Architecture, roadmap, docs, resources.

02 / 04 — PHASES

Seven phases from skeleton to a benchmarked, canary-deployed, multi-backend runtime.

Skeleton + narrative

Phase 00 · shipped

Repo layout for charts/, operators/, workflows/, cli/, registry/. README + docs/architecture.md written around the 4-layer stack.

Workflow runner Helm chart

Phase 01 · in progress

plnt/charts/workflow-runner/ — parameterised Deployment for any workflow spec pulled from microagents. Installable on kind today; ready to drop onto a real GPU node pool.

Temporal orchestration saga

Phase 02 · in progress

plnt/workflows/orchestrate.py — pull → resolve backend → helm install canary → smoke → promote saga. RetryPolicy per activity. helm rollback as compensation.

WorkflowRun CRD + operator

Phase 03 · planned

CRD spec at plnt/operators/crds/workflowrun.yaml. Python kopf operator watches the CRD and drives the Temporal saga. kubectl apply is the only entrypoint.

plnt CLI

Phase 04 · planned

plnt run, plnt list, plnt scale, plnt rollback, plnt bench. typer-based; wraps kubectl + helm + Temporal client. Typed with pydantic.

Multi-backend scheduling

Phase 05 · planned

PlntBackend resource — register a named backend once, reference it from every WorkflowRun. Capacity-aware placement (queue depth + GPU headroom) across pools inside one cluster.

Benchmarking + dashboard

Phase 06 · planned

plnt/bench/harness.py measures p50/p95/p99 per-invocation latency, error rate, GPU utilization, step-cache hit rate. Prometheus scrape config in the chart. One Grafana dashboard JSON committed.

03 / 04 — HELD

Four architectural choices being held. Reversing any of them would invert the project.

NO

No proprietary workflow format. The microagents spec is public, versioned, and hash-verifiable. Any registry that speaks S3 or OCI works.

NO

No custom deploy scripts. The saga is a Temporal workflow, not a bash pipeline. State is durable, resumable, inspectable.

NO

No cloud lock-in. Helm + Kubernetes + Temporal are portable. Same WorkflowRun YAML runs on kind, GKE, EKS, AKS, on-prem.

NO

No mystery orchestration. The operator is small enough to read in one sitting. Every state transition emits a Kubernetes event.

04 / 04 — INFLUENCES

Prior art that shapes the design.

Google SRE (cascading failures chapter) · Temporal (deploy sagas, activity retries, compensation) · KServe (CRD shape for inference workloads) · Argo Workflows (DAG-of-steps model, K8s-native) · Numaflow (stream-processing DAG on K8s) · Helm (chart-per-runner packaging) · Envoy VirtualService (canary weights).