ACAgentic Craft

Part 6 of 8 · Design a Production Agent Runtime

Advanced~12 minHazelJS

Control Plane Beside the Runtime

What platform apply does and does not do; packageRef vs nested DNA; events and reconcile (F19–F21).

Authors
editorial-team
Published
Last reviewed

You will leave with

  • State apply ≠ run ≠ kubectl apply in one breath
  • Prefer packageRef for canonical DNA
  • Read platform events for desired-state audit
On this page

Control plane (F19–F21)

What apply does

Writes desired AgentDefinition / AgentDeployment state under .hazel/platform/ (see platform/README.md).

What apply does not do

  • Does not deploy Meridian
  • Does not replace AgentRuntime.execute
  • Does not require Kubernetes (runtimeClassName: local is the default tour)

Nested DNA vs packageRef (Model B)

Prefer one canonical DNA in the Store; manifests reference it via packageRef so environments don’t fork copies. Nested DNA in YAML is fine for teaching — still overlay-safe.

Reconcile + events

bash
# if hazel CLI available:
# hazel agent events --limit 20 --project .
tail -5 .hazel/platform/events.jsonl

Ops question: “What config is this env supposed to run?” → platform resources/events.
Live behavior → chat logs + Inspector timelines.

Checkpoint F

Say in one breath: apply ≠ run ≠ kubectl apply.

Artifact: Checkpoint F: apply ≠ run ≠ kubectl

Sources

  • Meridian Ops READMEhazeljs-meridian-ops/README.md — mental model + quick start
  • Meridian TOUR.mdF1–F22 curl walkthrough
  • Flagship project plan (21)docs/agent-os/21-flagship-project-plan.md
  • HazelJS Agent OS guide
  • HazelJS Agent package

Continue