Files
Maurycy e8523d270e Refactor API and enhance Angular integration
- Removed `ciTargetName` from `nx.json`.
- Updated `package.json` to include new dependencies: `@types/seedrandom`, `fast-check`, `happy-dom`, and `@nestjs/schedule`.
- Modified `pnpm-lock.yaml` to reflect the addition of new packages and their versions.
- Improved project documentation in `PROJECT_CONTEXT.md` to clarify the use of Zod schemas and Angular framework decisions.
- Introduced new Angular components and patterns in the `.agents/skills/frontend-angular` directory, including examples and reference materials for Angular 21+ features.
2026-05-07 14:26:16 +00:00
..

Architecture Decision Records

This directory contains ADRs for Fog Expedition — durable records of architectural choices, why they were made, and what trade-offs they imply.

Format

We use MADR (Markdown ADR) format. Each record has:

  • Status — proposed, accepted, deprecated, or superseded
  • Context and problem statement — what situation forced a decision
  • Decision drivers — the factors that mattered
  • Considered options — what we looked at
  • Decision outcome — what we chose and why
  • Consequences — what this means going forward, good and bad

Index

# Title Status
0001 Twitch Video Overlay over Panel extension Accepted
0002 Nx monorepo with enforced module boundaries Accepted
0003 Vitest in libs and overlay, Jest in API Accepted
0004 Encounter resolver as pure library with seeded PRNG Accepted
0005 Per-mission jittered tick scheduling Accepted
0006 PostgreSQL for durable state, Redis for ephemeral Accepted
0007 Devcontainer with docker-outside-of-docker, services on host Accepted
0008 Angular for the overlay frontend Accepted

When to write a new ADR

Write one when:

  • The decision has plausible alternatives that reasonable people might pick differently
  • The reasoning will matter six months from now
  • The decision shapes how the codebase evolves

Don't write one for:

  • Style or convention (those go in CLAUDE.md)
  • Decisions with one obvious answer (no real choice was made)
  • Implementation details that change frequently (those go in code comments)

Superseding

If a future decision overrides one here, mark the old one's status as Superseded by ADR-NNNN and link forward. Don't delete superseded ADRs — the history is the value.