Files
settled-reach/whatsinagame/templates/decisions/README.md
T
jpmschweitzerandClaude Opus 4.6 b025fe8152 chore(db): remove db/connectors backwards-compat symlink (#568)
Remove the db/connectors → tooling/db/ symlink added in Sprint 21
(#274) and migrate all references to use tooling/db/ directly.

- Delete tracked symlink from db/connectors
- Remove duplicate db/connectors/* permission patterns from settings
- Update project-structure.md to reflect removal
- Move whatsinagame/static/db/connectors/ to whatsinagame/static/tooling/db/
- Update 20 whatsinagame template, skill, and test files
- Update comment references in client/tests/test_anti_tedium.gd
- Historical docs (old sprint briefings, changelog, discussions) left as-is

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 22:13:26 +01:00

2.6 KiB

Decision Records

This directory contains the project's decision records, organized by domain. Decisions are the source of truth for all architectural, design, scope, and process choices.

Domain Files

File Domain Contents
architecture.md Architecture Technical foundation — how we build, tools, patterns, infrastructure
scope.md Scope Project concept, target audience, platform, feature boundaries
process.md Process Team workflow, communication, development process
questions.md Open Questions Unresolved questions requiring team discussion
rejected.md Rejected Options considered and rejected, with rationale

Decision Types

  • D-NNN — Confirmed decisions (active or superseded)
  • Q-NNN — Open questions awaiting resolution
  • R-NNN — Rejected alternatives (kept for historical context)

Adding a Decision

  1. Choose the appropriate domain file
  2. Assign the next available ID in sequence
  3. Use this format:
### D-NNN: Decision title
- **Date:** YYYY-MM-DD
- **Decision:** What was decided
- **Rationale:** Why this option was chosen
- **Raised by:** Who proposed or surfaced the question
- **Dissent:** Any disagreement, or "None"
  1. Run make decisions-sync to update the SQLite index

Querying Decisions

Via CLI (preferred)

# List all active confirmed decisions
make decisions-active

# Find decisions without associated tickets
make decisions-orphan

# Check decision-to-ticket coverage
make decisions-coverage

Via SQLite wrapper

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

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

# Search by keyword
tooling/db/sqlite-query "SELECT id, domain, title FROM decisions WHERE title LIKE '%keyword%' OR decision LIKE '%keyword%'"

# Decisions linked to a specific ticket
tooling/db/sqlite-query "SELECT d.id, d.title FROM decisions d JOIN tickets t ON d.id = t.decision_ref WHERE t.id = 42"

# Open questions
tooling/db/sqlite-query "SELECT id, title FROM decisions WHERE type='question' AND status='active'"
tooling/db/qdrant-search "asymmetric information design"

Superseding a Decision

When a decision is replaced:

  1. Add - **Status:** Superseded by D-NNN to the original
  2. Reference the original in the new decision's rationale
  3. Run make decisions-sync