7f0abcb8391da8c0388f90c14525636e6ddc4bbf
10 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
7f0abcb839 |
hex-canon discipline: canonical-name + #hex at every trait-color reference
Establish the hex-canon discipline in style/trait-palette.md (v0.1 -> 0.2):
every trait-color reference pairs canonical-name (semantic anchor for prose,
training-corpus extraction, LLM context) with hex (precise value for shaders,
renderers, machine-checkable canon enforcement). Mirrors the existing
color+motion-signature two-channel discipline that already secures color-blind
accessibility -- same architectural move, different audience pair.
Trait-palette.md gains:
- "Canonical name" + "Hex" columns in The full table (Eros-red #ee1b24,
Philotes-orange #e28a46, ..., Mnemosyne-dusky-rose #cf3b74)
- New section: The hex-canon discipline -- format conventions, scope, the
one-line grep that surfaces canon-violations
Sweep applies the discipline to existing trait-color references:
- identity-and-personhood/architecture.md (trait-to-body-part bridge table)
- topology-and-rendering/architecture.md (faction-color-politics table,
imperial-net distortion descriptors, achromatic-exception statement,
mind-pool color-inheritance narrative)
- runtime-engine/architecture.md (cosmetic-shader prose feedback)
- identity-and-personhood/bodies.md (Moira-violet pill in pending-design notes)
- political-register/economics.md (catalogue-slug example uses canonical token)
Drift-fix: schemas/findings.md trait_colors seed-data carried 8 divergent hex
"approximations" -- Eros #D03030 vs canonical #ee1b24, Aletheia #E5C520 vs
canonical #fcf001 (losing the brightness-zenith register), Dikaiosyne #2860B0
vs canonical #3f47cd, etc. Replaced with exact propagation from the canonical
palette; the rationalizing comment ("approximate hue-family targets") is
replaced with "exact propagation per the hex-canon discipline"; HSV-hue column
recomputed from canonical hex per RGB->HSV conversion, integer-rounded.
Non-trait colors stay untouched per recursive-as-we-touch-it scope: machine-
aesthetic (gold rim-light, commercial-coral, fluorescent-pallor, lavender-
decor, obsidian-black, cyan, matrix-green), historical-sumptuary (Tyrian
purple), cinematic (Matrix red-pill), medical (red-green color blindness).
Each non-trait domain receives canonical-name + hex pairings when that domain
comes into architectural focus.
Discipline is mechanically-checkable via one grep against the architecture-
papers, excluding the canonical source. Zero canon-violations remain after
this sweep.
|
||
|
|
781aafa9a0 |
v0.19: gender-neutrality cleanup — waifu retired; companion/sex-worker split; pronoun parity in going-rogue arc
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>
|
||
|
|
b8d580bf1f |
Fix multi-axis-goal example: replace non-canonical Eris with canonical Sophrosyne
runtime-engine/architecture.md line 424 used a non-canonical "Eris" axis
in the multi-axis-goal example:
(Philotes >= +1) AND (Eris <= 0)
for "rescue NPC_A AND keep faction-tension low."
Eris is not in the canonical 8-trait list (Sophrosyne, Dikaiosyne, Philotes,
Mnemosyne, Aletheia, Kairos, Moira, Eros). Updated to use Sophrosyne which
canonically maps to restraint — and high Sophrosyne IS the architectural
de-escalation mechanism by which faction-tension stays low. The original
explanation phrase is preserved and made explicit:
(Philotes >= +1) AND (Sophrosyne >= +1)
for "rescue NPC_A AND keep faction-tension low (via maintained restraint)."
Trade-off acknowledged: line-shape shifts from (high AND low) to (high AND
high). Loses directional contrast; gains canonical-trait purity AND lets
the example carry the design-claim that Sophrosyne IS the world's
de-escalation mechanism. Pedagogically the goal-grammar teaching is preserved.
Closes the designer-flagged finding from commit
|
||
|
|
40656ae692 |
Trait-color palette drift cleanup — re-align downstream files to style/trait-palette.md
The canonical trait-palette in style/trait-palette.md v0.1 (Eros-red,
Philotes-orange, Aletheia-yellow, Kairos-chartreuse, Sophrosyne-green,
Dikaiosyne-blue, Moira-violet, Mnemosyne-dusky-rose) was being contradicted by
old-palette references in three downstream files. This commit clears the drift
and enforces the import-don't-redefine discipline (per trait-palette.md
§Cross-domain rendering: "All sub-guides import these definitions; none
redefine them.").
topology-and-rendering/architecture.md:
- Replaced the redefining trait-color table with a pointer to
trait-palette.md per the import-don't-redefine rule. The old table was
using the retired luminous-white-Aletheia + multiple wrong color-trait
assignments (Sophrosyne-blue, Dikaiosyne-gold, Mnemosyne-violet,
Moira-crimson, Eros-orange, Philotes-rose, Kairos-yellow).
- Updated imperial-net distortion text and faction color-signatures table
to use canonical color-names: Aletheia-white -> Aletheia-yellow;
Mnemosyne-violet -> Mnemosyne-dusky-rose; Moira-crimson -> Moira-violet;
Dikaiosyne-gold -> Dikaiosyne-blue; Sophrosyne-blue -> Sophrosyne-green;
Philotes-rose -> Philotes-orange; Eros-orange -> Eros-red; Kairos-yellow
-> Kairos-chartreuse.
- Added clarifying note: imperial-net's clean-white-backgrounds +
gold-rim-light are achromatic-and-cosmology palette choices distinct
from the trait-color register being distorted (per the achromatic
exception + imperial-cult/cosmology.md aesthetic palette).
schemas/findings.md:
- Updated trait_colors INSERT seed-data with hex codes matching the new
canonical hue-families and renamed canonical_name fields to match
(Eros-red, Philotes-orange, Aletheia-yellow, Kairos-chartreuse,
Sophrosyne-green, Dikaiosyne-blue, Moira-violet, Mnemosyne-dusky-rose).
Reordered rows clockwise from 12 o'clock per wheel-position.
- Added authority-comment pointing at trait-palette.md as the single source
of truth and noting that the seed-data is reification, not redefinition;
designer-precise hex values should be authored upstream and propagated.
runtime-engine/architecture.md:
- Updated cosmetic-feedback example: warm-rose Philotes / cool-blue
Sophrosyne -> warm-orange Philotes / green Sophrosyne; added pointer to
trait-palette.md.
architecture-index.md:
- Fixed typo "Eris" -> "Eros" in the v0.5 trait-axis-mapping open-question
enumeration (the canonical 8 traits do not include Eris).
Verification: post-fix grep confirms zero remaining old-palette name
occurrences or old hex codes; new canonical names appear in all expected
locations.
SEPARATE FINDING flagged for designer review (NOT auto-fixed):
runtime-engine/architecture.md line 424 contains
`(Philotes >= +1) AND (Eris <= 0)`
as a multi-axis-goal example. This uses "Eris" with semantic intent
(discord / faction-tension) but Eris is not in the canonical 8-trait list.
Left untouched because the fix could be either (a) typo-correction Eris -> Eros
or (b) rewrite-to-canonical-axis-with-different-example, depending on whether
"Eris" was intended as a 9th non-canonical axis or simply as a typo. Designer
decision.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
||
|
|
c892013bfa |
v0.17: cel-shading-everywhere + progression-gated in-between + omnisight + hallucination-isolation
Five-file update locking in the rendering discipline + perception architecture from the post-cell-arch art-style discovery arc. Locked in v0.17: (1) Cel-shading-everywhere with per-register parameter variation. One rendering engine (Godot-native, asset-budget-friendly, ages well - Borderlands 2009 still reads current). Three registers diverge through outline-color + background-treatment + weathering-level, not through engine-switching: - Gameworld: dark heavy lines + environmental noise + high weathering (rust streaks, hatched dirt, ink-line cracks; hand-painted patina). "Surfaces carry memory" thesis preserved via hand-painted weathering. - Liminal: painterly/soft/desaturated + progression-gated grainy-film- mode opening to refined-cel-shading-with-warm-skin at endgame. - Imperial-net: lean subtle gold rim-light + clean white background + no weathering. Polish achieved through OMISSION, not extra rendering tech (Godot reality check; photorealistic-glossy-Apple-store rejected as not Godot's strong suite). The render-style itself becomes propaganda-detector - imperium's clean falsity reads as the absence of the world's honest decay. (2) Progression-gated in-between visibility. "The more you mod your body & gain in-between-knowledge, the better your view gets." Early game: grainy film mode + restricted view range. Endgame: clean refined-cel- shading with full view of the beloved. Visual-fidelity = dual-gating made visible (knowledge-gate + material-gate per Clasp-endgame discovery discipline literally renders as the clarity of the in-between view). The endgame's deepest reward IS the clear seeing of the beloved's body. (3) Dual-axis clasp-fidelity model. The asymmetric-clasp from bodies.md v0.1 was witnessed-axis only (how vividly the OTHER manifests). Now extended with witness-axis (how clearly YOU can see): - Witness-axis: YOUR body-mods (resistance-knowledge mods) + accumulated in-between-knowledge (Memorialist fragments, Aletheia-Waker tokens, Clasp-Underground recognition-marks) - Witnessed-axis: THEIR foreclosure-status (caste-tier x imperial-care) - Combined: maximum-vivid-clasp requires BOTH you to have invested in the seeing AND your beloved to be uncaptured-enough to be seen. Two refusals required for the full witness. - Per-pair calibration multiplier: the longer the love, the clearer the seeing (mechanically-encoded marriage-deepening). - Mod-economy parallel-track: imperial-elevation mods (flesh-loss, deva- ascent) vs. resistance-knowledge mods (in-between-visibility). Two opposing progressions both expressed as mod-acquisition. The body- modder structural-tragedy class gets a redemptive-mod counter-class. (4) Omnisight architecture for NPC perception. Per-NPC virtual cameras in Godot feeding rendered POV-frames into local VL-Gemma 4 driver-tier (multimodal vision-language capability of the Gemma 4 E4B model locked in v0.8). NPCs literally SEE the visible world, not via geometric metadata-perception. Pairs with cell-arch checksum-discovery as the trigger-layer: - Cell-checksum check: micro-seconds, fires on NPC entering cell - Checksum-mismatch: clean signal, micro-seconds - VL-camera renders POV scene: milliseconds - VL-Gemma processes image: 100s of milliseconds - NPC behavior responds to seen-content: next-shift / next-crossing Cheap trigger, expensive understanding, bounded by event-frequency. Most NPCs most of the time = no camera-fire, no VL-inference. Camera- trigger sources strictly bounded: checksum-mismatch + hard-signals from player + overseer-triggers + drone-perception with clear boundaries. (5) Hallucination-isolation discipline (load-bearing). Visual perception = behavior-modulating-only; never canon-generating. VL models hallucinate; if those hallucinations enter the canonical record, they propagate through the lemniscate's recursive integration, become referenced by other canon-rows, become load-bearing in narrative coherence, cannot be untangled later. Bleed-over into oblivion is the precise risk. Two parallel streams in the NPC's lemniscate: - Text + gesture summary (existing canon): canonical, flows into event_canon_summaries, propagates to Compositor, integrates into trait-vector - Visual context (new omnisight-flagged): ephemeral, flagged on lemniscate, IGNORED in per-crossing summary, never propagates upward. Modulates current-turn driver-context-pull only. Preserves three commitments that depend on text/gesture-derived canon: Compositor narrative-coherence at scale, Memorialist-archive truth- claims, mind-pool soul-recycling. Wealthy-degen waifu-folder exception: opt-in checkbox; player chooses to fill private folder with sex-pictures from clasp-scenes; stored locally; READ-ONLY-BY-PLAYER (folder content does NOT flow back into NPC contexts, world-canon, Compositor, mind-pool, or any other system); quarantined dead-end storage; aesthetic-collection only. Two Still-open questions sharpened with v0.17-anchor notes: - Shader-trait modulation implementation: cel-shading caps perf-budget more predictably than PBR; rendering-consistency improves. - Continuous visual feedback policy: visual-as-ephemeral-flag is firewalled from canonical state; cosmetic-layer can be permissive. Files: - runtime-engine/architecture.md: NEW Omnisight section (~80 lines) covering the pipeline, camera-trigger sources, hallucination-isolation discipline, the two parallel streams (canonical text/gesture vs. ephemeral visual), the wealthy-degen waifu-folder exception, what-this-retires (geometric perception extension + VL-canon-pollution), what-this-resolves/sharpens (continuous visual feedback policy), and four open questions (per-NPC VL-inference rate-limit, VL-Gemma camera resolution + frame-rate, NPC progression-state for witness-axis, multi-NPC observing same event). - topology-and-rendering/architecture.md: Three-shader philosophy table rewritten as cel-shading-with-parameter-variation (outline + background + weathering per register); Cross-register rendering color-treatment table updated; clasp candlelight-in-fog now distinguishes external signature (visible to liminal-inhabitants) from internal mesh (visible only to clasp-pair via consent-as-rendering, gated by witness- progression); body-tier silhouette readability and in-between mesh-skin refinement-within-the-style added. Version bumped 0.7.0 -> 0.8.0. - identity-and-personhood/bodies.md: NEW Dual-axis clasp-fidelity subsection added under Asymmetric clasp; per-pair calibration multiplier and mod-economy parallel-track captured; render-discipline alignment with cel-shading liminal-register; new Asymmetric-witnessing open question added. Version bumped 0.1 -> 0.2. - political-register/world-generation.md: L4 Cell ruleset extended with per-register rendering note (cel-shading-everywhere-with-parameter- variation discipline applied at the cell layer). - architecture-index.md: NPC perception bubbles retire-line refined to include cell-checksum-trigger + omnisight VL-camera; Geometric perception retire-line extended with omnisight; new VL models polluting world-canon retire-line added; Shader-trait modulation implementation Still-open sharpened with v0.17 cel-shading note; Continuous visual feedback policy Still-open sharpened with v0.17 hallucination-isolation note; v0.17 history entry added covering all five lock-ins. Version bumped 0.16 -> 0.17. Authored 2026-04-26 same Sunday continuing - dafit + chrysalis. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
| 0fa597c25b |
### Resolved by v0.10
- ~~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)) |
|||
| 5f216aaf5f |
v0.8 + v0.9 — intimate-architecture absorbed, driver-tier locked,
style-spine created, DESING retired, schemas relocated
The owl-breakfast architectural arc from 2026-04-25 night through
2026-04-26 morning. Two version-bumps landing as one commit because
they share the working-tree state and complete a coherent design-window.
v0.8 — intimate-architecture, driver-tier lock, style-spine:
* Three-tier intimacy structure (standard-rental, premium-waifu-
with-traitor-marker-and-pruning, in-between clasp) — same v0.7
machinery, opposite value-flows. Premium-net technical excellence
makes the moral-weight-of-pruning land as informed-consent ethics.
* Deletion-as-spectacle: in-net minds as pure compute; imperial
broadcasts execution-as-content; Memorialist counter-archive as
in-fiction protest against deletion-spectacle commerce.
* EVE-principle vocation-substrate of the imperial-net market: every
product produced by NPC labor; no silent feeding; body-modder
structural-tragedy generalizes to all imperial-net-feeding vocations.
World-gen Phase-2 ruleset must handle vocation-distribution.
* Clasp endgame (Phase A-E): mini-game entry → body-mod progression
→ exit-chassis → human-mesh-visible-to-pair → clasp = two-bodies-
two-meshes → dual-body-dual-mind-dual-shift cascade → automatic
hunt-pressure. Identity-as-trait-emergent made felt rather than
just structural.
* waifu.sqlite as third local store (audited counterpart to
clasp.sqlite; manual-prune mechanism with explicit-implications
consent UI as moral-gravity discipline).
* Intimacy-as-recursive-lemniscate: same machinery as dialog
(slot-tokens, cursor at axis-crossing, alignment-accumulator,
sum-strategy reduction); sex-positions as designer-fixed catalog
entries; body-parts as visible expression of trait-state.
Cross-context-consistency operationalized.
* Driver-tier locked to Gemma 4 E4B (Apache 2.0, 4.5B effective,
128K context, speech-capable) under new "tier-by-role binary-
deferred" discipline: locking requires prototype-criticality +
irreplaceable license/capability combination. Optional Ring-A
upgrade: 26B-A4B MoE for upper-consumer GPUs, single-LoRA-on-
routed-experts. Resolves 4 prior open questions (LoRA-blend →
single-LoRA-per-turn-selection driven by gesture_alignment_
accumulator; LoRA rank → benchmark-resolvable; sampling-knobs →
benchmark-resolvable; 8 Hellenic trait enumeration → canonical
wheel-mapping in style/trait-palette.md).
* style/ directory introduced: style-index.md (skeleton + spine-
rule: "trait-palette is exclusively chromatic; achromatic
reserved for UI/environment so diegetic text rendering can skip
the textbox") + style/trait-palette.md (canonical 8 traits as 4
oppositional pairs at 180° on the artist's color wheel:
Eros↔Sophrosyne, Philotes↔Dikaiosyne, Aletheia↔Moira,
Mnemosyne↔Kairos. Schoolchild-simple descriptions paired with
each Greek canonical name).
v0.9 — directory cleanup completing the arc:
* DESING-VISION.md (1899 lines, v0.1 first-pass narrative-design
doc) retired — most content absorbed across v0.4-v0.8; bare-
minimum extracts (Tonal Register + Tragic-Romantic Register +
Authorial Politics + Reference Lineage table) now live in README
so the project's identity anchor stays visible at the entry
point. Full DESING-VISION content preserved in git history.
* findings.md moved to schemas/findings.md — new top-level peer to
architecture-index.md and style/. ~20 tables of DDL drafts as
reference material; will get reviewed and progressively split
per-domain as implementation begins.
* Cross-references swept across 5 files (README,
architecture-index, authority-and-decision, runtime-engine,
style/trait-palette).
* architecture-index.md trimmed: version-footer paragraphs removed
per "git-is-changelog" discipline. From 374 → 287 lines; every
remaining line load-bearing.
The architecture is now organized for the implementation territory
ahead. Each domain a typed-contract surface; cross-references
explicit; filesystem mirrors the architecture's own typed-contract
discipline at the directory layer.
|
|||
| 0dd1087b2f | reorg. done | |||
| 948a4151c1 | split nimmerworld architecture: phase 2 of 3 — migrate larger domains Replace the 4 skeleton placeholders with full architecture.md content, extracted via sed from architecture-broad.md (which remains untouched as the canonical source-of-truth fallback for the safety pattern) | |||
| 69260c4ac4 | split nimmerworld architecture: phase 1 of 3 — vertical-by-domain directories Create 9 domain directories under nimmerworld/, each owning an architecture.md that will eventually sit alongside server/client/schema/test code for that domain (vertical-by-domain rather than horizontal-by-language). |