<!-- SOLIDIVISM · part 37 -->
ndency, shared database, shared server resource.
- The foundation traces through shared infrastructure, not just code.

**Inconsistencies across versions:**
- v14 works, v15 fails, v16 works again (with same code as v14). Contradiction? Or: environment changed between deploys, non-deterministic bug, race condition.
- The foundation records all three versions and investigates what differed besides code.

```javascript
{
  id: "solidivism:contradiction:file-reappeared:v1",
  type: "CONTRADICTION",
  observationA: "three.min.js missing (ls returned nothing, 22:39 HST)",
  observationB: "three.min.js present (17 copies found, 22:40 HST)",
  // NOT a logical impossibility. Possible explanations:
  explanations: [
    {
      theory: "File was always present in other locations; only the expected path was empty",
      plausibility: "high",
      // The 17 copies were elsewhere. The 'missing' was path-specific.
    },
    {
      theory: "File restored between observations",
      plausibility: "medium",
      // Solid restored it. Timeline: missing confirmed, then restored, then copies found.
    }
  ],
  resolution: "Both observations true. 'Missing' referred to specific path. 'Present' referred to server-wide search.",
  // The contradiction dissolves when scope is clarified. But both observations preserved.
}
```

---

## 4. IRREDUCIBLE UNCERTAINTY

**Do not assume every failure can be repaired, every event reconstructed, or every cause proven.**

Some things are unknowable:

```javascript
{
  id: "solidivism:unknowable:who-deleted-threejs:v1",
  type: "UNKNOWABLE",
  question: "Who deleted three.min.js from /opt/epistles/public/solidability/js/?",
  whyUnknowable: [
    "No deletion log exists",
    "No shell history available for the relevant period",
    "Multiple agents had file access (Solid via deploys, King via Termius)",
    "Time of deletion unknown (could have been weeks before discovery)"
  ],
  // The foundation MARKS this as unknowable, not as "low confidence."
  // Low confidence means "we might find out." Unknowable means "the evidence is gone."

  implications: [
    "Process fix (dependency verification on startup) is more valuable than blame",
    "Future deletions will be logged (prevent recurrence of unknowability)",
    "The King's theory remains plausible but unprovable"
  ],

  // Unknowable is not failure. It's honest.
  // The foundation distinguishes: unknown (might learn) vs unknowable (evidence destroyed)
}
```

**Categories of irreducible uncertainty:**
- **Destroyed evidence:** Logs rotated, files overwritten, memory cleared
- **Unobserved events:** Happened when no instrument was watching
- **Non-deterministic systems:** Race conditions, thermal effects, cosmic rays (real but unprovable per-incident)
- **Human memory limits:** "I don't remember if I deleted that file" is valid data

---

## 5. COMPETING HYPOTHESES

**Design the foundation to preserve multiple competing hypotheses until evidence distinguishes them.**

```javascript
{
  id: "solidivism:investigation:floor-glitch-cause:v1",
  type: "INVESTIGATION",
  question: "What caused the floor texture glitching?",

  hypotheses: [
    {
      id: "solidivism:hypothesis:missing-threejs:v1",
      claim: "Missing three.min.js caused cache fallback to wrong version",
      status: "leading",
      evidence_for: ["file confirmed missing", "glitch resolved after restore"],
      evidence_against: ["mechanism unproven", "cache-busting added simultaneously"],
      confidence: "medium"
    },
    {
      id: "solidivism:hypothesis:cache-staleness:v1",
      claim: "Stale cached foundation.js (without cache-busting) caused rendering of old buggy code",
      status: "competing",
      evidence_for: ["no cache-busting before fix", "King's iPhone aggressively caches"],
      evidence_against: ["glitch appeared suddenly, not gradually"],
      confidence: "medium"
    },
    {
      id: "solidivism:hypothesis:gpu-thermal:v1",
      claim: "iPhone GPU thermal throttling caused rendering artifacts",
      status: "competing",
      evidence_for: [],
      evidence_against: ["glitch also seen in test browser (no thermal issue)"],
      confidence: "low"
    },
    {
      id: "solidivism:hypothesis:adversarial:v1",
      claim: "Deliberate tampering with rendering pipeline",
      status: "deprioritized",
      evidence_for: [],
      evidence_against: ["no other anomalies", "simpler explanations available"],
      confidence: "low"
    }
  ],

  // Rules:
  // 1. ALL hypotheses preserved, even deprioritized ones
  // 2. Status changes require evidence (not opinion)
  // 3. "Leading" does not mean "proven"
  // 4. New evidence can reactivate any hypothesis
  // 5. Investigation is "open" until: proven, unknowable, or explicitly closed

  status: "open",
}
```

---

## 6. RESOURCE-AWARE INVESTIGATION

**Very large codebases and historical records must be examinable incrementally without overwhelming phones, s