Skip to main content

Layers

The architecture has clear layers. Each layer answers a different question.

Why this exists

When these layers blur together, automation systems become hard to reason about and harder to debug.

How it works

Operator layer

The operator owns the execution contract:

  • goal
  • capability
  • context
  • runtime
  • verify

Capability layer

The capability defines the bounded task domain. It says what the run means.

Engine layer

The engine performs execution for the selected capability.

Runtime layer

The runtime carries resources and state that execution can use.

Verification layer

Verification decides whether the result is accepted.

Trace layer

Trace records attempts, verification outcomes, and final status.

Example

For the Hacker News example:

  • operator: asks for the top story
  • capability: browser.extract_hacker_news_top_story
  • context: { url }
  • runtime: { page }
  • engine: Playwright-backed browser executor
  • verification: checks title length, URL shape, and source domain
  • trace: records the accepted attempt

Notes

Common confusion

Runtime and engine are separate layers. Runtime holds resources. Engine performs execution.