# SAE-1.4 — CANONICAL SPECIFICATION
### Single source of truth for the Sanatan Awareness Equation

> **STATUS: CANONICAL.** When any document, page, or code in this repository disagrees
> with this file about the equation, **this file wins.** The paper (v0.6) and the live
> site (v1.1) are STALE with respect to this spec and must be brought into line with it.
> See `REPO-SYNC-INSTRUCTIONS.md`.

---

## 0. What SAE-1.4 is (one paragraph, for any reader)

SAE-1.4 is a **directional systems model** — for self-tracking and reflective design, not
deterministic physics and not prophecy. Its single core distinction is between **Consciousness**
(the constant, invariant substrate — the Witness) and **Awareness** (how much of that constant
light effectively shines through a person's filters in a given moment). The equation does not
model consciousness itself; it models *access to it*. Everything engineerable is on the access
side.

---

## 1. Canonical equation

```
Awareness_raw(t) = Belief_total(t) × [ C − Blockers(t) + Purity(t) + Shakti_effective(t) ] + ε_grace(t)
```

- **Left side `Awareness_raw(t)`** = effective witness-access / shine-through through current
  filters. NOT ontological consciousness. In implementation, always name it `Awareness_raw`
  (the model output), `ObservedAwareness` (a logged proxy), or `AwarenessIndex` (the bounded
  display value) — never bare "Awareness," to avoid implying the substrate is being measured.
- **`C`** = Consciousness constant = **1.0 (humans)**, invariant. This is a **normalization
  convention for modeling, not a claim that Ātman is quantitatively measurable.** This disclaimer
  must travel with C everywhere it appears.
- **`Belief_total(t)`** = a **coherence gate** (see §3), in `[−1, +1]`. NOT a "gain coefficient"
  — that phrase is retired. It multiplies the whole bracket; if it is negative, the system enters
  the **inversion regime**.
- **`Blockers(t)`** ∈ `[0, 1]` (see §4). Subtracts.
- **`Purity(t)`** ∈ `[0, 1]` (see §5). Adds.
- **`Shakti_effective(t)`** ∈ `[0, 1]` (see §6). Adds.
- **`ε_grace(t)`** = additive, non-linear residual (see §7).

---

## 2. The constant — C

```
C_HUMAN = 1.0
```

Fixed baseline. "The light exists; the only question is how much is transmitted." Present and
identical in all beings — the substrate does not vary across persons, conditions, or states.
**This is the model's ethical spine:** because C is constant, nothing in the equation can ever
imply one person has "more consciousness" than another.

---

## 3. Belief_total — the coherence gate (the heart of SAE-1.4)

```
Belief_total(t) = min( B1(t), B2(t) )          # weak-link coherence gate
                  ∈ [−1, +1]
```

This is the single most important upgrade in SAE-1.4 and the part most likely to be MISSING from
stale documents (the v0.6 paper and v1.1 site use a single undifferentiated `Belief_total` with
NO B1/B2 decomposition and NO min() gate). **The canonical model decomposes Belief into two
signed components and gates on their minimum.**

### B1 — Orientation toward Truth / Growth (signed)
- **Question it answers:** "Am I pointed toward truth and transformation today, or organized
  against it?"
- **Range:** `[−1, +1]`
- **Anchors:**
  - `+1.0` — "I genuinely want truth/growth; I choose dharmic improvement even under discomfort."
  - `0.0` — neutral / autopilot; neither resisting nor committing.
  - `−1.0` — actively resisting growth; knowingly choosing avoidance, self-sabotage, cynicism.
- **B1 is the PRIMARY signed driver of the inversion regime** — the component that, when negative,
  means "organized against truth/growth/dharma."

### B2 — Trust + Surrender to the container (signed, usually positive)
- **Question it answers:** "Do I trust this path / the sacred / my container enough to surrender
  even partial control?"
- **Range:** `[−1, +1]`
- **Anchors:**
  - `+1.0` — "I trust and surrender; I can be guided and undone; I let practice work on me."
  - `0.0` — partial, inconsistent trust; control still dominant.
  - `−1.0` — active distrust, defiance, or resentment toward the container; fighting it.
- B2 going negative is rarer than B1 going negative — it means active hostility to / manipulation
  through the sacred.

### Why min() (the weak-link rule)
Effective coherence is only as strong as its weakest foundational component. If either component
collapses, the gate collapses. If either goes negative, the whole bracket inverts. This is what
makes the gate non-trivial — the two components genuinely diverge in real people.

### Worked examples (canonical — use these in any teaching surface)
| Case | B1 | B2 | Belief_total | Regime |
|---|---|---|---|---|
| High faith, low surrender | +0.8 | +0.1 | **+0.1** | aligned but weak (the "wants truth but won't let go" pattern) |
| Devotional comfort, anti-growth | −0.4 | +0.7 | **−0.4** | INVERSION (devotion as anesthesia) |
| Confident self, distrusts path | +0.6 | −0.2 | **−0.2** | INVERSION (friction against the vehicle) |

### The inversion regime — plain-language definition (must accompany any negative output)
> A negative Belief_total does **not** mean less consciousness, and does **not** mean "wrong
> religion." It means coherence is organized **against** truth/growth/alignment strongly enough
> that even available capacity may be routed in self-defeating ways. High capacity × negative
> gate = magnified self-defeat (the more powerful the system, the worse the inversion).

### Developmental stage gate
```
stage 0 (infant / pre-reflective): Belief_total = +0.5   (neutral-positive default, NOT 0)
stage 1:                           Belief_total = +0.4
stage 2+:                          Belief_total = min(B1, B2)
```
Prevents the model from falsely implying infants or pre-reflective beings lack access to the
Witness.

---

## 4. Blockers

```
Blockers(t) = Σ vⱼ · Bⱼ(t),  Bⱼ ∈ [0,1],  Σ vⱼ = 1   →  Blockers ∈ [0,1]
```
Weighted sum of blocker dimensions (default equal weights). Blocker dimensions include: fear,
shame, guilt, trauma activation, ego rigidity, addiction/compulsion, anger loops, resentment,
grief rumination, **Moh** (attachment/clinging), **Maya_distortion** (false narrative/confusion),
**Ichha-collapse** (unwillingness to improve).

**Blockers obscure access; they do NOT injure the substrate.** C stays 1.0 regardless of blocker
load.

**Emotion routing rule:** emotion is NOT a blocker by default. A regulated emotion (love,
gratitude, awe) behaves as a Purity/stability booster; only a *dysregulated* loop behaves as a
blocker. Route by `RegulationQuality` (≥ ~0.6 → booster; else → blocker).

---

## 5. Purity — the dharmic stabilization layer

```
Purity(t) = Σ wᵢ · Pᵢ(t),  Pᵢ ∈ [0,1],  Σ wᵢ = 1   →  Purity ∈ [0,1]
```
Six dimensions (default weight 1/6 each):
1. **P1** Emotional regulation
2. **P2** Ethics
3. **P3** Truthfulness
4. **P4** Non-attachment (anti-Moh)
5. **P5** Compassion
6. **P6** Discipline (Tapas)

**Purity is fixed Dharma** (Yama/Niyama, Gītā ethics). Delivery may be modernized; the ethics
themselves are NOT modernizable. Purity is the *cultivated trait layer*; Blockers are the
*currently-active obstruction layer*. They are complementary, not double-counted: truthfulness
counters distortion, non-attachment counters Moh, discipline counters Ichha-collapse.

---

## 6. Shakti_effective — usable power, with capacity clamp

```
Capacity(t)        = max( 0, 1 − PhysicalConstraint(t) − MentalConstraint(t) )
Shakti_effective(t) = Shakti_strength(t) × Shakti_stability(t) × Capacity(t)
                     ∈ [0,1]
```
Shakti is NOT physical vigor alone — it is usable power: pranic throughput, mental clarity,
devotional/heart energy, creative force. The `max(0, …)` clamp prevents negative capacity when
constraints sum above 1.

**FAIRNESS INVARIANT (ethically load-bearing):** constraint reduces *outward throughput /
expression*, NOT the underlying Witness. The model MUST NOT equate illness, disability, or
mental-health burden with low consciousness or low awareness-access at the substrate level. Mental
constraint is modeled as capacity limitation, never as moral failing. This is the Premanand /
Ramakrishna point made structural and must be preserved in every surface.

---

## 7. ε_grace

Additive, stochastic/non-linear (corresponds to Anugraha). Two SAE-compliant implementations:
- **Annotated:** user-logged grace events (sudden insight, satsang, surrender), optionally
  modulated by receptivity.
- **Residual:** `ε_grace = ObservedAwareness − ModelAwareness`.
Keep additive for now.

---

## 8. Derived control metric — OverdriveRisk (NOT in the core equation)

```
OverdriveRisk(t) = Shakti_strength(t) × ( 1 − Purity(t) )
```
"High voltage + low purity fries the wiring." Used by HOPE to **gate practice intensity** — never
to rewrite the core equation. High strength + low purity = destabilization risk signature. This is
the safety governor. A stability gate (minimum clarity, regulation, discernment, boundary, support)
comes before any intensification.

---

## 9. Display transform — AwarenessIndex (UI only, NOT core theory)

```
AwarenessIndex(t) = 50 + 50 · tanh( Awareness_raw(t) / k ),   k ≈ 1.5,   ∈ [0,100]
```
Bounded display value for UI. The core model is `Awareness_raw`; this is only a presentation
mapping. Belongs in an implementation/UI layer, not in the conceptual core.

---

## 10. Structural invariants (must always hold; verified over 5,000 trials)

| Invariant | Meaning |
|---|---|
| `Purity ∈ [0,1]` | dharmic alignment bounded |
| `Blockers ∈ [0,1]` | blocker load bounded |
| `Shakti_effective ∈ [0,1]` | usable capacity bounded after clamp |
| `Belief_total ∈ [−1,1]` | coherence may align or invert |
| `∂Awareness/∂Blockers ≤ 0` when `Belief_total > 0` | blockers reduce shine-through in aligned regime |
| `∂Awareness/∂Purity ≥ 0` when `Belief_total > 0` | purity supports shine-through in aligned regime |
| increasing constraints never increases `Shakti_effective` | capacity clamp monotone |
| stage 0/1 `Belief_total` never defaults to 0 | infants not implied to lack access |

---

## 11. Reference implementation

Authoritative code: `SAE14_analysis/sae14.py` in this repo. The structural test harness
(`test_structural.py`) verifies §10. Any reimplementation in the site/app must reproduce these
functions and pass these invariants.

---

## 12. What SAE-1.4 does NOT claim (must appear wherever the equation is taught)

- It does **not** quantify Ātman (C = 1.0 is a convention).
- It does **not** say illness/disability/mental-health burden lowers consciousness.
- It does **not** treat emotion as impurity by default.
- It does **not** equate Shakti with physical force alone.
- It does **not** predict fate.
- It does **not** replace initiation, lineage, practice, or clinical care.
- It is **directional, not deterministic physics.**
- Structural test passing is **NOT** empirical validation (see `SAE-1.4-VALIDATION-SUMMARY.md`).
