Commit Graph

42 Commits

Author SHA1 Message Date
fireshaper 0c52a1b532 Step 26.7 follow-up: fix an intermittent fleet-sleep test
CI / check (push) Has been cancelled Details
The test used a random world; with events, some worlds had no trip in
flight at the sleep time. It now uses a fixed world seed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 01:06:24 -04:00
fireshaper 9b2fa19767 Step 26.7: client: hull and results
CI / check (push) Successful in 7m55s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 00:43:01 -04:00
fireshaper db5bdf6f2d Step 26.6: client: radio calls
CI / check (push) Successful in 8m5s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 00:33:46 -04:00
fireshaper 71ea3c6b8e Step 26.5: engine: events in play and catch-up
CI / check (push) Successful in 8m20s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 00:15:41 -04:00
fireshaper 32b34a5d6c Step 25.3: client: highlights pop-up
CI / check (push) Successful in 7m44s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 22:53:22 -04:00
fireshaper c7044ad2d1 Step 25.2: sim: summary builder
CI / check (push) Successful in 7m14s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 22:22:40 -04:00
fireshaper fdbc46e165 Step 25.1: engine: logbook entries and retention
CI / check (push) Has been cancelled Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 22:17:55 -04:00
fireshaper 06ed17af13 Step 24.6: client: sleep notification
CI / check (push) Has been cancelled Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 21:30:53 -04:00
fireshaper 8fb8f1ad09 Step 24.5: client: return banner, status, and setting
CI / check (push) Has been cancelled Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 21:27:17 -04:00
fireshaper 08015fe97c Step 24.4: engine: waking and Back to work
CI / check (push) Successful in 6m56s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 21:20:09 -04:00
fireshaper f5cf2a8424 Step 24.3: engine: sleep in live play and catch-up
CI / check (push) Has been cancelled Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 21:17:14 -04:00
fireshaper 587f504ae1 Step 24.2: engine: manual decision flag
CI / check (push) Has been cancelled Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 21:11:48 -04:00
fireshaper bf55eb8d9f Step 24.1: content and save
CI / check (push) Has been cancelled Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 21:07:50 -04:00
fireshaper d5811bfa0e Step 23.2: duty reset on upgrade completion
CI / check (push) Has been cancelled Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 18:06:21 -04:00
fireshaper eb9b0de5e4 Fix: boards ignore Independent pilots (decision 0.5.133)
CI / check (push) Successful in 7m16s Details
The board's qualifying fleet counted Independent pilots and their ships,
so the player saw jobs only an Independent pilot could fly. Generation
and the read filter now use the player's Manual pairs, falling back to
the whole fleet when there are none.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 16:58:54 -04:00
fireshaper a75959f00a Step 22.2: client: welcome pop-up
CI / check (push) Has been cancelled Details
Three welcome cards for every new company: Next, Skip, '1 of 3', swipe,
a focus trap, and a slide that reduced motion turns off; closing records
it and goes to Contracts (decision 0.5.131).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 14:19:03 -04:00
fireshaper 7355f7dbfb Step 22.1: content and save field
CI / check (push) Successful in 6m51s Details
Welcome card text and the tutorial employer's name in content; save
version 7 records whether this company's welcome was seen (decision
0.5.131).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 13:32:51 -04:00
fireshaper 32603d5d7e Renumber Independent Pilots to CR-021, Phase 21
CI / check (push) Successful in 6m32s Details
CR-020 and Phase 20 went to the Bridge dashboard, recorded first in
another session. Independent Pilots is CR-021 (decisions 0.5.122-0.5.130);
its Steps 20.1-20.5 commits are Steps 21.1-21.5.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 23:36:46 -04:00
fireshaper 42a7be028e Step 20.5: engine: live play
CI / check (push) Has been cancelled Details
The dispatch sheet tells the engine which contract the player has open;
Independent pilots leave it alone, and the loop runs their decisions
while the app is open (decision 0.5.122).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 23:32:39 -04:00
fireshaper 4b2f1b1a85 Step 20.4: engine: event-queue catch-up
CI / check (push) Has been cancelled Details
Commands and the resolution loop replay arrivals and Independent
pilots' decisions in time order, at most 7 days, in chunks with
progress; the same time always gives the same save (decision 0.5.125).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 23:29:29 -04:00
fireshaper 85e8aa4495 Step 20.3: engine: Dispatch Office, modes, orders
CI / check (push) Successful in 6m50s Details
Commands to buy the Dispatch Office, set a pilot's mode and orders, and
set the spending floor; save version 5 starts every pilot on Manual
(decisions 0.5.118-0.5.120).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 23:18:11 -04:00
fireshaper dbdca56413 Step 19.3: engine: boards, filtering, and migration
CI / check (push) Failing after 6m38s Details
Location boards are generated for the qualifying fleet and store it;
reads hide jobs it can no longer complete. Save version 4 drops stored
boards (decisions 0.5.115, 0.5.117).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 20:49:35 -04:00
fireshaper e28597e09e Step 19.2: sim: generation keeps only completable jobs
CI / check (push) Failing after 58s Details
With a fleet, boards keep only candidates some pair can complete, up to
the board size or 200 attempts (decision 0.5.114). The balance player
keeps enough cash to refuel landed ships before buying one.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 20:41:43 -04:00
fireshaper 51e3177689 Step 18.3: engine: deal ships start full; Manual by default
CI / check (push) Has been cancelled Details
New ships (deal or Market) come full on Manual refueling; save version
3 puts every existing ship on Manual. The balance simulator refuels only
when a job needs it (decisions 0.5.111, 0.5.112).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 19:14:35 -04:00
fireshaper 1520cb30fd Step 17.4: engine: deal availability and placement
CI / check (push) Has been cancelled Details
Tests the five-run deal: not after four runs, available after the fifth
at the Moon, both pilots and ships at Earth after accepting, and an
older save with four runs done needing one more. No save migration is
needed since the deal is worked out from the run count.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 16:09:21 -04:00
fireshaper 35b12e50da Step 17.1: content: tutorial settings
CI / check (push) Has been cancelled Details
Five tutorial runs before the deal and a tutorial XP multiplier of 2.
The deal no longer waits for the loaner to be back at Earth, since five
runs end at the Moon; accepting it still puts the avatar at Earth.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 16:04:12 -04:00
fireshaper 50d23436aa Step 16.4: engine: save migration and boards
CI / check (push) Has been cancelled Details
Older saves open with the three new places undiscovered and nothing
else changed (the save lists only discovered places, so no migration is
needed), Earth boards offer first contacts to Venus, and delivering one
discovers Venus and opens its board with Venus goods.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 13:41:58 -04:00
fireshaper 201f25a935 Step 15.6: engine: fuel commands
CI / check (push) Successful in 5m50s Details
Refuel a ship where it is (fill or an amount, at the local price),
switch its refuel policy, and order emergency fuel when the sim offers
it (fuel at 2.5x the local price, cost added to the loan). The save
fields and migration landed in Step 15.4.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 01:41:18 -04:00
fireshaper 63192f9129 Step 15.5: sim: stranding and emergency fuel
CI / check (push) Has been cancelled Details
The no-strand rule now asks whether the ship could leave the
destination on a full tank where fuel is sold, or on what is left
after the leg where it isn't. Emergency fuel is offered to an idle
ship that can't reach anywhere when the player can't afford the
shortfall: the cheapest leg's fuel at 2.5x the local price.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 01:37:05 -04:00
fireshaper 276cdbe611 Step 15.4: sim: tank, burn, and refuel
CI / check (push) Has been cancelled Details
Ships carry fuel: a leg burns from the tank at departure (no credits),
dispatch needs the fuel on board (not-enough-fuel), a leg's fuel cost
is fuel burned x the tank's average price, and Auto top-up refills on
landing with what the credits cover. The save gains tank fields (save
version 2, migration fills every tank). Market ships arrive full; the
deal's ships come with a quarter tank to keep the balance targets.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 01:32:09 -04:00
fireshaper c627bb9954 Step 15.3: content: fuel
CI / check (push) Successful in 5m43s Details
Ships get a tank capacity and a burn rate instead of range and fuel
cost; locations get a fixed fuel price and a sellsFuel flag instead of
the launch cost multiplier. A leg burns burn rate x the economic
distance of (distance / origin factor), and reach is a full tank's
worth. Tanks are sized so every reach answer is unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 01:05:13 -04:00
fireshaper 0a1ca1d3ea Step 15.2: sim: static positions and distances
CI / check (push) Successful in 5m44s Details
Positions, distances, range checks, trip times, fuel and the no-strand
rule no longer take a time argument; the 48-hour no-strand margin goes
with it. Tests now check that a route's pay, trip time and fuel are the
same whenever it is offered or flown.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 00:54:57 -04:00
fireshaper d6bca5b1a2 Step 15.1: content: fixed positions
CI / check (push) Successful in 7m40s Details
Locations get fixed polar coordinates (the Moon as an offset from
Earth) and astronomy-engine is removed, so positions now come from
content. Ranges move into CR-015's reach bands for the fixed distances,
and the Lighter's price drops to 36,000 to keep the balance targets.
Date-sampled tests become yes/no.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 00:43:09 -04:00
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 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