Files
institution/README.md
T
flan e96ac23949 Move AI attribution to a single NOTICE file
Per the updated project policy, AI/Claude attribution lives in exactly one NOTICE file per repo and
nowhere else -- removed it from the About description, README, wiki, and roadmap.
2026-07-16 01:30:09 +00:00

5.4 KiB
Raw Blame History

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.

Documentation

The complete suite wiki lives in this repo — Wiki/Home.md is the front door: the full gameplay loop, all five layers, and per-layer deep dives, aggregated in one place under Wiki/ (core/, contraband/, justice/, gangs/, ward/). Each layer repo carries its own copy for a standalone install; Tools/sync-wiki.sh refreshes the aggregated view here.

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.