fireshaper
0125af2086
Step 14.11: retire the server
...
CI / check (push) Successful in 6m6s
Details
Removes apps/server (Fastify, Drizzle, pg-boss, Better Auth), the
development Postgres, the backup code routes, the web HTTP client and
the CI database service. Deployment is static hosting with Caddy. A
Playwright test checks that the production build loads only its own
files.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 23:50:05 -04:00
fireshaper
30aa4cd5bd
Step 14.10: export and import save
...
CI / check (push) Successful in 7m40s
Details
Export save turns the whole save into one code (gzip + base64url
behind a DEADHEAD1. prefix) to copy or share as a file; Import save
takes a pasted code or a file, migrates and validates it, and replaces
the company after confirmation. A bad code is refused and changes
nothing. These replace the backup code. Debug info now gives the save
id, save version and storage type.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 20:48:57 -04:00
fireshaper
f53ed1657b
Step 14.9: local notifications
...
CI / check (push) Successful in 7m46s
Details
The engine derives the notification schedule from the save after every
saved change (arrivals, rest ending, upgrades; same-minute events
combined) and replaces the platform's schedule. Capacitor
LocalNotifications on iOS/Android, a no-op on the web. Permission is
asked after the deal; Settings has an On/Off toggle.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 20:35:15 -04:00
fireshaper
f77f786408
Step 14.8: company creation on the device
...
CI / check (push) Successful in 7m44s
Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 20:25:59 -04:00
fireshaper
29f64f1ac2
Step 14.6: resolution loop
...
CI / check (push) Successful in 8m6s
Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 19:42:41 -04:00
fireshaper
9dd557f7c0
Step 14.5: port the game logic to engine commands
...
CI / check (push) Has been cancelled
Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 19:38:25 -04:00
fireshaper
fcc3047af8
Step 14.4: mutation queue and tab lock
...
CI / check (push) Successful in 7m24s
Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 19:19:03 -04:00
fireshaper
b100e8664b
Step 14.3: save storage with rotating backups
...
CI / check (push) Has been cancelled
Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 19:16:39 -04:00
fireshaper
c473580c56
Step 14.2: save document schema and migrations
...
CI / check (push) Has been cancelled
Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 19:14:21 -04:00
fireshaper
6cdffa2a43
Step 14.1: engine package and device clock
...
CI / check (push) Has been cancelled
Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 19:11:20 -04:00
fireshaper
e3829bb8a1
Developer tools for pilots, ships and discovery
...
CI / check (push) Successful in 7m29s
Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 21:47:08 -04:00
fireshaper
9d72cace13
Raise base pay for every cargo class by 50%
...
CI / check (push) Successful in 7m31s
Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 16:29:47 -04:00
fireshaper
1909eddfb2
Step 12.2: tutorial economy check on measured numbers
...
CI / check (push) Successful in 6m14s
Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 19:23:44 -04:00
fireshaper
c02126c908
Step 12.1: balance simulation, economic distance and reachable first contact
...
CI / check (push) Successful in 6m17s
Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 19:16:32 -04:00
fireshaper
6b56af7d1e
Lower Earth launch cost to 2.1 so both deal ships can fly at once
...
CI / check (push) Successful in 5m26s
Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 13:41:16 -04:00
fireshaper
f78b488baa
Step 10M.4: deal modal lists the Clipper and the veteran
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 11:57:45 -04:00
fireshaper
979a1ad1a8
Step 10M.2: goals for a Market purchase and a Priority delivery
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 11:43:38 -04:00
fireshaper
b8ff9ba47a
Step 10M.1: veteran skill and deal loan from content
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 11:34:23 -04:00
fireshaper
05e7fbc535
Step 10L.9: stranding reason in the dispatch sheet and deadhead picker
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 01:57:12 -04:00
fireshaper
8d8df71ba9
Step 10L.5: upgrade caps for the new lineup
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 01:38:50 -04:00
fireshaper
776a890757
Step 10L.4: reach table tuning
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 01:32:01 -04:00
fireshaper
60e29f7b1d
Step 10L.3: no-strand rule
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 01:27:41 -04:00
fireshaper
0a0189b3e7
Step 10L.2: effective range from origin
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 01:18:50 -04:00
fireshaper
faa23d2945
Step 10L.1: range factors, Lighter and Clipper
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 01:11:05 -04:00
fireshaper
c15b5ef74e
Step 10K.11: developer tools in non-production builds
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 00:05:58 -04:00
fireshaper
5030341eb7
Step 10K.10: About section with version, build and debug info
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 00:00:37 -04:00
fireshaper
69cc5ff3a7
Step 10K.8: backup codes and restore on the server
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 23:44:52 -04:00
fireshaper
531bb77fea
Step 10K.6: start a new company on the server
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 23:32:47 -04:00
fireshaper
5f202884af
Step 10K.5: rename company, and seeded default names
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 23:28:11 -04:00
fireshaper
f042555502
Step 10J.6: pilot share in the dispatch sheet and delivery summaries
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 22:23:17 -04:00
fireshaper
9eae5ae64d
Step 10J.4: the veteran pilot comes with the deal
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 21:42:43 -04:00
fireshaper
8acc81bc10
Step 10J.3: goal 4 becomes flying a contract with the veteran
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 21:35:20 -04:00
fireshaper
cb54165c90
Step 10J.2: profit-share pilot pay in resolution
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 21:28:56 -04:00
fireshaper
e0742fff76
Step 10J.1: pilot profit share config and the veteran pilot
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 21:22:21 -04:00
fireshaper
c352936a09
Step 10I.4: upgrade tables, API ship fields and the start upgrade route
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 19:25:42 -04:00
fireshaper
0338d5fdbe
Step 10I.3: upgrade validation, cost and the ship-in-shop check
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 19:17:42 -04:00
fireshaper
92520dbc4f
Step 10I.2: effective ship stats in the sim
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 19:13:11 -04:00
fireshaper
0a7e9d97c8
Step 10I.1: ship upgrade content
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 19:08:59 -04:00
fireshaper
4acf346005
Fit jobs pick from all goods that fit; no undersized heavy lots
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 18:20:56 -04:00
fireshaper
bf19f498b8
Step 10H.2: each board contract pays its own market rate
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 18:02:31 -04:00
fireshaper
6e427e52f7
Step 10H.1: pay variance setting and five more early goods
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 17:59:25 -04:00
fireshaper
5be66372d7
Step 10G.6: goods in API summaries, too-slow code and backfill migration
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 17:12:51 -04:00
fireshaper
46dd3777c9
Step 10G.5: tutorial contracts carry named goods
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 17:07:54 -04:00
fireshaper
f8d2f538ca
Step 10G.4: Priority contracts fail too-slow ships
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 17:04:55 -04:00
fireshaper
83d0b3900f
Step 10G.3: goods, Priority and shippers in board generation
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 17:01:14 -04:00
fireshaper
13f5b04ffb
Step 10G.2: contracts carry goods, shippers and Priority fields
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 16:59:00 -04:00
fireshaper
8a7b612bc7
Step 10G.1: goods catalog, shippers and Priority config
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 16:53:17 -04:00
fireshaper
540690590c
Logbook: show deadheads as an empty flight with fuel, not +0 cr
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 12:36:15 -04:00
fireshaper
215f380e80
Step 10F.3: boards fit the player's fleet
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 12:17:08 -04:00
fireshaper
dc24bdeb7a
Step 10F.2: board preview and open slot config
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 12:15:39 -04:00
fireshaper
81e71e8436
Config: 10-minute board period and 10-hour rest
...
CI / check (push) Successful in 4m25s
Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 00:13:49 -04:00
fireshaper
07704e6732
Step 10D.4: pilot duty columns, API fields and rest route
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 21:56:39 -04:00
fireshaper
055cbceaaa
Step 10D.3: pilot-resting validation and duty in resolution
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 21:49:21 -04:00
fireshaper
6b6753f3b2
Step 10D.2: sim duty and rest functions
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 21:44:11 -04:00
fireshaper
935d9b43f0
Step 10D.1: duty limit, Long Haul duty bonus and rest config
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 21:43:09 -04:00
fireshaper
102c5bba91
Step 10C.1: map art manifest and content sprite keys
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 19:02:57 -04:00
fireshaper
962c0601c8
Step 10B.7: Contracts screen by location with idle-ship badges
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 15:08:48 -04:00
fireshaper
61781aa790
Step 10B.6: deliver bought ships to a chosen bay
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 15:01:11 -04:00
fireshaper
a5803d31f5
Step 10B.4: serve contract boards for any discovered location
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 14:51:54 -04:00
fireshaper
553983590e
Step 10B.2: deadhead to any discovered location
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 14:46:30 -04:00
fireshaper
dff2c576cf
Step 10B.1: generate contract boards for any location
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 14:41:56 -04:00
fireshaper
c36d1edf55
Give every contract board jobs for each ship size
...
CI / check (push) Successful in 2m46s
Details
Bay contract mass now comes from per-ship-size bands, and the first
contract in each band is a no-skill Standard job to a discovered
location, so a new player with only a Courier always has work.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 12:22:02 -04:00
fireshaper
aea768bebf
Step 10A.6: add loan, tutorial run and goal schema and routes
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 11:04:57 -04:00
fireshaper
b3ed6ef71d
Step 10A.5: add onboarding goal evaluation
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 10:59:25 -04:00
fireshaper
401914e76b
Step 10A.4: add loan repayment to resolution
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 10:57:08 -04:00
fireshaper
dd0b26813f
Step 10A.3: add tutorial board v2
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 10:54:44 -04:00
fireshaper
957c54cc2c
Step 10A.2: add cargo handling time to travel time
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 10:50:15 -04:00
fireshaper
bfda781601
Step 10A.1: add loaner ship, tutorial and loan config, goals
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 10:47:52 -04:00
fireshaper
f31d036f08
Step 6.8: add hiring and assigning pilots
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 01:15:38 -04:00
fireshaper
439c35ae35
Step 4.2: add API route catalog
...
CI / check (push) Successful in 40s
Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 20:51:45 -04:00
fireshaper
f95acd06ba
Step 4.1: define API data shapes
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 20:50:48 -04:00
fireshaper
f33a9155cc
Step 3.18: define sim public API and add coverage
...
CI / check (push) Successful in 38s
Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:51:49 -04:00
fireshaper
50b038047f
Step 3.17: add dispatch resolution
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:50:58 -04:00
fireshaper
a685235e90
Step 3.16: add XP and leveling
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:50:14 -04:00
fireshaper
1472dc6786
Step 3.15: add in-flight position and progress
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:49:46 -04:00
fireshaper
039df0ac5b
Step 3.14: add reposition dispatch
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:49:14 -04:00
fireshaper
e3967c10e4
Step 3.13: add dispatch record creation
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:48:11 -04:00
fireshaper
1e3b45b529
Step 3.12: add dispatch validation
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:47:24 -04:00
fireshaper
dfd76ba9bc
Step 3.11: add pilot eligibility
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:46:15 -04:00
fireshaper
0a0a43a54e
Step 3.10: add tutorial contract board
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:45:48 -04:00
fireshaper
b7a40aa490
Step 3.9: add contract board generation
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:45:01 -04:00
fireshaper
cbcc981b6d
Step 3.8: add contract model and payout
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:44:02 -04:00
fireshaper
0e5faab454
Step 3.7: add range and landing eligibility
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:43:25 -04:00
fireshaper
ace0d8502d
Step 3.6: add fuel cost
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:42:47 -04:00
fireshaper
36bdbf3af0
Step 3.5: add travel time
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:42:27 -04:00
fireshaper
ccd571fdd0
Step 3.4: add route distance
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:42:02 -04:00
fireshaper
301c0934e1
Step 3.3: add location positions
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:41:39 -04:00
fireshaper
79c63c13b7
Step 3.2: add seeded random number generator
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:40:49 -04:00
fireshaper
f44789878e
Step 3.1: add game clock conversion
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:40:19 -04:00
fireshaper
241e2613f4
Step 2.6: export a single content bundle
...
CI / check (push) Successful in 24s
Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 17:47:44 -04:00
fireshaper
2c211524d3
Step 2.5: add the default game config
...
Rescales money values so tutorial runs pay meaningful amounts, and moves
the game epoch from .env.example into GameConfig.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 17:47:15 -04:00
fireshaper
6804a7120c
Step 2.4: add cargo types and skills
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 17:43:32 -04:00
fireshaper
10ded07ea6
Step 2.3: add the three ship models
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 17:42:52 -04:00
fireshaper
24d9942336
Step 2.2: add the five locations
...
Also fixes Prettier formatting in DECISIONS.md from Step 2.1.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 17:42:07 -04:00
fireshaper
8ff2df976e
Step 2.1: define content schemas
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 17:41:05 -04:00
fireshaper
0b49a325c5
Step 1.3: add Vitest test runner
...
Root config runs each workspace package as a Vitest project. Adds a
trivial passing test in packages/sim.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 17:29:56 -04:00
fireshaper
66308e7cdc
Step 1.1: create pnpm monorepo
...
pnpm workspace with apps/web, apps/server, packages/sim, packages/schema
and packages/content, each extending a strict tsconfig.base.json.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 17:28:27 -04:00