Advanced~20 minHazelJS
Absorb Meridian: Production Design
Copy vs leave checklist, Phase 6 labs, troubleshooting, and the Absorb Meridian memo capstone.
- Authors
- editorial-team
- Published
- Last reviewed
- Fill the Absorb Meridian memo for your product
- List Phase 6 opt-in labs without inventing Cloud features
- Troubleshoot overlay / HITL / stub confusion
On this page
Production design: copy vs leave
Absorb checklist
| Take into your product | Leave as Meridian demo |
|---|---|
AgentModule + AgentRuntime wiring | In-memory commerce/risk stores |
@Tool + PolicyEngine + durableSuspend | AGENT_OS_HITL=0 auto-approve default |
| DNA overlay safety (no stub tools) | DemoLLM as production LLM |
Store lock / packageRef story | Copying sample DNA verbatim without review |
| Skillgate include/deny posture | Port 3060 / Meridian route names |
| Inspector timeline habit | Treating v1alpha1 as final forever |
| SQL durable profile / Flow peer pattern | SQLite file path + in-memory helpdesk KB as-is |
| Remote registry when you need multi-machine share | Assuming Cloud is required to chat |
Minimum production bar
Before real traffic, complete /learn/agentic-development/from-demo-to-production-checklist and /guides/from-agent-demo-to-production: budgets, goldens, stop reasons, owners, kill switch.
Known gaps / later (do not invent)
Still demo-only (do not ship as-is):
- In-memory commerce / risk stores (not production SQL for business data)
- Full Flow saga UI / compensation designer
- Live cluster K8s as day-one default (dry-run appendix only)
- Studio product UI, marketplace commerce, CRDs/operator
Phase 6 labs (opt-in — Meridian v1.1)
Skip on the first pass; return after Journeys A–C. Details also in Meridian TOUR.md.
SQL durable runs (Prisma)
bash
export DATABASE_URL=file:./.hazel/meridian.db
export AGENT_OS_DURABLE_BACKEND=sql
npm run db:push
# restart npm run dev — boot: "Durable backend: sql"
RAG helpdesk
bash
curl -s localhost:3060/api/helpdesk/chat \
-H 'content-type: application/json' \
-d '{"message":"What is the refund SLA?"}' | jq '{agent, response}'
Flow HITL peer
bash
export AGENT_OS_FLOW_PEER=1
export AGENT_OS_HITL=1
# restart — boot: "Flow HITL peer: on"
Remote registry (F22 / Journey D)
bash
export HAZEL_REGISTRY_URL=http://127.0.0.1:3000
export HAZEL_REGISTRY_TOKEN=<api-key>
npm run store:sync:remote
Kubernetes dry-run
bash
npm run platform:k8s-dryrun
Uses runtimeClassName: kubernetes — not DNA nested vs packageRef. See platform/APPENDIX-kubernetes.md.
Env / HTTP cheat sheet
Env: Meridian .env.example (AGENT_OS_HITL, AGENT_OS_DNA_OVERLAY, AGENT_OS_DURABLE_BACKEND, AGENT_OS_FLOW_PEER, HAZEL_REGISTRY_*, …).
| Route | Role |
|---|---|
POST /api/chat | Router door |
POST /api/support/chat | Support desk |
POST /api/ops/chat | Concierge / Skillgate |
POST /api/fraud/chat | Fraud triage |
POST /api/helpdesk/chat | RAG policy FAQ |
POST /api/approvals/:id/approve|reject | HITL resume |
GET /api/skillgate/report | Curation report |
GET /__hazel | Inspector |
Troubleshooting
| Symptom | Check |
|---|---|
| No overlay lines on boot | AGENT_OS_DNA_OVERLAY=1; re-run store/platform sync |
| Refund never pauses | AGENT_OS_HITL=1 + restart |
| “It worked in CLI” but not in app | You hit stubs — use /api/*/chat |
| Port in use | Change PORT or free 3060 |
| Skillgate empty | Boot order; store:sync; report endpoint |
Capstone — Absorb Meridian memo
Fill this for your product (15 minutes):
| Field | Your answer |
|---|---|
| Agents needed (roles) | |
| Tools + side-effect class (read / write / irreversible) | |
| DNA vs TypeScript ownership | |
| HITL writes + approval channel | |
| Adopt Store/platform now or later? | |
| Timeline store + on-call owner | |
| Kill switch | |
| First golden tasks |
What to do next
- Finish the Absorb Meridian memo.
- Port one specialist into your HazelJS DI app.
- Add goldens + HITL before any irreversible tool.
- Re-read /agent-os and the hub /guides/design-a-production-agent-runtime.
Artifact: Filled Absorb Meridian memo (15 minutes)
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