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
- 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: localis 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 README — hazeljs-meridian-ops/README.md — mental model + quick start
- Meridian TOUR.md — F1–F22 curl walkthrough
- Flagship project plan (21) — docs/agent-os/21-flagship-project-plan.md
- HazelJS Agent OS guide
- HazelJS Agent package