From 0f08132aa9cd11c5d188c88cf13be141988d0f8c Mon Sep 17 00:00:00 2001 From: flan Date: Wed, 15 Jul 2026 01:01:59 +0000 Subject: [PATCH] Add the four system-wiring gaps (shared substrate, real harm, deterrence feedback, reintegration) A full-lifecycle audit found the gaps are missing CONNECTIONS, not features. Without them the suite is a linear pipeline; with them it is a cycle. The shared substrate (propensity stat + SecuredContextOf + CriminalRecord) must be built first -- everything reads it. --- ROADMAP.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/ROADMAP.md b/ROADMAP.md index f925ecc..e6354ef 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -39,6 +39,39 @@ prisoner does not expect a spa. Don't over-model comfort; a little goes a long w --- +## System wiring — the four connections that make it a system, not a pipeline + +A full-lifecycle audit (propensity → crime → policing → prison → release → back) found the gaps +are not missing *features* — they are missing *connections*. Without these four, the suite is a +linear pipeline of modules; with them, it is a living system. Build them as first-class, not +afterthoughts. + +- **A. A shared substrate (build FIRST).** One implementation, in Contraband (the central + framework), that every module reads and writes: a **propensity** stat (nature × nurture, the + `Disposition` engine generalized), the **`SecuredContextOf(pawn)`** predicate + (prisoner/ward/slave/zone), and a per-pawn **`CriminalRecord`** (crimes committed, escapes, + contraband made, reform progress). Without this, each module reinvents "how criminal is this + pawn" and they disagree — the crime system thinks a pawn is dangerous while classification + thinks they are docile. Everything downstream keys off the substrate. + +- **B. Crime has real effects.** Theft actually removes the goods; assault actually injures; + sabotage actually damages the building; targets are chosen via vanilla relationships. Without + real, detectable harm, crime is a flag with nothing for an investigation to find (no missing + goods = no evidence). + +- **C. Deterrence feedback closes the loop.** Catching and punishing crime feeds back into the + propensity engine: **visible justice deters** (others' propensity drops), **unpunished crime + spreads** (propensity rises when it pays), **visible cruelty radicalizes** (over-harsh + punishment breeds resentment → more crime). This is what makes policing *govern* rather than + merely clean up, and it is the connection that turns the pipeline into a cycle. + +- **D. Reintegration.** A caught → imprisoned → reformed → released colonist carries their record + back: distrust from those they wronged, or a genuine clean slate if truly reformed + (ideology-flavoured). Closes the colonist-crime cycle instead of leaving it dangling. + +A/B/C are load-bearing; D rounds it out. These are the *wiring*; everything in the module table +below is the *features* that hang off it. + ## Suite modules | Mod | Scope | Status |