From fdbc46e16583c1d119bb9e6e2899462a9b019a65 Mon Sep 17 00:00:00 2001 From: fireshaper Date: Fri, 16 Oct 2026 22:17:55 -0400 Subject: [PATCH] Step 25.1: engine: logbook entries and retention Co-Authored-By: Claude Opus 5.5 --- DECISIONS.md | 10 ++ apps/web/test/about.test.tsx | 2 +- memory-bank/architecture.md | 2 +- memory-bank/progress.md | 2 +- packages/content/src/data/config.ts | 1 + packages/content/src/schemas.ts | 2 + packages/content/test/schemas.test.ts | 1 + packages/engine/src/game/catchup.ts | 11 +- packages/engine/src/game/commands.ts | 2 +- packages/engine/src/game/company.ts | 5 + packages/engine/src/game/engine.ts | 3 + packages/engine/src/game/fleet.ts | 63 ++++++- packages/engine/src/game/logbook.ts | 46 +++++ packages/engine/src/game/resolve.ts | 89 +++++++++- packages/engine/test/logbook.test.ts | 245 ++++++++++++++++++++++++++ packages/engine/test/support.ts | 2 + packages/schema/src/index.ts | 1 + packages/schema/src/logbook.ts | 70 ++++++++ packages/schema/src/save.ts | 105 ++++++++++- packages/schema/test/save-fixture.ts | 45 ++++- packages/schema/test/save.test.ts | 50 +++++- 21 files changed, 734 insertions(+), 23 deletions(-) create mode 100644 packages/engine/src/game/logbook.ts create mode 100644 packages/engine/test/logbook.test.ts create mode 100644 packages/schema/src/logbook.ts diff --git a/DECISIONS.md b/DECISIONS.md index 0e20999..dca5d5a 100644 --- a/DECISIONS.md +++ b/DECISIONS.md @@ -1855,3 +1855,13 @@ Implementation decisions not spelled out in `memory-bank/implementation-plan.md` - **Numbering:** received as "CR-023 — Short 'While You Were Away' Summary" for "Phase 23"; stored as **CR-025**, built as **Phase 25** (its 23.n = 25.n), since CR-023 (Shop Time Counts as Rest) and CR-024 (Fleet Sleep Mode) exist. Its decisions CR-023.D1–D3 are **0.5.140–0.5.142**. Its references: CR-011 → CR-014, CR-014 (leg fuel cost) → CR-015, CR-019 → CR-021, CR-022 → CR-024; CR-001 and plan 9.2 are unchanged. - **"HQ" is the Bridge**, as in CR-021 and CR-024. + +## Step 25.1 + +- **One "flight" kind for deliveries and deadheads**, with a `deadhead` flag, as the delivery summaries had: both are a dispatch landing, with the same route, fuel and XP fields. +- **Ids come from what an entry records** (`:flight`, `:upgrade: