0008 — Ship Registry Overhaul¶
Status¶
Folded into SYSTEMS/ship-registry.md
Context¶
A central Ship Registry separates possession (current pilot) from ownership (registered owner of record), replacing the single Ship.owner_id foreign key. It carries an append-mostly history table, an immutable REG-XXXX-YYYY registration number, the six ownership-affecting events (Drift, Borrow, Trade, Abandon, Salvage, Steal), the 30% legal-salvage transfer with a 24h dispute window, and Wanted Status for stolen-ship pilots. The full durable rule now lives in the target spec; this ADR remains as the append-only audit trail.
Related docs¶
SYSTEMS/ship-registry.md— full launch-target spec (purpose, registration format, six-event state machine, hatch-pin lock, salvage break, trading, abandonment, stolen-report flow, Wanted Status effects, eject + board flow).FEATURES/gameplay/ships.md— manual-eject and ship-registry section; "Ownership and piloting" reframing (no more "active ship").FEATURES/gameplay/ranking.md— stolen-ship triggers; Wanted Status subsection.DATA_MODELS/ships.md—Shipmodel field changes;ShipRegistrytable target spec.DATA_MODELS/player.md—Player.wanted_statusboolean.FEATURES/galaxy/sectors.md— movement reject condition usesPlayer.current_ship_id IS NULL.GLOSSARY.md— Borrowed, Drifting, Registration Number, Stolen, Wanted Status, Hatch Pin, Salvage Break, Trading, Abandoned entries.services/gameserver/src/services/ship_registry_service.py— target service.