One demonstration becomes a
reusable procedural memory

The Procedural Memory Graph compiles expert demonstrations into explicit procedural memories that capture how the world evolves during a task, making expert knowledge reusable for future execution.

Expert demonstration
egocentric video + audio
PMG Compiler
perceive → expand → compress
Procedural Memory Graph
executions
human or humanoid
The thesis
Procedures should be stored as explicit world evolution, not implicit trajectories or model weights.
What is procedural memory?

Humans don't remember procedures as video

We compress experience into meaningful milestones, keep the decisions that matter, and discard incidental movement. PMG gives machines the same structure: an explicit hierarchy, learned from demonstrations, that any reasoning system can read, edit, and execute.

Task Milestones Procedural States Execution Block Parameterized Actions

Only procedurally meaningful information enters the graph — if forgetting it wouldn't prevent someone from reproducing the task, it is discarded.

The core idea
Videos are memory.
Videos are observations.
World evolution is memory. PMG stores world evolution.
Joint Coldiron placed · 350 °C
Solder Moltenheat + pull, two hands
Pin Removedstubs remain? loop
Hole Clearready for rework
every state owns: world representation · parameterized actions · observable conditions · exit criteria

Nodes are world states, not controller states or trajectories. Actions transform states; observable conditions verify progress; exit criteria decide transitions — including loops for retries and recovery.

From demonstration to graph

A knowledge compiler, not a recording

One real 10-minute demonstration — desoldering a header, including a genuine failure and strategy switch — compiled into procedural memory.

Source demonstration · 10:01 @ 50 fps, shown at 12×
stage 1
Perception
objects · contacts · geometry · speech
stage 2
PMG Compiler
expand first, compress later
memory
Procedural Memory Graph
milestones · states · action DAGs
Board Mounted
Spacer Broken
Iron Heating
Solder Molten
Pin Pulling
Holes Cleared
Frame ranges become Procedural States — new nodes only on meaningful procedural events, never from time passing alone.
The representation

Explore the compiled graph

This is not a visualization of the demonstration — it is the procedural memory constructed from it. Click a milestone to expand its states, a state to open its compartments, an action to unfold its parameters.

pmg_viewer.html — Desolder Header · schema v0.10 open in new tab ↗

Second worked example (physics-driven states, steeping loop): Make Tea →

Now — how do we use it?

The Procedural Reasoning Engine

Every runtime decision is grounded in the Procedural Memory Graph. A Procedural Reasoning Engine consumes it at runtime — localizing the current world state in the graph, deciding the next step, requesting perception verification, and guiding whichever executor is present. Today it may be implemented with an LLM; tomorrow, a specialized model. The architecture doesn't care.

Current Observation
Perception
Procedural State Matching "where in the procedure am I?"
Procedural Memory Graph the persistent memory
Procedural Reasoning Engine reads · reasons · decides · verifies
Action Selection
🧑‍🔧Human trainee
🤖Humanoid robot
Intelligent agent

The procedural memory never stores embodiment-specific trajectories. The memory stays unchanged — only the executor changes.

Motivation

Existing systems answer different questions

PMG doesn't compete with behavior trees, imitation learning, or foundation models — they were designed for different roles. PMG is the procedural-memory layer that sits beneath and alongside them.

Behavior Trees / ROS
How should I execute a manually designed procedure?
Imitation Learning
How do I imitate this demonstration?
Foundation Models
How do I reason from broad prior knowledge?
Procedural Memory Graph
How should procedural knowledge itself be represented, learned, accumulated, and reused?
Representation comparison — strengths and limitations
ApproachStrengthLimitation
Hardcoded workflowsDeterministic and reliableHand-authored; hard to learn from demonstrations or evolve
Trajectory / imitation learningCaptures expert motionHard to inspect, edit, merge, or explain
Language / generic LLMsFlexible, broad reasoningProcedural knowledge stays implicit in weights — non-persistent, hard to verify
Procedural Memory GraphExplicit, editable, persistent procedural memoryPurpose-built for learning, storing, and executing procedures

The design philosophy: separate procedural knowledge from the reasoning system. The graph stores the procedure; reasoning systems consume it rather than implicitly memorizing it.

Vision
"A demonstration is not the memory.
It is merely evidence from which procedural memory is constructed."
Learning
builds the memory
Reasoning
traverses it
Execution
follows it

Current research focuses on the representation itself — the procedural hierarchy, the State schema, Action Groups, object representation, observable conditions, and execution semantics. Perception, compiler algorithms, and reasoning engines are layers built on top.