@@ -4,7 +4,7 @@ This document defines the different forms of **state** in CrypSA.
44
55It clarifies:
66
7- * what counts as ** truth**
7+ * what is ** truth**
88* what is ** derived**
99* what is ** local to observers**
1010* what is ** interpretation or experience**
@@ -15,12 +15,12 @@ Understanding these distinctions is critical to implementing CrypSA correctly.
1515
1616## 📜 Authority Level
1717
18- The ` /spec ` directory is the ** authoritative definition of runtime behavior** .
18+ This document is part of ` /spec ` and defines ** state structure and behavior** .
1919
20- Architecture documents explain the system.
21- The spec defines how it must behave.
20+ 👉 For the authoritative definition of truth vs state, see:
21+ ` CrypSA_Truth_vs_State.md `
2222
23- If there is any conflict, ** the spec takes precedence** .
23+ If there is any conflict, ** ` CrypSA_Truth_vs_State.md ` takes precedence** .
2424
2525---
2626
@@ -30,25 +30,53 @@ CrypSA separates **canonical truth** from all other forms of state.
3030
3131This document exists to:
3232
33+ * define categories of state
3334* prevent confusion between state types
3435* protect the integrity of canonical truth
3536* guide implementation decisions
3637* ensure consistent mental models across contributors
3738
3839---
3940
41+ ## Defines
42+
43+ * categories of state
44+ * authority of each state type
45+ * relationship between truth and state
46+
47+ ---
48+
49+ ## Does Not Define
50+
51+ * validation rules
52+ * invariant definitions
53+ * replay implementation details
54+ * observer implementation strategies
55+
56+ ---
57+
4058## Core Principle
4159
42- > In CrypSA, ** canonical event history is the only source of truth** .
43- > All other state is derived, local, or interpretive.
60+ > Canonical event history is the source of truth.
61+ > All state, including derived canonical state, is a product of replay and is not itself authoritative.
62+
63+ ---
64+
65+ ## Non-Negotiable Rule
66+
67+ State is never truth.
68+
69+ No form of state in CrypSA is authoritative.
70+
71+ Only canonical event history defines truth.
4472
4573---
4674
4775## State Categories
4876
4977CrypSA defines five primary categories of state:
5078
51- 1 . Canonical Event History
79+ 1 . Canonical Event History (Truth)
52802 . Derived Canonical State
53813 . Observer Local State
54824 . Predicted (Speculative) State
6997
7098* append-only
7199* immutable
72- * globally authoritative
100+ * authoritative within the system context
73101
74102It is controlled exclusively by:
75103
@@ -92,13 +120,14 @@ Canonical event history defines:
92120
93121Derived canonical state is:
94122
95- * the current world state
123+ * a reconstructed representation of the system
96124* produced by replaying canonical event history
97125
98126It is:
99127
100- * deterministic
128+ * deterministic when replayed against canonical event history under the same validation context
101129* reconstructable
130+ * discardable
102131* not authoritative
103132
104133---
@@ -113,7 +142,7 @@ It is:
113142
114143### Role
115144
116- Derived canonical state is used for :
145+ Derived canonical state is used as :
117146
118147* validation context
119148* simulation reference
@@ -142,8 +171,8 @@ It includes:
142171### Properties
143172
144173* not authoritative
145- * may diverge from canonical truth
146- * may be incomplete or approximate
174+ * may temporarily diverge from derived canonical state during reconciliation
175+ * may be incomplete or approximate representations
147176
148177---
149178
@@ -161,7 +190,7 @@ Observer local state enables:
161190
162191Observers may simulate freely, but:
163192
164- > local state does not define truth.
193+ > Local state does not define truth.
165194
166195---
167196
@@ -237,43 +266,46 @@ This state determines:
237266
238267> Interpretation does not change truth — it changes perception.
239268
269+ Lenses do not influence validation or canonical outcomes.
270+
240271---
241272
242273## State Flow
243274
244- The relationship between state types can be visualized as :
275+ The relationship between state types:
245276
246- ``` text id="5qk2zp"
277+ ``` text
247278Canonical Event History (Truth)
248279 ↓ (Replay)
249280Derived Canonical State
250281 ↓ (Used by validation and observers)
251282Observer Local State (includes predicted state)
252283 ↓ (Adapters + Lenses)
253284Interpreted / Experience State
254- ```
285+ ````
255286
256287---
257288
258289## Authority Boundaries
259290
260- | State Type | Authority | Can Modify Truth? |
261- | ----------------------- | --------------- | ----------------- |
262- | Canonical Event History | Validator | Yes |
263- | Derived Canonical State | System ( Replay) | No |
264- | Observer Local State | Observer | No |
265- | Predicted State | Observer | No |
266- | Interpreted State | Observer | No |
291+ | State Type | Authority | Can Modify Truth? |
292+ | ----------------------- | -------------- | ----------------- |
293+ | Canonical Event History | Validator | Yes |
294+ | Derived Canonical State | Replay Process | No |
295+ | Observer Local State | Observer | No |
296+ | Predicted State | Observer | No |
297+ | Interpreted State | Observer | No |
267298
268299---
269300
270301## Key Rules
271302
2723031. **Only canonical event history is truth**
273- 2 . ** All canonical state must be derivable from canonical events**
274- 3 . ** Observers may simulate, but not define truth**
275- 4 . ** Predicted state must reconcile with canonical outcomes**
276- 5 . ** Interpretation must not mutate canonical data**
304+ 2. **All state must be derivable from canonical event history**
305+ 3. **State is always non-authoritative**
306+ 4. **Observers may simulate, but not define truth**
307+ 5. **Predicted state must reconcile with canonical outcomes**
308+ 6. **Interpretation must not mutate canonical data**
277309
278310---
279311
@@ -289,10 +321,10 @@ It is the only mechanism by which:
289321
290322* canonical event history may change
291323
292- All other state types :
324+ All state:
293325
294- * depend on this process
295- * do not influence truth directly
326+ * depends on this process
327+ * does not influence truth directly
296328
297329---
298330
@@ -305,8 +337,8 @@ Replay:
305337
306338Replay is:
307339
308- * deterministic
309- * foundational to reconstruction
340+ * deterministic when applied to canonical event history under the same validation context
341+ * the foundation of reconstruction
310342
311343---
312344
@@ -318,12 +350,12 @@ Adapters:
318350
319351Lenses:
320352
321- * determine meaning and visibility
353+ * interpret canonical and local data into meaning and experience
322354
323355Neither:
324356
325357* define truth
326- * modify canonical state
358+ * modify canonical event history
327359
328360---
329361
@@ -337,17 +369,17 @@ Implementations may:
337369
338370However:
339371
340- * canonical event history must remain the source of truth
341- * all derived state must remain consistent with replay
372+ * canonical event history remains the source of truth
373+ * all state must remain consistent with replay
342374
343375---
344376
345377## Summary
346378
347379CrypSA defines multiple forms of state, but only one form of truth:
348380
349- * ** canonical event history** is authoritative
350- * all other state is derived, local, or interpretive
381+ * **canonical event history is authoritative**
382+ * all state is derived, local, or interpretive
351383
352384This separation ensures:
353385
0 commit comments