# Changelog All notable changes to The Settled Reach project will be documented in this file. Format based on [Keep a Changelog](https://keepachangelog.com/). ## [Unreleased] ### Added - Automated Rust install via `make setup` (tooling/install-rust script, rustup + clippy + rustfmt) - Automated Godot download/install via `make setup` (tooling/install-godot script, installs to ~/bin/godot4) - Round 18 v0.1 gap analysis workshop — 7 agents, 2 rounds, 4 tracks (concept proof, wow factor, missing systems, testability) - D-030: Testability architecture — 8 sub-decisions for ticket #214 (gdUnit4, hybrid Rust testing, CauseChain component, three-layer IPC testing) - D-031: Time system — 10 ticks = 1 game-minute, 4 day phases (Morning/Afternoon/Evening/Night), diegetic clock display - 41 new tickets from gap analysis: 3 epics (Movement & Collision, Observation & Interaction, Game State Management) + 38 stories - 15 priority promotions including 3 tickets to critical (deterministic replay, divergent knowledge, divergent relationships) - 21 new dependency records mapping critical path through collision → pathfinding → NPC movement → routine execution - Workshop directory convention established with per-workshop subdirectories - Project directory scaffold: client/, server/, tooling/, tests/, .config/, .cache/ - Top-level Makefile with dev workflow targets (setup, build, run, test, lint, ci, clean) - Whitelistable sqlite-init and sqlite-seed wrapper scripts completing the db/connectors/sqlite-* set - Round 17 content architecture workshop — Full team (8 agents, 3 rounds) defining content pipeline - D-023: Three-tier content model (authored drama modules, templated content, procedural filler) with life-sim substrate - D-024: NPC generation model — 10 axes (7 essential + 3 supporting) with CombatCapability ECS component - D-025: Social site / functional cluster as atomic Tier 2 template unit (4-8 NPCs, 15-40 tiles) - D-026: Simulation tiers with timestamp-based LRU eviction (Active/Background/State-saved/Ungenerated) - D-027: Vertical slice — smuggler + detective two-character proof-of-concept (supersedes D-006) - D-028: Dialogue architecture — tagged line pools with four relational layers (access tiers, history, trust-gating, unprompted disclosure) - D-029: Population entanglement ratio — 30% flat / 50% mundane triangles / 20% intrigue-entangled - Content architecture workshop brief documenting the "life first, drama second" design philosophy - Mellanie (Copywriter) activated from standby for content authoring phase - Round 16 faction development — Full faction framework with lore, political analysis, mechanical grounding (session closed, awaiting team input for v0.1 selection) - 3D reputation system: Trust × Usefulness × Exposure per faction - Faction mechanical grounding: starting loadouts, information asymmetry, blind spots, resource loops - Power dynamics analysis: formal vs. real power distribution across factions - Character drama templates: whistleblower, inspector with conscience, dual-loyalty operative, reluctant conspirator - Betrayal vectors and conspiracy potential for all six factions - "First 30 Minutes" test demonstrating six mechanically distinct faction perspectives - D-021: Official project title "The Settled Reach" confirmed, domain settledreach.com secured - Round 14 worldbuilding — "The Settled Reach" original SF setting foundation with full team reactions - Original terminology established: Settled Reach, Founder Gates, Span Gates, Interstitium, neural lattice, Meridian, imprint, re-embodiment, Perpetuals, the Unbound, Forking, Severance - Four enhancement tiers: Baseline, Augmented, Transcendent, Elevated (plus the Threshold as endgame horizon) - Two-tier death system: soft death (lattice intact) and hard death (lattice destroyed, imprint restore) - Six factions: Concord Assembly, Syndics, Separatists, Guardians of Autonomy/Severance, Veil Institute, Lattice Commission - Infrastructure-as-mystery: Builders inhabiting the Interstitium, Gyre events as leakage - Miri's IP originality guardian role — flags concepts too close to source franchises - Whitelistable wrapper scripts for SQLite and Qdrant connectors (sqlite-query, sqlite-exec, qdrant-search, qdrant-index, qdrant-health, qdrant-count) - Architecture evaluation and risk assessment documents for Godot+Rust bridge approach - Round 13 engine selection discussion — full team debate on engine paradigms - D-020: Engine and architecture selection — Godot 4 client + Rust/bevy_ecs simulation server via subprocess/IPC - Rejected alternatives R-004 through R-010 documented (pure Bevy, pure Godot, GDExtension, C++ GDExtension, Fyrox, custom framework, protobuf) ### Fixed - Replaced all absolute paths (macOS and Linux) with project-relative paths across round-16 docs - Removed duplicate ROUND-16-STATUS.md from project root (content already in round-16-session-notes.md) - Added relative-path convention to Qatux agent persona for cross-system consistency ### Removed - dotfiles/tmux.conf (no longer needed) ### Changed - All 18 agent briefings updated for decisions/ directory split and DEVOPS.md references - Implementation agents (Dudley, Hoshe, Justine, Oscar, Si, Stig, Tyre) now include Development Workflow sections with Makefile targets - Q-009 (time system) resolved via D-031 - Ticket catalog expanded from 232 to 273 tickets with sprint sequencing (Run → Feel → Content → Validate) - Ticket skill updated to use wrapper scripts exclusively (no more direct python3 calls) - Miri's role updated from Canon Guardian to Worldbuilder & Setting Designer (original IP pivot) - Project description updated to reflect D-020 engine decision - Connector usage instructions now reference wrapper scripts instead of python3 directly - Q-001 (engine selection) resolved via D-020