Orientation / lesson 00
Start with the system shape
A model is one component. The graph exposes the system around it.
Know what the primitive owns.
Problem
A single function can return an answer while hiding every intermediate decision. Before implementation, identify the state transitions and the relations that must survive them.
System boundary
CMG supplies typed transforms, execution, trace, evaluation, and feedback. The builder supplies the domain, topology, acceptance rules, and next-run policy.
State changes become visible.
Inspectable: The topology, every transform input/output, the final evaluation, and the caller-owned next action.
Compare the smallest baseline with a native fan-out/merge DAG.
Static specimen / JavaScript adds controls without changing the lesson.
Same idea, honest surfaces.
const graph = createModelGraph({
id: "routing-decision",
name: "Routing decision",
transforms: [policy, capacity, decide],
connections: [
{ src: "policy", dst: "decide" },
{ src: "capacity", dst: "decide" },
],
});
graph = create_model_graph(
"routing-decision",
"Routing decision",
[policy, capacity, decide],
connections=[
Connection("policy", "decide"),
Connection("capacity", "decide"),
],
)
What this does not imply.
CMG does not automatically scan a product idea or generate an architecture. A builder projects the problem into an executable acyclic graph.