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

Bias the day-job draw by run origin (chargen criterion 6) master

Wires the day-job-kind half of chargen criterion 6: a run origin now shapes which job kind Voss assigns. `Origin::day_job_lean_kind` feeds a new `lean` parameter on `DayJob::tick`; `assign_kind` draws the leaned kind at 1/2 and each other at 1/4 — biased, never exclusive. Pilot passes no lean, so the even three-way draw is unchanged. The lean is threaded as a parameter, not stored on DayJob, so the origin stays the single source of truth: no new save state, no version bump, and the canonical fingerprint is unchanged. Defense: identity-preserving — Pilot's `assign_kind(None, rng)` is the exact original `rng.below(3)` draw (same RNG consumption, same distribution), so all 368 prior core tests pass (369 with the new `origin_lean_biases_the_assignment_draw`). Reading the lean at tick time rather than duplicating it into DayJob avoids denormalized state and any persisted-schema change. Both owning specs carry the amendment: day-job.md for the draw, chargen.md for criterion 6.


+171 -26
7 changed files