SPEC-006
Storage
Status: Draft
Standard: CKS Runtime
Category: Runtime Storage Specification
1. Purpose
This specification defines the canonical Runtime Storage model.
Runtime Storage preserves Runtime operational state beyond the lifetime of an executing Runtime instance.
Storage enables Runtime Sessions to be restored while preserving the canonical semantic guarantees established by CKS Core.
Storage provides persistence capabilities.
Storage does not provide semantic ownership.
2. Scope
This specification defines:
- the Storage model;
- persistent Runtime state;
- Session persistence;
- Transaction integration;
- Version persistence;
- Runtime responsibilities.
This specification intentionally omits implementation-specific storage technologies.
3. Storage Philosophy
Storage preserves Runtime operational state.
Storage does not define knowledge semantics.
Storage does not validate knowledge.
Storage does not interpret Canonical Knowledge Structures.
Storage defines persistence behavior, not knowledge behavior.
4. Storage Model
Runtime Storage is responsible for preserving persistent Runtime state.
Conceptually:
Runtime
│
Committed Transaction
│
Runtime State
│
Storage
│
Future Runtime
````
In the reference implementation, the `RuntimeStorage` abstract class
defines the canonical interface that every storage backend must
satisfy. The bundled `InMemoryStorage` provides a deterministic,
in‑memory reference implementation suitable for testing and
single‑process usage.
Storage operates exclusively on Runtime operational state.
Storage shall never become a source of semantic interpretation.
---
# 5. Persistent Runtime State
Persistent Runtime State may include:
* Runtime Sessions;
* committed Transaction results;
* Runtime metadata;
* Runtime Diagnostics;
* Runtime configuration;
* Runtime Version information.
Persistent Runtime State may reference Canonical Knowledge Structures.
However, persistent state shall never redefine canonical knowledge semantics.
---
# 6. Session Persistence
Runtime Sessions may be persisted.
Persisted Sessions may later be restored.
Restoration recreates equivalent Runtime operational state.
Restoration shall not alter:
* canonical knowledge semantics;
* existing Version History;
* previously persisted state.
A restored Session represents a Runtime continuation context.
Session identity remains an operational Runtime concern.
---
# 7. Transaction Integration
Storage receives Runtime state only after successful Transaction completion.
Conceptually:
```text
Session
│
Transaction
│
Validation
│
Commit
│
Storage
Storage observes completed Transaction outcomes only.
Storage shall not participate in Transaction outcome determination.
Intermediate Transaction states shall never become persistent.
Storage shall never persist partially completed Transactions.
8. Validation Responsibilities
Storage performs no semantic validation.
Storage performs no structural validation.
All canonical validation remains the responsibility of CKS Core.
Runtime coordinates validation before persistence.
Storage assumes that persisted Runtime state has already passed required Runtime Transaction processing.
9. Diagnostics
Storage may produce Runtime Diagnostics describing persistence behavior.
Examples include:
- persistence failures;
- unavailable storage;
- corrupted storage;
- recovery events.
Storage Diagnostics are Runtime Diagnostics as defined by SPEC-004.
Storage shall never generate, reinterpret or modify canonical diagnostics defined by CKS Core.
10. Storage Independence
This specification does not prescribe any implementation.
Examples of possible implementations include:
- embedded databases;
- relational databases;
- object storage;
- distributed storage;
- file-based persistence;
- cloud services.
The reference implementation ships with InMemoryStorage, which is
deterministic and suitable for testing. Additional backends (SQLite,
PostgreSQL) are planned for future releases, all implementing the
same RuntimeStorage interface.
The choice of storage technology is an implementation concern.
Observable Runtime behavior is the subject of standardization.
Conformance depends on observable Runtime behavior rather than implementation technology.
11. Relationship to CKS Core
CKS Core remains responsible for:
- canonical knowledge structures;
- semantic validation;
- structural validation;
- canonical diagnostics.
Storage preserves Runtime operational state without redefining canonical semantic state.
12. Relationship to Runtime Sessions
Storage persists Runtime Sessions.
Storage restores Runtime Sessions.
Storage does not manage Session lifecycle.
Session lifecycle is defined separately by the Runtime Session model.
The reference implementation provides save_session and
load_session methods on the RuntimeStorage interface.
InMemoryStorage implements these by deep‑copying the session
state, guaranteeing isolation between persisted and live objects.
13. Relationship to Transactions
Storage observes Transaction outcomes.
Only successfully committed Transactions become eligible for persistence.
Rolled Back and Aborted Transactions shall not modify persistent Runtime state.
Persistence is a consequence of successful Transaction completion rather than a component of Transaction execution.
14. Relationship to Version History
Storage provides persistence for Runtime Version History.
Version creation occurs independently according to the Version History model.
Storage preserves Versions but does not define Version semantics.
Storage shall preserve:
- Version identity;
- Version ordering;
- Version immutability.
15. Storage Lifecycle
Conceptually, Runtime Storage follows this lifecycle:
Initialize
│
Persist
│
Restore
│
Update
│
Retire
This lifecycle describes observable Runtime behavior.
Internal implementation states remain implementation-defined.
Individual implementations may introduce additional internal states provided canonical behavior is preserved.
16. Design Principles
The Runtime Storage model follows these principles.
Operational Persistence
Storage preserves Runtime operational state.
Semantic Preservation
Storage never modifies canonical knowledge semantics.
Validation Separation
Validation precedes persistence.
Storage never replaces validation.
Technology Independence
Storage behavior is standardized.
Storage implementation remains unrestricted.
Operational Continuity
Persistent state shall allow Runtime execution to resume without altering canonical semantic behavior.
17. Conformance
A Runtime implementation conforms to this specification when it:
- preserves Runtime state independently of Runtime process lifetime;
- persists only successfully committed Transaction results;
- separates persistence from semantic validation;
- preserves Version immutability and ordering;
- preserves canonical Runtime behavior independently of storage technology;
- preserves the separation between operational persistence and canonical semantics.
18. Summary
Runtime Storage defines the canonical persistence model of the Runtime Standard.
Storage enables Session restoration, Version preservation and long-term Runtime continuity while preserving the semantic guarantees defined by CKS Core.
Storage preserves Runtime operational state independently of implementation technology.
Storage provides persistence, not interpretation.