Each ADR captures one decision: its context, the decision, its status, and its consequences. Format after Michael Nygard. New decisions get the next number and never rewrite history — a reversed decision is a new ADR that supersedes the old one.
Status legend: Accepted (decided & implemented) · Accepted (partial)
(decided, partly built) · Proposed (decided direction, not yet built) ·
Superseded by NNNN.
| # | Title | Status |
|---|---|---|
| 0001 | VejasScript as the native flow language | Accepted |
| 0002 | NATS JetStream as the only infrastructure dependency | Accepted |
| 0003 | The package model | Accepted |
| 0004 | Service composition & EXPORTS visibility | Accepted |
| 0005 | Business surface: literals, corrected in place | Accepted |
| 0006 | The runtime is its own MCP server; flow-as-tool | Accepted |
| 0007 | Connectors: native drivers + declarative manifests + bus contract | Accepted |
| 0008 | Secrets via a Vault, never in literals | Accepted |
| 0009 | All-Rust runtime, no Python | Accepted |
| 0010 | Transformation doctrine: small registry + code-by-example | Accepted |
| 0011 | Connector extensibility: external process, not native libs; WASM later | Accepted |
| 0012 | Deployment topologies: cells and outbound-only collectors | Accepted |
| 0013 | Remote control plane over NATS leaf nodes | Accepted (partial) |
| 0014 | SAP connector: native Rust over the NW RFC SDK, no JVM | Accepted |
| 0015 | Persistent dead-letter queue with operator replay | Accepted |
| 0016 | Observability: hand-rolled Prometheus /metrics and OTLP trace export |
Accepted |
| 0017 | The connector admission test | Accepted |
| 0018 | Shadow-replay on persisted traffic (+ promote audit trail) | Accepted |
| 0019 | Rules-view: read-only rule projection (N1/N2/N3 doctrine) | Accepted |
| 0020 | Clustering & zero-downtime: competing durables + KV singleton leases | Accepted |
| 0021 | Versioning, canary & time-travel (cluster-wide promotion) | Accepted |
| 0022 | Kafka connector: exec-bridge over kcat (offsets in our KV) | Accepted |
| 0023 | IBM MQ: first-class transactional connector (destructive get, syncpoint) | Accepted |
| 0024 | The proposal queue: governed change, from agents and the fleet | Accepted |
| 0025 | MQTT: hand-rolled sync client (3.1.1, QoS 0/1, in-binary) | Proposed |
# NNNN — Title
- Status: Proposed | Accepted | Accepted (partial) | Superseded by NNNN
- Date: YYYY-MM-DD
## Context
What forces are at play? What problem or tension prompts a decision?
## Decision
What we decided, stated plainly.
## Consequences
What becomes easier, harder, or constrained. Include the negative ones.
## Alternatives considered
What else was on the table and why it lost.