Decision
ADR 0011: The reference kernel is storage-neutral
Prove the complete action loop in memory before selecting Har or another persistence engine.
Context
The Step 1 contracts need executable proof, but choosing a database now would let persistence details define semantics before the protocol has survived one complete loop.
Decision
main includes a deliberately small in-memory reference kernel that:
validates a request
-> claims idempotency
-> resolves trusted authority
-> executes one bounded operation
-> records ordered events and evidence
-> optionally invokes an explicit objective evaluator
-> emits a result and immutable receipt
-> reconstructs the request after executor replacementThe kernel depends on interfaces and protocol records, not Instant, Har, SQL, Vercel, or a filesystem. It is a conformance reference and Step 2 integration target, not a production runtime claim.
The reference bounded-read executor projects only resolved fields. Replaying a completed request returns the original result. Encountering an admitted request without a final receipt returns an explicit recovery state instead of rerunning it.
Consequences
- Step 1 contracts are executable rather than aspirational;
- storage selection remains reversible;
- HARnest can implement the same boundary without importing an accidental database ontology;
- the next milestone can test one real durable task against this reference behavior;
mainstays a compact constitutional/reference repository rather than becoming the production HARnest implementation.