Repository navigation
official Packages: migrate fixtures across the removed dungeon tables #307
Description
Rewritten 2026-08-28 after #363 and LyraCoreProject/packages#4. The original ticket assumed a cutover to installed playerbots and dungeons Packages; the table removals make this the gate for publishing main to any existing fixture.
Human Brief
Summary: Migrate every named fixture across the dungeon-table removals, and install the dungeons Package where a fixture wants Deadmines.
Why this needs a human:
Safe publication refuses to remove a table that holds data. A maintainer must inspect each persistent fixture and approve preservation or removal.
Current behavior:
Core main no longer ships the eight retired dungeon packages, so the module schema lost their tables: blackrock_tomb_round, shadowfang_fenrus_choreography, shadowfang_voidwalker_group, shadowfang_dark_offering_schedule, sunken_temple_suppression, wailing_escort_progress, wailing_escort_schedule. A fixture created before #363 still carries those tables; publishing current main against it is refused while they hold rows.
Desired behavior:
Recreate disposable development fixtures. For every named persistent fixture, inventory the removed tables' rows on every Shard, decide per table between deletion and preservation, publish, and verify. Where the fixture wants Deadmines, install the dungeons Package from the Official Package Collection and replay.
Acceptance criteria:
- Every targeted fixture is named and classified as disposable or persistent before mutation.
- Disposable fixtures are recreated through the normal development workflow.
- Persistent fixtures have a reviewed per-table decision for each removed dungeon table and a recovery plan.
- Publication covers every Shard in the fixture topology and verifies the resulting Package set.
- Fixtures that want Deadmines install the
dungeonsPackage and passpackages replay. - No production Realm is touched by this ticket (production is official Packages: cut the production Realm over across the removed dungeon tables #365).
Out of scope:
- The production Realm (official Packages: cut the production Realm over across the removed dungeon tables #365)
- Playerbots (its Package does not exist yet; revisit when official Packages: extract playerbots and dungeons into the collection #306's remaining half lands)
Activity
[-]official Packages: cut fixtures over to playerbots and dungeons[/-][+]official Packages: migrate fixtures across the removed dungeon tables[/+]Mathih13 commentedon Sep 1, 2026
Converted to agent work (maintainer decision, 2026-09-01): no persistent non-production fixture exists — all are disposable and get recreated. The per-table preservation review that made this a human ticket has no subject. Production remains excluded (#365).
Agent Brief
Category: enhancement
Summary: Recreate every non-production fixture on current main, past the removed dungeon tables, installing the
dungeonsPackage where a fixture wants Deadmines.Current behavior:
Fixtures created before #363 still carry the eight retired dungeon tables; publishing current main against one is refused while those tables hold rows.
Desired behavior:
Every non-production fixture is recreated through the normal development workflow on current main, so no retired table survives anywhere outside production. A fixture that exercises Deadmines installs the
dungeonsPackage from the Official Package Collection and passespackages replay. The recreation commands run once and land on the PR per repo convention; no new verification doc.Acceptance criteria:
dungeonsPackage installed andpackages replaygreen.Out of scope:
Mathih13 commentedon Sep 2, 2026
Recreated on 2026-09-02, per the maintainer decision that every non-production fixture is disposable.
Fixtures enumerated: one. The maintainer's local development fixture on the dev machine (SpacetimeDB standalone 2.7.1 on 127.0.0.1:3000). It held a single
lyracoredatabase from an earlierdev up --single. The seven retired dungeon tables were already absent from it: the migration plan listed no removal for any of them, only the playerbots tables, which held rows because the main checkout has playerbots installed.What ran (from a worktree on main 6f5f0f5, with
dungeonsandplayerbotsinstalled from the Official Package Collection at 6baca2a):The playerbots Script Artifact was applied by hand on each of the four Shards (
apply_package_deltas '"script"' ...), becausepackages replaydoes not drive the script family yet (#393, in progress).game_scripton every Shard holds the two playerbots scripts.Acceptance
dungeonsPackage installed andpackages replaygreen.Two things found on the way, not fixed here:
dev upattempts failed on transient errors under heavy parallel compilation on the same machine: the standalone dropped the publish connection once, and the offline schema extractor returned empty output once. A plain retry succeeded both times.packages replayasks for the client data path before it has decided there is nothing to replay. With no spell claim it could report "nothing to replay" and exit without needing a client.Run by Claude (model claude-fable-5-1) via Claude Code.
Mathih13 commentedon Sep 2, 2026
Closing: every non-production fixture is recreated on current main; see the evidence above.