NeoSyntropyDocumentation

Core concepts

Edge — one permitted movement

The transition table is the single source of permission. A node may propose next_state; only a listed edge permits the move.

Three edge kinds

That’s all — no labels, no priority tiers. Prefer DeterministicRouter / SemanticRouter; they compile into edges at FSM build time. Hand-write edges only for a one-off guard or a bare End hop.

  • deterministic — auto-commits when its guard passes; no router involved. Helper: edge_deterministic(src, tgt, guard=...)
  • semantic — scopes the semantic router to a node or group target. Helper: edge_semantic(src, tgt, target_kind=...)
  • fallback — safe stop when neither deterministic nor semantic yields a route. Helper: edge_fallback(src, tgt)
Python SDKpython
edge_deterministic(
    "CalculateRefund",
    "IssueRefund",
    guard=lambda s: s.get("refund_amount", 0) > 0,
)
edge_fallback("CalculateRefund", "OutOfScope")

Grounded in neosyntropy-framework/docs/concepts-explained.md §6.