Documentation
¶
Overview ¶
Package atlas is a blazing-fast, durable BPMN 2.x workflow engine.
Atlas compiles BPMN models into a flat, integer-indexed execution graph, records every state transition as an append-only event in a write-ahead log, and materializes live state in an embedded key-value store. See the documents in docs/ for the architecture, design decisions, and roadmap.
This is the module root. Implementation packages live in subdirectories and will be added as the project develops; see ROADMAP.md for status.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package api is the single-binary server surface for Atlas: it embeds one engine.Processor behind an HTTP API and serves an embedded web UI, so a single self-contained binary can deploy BPMN models, run instances, and (as the UI grows) view them in a browser.
|
Package api is the single-binary server surface for Atlas: it embeds one engine.Processor behind an HTTP API and serves an embedded web UI, so a single self-contained binary can deploy BPMN models, run instances, and (as the UI grows) view them in a browser. |
|
collab
Package collab implements the first slice of ADR-0140: live collaborative modeling sessions.
|
Package collab implements the first slice of ADR-0140: live collaborative modeling sessions. |
|
httpapi
Package httpapi holds the primitives every Atlas HTTP handler is written against: how a response is written, who the caller is, and where the request came from.
|
Package httpapi holds the primitives every Atlas HTTP handler is written against: how a response is written, who the caller is, and where the request came from. |
|
layout
Package layout generates BPMN diagram interchange (BPMN-DI) for models that carry none, and regenerates it for models whose layout a user has tangled.
|
Package layout generates BPMN diagram interchange (BPMN-DI) for models that carry none, and regenerates it for models whose layout a user has tangled. |
|
processdoc
Package processdoc serves process documentation (ADR-0143): a published BPMN process as a stored PDF plus the element prose it describes, its version history, and the revocable public link a reader without an account follows.
|
Package processdoc serves process documentation (ADR-0143): a published BPMN process as a stored PDF plus the element prose it describes, its version history, and the revocable public link a reader without an account follows. |
|
runloop
Package runloop carries Atlas's single-writer boundary for design-time and API state.
|
Package runloop carries Atlas's single-writer boundary for design-time and API state. |
|
sidecar
Package sidecar is the durable-file discipline Atlas's design-time stores share.
|
Package sidecar is the durable-file discipline Atlas's design-time stores share. |
|
token
Package token mints and validates Atlas's opaque share tokens.
|
Package token mints and validates Atlas's opaque share tokens. |
|
vault
Package vault is Atlas's engine-internal encrypted secret store: connector credentials sealed at rest with AES-256-GCM under a master key that never leaves the operator's control (ADR-0069), on by default with a generated key file when no operator key is supplied (ADR-0070).
|
Package vault is Atlas's engine-internal encrypted secret store: connector credentials sealed at rest with AES-256-GCM under a master key that never leaves the operator's control (ADR-0069), on by default with a generated key file when no operator key is supplied (ADR-0070). |
|
Package benchmarks holds Atlas's reproducible performance harness (work programme B of the v0.2.0 "Proof of Reliability & Performance" initiative).
|
Package benchmarks holds Atlas's reproducible performance harness (work programme B of the v0.2.0 "Proof of Reliability & Performance" initiative). |
|
Package checkpoint holds the on-disk format primitives for engine recovery checkpoints (ADR-0133).
|
Package checkpoint holds the on-disk format primitives for engine recovery checkpoints (ADR-0133). |
|
cmd
|
|
|
atlas
command
Command atlas is the single-binary Atlas server: one self-contained process that embeds the engine, exposes an HTTP API, and serves the web UI.
|
Command atlas is the single-binary Atlas server: one self-contained process that embeds the engine, exposes an HTTP API, and serves the web UI. |
|
Package compiler turns a BPMN model into an immutable, integer-indexed CompiledProcess (ADR-0004).
|
Package compiler turns a BPMN model into an immutable, integer-indexed CompiledProcess (ADR-0004). |
|
Package conformance is Atlas's curated BPMN conformance suite: a collection of small, deterministic process models plus the oracles that prove the engine executes them correctly.
|
Package conformance is Atlas's curated BPMN conformance suite: a collection of small, deterministic process models plus the oracles that prove the engine executes them correctly. |
|
differential
Package differential is the conformance suite's cross-engine oracle: it runs the same process on Atlas and on an independent reference BPMN engine and compares a normalized outcome, so a control-flow bug shows up as disagreement with a second implementation — the one oracle the suite's other checks (golden, replay, invariants, metamorphic) can't provide, since they all trust Atlas alone.
|
Package differential is the conformance suite's cross-engine oracle: it runs the same process on Atlas and on an independent reference BPMN engine and compares a normalized outcome, so a control-flow bug shows up as disagreement with a second implementation — the one oracle the suite's other checks (golden, replay, invariants, metamorphic) can't provide, since they all trust Atlas alone. |
|
connector
|
|
|
clio
Package clio integrates a clio event store as a server-registered Atlas connector: a BPMN clio "write-events" connector task appends an event to a configured clio instance through the job path (ADR-0036), mirroring how the dmn package delegates a decision to temis (ADR-0014).
|
Package clio integrates a clio event store as a server-registered Atlas connector: a BPMN clio "write-events" connector task appends an event to a configured clio instance through the job path (ADR-0036), mirroring how the dmn package delegates a decision to temis (ADR-0014). |
|
csvimport
Package csvimport is Atlas's in-process worker for the CSV-to-JSON connector task (ADR-0139), and the CSV parser the API's upload-validation endpoint shares with it (ADR-0084).
|
Package csvimport is Atlas's in-process worker for the CSV-to-JSON connector task (ADR-0139), and the CSV parser the API's upload-validation endpoint shares with it (ADR-0084). |
|
mail
Package mail integrates an outbound e-mail provider as a server-registered Atlas connector: a BPMN mail connector task sends a model-authored message through a configured provider via the job path (ADR-0079), mirroring how the clio package delegates an append to a registry-managed endpoint (ADR-0036).
|
Package mail integrates an outbound e-mail provider as a server-registered Atlas connector: a BPMN mail connector task sends a model-authored message through a configured provider via the job path (ADR-0079), mirroring how the clio package delegates an append to a registry-managed endpoint (ADR-0036). |
|
remedy
Package remedy integrates BMC Remedy (BMC Helix ITSM / the AR System) as a server-registered Atlas connector: a BPMN Remedy connector task creates an entry (e.g.
|
Package remedy integrates BMC Remedy (BMC Helix ITSM / the AR System) as a server-registered Atlas connector: a BPMN Remedy connector task creates an entry (e.g. |
|
rest
Package rest integrates an external HTTP-REST API as a service-task connector: a BPMN REST connector task calls a model-authored endpoint through the job path (ADR-0036/0067), mirroring how the dmn package delegates a decision to temis (ADR-0014).
|
Package rest integrates an external HTTP-REST API as a service-task connector: a BPMN REST connector task calls a model-authored endpoint through the job path (ADR-0036/0067), mirroring how the dmn package delegates a decision to temis (ADR-0014). |
|
script
Package script is Atlas's in-process worker for polyglot script tasks (PowerShell, Python, JavaScript — ADR-0047).
|
Package script is Atlas's in-process worker for polyglot script tasks (PowerShell, Python, JavaScript — ADR-0047). |
|
sharepoint
Package sharepoint integrates Microsoft SharePoint as a server-registered Atlas connector: a BPMN SharePoint connector task creates a list item in a model-authored site and list through a configured provider via the job path (ADR-0141), mirroring how the mail package delegates a send to a registry-managed provider (ADR-0079).
|
Package sharepoint integrates Microsoft SharePoint as a server-registered Atlas connector: a BPMN SharePoint connector task creates a list item in a model-authored site and list through a configured provider via the job path (ADR-0141), mirroring how the mail package delegates a send to a registry-managed provider (ADR-0079). |
|
temis
Package temis integrates a central temis decision service as a server-registered Atlas connector: a business rule task marked <atlas:temisConnector> delegates its decision to a configured temis instance through the job path (ADR-0050), instead of the embedded temis library that evaluates a local decision (ADR-0014).
|
Package temis integrates a central temis decision service as a server-registered Atlas connector: a business rule task marked <atlas:temisConnector> delegates its decision to a configured temis instance through the job path (ADR-0050), instead of the embedded temis library that evaluates a local decision (ADR-0014). |
|
webscrape
Package webscrape integrates web scraping as a service-task connector: a BPMN web-scraping connector task fetches a model-authored URL and extracts the elements matching a CSS selector through the job path (ADR-0118), mirroring how the rest package calls a model-authored HTTP endpoint (ADR-0067).
|
Package webscrape integrates web scraping as a service-task connector: a BPMN web-scraping connector task fetches a model-authored URL and extracts the elements matching a CSS selector through the job path (ADR-0118), mirroring how the rest package calls a model-authored HTTP endpoint (ADR-0067). |
|
Package dmn integrates the temis DMN decision engine (github.com/pblumer/temis) into Atlas, so a BPMN business rule task can delegate a decision and get an answer back.
|
Package dmn integrates the temis DMN decision engine (github.com/pblumer/temis) into Atlas, so a BPMN business rule task can delegate a decision and get an answer back. |
|
Package engine is the heart of Atlas: a single-writer processor that folds commands into durable events and applies them to state.
|
Package engine is the heart of Atlas: a single-writer processor that folds commands into durable events and applies them to state. |
|
Package expr is Atlas's boundary to a FEEL engine.
|
Package expr is Atlas's boundary to a FEEL engine. |
|
Package job is Atlas's in-process worker harness: it bridges the engine's activatable jobs to worker handlers and feeds their results back as commands (ADR-0007, streaming pull with completion-as-command).
|
Package job is Atlas's in-process worker harness: it bridges the engine's activatable jobs to worker handlers and feeds their results back as commands (ADR-0007, streaming pull with completion-as-command). |
|
Package logging gives Atlas's operational logs a stable contract (ADR-0142).
|
Package logging gives Atlas's operational logs a stable contract (ADR-0142). |
|
Package mcp is Atlas's Model Context Protocol server: it lets an AI agent drive a running Atlas server through tools — deploy a BPMN model, manage design-time projects and artifacts, start an instance, complete human tasks, and inspect live runtime state.
|
Package mcp is Atlas's Model Context Protocol server: it lets an AI agent drive a running Atlas server through tools — deploy a BPMN model, manage design-time projects and artifacts, start an instance, complete human tasks, and inspect live runtime state. |
|
Package metrics is Atlas's Prometheus exposition: an owned registry, the naming conventions every Atlas metric follows, and the HTTP handler that serves them (ADR-0142).
|
Package metrics is Atlas's Prometheus exposition: an owned registry, the naming conventions every Atlas metric follows, and the HTTP handler that serves them (ADR-0142). |
|
Package model defines the records that flow through Atlas and their on-disk binary encoding.
|
Package model defines the records that flow through Atlas and their on-disk binary encoding. |
|
Package opensearch exports Atlas's durable event history to an OpenSearch (or API-compatible Elasticsearch) index.
|
Package opensearch exports Atlas's durable event history to an OpenSearch (or API-compatible Elasticsearch) index. |
|
Package state is Atlas's materialized state store: the queryable fold of the event log (ADR-0001), backed by Pebble (ADR-0003).
|
Package state is Atlas's materialized state store: the queryable fold of the event log (ADR-0001), backed by Pebble (ADR-0003). |
|
Package wal is Atlas's write-ahead log: a segmented, append-only record store with group commit.
|
Package wal is Atlas's write-ahead log: a segmented, append-only record store with group commit. |
Click to show internal directories.
Click to hide internal directories.