You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
RAES has a raes_runtime control-plane abstraction, an in-memory default store, an optional local JSON store, and a reference HTTP adapter. The repository does not yet define one coherent architecture for how those surfaces relate to embedded consumers, local tools, long-lived services, targets/backends, or distributed execution.
Issue #1092 and PR #1136 exposed the gap by proposing SQLite durability, operation recovery, single-process ownership, and store compatibility rules inside what appears to be a local storage change. Those choices cannot be evaluated in isolation because expected RAES use ranges from tests and single-user single-scenario environments through RAE, env-packs, ETV, air-gapped deployments, multiprocess execution, and high-load services.
This issue owns the architectural design. It does not presuppose SQLite, another database, a queue, an event log, a service topology, or a single universal deployment model.
Questions the design must answer
What is the runtime control-plane: an in-process facade, an embedded component, a deployable service, a shared service, a family of conforming implementations, or some combination?
Where is its boundary relative to SDL authoring, processor compile/plan behavior, runtime execution, RuntimeTarget, reference implementations, concrete backends, RAE, env-packs, and ETV?
What state is authoritative, derived, reconstructable, operational, auditable, evidentiary, or provenance-bearing?
What owns a target, scenario, run, participant, tenant, and operation, and what are the required isolation boundaries?
Is an operation a synchronous backend call with bookkeeping, durable work that can outlive its submitter, desired-state reconciliation, or profile-dependent behavior?
Which concurrency models must be supported: threads, multiple processes, multiple hosts, multiple controllers, multiple targets, and multiple tenants?
What consistency and concurrency-control model applies to snapshots, operations, idempotency claims, audit events, and external backend effects?
What are the required behaviors after process loss, memory loss, host loss, storage loss, network partition, cancellation, timeout, and an indeterminate backend effect?
Which responsibilities belong to the runtime, the control-plane implementation, the persistence/coordination provider, the backend, and the embedding application?
Which operating contexts are supported, and what are their explicit guarantees and nonclaims: tests, development, single-user local execution, embedded RAE/env-pack/ETV use, air-gapped deployments, high-load services, and highly available deployments?
What extension contracts and capability semantics are required for persistence, coordination, scheduling, recovery, and observation without baking one deployment topology into RuntimeControlPlane?
How are startup, shutdown, configuration, migrations, backup/restore, upgrades, compatibility, deprecation, and operational health owned?
Which existing control-plane, store, HTTP adapter, requirement, documentation, and test surfaces should be retained, changed, split, deprecated, or removed?
The required new ADRs and amendments are merged, indexed, and citable. They record the control-plane role and boundaries, state authority, execution and concurrency model, failure/recovery model, supported operating contexts, extension seams, alternatives, consequences, risks, and explicit nonclaims.
Architectural design documents are merged for every architecture selected by the ADRs. They show component boundaries, ownership, data and control flow, lifecycle, persistence/coordination interactions, security boundaries, and failure/recovery behavior in enough detail to guide implementation and review.
All implementation work required by the accepted design is represented by concrete issues in the Runtime Control-Plane milestone. Each issue has a bounded scope, dependencies and ordering, acceptance criteria, verification expectations, and requirement/ADR traceability.
The implementation issue set covers all required code, contracts, migrations, compatibility work, tests, documentation, deployment/composition work, and operational tooling; no required work remains hidden in the design issue or deferred only in prose.
The design issue itself does not implement a storage engine or select one by incidental code change. It closes only when the ADRs, architectural designs, and complete implementation issue set above are in place.
Context
RAES has a
raes_runtimecontrol-plane abstraction, an in-memory default store, an optional local JSON store, and a reference HTTP adapter. The repository does not yet define one coherent architecture for how those surfaces relate to embedded consumers, local tools, long-lived services, targets/backends, or distributed execution.Issue #1092 and PR #1136 exposed the gap by proposing SQLite durability, operation recovery, single-process ownership, and store compatibility rules inside what appears to be a local storage change. Those choices cannot be evaluated in isolation because expected RAES use ranges from tests and single-user single-scenario environments through RAE, env-packs, ETV, air-gapped deployments, multiprocess execution, and high-load services.
This issue owns the architectural design. It does not presuppose SQLite, another database, a queue, an event log, a service topology, or a single universal deployment model.
Questions the design must answer
RuntimeTarget, reference implementations, concrete backends, RAE, env-packs, and ETV?RuntimeControlPlane?Acceptance criteria
RuntimeControlPlane, the store protocols and implementations, and the reference HTTP adapter.Related