LMeta overview

lmeta is Forge LCDL's orchestration layer: declarative AutomationFlow documents (.lmeta JSON) that wire governed tasks, operators, and consumer hooks into multi-step flows. It sits above single-shot run_task calls and…

Updated

This page is the entry hub for lmeta documentation on the LCDL handbook. Start here, then follow the reading order below.

What lmeta is (and is not)

lmeta is lmeta is not
Multi-step flow graphs (states, transitions, forgeLcdlRun, hooks) A replacement for governed task contracts
Executed by forge_lcdl.flow.FlowExecutor (in-process) or CDP POST /v1/flows/run The Forge autonomy L0–L8 execution ladder (Blueprints autonomy levels — different concept)
Versioned JSON with automationFlowVersion ≤ 4 in production LCDL schema maturity bands (L0–L4 in contract docs — also different)

Mental model: tasks answer one governed LLM or atom call; operators (seq, fallback_chain, …) compose tasks in Python; lmeta composes tasks + hooks + optional decision break-in as a reviewable flow document.

Abstraction ladder (authoring → runtime)

Maintainer / CI
  C0 utterance (not stored) → C1 taxonomy/recipe YAML → C2 hand-authored AF v4
  → C3 GoalSpec → C4 IntentProgram router
  → compile → pinned AutomationFlow v4 JSON → validate + parity tests

Runtime (request)
  normalize → rules → margin → optional FTS → optional LLM tiebreak (closed list)
  → match → AF v4 OR Python handler OR slow fallback
  • Production runtime is always AutomationFlow v4 (or lower). v5-alpha artifacts compile to v4; native AF v5 runtime is held.
  • Change placement rungs C0–C6 are documented in Deterministic routing ladders.

Reading order

Order Guide When to read
1 LMeta v4 execution You run or author .lmeta flows in a consumer
2 Decision break-in You need opt-in governed LLM arbitration inside a flow
3 LMeta v5-alpha authoring You maintain GoalSpec / IntentProgram source that compiles to v4
4 Deterministic routing ladders You work on recipe match pipelines (e.g. Knowledge Assistant)
5 Knowledge Assistant recipe router You operate KA Copilot flags, shadow/active promotion
Schemas reference AutomationFlow vs ContractSpec; version gates

Where flows run

Host Mechanism Typical use
In-process FlowExecutor(run_lcdl=…, consumer_hooks=…) KA Copilot, Dark Factory driver (FORGE_DARK_FACTORY_VIA_LMETA), Cockpit ingest
forge-cdp-manager POST /v1/flows/run CDP-hosted flows without importing forge-lcdl in the caller

Consumer hooks and run_lcdl routing stay server-owned; user text must not select hook names or paths.

Normative specs (external)

Handbook pages summarize behavior; forge-cdp-manager carries versioned AutomationFlow grammar:

JSON schemas: flows/automation-flow-v{2,3,4}.schema.json in the same repository.