Skip to main content

System Architecture

Context

Text alternative: builders use the Astro editor and API clients use the public endpoint; both reach BraidRunner, which reads and audits PostgreSQL data, resolves provider calls and publishes short-lived browser-sink results.

Containers

Text alternative: the UI invokes a session API while external clients invoke the Bearer webhook. Both use BraidRunner, which enforces policy and budgets before LiteGraph executes registered Beads and persists run events.

Design boundaries

  • LiteGraph remains the visual adapter; DataBraid owns document, manifest, policy and run contracts.
  • The server is authoritative for execution and secret resolution.
  • Utils/note is editor metadata and is removed before server graph configuration.
  • Browser-dependent sources and sinks use explicit server adapters; editor-only notes are removed before graph configuration.
  • Nested Braids execute internally under the same owner and secret scope. They share node/external-call budgets and the root deadline, reject cycles, default to depth 5 (hard maximum 10), cap public child output at 1 MiB and persist child runs linked to the root run and invoking Bead.
  • Cancellation propagates through the run tree and prevents further node starts. Legacy Beads that do not accept an abort signal may still finish an already-started external operation; this remains explicit runtime debt.