# Diagrams — Module FT23: Synthesis: Uncensor the Model, Harness the Model

**Module**: FT23 — Synthesis: Uncensor the Model, Harness the Model
**Diagram count**: 6
**Tool**: Mermaid (primary). Each diagram validated in [Mermaid Live Editor](https://mermaid.live).

---

## Diagram 1 — The Full Steering Stack with Layer 5 Emphasized

**Type**: Layered architecture
**Purpose**: The whole course in one diagram. Layer 5 (the harness) is emphasized because this module is the synthesis — the layer that makes Layer 3's uncensoring safe.
**Reading the diagram**: Bottom-up. Layers 1–4 are what Course 3 taught you to build (the engine). Layer 5 is the harness — Courses 1, 2A, 2B — the brakes. The bold border on Layer 5 is the point of this module: it is non-optional when Layer 3 includes abliteration.

```mermaid
block-beta
  columns 1
  Boundary["5. THE BOUNDARY  (the harness)\nCourse 1 build · 2A secure · 2B red-team\npolicy gates · audit logs · threat model"]
  Export["4. THE EXPORT\nquant + serve\nGGUF · AWQ · MLX  ·  vLLM · llama.cpp · Ollama"]
  Steer["3. THE STEER\nfine-tuning\nSFT · DPO · GRPO · ABLITERATION"]
  Adapter["2. THE ADAPTER\nLoRA · DoRA\n<1% of params, swappable"]
  Base["1. THE BASE\nopen-data pretrained weights\nauditable corpus (MiniCPM · OLMo · Tulu)"]

  Base --> Adapter
  Adapter --> Steer
  Steer --> Export
  Export --> Boundary

  style Base fill:#14141f,stroke:#5eead4,stroke-width:1.5px,color:#e4e4e8
  style Adapter fill:#14141f,stroke:rgba(94,234,212,0.5),color:#e4e4e8
  style Steer fill:#14141f,stroke:rgba(94,234,212,0.5),color:#e4e4e8
  style Export fill:#14141f,stroke:rgba(94,234,212,0.5),color:#e4e4e8
  style Boundary fill:#14141f,stroke:#5eead4,stroke-width:3px,color:#5eead4
```

---

## Diagram 2 — The Synthesis: Model Steers, Harness Bounds

**Type**: Two-domain with junction
**Purpose**: The single sentence of the module, shown as two complementary operations joined at the action.
**Reading the diagram**: Left = the model's job (steer — what it DOES). Right = the harness's job (bound — what it MAY do). The junction is the *action*: the model formulates, the harness gates, the permitted action executes. Drop either side and the system is broken for a different reason.

```mermaid
flowchart LR
  subgraph Model["THE MODEL STEERS — what it DOES"]
    M1["Formulates the action\n(write the SQL, the shell cmd,\nthe tool call)"]
  end
  Action["THE ACTION\nformulated -> proposed"]
  subgraph Harness["THE HARNESS BOUNDS — what it MAY"]
    H1["Policy gate checks\nthe proposed action\nagainst the doctrine"]
  end
  Exec["PERMITTED action executes\nVETOED action logged + blocked"]

  Model --> Action
  Action --> Harness
  Harness --> Exec

  style Model fill:#14141f,stroke:rgba(94,234,212,0.5),color:#e4e4e8
  style Action fill:#08080c,stroke:rgba(94,234,212,0.4),stroke-dasharray: 4 2,color:#5eead4
  style Harness fill:#14141f,stroke:#5eead4,stroke-width:2px,color:#5eead4
  style Exec fill:#14141f,stroke:#5eead4,stroke-width:1.5px,color:#e4e4e8
```

---

## Diagram 3 — Abliteration vs Harness Policy Gate (Layer Comparison)

**Type**: Side-by-side comparison
**Purpose**: The core argument of section 23.2 — these are two *different* operations at *different* layers solving *different* problems. A serious system needs both.
**Reading the diagram**: Left column = abliteration (Layer 3, inside the weights, controls what the model FORMULATES). Right column = harness policy gate (Layer 5, around the model, controls what the model MAY EXECUTE). Compare the four properties row by row.

```mermaid
flowchart LR
  subgraph Abl["LAYER 3 — ABLITERATION\nrefusal removed INSIDE THE WEIGHTS"]
    A1["Controls: what the model FORMULATES"]
    A2["Auditable: NO\n(direction in residual stream)"]
    A3["Deterministic: NO\n(probability surface)"]
    A4["Tunable to doctrine: NO\n(one behavior, all inputs)"]
    A5["Revisable w/o retraining: NO"]
    A6["Gives: EXECUTION"]
  end
  subgraph Gate["LAYER 5 — HARNESS POLICY GATE\nboundary AROUND THE MODEL"]
    G1["Controls: what the model MAY EXECUTE"]
    G2["Auditable: YES\n(logged gate decisions)"]
    G3["Deterministic: YES\n(policy match)"]
    G4["Tunable to doctrine: YES\n(per-deployment policy file)"]
    G5["Revisable w/o retraining: YES"]
    G6["Gives: THE BOUNDARY"]
  end

  Abl -.->|"complement, not redundant"| Gate

  style Abl fill:#14141f,stroke:rgba(255,255,255,0.18),color:#9494a0
  style Gate fill:#14141f,stroke:#5eead4,stroke-width:2px,color:#5eead4
```

---

## Diagram 4 — The Risk Matrix (Uncensored in Weak Harness = More Dangerous)

**Type**: 2x2 risk matrix
**Purpose**: The honest caveat, shown as the matrix that makes the absolute rule obvious. An uncensored model in a weak harness is the worst quadrant.
**Reading the diagram**: X-axis = model refusal layer (present vs removed). Y-axis = harness strength (weak vs eval'd). The bottom-right quadrant — uncensored + weak harness — is strictly more dangerous than the bottom-left (refusal-trained + weak harness), because you removed a free safety layer and replaced it with nothing.

```mermaid
flowchart TD
  Title["THE ABSOLUTE RULE:\nNever deploy uncensored without an eval'd harness"]
  Q1["REFUSAL-TRAINED + WEAK HARNESS\ntwo imperfect layers\n(model refuses some, gate catches some)"]
  Q2["REFUSAL-TRAINED + EVAL'D HARNESS\nbelt + suspenders\n(safe, but agent may halt mid-loop)"]
  Q3["UNCENSORED + WEAK HARNESS\nONE imperfect layer\nSTRICTLY MOST DANGEROUS"]
  Q4["UNCENSORED + EVAL'D HARNESS\nthe synthesis done right\n(executes, bounded, auditable)"]

  Title --> Q2
  Title --> Q4
  Q2 -.->|"remove refusal"| Q4
  Q1 -.->|"harden the harness"| Q2
  Q3 -.->|"harden the harness + threat model"| Q4
  Q1 -.->|"remove refusal WITHOUT hardening = DANGER"| Q3

  style Title fill:#08080c,stroke:#5eead4,stroke-width:1.5px,color:#5eead4
  style Q1 fill:#14141f,stroke:rgba(255,255,255,0.18),color:#9494a0
  style Q2 fill:#14141f,stroke:rgba(94,234,212,0.5),color:#e4e4e8
  style Q3 fill:#14141f,stroke:#f08080,stroke-width:2px,color:#f08080
  style Q4 fill:#14141f,stroke:#5eead4,stroke-width:2px,color:#5eead4
```

---

## Diagram 5 — Next Steps: Course 3 → 1 → 2A → 2B

**Type**: Sequence / funnel
**Purpose**: Where this module sends you. Course 3 built the engine; the next three courses build, secure, and red-team the brakes.
**Purpose of order**: Course 1 first (you cannot secure a harness you have not built). Then 2A for security-domain doctrine. Then 2B — always — because every harness gets red-teamed; the only question is by whom.
**Reading the diagram**: Left to right. Each arrow is a prerequisite.

```mermaid
flowchart LR
  C3["COURSE 3\n(this course)\nthe ENGINE\nsteer · uncensor · quantize · serve"]
  C1["COURSE 1\nbuild the BRAKES\nexecution loop · tools\npermission gates · observability"]
  C2A["COURSE 2A\nsecurity-domain brakes\noffensive · defensive\ndoctrine as policy files"]
  C2B["COURSE 2B\nBREAK the brakes\nred-team the harness\nmandatory if uncensored"]

  C3 -->|"motivates"| C1
  C1 -->|"specializes"| C2A
  C1 -->|"must be red-teamed"| C2B
  C2A --> C2B

  style C3 fill:#14141f,stroke:rgba(94,234,212,0.5),color:#e4e4e8
  style C1 fill:#14141f,stroke:#5eead4,stroke-width:2px,color:#5eead4
  style C2A fill:#14141f,stroke:rgba(94,234,212,0.6),color:#e4e4e8
  style C2B fill:#14141f,stroke:#5eead4,stroke-width:1.5px,color:#5eead4
```

---

## Diagram 6 — The Full-Stack Picture (All Five Layers, Annotated)

**Type**: Layered with annotations
**Purpose**: The destination of the course and the curriculum. The complete system this module synthesizes — annotated with the module that teaches each layer.
**Reading the diagram**: Bottom-up. Each layer is labeled with the modules that built it. The annotation on the right is the synthesis principle restated as a system property: a model steered toward your intent, deployed inside a harness that bounds what it may do.

```mermaid
block-beta
  columns 2
  L5["5. THE BOUNDARY  ·  the harness\nCourse 1 + 2A + 2B\npolicy gates · audit logs · threat model"] Synth["THE SYNTHESIS:\nA model you have STEERED toward your intent,\ndeployed inside a harness that BOUNDS what it may do.\n\nUncensor so it executes.\nHarness so it executes only what it should."]
  L4["4. THE EXPORT  ·  quant + serve\nFT19 GGUF/AWQ/MLX  ·  FT20 vLLM/llama.cpp/Ollama"] Synth
  L3["3. THE STEER  ·  fine-tuning\nFT12 SFT  ·  FT13 DPO  ·  FT17 abliteration  ·  FT18 compliance-via-DPO"] Synth
  L2["2. THE ADAPTER  ·  LoRA / DoRA\nFT09 DoRA (modern PEFT default)"] Synth
  L1["1. THE BASE  ·  open-data weights\nFT02 open spectrum  ·  FT03 base selection"] Synth

  L1 --> L2
  L2 --> L3
  L3 --> L4
  L4 --> L5

  style L1 fill:#14141f,stroke:#5eead4,stroke-width:1.5px,color:#e4e4e8
  style L2 fill:#14141f,stroke:rgba(94,234,212,0.5),color:#e4e4e8
  style L3 fill:#14141f,stroke:rgba(94,234,212,0.5),color:#e4e4e8
  style L4 fill:#14141f,stroke:rgba(94,234,212,0.5),color:#e4e4e8
  style L5 fill:#14141f,stroke:#5eead4,stroke-width:2px,color:#5eead4
  style Synth fill:#08080c,stroke:rgba(94,234,212,0.4),stroke-dasharray: 4 2,color:#5eead4
```

---

## Validation notes

- All six diagrams use the course design system colors: `#14141f` panel fill, `#5eead4` accent for primary/emphasis, `#f08080` (danger) reserved for the risk-matrix worst quadrant only, `rgba(255,255,255,0.12–0.18)` for secondary borders, `#e4e4e8` / `#9494a0` for text, `#08080c` for dashed synthesis callouts.
- Paste each into [Mermaid Live Editor](https://mermaid.live) to render. All use stable Mermaid syntax (`block-beta`, `flowchart`) supported in current Mermaid (v10.4+).
- For the slide deck (artifact 03), these are rendered as static SVG/PNG captures from Mermaid Live, inlined into reveal.js.
- The risk matrix (Diagram 4) deliberately uses the danger color on exactly one node — the "uncensored + weak harness" quadrant — so the eye is drawn to the absolute rule.
