# PR Recovery Investigation — Issue #1219

**Audit source:** Issue #1210

Five PRs were closed without merge while their parent issues remained open and
marked p0-critical. This document records the investigation findings and the
path to resolution for each.

---

## Root Cause

Per Timmy's comment on #1219: all five PRs were closed due to **merge conflicts
during the mass-merge cleanup cycle** (a rebase storm), not due to code
quality problems or a changed approach. The code in each PR was correct;
the branches simply became stale.

---

## Status Matrix

| PR | Feature | Issue | PR Closed | Issue State | Resolution |
|----|---------|-------|-----------|-------------|------------|
| #1163 | Three-Strike Detector | #962 | Rebase storm | **Closed ✓** | v2 merged via PR #1232 |
| #1162 | Session Sovereignty Report | #957 | Rebase storm | **Open** | PR #1263 (v3 — rebased) |
| #1157 | Qwen3-8B/14B routing | #1065 | Rebase storm | **Closed ✓** | v2 merged via PR #1233 |
| #1156 | Agent Dreaming Mode | #1019 | Rebase storm | **Open** | PR #1264 (v3 — rebased) |
| #1145 | Qwen3-14B config | #1064 | Rebase storm | **Closed ✓** | Code present on main |

---

## Detail: Already Resolved

### PR #1163 → Issue #962 (Three-Strike Detector)

- **Why closed:** merge conflict during rebase storm
- **Resolution:** `src/timmy/sovereignty/three_strike.py` and
  `src/dashboard/routes/three_strike.py` are present on `main` (landed via
  PR #1232). Issue #962 is closed.

### PR #1157 → Issue #1065 (Qwen3-8B/14B dual-model routing)

- **Why closed:** merge conflict during rebase storm
- **Resolution:** `src/infrastructure/router/classifier.py` and
  `src/infrastructure/router/cascade.py` are present on `main` (landed via
  PR #1233). Issue #1065 is closed.

### PR #1145 → Issue #1064 (Qwen3-14B config)

- **Why closed:** merge conflict during rebase storm
- **Resolution:** `Modelfile.timmy`, `Modelfile.qwen3-14b`, and the `config.py`
  defaults (`ollama_model = "qwen3:14b"`) are present on `main`. Issue #1064
  is closed.

---

## Detail: Requiring Action

### PR #1162 → Issue #957 (Session Sovereignty Report Generator)

- **Why closed:** merge conflict during rebase storm
- **Branch preserved:** `claude/issue-957-v2` (one feature commit)
- **Action taken:** Rebased onto current `main`, resolved conflict in
  `src/timmy/sovereignty/__init__.py` (both three-strike and session-report
  docstrings kept). All 458 unit tests pass.
- **New PR:** #1263 (`claude/issue-957-v3` → `main`)

### PR #1156 → Issue #1019 (Agent Dreaming Mode)

- **Why closed:** merge conflict during rebase storm
- **Branch preserved:** `claude/issue-1019-v2` (one feature commit)
- **Action taken:** Rebased onto current `main`, resolved conflict in
  `src/dashboard/app.py` (both `three_strike_router` and `dreaming_router`
  registered). All 435 unit tests pass.
- **New PR:** #1264 (`claude/issue-1019-v3` → `main`)
