Architecture decisions
The platform’s memory: every consequential decision is an ADR — context, decision, consequences, and what was rejected. They are the honest answer to “why is it built this way”, and the moat a rewrite would have to re-earn.
- ADR-0001 — 0001 — VejasScript as the native flow language
- ADR-0002 — 0002 — NATS JetStream as the only infrastructure dependency
- ADR-0003 — 0003 — The package model
- ADR-0004 — 0004 — Service composition & EXPORTS visibility
- ADR-0005 — 0005 — Business surface: literals, corrected in place
- ADR-0006 — 0006 — The runtime is its own MCP server; flow-as-tool
- ADR-0007 — 0007 — Connectors: native bundled + bus contract + SDK
- ADR-0008 — 0008 — Secrets via a Vault, never in literals
- ADR-0009 — 0009 — All-Rust runtime, no Python
- ADR-0010 — 0010 — Transformation doctrine: small registry + code-by-example
- ADR-0011 — 0011 — Connector extensibility: external process, not native libs; WASM later
- ADR-0012 — 0012 — Deployment topologies: cells and outbound-only collectors
- ADR-0013 — 0013 — Remote control plane over NATS leaf nodes
- ADR-0014 — 0014 — SAP connector: native Rust over the NW RFC SDK, no JVM
- ADR-0015 — 0015 — Persistent dead-letter queue with operator replay
- ADR-0016 — 0016 — Observability: hand-rolled Prometheus
/metricsand OTLP trace export - ADR-0017 — 0017 — The connector admission test
- ADR-0018 — 0018 — Shadow-replay on persisted traffic (and the promote audit trail)
- ADR-0019 — 0019 — Rules-view: a read-only projection of a flow’s rules
- ADR-0020 — 0020 — Clustering and zero-downtime, the NATS-native way
- ADR-0021 — 0021 — Versioning, canary, and time-travel
- ADR-0022 — 0022 — Kafka connector: an exec-bridge over kcat, not a native client
- ADR-0023 — 0023 — IBM MQ: a first-class transactional connector, not an exec-bridge
- ADR-0024 — 0024 — The proposal queue: governed change, from agents and the fleet
- ADR-0025 — 0025 — MQTT: a hand-rolled sync client, not a dependency
- ADR-0026 — 0026 — AMQP 0-9-1 (RabbitMQ): a sync connector on amiquip
- ADR-0027 — 0027 — Apache Pulsar: spike, and a deliberate defer
- ADR-0028 — 0028 — The open-core boundary
- ADR-0029 — 0029 — The failure-mode guardrails