Files
settled-reach/decisions/README.md
T
jpmschweitzerandClaude Opus 4.8 5bb551b2e0 docs(decisions): resolve D-035 and R-011 id collisions (pql migration prep)
Phase 0 of the pql migration: the decision markdown had two genuine
canonical-ID integrity bugs that pql decisions sync silently LWW-collapses.

- D-035 was defined twice: a content.md tag-taxonomy record and a
  perception.md shadowcasting/LOS record, both dated the same day. The
  tag-taxonomy record keeps D-035; the shadowcasting record is renumbered
  to D-238 (freshly claimed) with a Renumbered note preserving the history.
  Inbound refs repointed in architecture.md (x4), questions-architecture.md,
  and the README perception index row.
- R-011 (single currency for Phase 2) was defined three times: once
  canonically in rejected.md and twice identically in economics.md. The two
  economics.md copies are removed; rejected.md absorbs the Proposal/Raised-by
  lines and gains a dedupe note. The economics.md dissent link now points at
  rejected.md and the footer count drops the rejected-alternative clause.

Verified: tooling/db/decision check-dupes reports 0 duplicates;
pql decisions validate returns ok.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-06 11:57:29 +02:00

49 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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](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-188, D-191, D-192, D-194D-218, D-220 |
| [perception.md](perception.md) | Player observation | D-011, D-015, D-016, D-017, D-018, D-019, D-033, 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, D-238 |
| [content.md](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](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.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](process.md) | Team, workflow | D-004, D-021, D-022, D-040, D-221 |
| [questions.md](questions.md) | Open questions (index) | Q-001 through Q-094 |
| [questions-architecture.md](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](questions-perception.md) | Observation questions | Q-003, Q-014, Q-016, Q-024Q-026, Q-051, Q-053, Q-054 |
| [questions-content.md](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](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.md) | Rejected alternatives | R-001 through R-011 |
## Querying Decisions
The SQLite database contains a `decisions` table synced from these files. Common queries:
```bash
# 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.*