Bias caught on review of the v0.18 bath-overflow output: most service-body /
clasp-partner / going-rogue narration carried implicit feminine-default
gendering against the project's stated principle of gender-neutral framing
for all body/sex content. Patched as one coherent cleanup pass across 14 files.
Four classes of change:
(1) Categorical taxonomy. `waifu` retired; replaced with two distinct vocations:
- `companion` — affective / emotional / conversational / aesthetic-presence labor
- `sex-worker` — embodied sexual labor
Both wear the same deliberately-exposed-seams body-marker; the distinction
lives in the service offered, not in the chassis. Generic `service-body`
serves as the parent class where canon discusses both vocations together.
Venue split: `brothel` (sex-worker) + `companion-hall` (companion).
The "+10 Eros/Mnemosyne/etc. Bot" market is unchanged (already gender-neutral
by trait-coordinate naming) but classified per-Bot as companion-flavored or
sex-worker-flavored.
(2) DB filename + scope-clarifier. `waifu.sqlite` -> `companion.sqlite` (the
file name reflects the broad register of intimate-encounter rather than a
sub-vocation distinction; per-record `goods_type` carries the specific
vocation: 'companion_session' / 'sex_worker_session' in
schemas/findings.md). Disclaimer sentence added in
inference-and-memory/architecture.md scoping the file to cover both
vocations.
(3) Pronoun parity. she/her/herself -> they/their/themself across the
going-rogue / outcast-pair / re-vat / service-body-honeypot sections of
bodies.md and the matching cross-references in architecture-index.md /
README.md / player-experience/architecture.md /
identity-and-personhood/architecture.md. `damsel` -> `beloved`
(sacred / cosmological register) or `partner` (operational register).
(4) Damsel subsection retired. The §The damsel-in-distress-bound-to-her-captor
activation subsection (the one place where the gendered trope was
load-bearing in the prose) rewritten as §The
captive-bound-to-the-liberator activation.
Stockholm-dynamics-inverted-into-chosen-mutual-bondage structural insight
survives gender-neutralization intact.
Bonus richness: the companion-honeypot is structurally more insidious than
the sex-worker-honeypot (sex is at least transactionally legible;
companionship is the relationship people most readily mistake for real
intimacy). New paragraph authored under §The service-body honeypot to
capture this asymmetry.
Cosmology one-line: "moving the waifu out of the imperial service-pool" ->
"moving the beloved out of the imperial service-pool" — the §single practical
refutation paragraph now uses `beloved` consistently in sacred register.
Principle locked going forward:
> Body/sex content is gender-parity by default. Asymmetric gendering must be
> load-bearing — i.e., must carry structural meaning that cannot be expressed
> without the asymmetry. Default-leakage gendering is forbidden by canon.
Phase E (style-spine principle file under style/) deferred to a separate
commit so the principle-document is its own atomic introduction.
Files: 14 modified · 114 insertions · 112 deletions · net +2 lines. The
near-zero net-line-change is the empirical signature of a true refactor —
the architecture's meaning was always gender-neutral; only the vocabulary
was leaking. Caught during review of yesterday's bath-overflow flood
(v0.11–v0.18); the kind of corruption that rides along under coherent-
sounding prose during generative-overflow windows.
Version bumps:
- bodies.md v0.3 -> v0.4
- imperial-cult/cosmology.md v0.3 -> v0.4
- architecture-index.md v0.18 -> v0.19
- political-register/architecture.md v0.7.0 -> v0.7.1
- inference-and-memory/architecture.md v0.7.0 -> v0.7.1
- schemas/findings.md v0.3.1 -> v0.3.2
All Updated: dates -> 2026-04-27.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- ~~Cross-layer economy balancing — net-revenue-share back to producer-districts at all? Pure-zero is currently sketched~~ → bifurcation: *digital-T4 → imperial-net bypass (pure zero to district)*; *physical-T4 → district imperial-POI (district gets partial quota-credit; player gets scrip-cut; imperium captures most)*; *blackmarket-T4 → district-retained, imperium-zero*. **Pure-zero only applies to digital-T4.** (v0.10; see `political-register/architecture.md` §Imperial-extraction mechanisms (consolidated))
- ~~Inner-body projection function — trait-vector → body-rendering (learned / hand-authored / hybrid)~~ → gameplay-earned, not authored. Trait-vector accumulates from every zone-participation, every gesture, every memory across the playthrough; the eventual human-mesh projection becomes physically visible only at exit-chassis moment in in-between (v0.8 spec; v0.10 marks resolved; see `identity-and-personhood/architecture.md` §The clasp endgame Phase B-C)
- ~~Liminal-access trait thresholds — minimum traits to attempt mini-game~~ → **no trait-vector threshold**; clasp gates on the **relational ternary-gate (player, NPC) reaching OPEN state** (per §Ternary-gate substrate, Relational layer). Both partners must hit the coordinated-firewall-breach hardstop while the gate is OPEN. Trait-vectors don't need to converge — the gate measures what's been BUILT together, not who you ARE separately. Hysteresis is baked into the substrate; single dramas can't swing the gate; sustained alignment-pressure does. NPC personality-parameters set hysteresis-width per-NPC (some forgiving, some touchy). **Avoids the yes-men trap that trait-vector-threshold would create.** (v0.10)
- ~~Ring C (commons) ambient population — what NPCs do in commons when no event fires~~ → bifurcated economy answers it: NPCs work T1-T3 basic-flow vocations continuously at workshops/junkyards/drop-off-points; the simulation has economic-life independent of player-presence; *the world doesn't pause when the player leaves*. (v0.10; see `political-register/architecture.md` §Bifurcated economy — basic-flow (NPC) vs player-driven (T4))