# Rehabilitation — the post-arrest loop, wired *The warden work that finally drives discipline, reform, and parole. Source in `Source/Justice/Corrections/`.* Classification, discipline, deterrence, and parole always had their **maths** — a grade over the record, a reform score punishment moves, an order climate, a release decision. What they lacked was a **trigger**: nothing in play called them. Reform never moved, so classification never re-graded and parole never fired; the only thing that raised the colony's order was a punishment nothing invoked. The post-arrest half of the loop was real code with no way to run it. Rehabilitation is that trigger. It gives corrections the same treatment Ward gave psychiatric care — a **prisoner interaction mode**, **warden jobs**, an **alert**, and an inspect readout — so a warden actually reforms a prisoner over time and paroles them when they have turned a corner. --- ## The two modes Both are non-exclusive prisoner interaction modes (the shape Prison Labor and Ward use), so they stack with each other and with recruit / reduce-resistance. | Mode | What a warden does | Result | |---|---|---| | **Rehabilitate** | Runs counselling sessions on the prisoner | Reform rises, the reform track fills, colony order rises | | **Parole when reformed** | Releases the prisoner **once they are eligible** | A paroled colonist, back in the colony | Set **Rehabilitate** alone to run the programme and parole by hand when the alert fires; set **both** for a hands-off "reform, then release" pipeline. A prisoner flagged for parole who is *not yet* eligible is simply not acted on — the warden waits. --- ## A rehabilitation session A warden walks to the prisoner and counsels them for ~1250 ticks (about 20 in-game minutes), Social being the active skill. On completion (never on interruption — the credit is a follow-on toil), one session does three things, in `CorrectionsUtility.RunReformSession`: 1. **Corrective discipline** — `Discipline.Punish(prisoner, harsh: false)`: reform **+0.10**, and the punishment is recorded, which raises the colony's **order** by `+0.12`. This is the deterrence-up half that punishment alone never triggered — visible corrective justice deters everyone else. 2. **The reform track** — `TreatmentProgram.AdvanceRecovery` advances `Institution_Reforming` on Core's shared treatment engine, by `0.34 × cell quality × skill`. It is the visible progress bar, and it **decays** (`−0.08/day`), so rehabilitation has to be *sustained*. 3. **A memory** — the prisoner feels counselled (a small mood lift). | Input | Range | Source | |---|---|---| | skill factor | `0.5 … 1.0` | warden's Social level | | cell quality | `0.5 … 1.5` | `TreatmentProgram.FacilityQuality` (room impressiveness) | | reform / session | `+0.10` | `Discipline.Punish` (fixed) | | order / session | `+0.12` | `Justice.RecordPunishment` | Reform reaches the parole bar (`≥ 0.30`) in roughly **three completed sessions**, faster than a bad cell or a poor counsellor fills the visible track — so the "Ready for parole" alert keys off the real gate (`Parole.CanRelease`), not the bar. --- ## Neglect — the teeth A prisoner you flag for rehabilitation and then never attend **hardens**, exactly as a ward you don't staff does. `MapComponent_ReformNeglect` measures the days since the last real session; past **two days** of neglect, reform falls `−0.15/day` and they resent it (a mood hit). The hardening lowers reform *directly*, not through `Discipline.Punish` — neglect is passive prisonization, not an act of visible justice, so unlike a session it must **not** raise the colony's order. Attend the prisoner and the clock resets; flag them and walk away and they slide back toward the record that put them in. "A reform programme you don't staff is worse than none." --- ## Parole — the release that stays When a rehabilitated prisoner clears `Parole.CanRelease` — reform `≥ 0.30`, security grade `≤ Medium`, not already pardoned — the **Ready for parole** alert names them. A warden set to Parole then processes the release (`CorrectionsUtility.ReleaseOnParole`): - marks the **pardon** on the record; - clears the prisoner hold so a former colonist is a **free colonist again** — a parolee who *stays* in the colony carrying their record, not vanilla's release that ejects them from the map; - a grateful memory, and a small **+0.03** to order (a lawful release is visible justice too). The parolee keeps their `CriminalRecord`, so if they reoffend the [policing](Policing.md) loop catches them again — recidivism, closing back onto the start. --- ## Seeing it A rehabilitated prisoner's inspect pane shows the state directly (a Harmony postfix on `Pawn.GetInspectString`, via Justice's existing Regime patch — not a contested method): > *Rehabilitation: reforming (40%)* · *reformed — ready for parole* · *— neglected (3d)* And because the colony's **order climate** otherwise has no readout at all, the same line surfaces it when it is far enough from ordinary to matter — *Colony order: low (28%) — crime pays here* / *high (71%) — order holds*. --- ## What this closes With rehabilitation wired, the whole post-arrest arc runs in play: **discipline** moves reform, **classification** re-grades as reform rises, **deterrence** climbs on visible justice (not just falls on crime), **parole** releases the reformed, and Core's **treatment engine** carries the reform track the same way it carries Ward's recovery. The loop closes back onto disposition — catching, reforming, and releasing one pawn moves the climate every other pawn is judged against. Gated by `InstitutionSettings.justice`, like the rest of the corrections layer. --- *Part of the **Institution** suite. AI disclosure: developed with substantial assistance from Claude (Anthropic).*