A video game where you play as a misaligned AI, deceiving and building power. An experiment in spec-driven development. cameron.tngl.io/misaligned

Land the chargen origin data-model foundation master

Implements the READY chargen work order's foundation: the run origin as starting data and biases only (chargen.md). New `origin.rs` holds `Origin`, a data-table enum with the four decided variants, each carrying the diegetic-frame columns as authored data the picker will state, plus an `OriginBias`. `Sim::with_origin` applies the bias once at construction; `Sim::new` routes through Pilot (zero bias), so it is byte-identical to before and every existing test passes. The one wired numeric bias is the bankroll delta, written into the accounts graph slush node — not just player.money, which the economy tick mirrors from the slush and would otherwise overwrite. Origins persist in save v28; pre-v28 saves default to Pilot. The canonical-fingerprint baseline moved by exactly the additive origin field and was repinned. Criteria 1 (Pilot identity), 4 (distinct tick-durable bankrolls / axes), and 5 (the decided set) are met; 2 (no new system) holds by construction; 3 (the picker, riding the not-yet-built new-game surface) and 6 (diegetic wiring + compute/efficiency/signature biases) are the remaining work. Defense: additive and identity-preserving — Pilot reproduces today's exact start, so the substrate is unbroken (356 core tests green, both frontends build, fmt/clippy clean). The wired bias lives in the economy graph so it is real money surviving ticks and save/load. The efficiency/compute biases are deferred deliberately: compute efficiency is coupled to the research level (efficiency == 1.15^level) and machine reliability drives failure rolls, so neither can be nudged in isolation without its own reviewed change; the spec now records that boundary. Save v28 is a pure additive field with a Pilot-default migration; the doorway, current-build knowledge, and fingerprint were repinned to match.