Files
settled-reach/governance
jpmschweitzerandClaude Opus 5.5 112c099f51 docs(meta): D-258 — the biome input is baked pre-seed and drives the climate model
Jeroen's rulings on the question the 2026-09-24 amendment left open:
the biome input wins where it and the server's climate derive disagree; it
is input TO the climate model, which now scatters sub-gridunit around it;
the full class range travels on a dedicated biome plane; and it is baked
pre-seed, so worlds stay recognisable across playthroughs while the ground
differs.

Not circular after all: reliefmap.png is palette[biome] x shading, and that
biome came from the Python simulator's own temperature and moisture model,
which the server has never seen. The bake takes the simulator's class id with
the temperature and moisture it was classified from, rather than decoding
pixels. Several classes differ only in brightness, so a shaded pixel can't be
decoded back to its class.

Filed under T-1211, in order: T-1295 (bake; measure the format first),
T-1215 (re-scoped: loader and per-class fractions), T-1296 (picker and biome
plane), T-1297 (climate takes the baked input), T-1298 (gate against baked
pixels). T-1216 waits on the plane.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 12:56:00 +02:00
..

Governance — Decisions, Questions, Rejected

Structured planning records for The Settled Reach. pql decisions sync parses these into .pql/pql.db; query them with pql decisions ….

Layout

Records live in three per-type subdirectories, split by domain:

governance/
  decisions/<domain>.md   # D-NNN — confirmed design decisions
  questions/<domain>.md    # Q-NNN — open questions (may resolve into a D or R)
  rejected/<domain>.md     # R-NNN — rejected alternatives (kept for the audit trail)

The parser infers record type from the parent subdirectory and domain from the filename stem. A ### D-NNN: Title (or Q-/R-) heading begins each record; - **Field:** value lines and inline [D-NNN](…#anchor) links carry the metadata and cross-references pql indexes.

Current domains: architecture, content, economics, perception, process, scope. Create a new <domain>.md in the relevant subdir when records land in a new domain.

Domain guide

When in doubt where a record belongs:

  • architecture — constrains how we build (engine, protocols, data structures, performance).
  • scope — defines what we build (game concept, feature scope, prototype shape).
  • perception — defines what the player observes or knows (camera, fog, LOS, audio).
  • content — defines narrative, NPCs, dialogue, setting, templates.
  • economics — the economics layer (currencies, commodities, corporations, simulation).
  • process — defines how the team works (workflow, commits, branches, reviews).

Cross-domain records live in one file with [D-NNN](../<subdir>/<domain>.md#…) links to the related domain.

Querying

pql decisions list                              # every record
pql decisions list --type confirmed --domain architecture
pql decisions show D-010 --with-tickets         # a record + its implementing tickets
pql decisions read D-238                         # full markdown body
pql decisions refs D-010                          # cross-references in/out
pql decisions coverage                            # decisions ↔ ticket coverage

Adding a record

  1. Claim an ID (no side effects): pql decisions claim D <domain> "title" (use Q for a question, R for a rejected alternative).
  2. Edit the appropriate file (decisions/<domain>.md, questions/<domain>.md, or rejected/<domain>.md). Follow the existing ### D-NNN: Title format.
  3. Commit. The pre-commit hook runs pql decisions validate (malformed-record gate) and stages the planning changelog.
  4. Update relevant agent briefings if needed.

When a question resolves, set its - **Status:** Resolved → [D-NNN](../decisions/<domain>.md#…) line in place — keep the Q-record for the audit trail rather than deleting it.

Maintained by Qatux.

Decisions

Open questions

Resolved questions

Rejected