Skip to content

SPEC: Kernel Invariants

Core guarantees that Verist maintains at all times. Code that violates these invariants is incorrect.

These invariants are part of the Tier 1 (Kernel) stability guarantee (see ADR-005).

1. Steps Are Pure

Given identical inputs and artifact playback, a step produces identical outputs. Side effects happen through adapters, not directly in step code.

2. State Lives in Database

The database is the source of truth. In-memory state is ephemeral. Queue jobs are pointers, not payloads.

3. Commands Are Data

Steps return commands as plain objects describing intent. The kernel does not execute commands – runners interpret them.

4. Outputs Are Partial

Steps return partial state updates (changed fields only). Runners merge outputs into persisted state.

5. Events Are Immutable

Audit events are append-only. They are never modified or deleted.

6. Replay Is Exact

With captured artifacts, replay produces byte-identical outputs. All nondeterminism must be artifacted.

7. Overlay Wins

Human corrections (overlay) take precedence over computed values when deriving effective state.

8. Hashes Are Mandatory

Every LLM interaction records input and output hashes to enable audit, dedupe, and correlation.

9. Errors Are Values

Expected failures return Result values; thrown exceptions indicate bugs, not business logic failures. See ADR-012.

10. Version Is Auditable

Every step execution records the workflow version and exposes it in results.

11. No Runtime Assumptions

Steps and runners must assume short-lived, stateless execution. No reliance on durable memory, background loops, or local filesystem state.

LLM context: llms.txt · llms-full.txt
Released under the Apache 2.0 License.