Fold Ward into the single Institution install as its psychiatric-care layer. package.sh now builds Ward clean and vendors Ward.dll plus its defs and textures alongside the other layers, and the settings shim gains a Ward (psychiatric care) checkbox that writes the shared InstitutionSettings.ward flag. Re-assembling also carries in Justice's now-shipping policing defs (the constable work type and crime thoughts), so the aggregate finally bundles colony crime and the weighed arrest as well. README updated to five layers over one Core with policing shipped and Ward folded in; adds the changelog, the Workshop preview, and the preview generator.
The Institution suite
A set of RimWorld 1.6 mods about what an institution does to the people inside it — and the crime, policing, and justice that put them there. Each mod is a separate install built on a small shared Core; together they form one system.
The thesis
Every pawn has a criminal propensity on a spectrum — nature (traits) × nurture (circumstance, mood, treatment) — and the colony can police it.
The suite is the two halves of that: colonists commit crimes and a policing layer catches them (pre-arrest), and prison / contraband / wards / secure areas hold and reform them (post-arrest). Arrest is the hinge. Nothing hard-codes "prisoner" — every held-person system keys off a secured context: prisoner, ward patient, slave, or secure-area occupant.
The mods
| Mod | What it is | Needs | Status |
|---|---|---|---|
| Institution: Core | the shared engine — propensity (nature × nurture), the criminal record, the secured-context predicate. Invisible on its own | — | shipping |
| Institution: Contraband | the physical smuggling loop — conceal / improvise shivs / Prison-Architect tunnels / warden search / corruption | Core | shipping |
| Institution: Justice | corrections & policing — classification, deterrence, discipline & reform, parole, regime, and colony crime → witnesses → a weighed arrest | Core, Harmony | shipping |
| Institution: Gangs | gangs as contraband economies — joining by disposition, smuggling networks, rivalry, fights-as-crime | Core, Contraband, Justice | shipping |
| Institution: Ward | involuntary psychiatric care — a prisoner committed for treatment, not punishment, on Core's shared treatment engine: counselling reduces the disorder, a recovery track leads to discharge, and neglect deteriorates. Folded into the suite as its psychiatric-care layer | Core, Harmony | shipping |
| Foul Play | throw a container of something off a body; a Noita-flasks liquid framework (vessels + substances) with the Piss Nuke flagship; bridges to the suite | standalone | shipping |
The original monolith split along its natural seams in 2026-07: the substrate became Core, the corrections/justice systems became Justice, and the gang layer became Gangs, leaving Contraband as the physical smuggling loop. Regime (prisoner recreation) folded into Justice, which now also ships policing (colony crime → witnesses → a weighed arrest). Ward — once a standalone sister mod — is folded in as the psychiatric-care layer, consuming Core's shared treatment engine, so the suite is now five layers over one Core, bundled into a single install with a toggle each.
Principles
- One shared engine, then build up. The suite runs on a small Core (propensity, record, secured context) so every mod agrees about who is dangerous instead of each guessing. Contraband and Justice build on Core; Gangs, the capstone, needs Core + Contraband + Justice. Foul Play stands fully alone and merely bridges to the suite when it is present. Cross-mod integrations that aren't hard dependencies stay soft — features light up if a mod is present and the loop still closes without it (e.g. Core's deterrence seam is neutral until Justice fills it).
- Coexist, don't duplicate. We test against the all-time most-subscribed Workshop mods and never rebuild what a genuinely good mod already does well — judged by quality, not sub count.
- Extend by capability, not by list. New content registers via
IsWeapon/IsDrug/ category, so modded items are covered without being named.
The plan
The full design, module scope, build order, and prior-art verdicts are in ROADMAP.md. Per-mod roadmaps live in each repo (e.g. Contraband's item build list).
Compatibility
The in-game harness (Tools/run-compat-test.sh in the Ward repo) boots a real headless RimWorld
with the suite plus the popular psych/prison mods and the all-time most-subscribed mods loaded
at once, and fails on any error naming our code. Combat Extended gets its own dedicated pass. It
needs a licensed RimWorld + xvfb, so it is a LOCAL step, not CI.
CI
Each code repo runs a Gitea Actions workflow (.gitea/workflows/ci.yml) on push: lint def XML
(catches malformed XML and relative-xpath silent no-ops) + dotnet build against the Krafs
RimWorld reference assemblies (no game install needed). Runs on the self-hosted truenas-runner
(host mode, label ubuntu-latest); .NET is provisioned per-run via setup-dotnet. Green across
Foul Play, Contraband, and Ward; the split-out Core, Justice, and Gangs build clean and
are exercised by the full-stack harness, with per-repo CI workflows still to be added.
AI disclosure
Designed and built with substantial assistance from Claude (Anthropic).