Cone.Resolver behaviour (Cone v0.1.0)

View Source

LMPM Resolver Behaviour.

A Resolver acts as the "Policy Engine". It is responsible for:

  1. Transforming raw AST into Lamport IR (injecting logical clocks).
  2. Enforcing consensus rules (visibility checks, consistency).
  3. (Future) Assigning topology and routing strategies.

Summary

Types

ast()

@type ast() :: list()

ir()

@type ir() :: list()

reason()

@type reason() :: term()

Callbacks

resolve(ast, opts)

@callback resolve(ast(), opts :: keyword()) :: {:ok, ir()} | {:error, reason()}