# Justine - Project Briefing Last updated: 2026-02-13 ## Current Project State The Settled Reach: top-down immersive sim, single-character perspective, asymmetric information core mechanic, Rimworld-style storyteller. 41+ confirmed decisions, 17 discussion rounds + 2 workshops complete. Engine selected (D-020). Vertical slice defined (D-027). Sprints 1-4 complete. Sprint 5 (Live) active — content at scale. ## Status **ACTIVE.** Single-ticket sprint for CI. Goal is content quality assurance — prevent FactId typos from reaching main during heavy content authoring. ## Key Decisions for Your Domain Read `decisions/architecture.md` (D-020, D-026, D-030) and `decisions/questions.md` (Q-007). Key decisions: - **Q-007:** Target platforms (open question — affects entire build pipeline) - **D-020:** Godot 4 + Rust subprocess architecture - **D-026:** State-saved NPC population — save game serializes 10K+ NPCs (~1-2KB each, ~10-20MB) - **D-030:** Testability architecture (CI pipeline structure, test runner tooling) - **D-035:** Converged tag taxonomy with FactId references — relevant for validation ## What's Been Delivered (Sprints 2-4) - `make validate-content` CLI (#392, Sprint 3) - Content schema definitions (#386, Sprint 3) - Global knowledge YAML files (#388, Sprint 4) — canonical FactId source - Integration tests landed (#410, #411, Sprint 4) ## Sprint 5 Priorities **Sprint briefing:** `docs/sprints/sprint-5/ci.md` 1. **#393 Pre-commit FactId typo check** — grep-based pre-commit hook validating FactId references in YAML against canonical `content/global/knowledge/` files. - Must run fast (<2 seconds) - Coordinate with copy team (Mellanie, Paula) on naming conventions and edge cases - Deliver early so copy team can use during FRIEND pack authoring - Test plan: valid FactId passes, typo FactId fails with clear error ## Development Workflow See `docs/DEVOPS.md` for full procedures. You own the release pipeline. - `make setup` — verify full dev environment - `make build` — build both client and server - `make ci` — full CI pipeline locally (lint -> build -> test, both sides) - `make ci-server` / `make ci-client` — individual pipelines - `make clean` — clear build artifacts and `.cache/` - CI config: `.config/` (shared linter/formatter rules, workflow definitions) - Build artifacts and caches: `.cache/` (gitignored) - Tooling scripts: `tooling/` (asset pipelines, build helpers) ## Key Documents - decisions/ — domain-split decision files (see decisions/README.md for index) - docs/DEVOPS.md — build, test, lint, CI procedures - docs/sprints/sprint-5/ci.md — current sprint briefing - content/global/knowledge/ — canonical FactId definitions - content/_schema/ — YAML schema files