clone

fifteen puzzle games for the terminal, with daily puzzles, weekly ladders and xp, built on bubble tea

chore/app-model-decomp
puzzletea / openspec / specs / persistence-and-stats / spec.md
spec.md 1.2K source

Purpose

Specify saved game persistence, status, resume behavior, and progression statistics.

Requirements

Requirement: SQLite Save Store

PuzzleTea MUST persist game records, save payloads, run metadata, difficulty metadata, and statuses in SQLite.

Scenario: Create record

  • WHEN a new puzzle is spawned
  • THEN PuzzleTea stores the serialized game state with game type, display title, status, and run metadata

Requirement: Resume And Abandonment

Saved records SHALL be importable through the owning game adapter and resumable by name, including deterministic abandoned records when appropriate.

Scenario: Resume abandoned deterministic puzzle

  • WHEN a deterministic save is found for a seed-derived name
  • THEN PuzzleTea reactivates the record instead of creating another puzzle

Requirement: Stats And XP

Stats MUST aggregate profile level, category XP, victory counts, daily streak state, weekly progress, and difficulty-derived XP bonuses.

Scenario: Complete Elo puzzle

  • WHEN an Elo-generated puzzle is completed
  • THEN PuzzleTea applies XP using recorded actual Elo when available, otherwise target Elo or legacy mode weighting