![]()
flowchart TD
subgraph P["SKILL PACKAGE - the fields of one skill_json_dict entry"]
direction TB
P1["1. CALL INTERFACE (theta)
START inputs, e.g.
ITEMNAME_INPUT: ItemName
TOREC_INPUT: ReceptacleName"]
P2["2. EXECUTABLE GRAPH (G)
Mermaid flowchart, parsed into
Graph(nodes, edges, global_vars)"]
P3["3. PRECONDITION GUARD
pre_condition_expression: a list of FOL clauses
evaluated by the PLANNER, outside the graph"]
P4["4. DOCSTRING for the planner LLM
description / steps / start_conditions /
success_conditions / parameter_bindings_guidelines"]
end
subgraph N["NODE KINDS - the type is taken from the Mermaid CSS class"]
direction TB
N1["Interface
START / SUCCESS_END / FAILURE_END
contract: no computation here"]
N2["DataOp
writes GLOBAL: X := expr
local in: x = GLOBAL
contract: the ONLY node kind allowed to write GLOBAL"]
N3["Check
a predicate over grounded facts
contract: MUST NOT write GLOBAL
exactly one Yes and one No out-edge"]
N4["LoopControl
For v in LIST
contract: exactly two out-edges, body and done
Start_Loop on entry, Continue_Loop on the back-edge"]
N5["PrimitiveAction
action: verb ARG
local in: arg = GLOBAL
contract: exactly one out-edge
every arg must resolve from a GLOBAL or from local in"]
end
subgraph E["EDGE CONTRACT"]
direction TB
E1["Control only - no data travels on edges"]
E2["Labels: Yes / No / body / done / Start_Loop / Continue_Loop"]
end