Files
settled-reach/decisions
jpmschweitzer 56d524f37d docs(decisions): address PR #129 review — D-191 §8 amendment + boundary notes
Blocking PR #129 items 1, 2 (plus polish 16 and 17):

- D-191 §8 prose rewritten to match the code. The previous amendment said
  positions were `{x, y}` objects against a "typically 1024 × 512" grid,
  but the generator, the six hand-authored templates, and all 2394
  procedural seed files ship `[row, col]` integer arrays against a
  `{"w": 512, "h": 256}` grid. The decision doc is now aligned with
  reality: positions are `[row, col]`, the storage grid is 512 × 256,
  and the row-first ordering is called out explicitly so readers can
  cross-reference NumPy/flood-fill/A*/cost-grid conventions.

- §8 now follows the D-094 amendment pattern. The superseded 2026-04-10
  prose is preserved verbatim as "Original (superseded)" with a dated
  Amendment block on top — future readers can see what changed and why
  instead of silently losing the history.

- brands.toml header gains a short Phase 2 boundary note. The 4 anchor
  brands come from D-189 §5; the additional ~23 brands from D-189 §11
  are deliberately deferred to Phase 3 — Phase 2 only needs the demand-
  node plumbing and V-B01..V-B06 validation exercised end-to-end.

- systems-schema.sql `bodies.terrain_reference` comment now pins the
  repo-root-relative path convention (wiki/star-systems/<slug>/bodies/
  <body_id>/heightmap.png) so the three downstream pipelines (populate,
  atlas generator, client loader) share a documented contract instead
  of drifting against an unwritten convention.
2026-04-15 09:12:08 +02:00
..

Decisions

Confirmed decisions, open questions, and rejected alternatives for The Settled Reach.

Decisions are split by domain. Each agent's briefing indicates which files to read. When in doubt about where a decision belongs: if it constrains how we build, it's architecture. If it defines what we build, it's scope. If it defines what the player experiences, it's content or perception. If it defines how the team works, it's process.

Cross-domain decisions live in one file with cross-reference notes in related files. Split threshold: when any file exceeds ~350 lines, review whether it should split.

Domain Files

File Domain Decisions
architecture.md Technical foundation D-008, D-009, D-010, D-012, D-020, D-026, D-030, D-031, D-041, D-042, D-054, D-055, D-066, D-068, D-073, D-085, D-088, D-094, D-096, D-097, D-099, D-100, D-101, D-102, D-103, D-106, D-108, D-109, D-113, D-133, D-134, D-135, D-136, D-137, D-141, D-148, D-149, D-150, D-151, D-152, D-191
perception.md Player observation D-011, D-015, D-016, D-017, D-018, D-019, D-033, D-035, D-043, D-044, D-045, D-046, D-047, D-048, D-049, D-052, D-056, D-057, D-058, D-059, D-060, D-061, D-067, D-069, D-070, D-071, D-072, D-076, D-077, D-078, D-086
content.md NPC, dialogue, templates D-023, D-024, D-025, D-028, D-029, D-032, D-034, D-035, D-036, D-037, D-050, D-062, D-063, D-064, D-074, D-075, D-084, D-090, D-092, D-093, D-095, D-098, D-104, D-105, D-107, D-121, D-122, D-123, D-124, D-125, D-126, D-127, D-128, D-129, D-130, D-131, D-132, D-138, D-139, D-140, D-142, D-147
scope.md Game concept, prototype D-001, D-003, D-005, D-006, D-007, D-013, D-014, D-027, D-038, D-039, D-051, D-053, D-065, D-087, D-089, D-091, D-114, D-115, D-116, D-117, D-118, D-119, D-120, D-145, D-146, D-153, D-154, D-155, D-156, D-157
economics.md Economics layer, currencies, corporations, simulation D-171, D-172, D-173, D-174, D-175, D-176, D-177, D-178, D-179, D-180, D-181, D-182, D-183, D-184, D-185, D-186, D-187, D-189, D-190
process.md Team, workflow D-004, D-021, D-022, D-040
questions.md Open questions (index) Q-001 through Q-094
questions-architecture.md Technical questions Q-001, Q-006, Q-009, Q-018Q-023, Q-029, Q-030, Q-046, Q-059, Q-060, Q-063Q-094
questions-perception.md Observation questions Q-003, Q-014, Q-016, Q-024Q-026, Q-051, Q-053, Q-054
questions-content.md Narrative questions Q-010, Q-012Q-015, Q-017, Q-028, Q-031, Q-033, Q-040Q-045, Q-047Q-050, Q-052, Q-056, Q-057, Q-WTF-039, Q-WTF-040, Q-WTF-041
questions-scope.md Scope questions Q-002, Q-004, Q-005, Q-007, Q-008, Q-011, Q-027, Q-032, Q-034Q-039, Q-058, Q-061, Q-062
rejected.md Rejected alternatives R-001 through R-011

Querying Decisions

The SQLite database contains a decisions table synced from these files. Common queries:

# All active architecture decisions
tooling/db/sqlite-query "SELECT id, title FROM decisions WHERE domain='architecture' AND status='active'"

# Decisions without implementing tickets
make decisions-orphan

# Decision coverage by domain
make decisions-coverage

Adding a Decision

  1. Edit the appropriate domain file
  2. Follow the existing format (### D-NNN: Title heading)
  3. Commit — the pre-commit hook runs decisions-sync automatically
  4. Update relevant agent briefings if needed

Maintained by Qatux.