Skip to content

official Packages: migrate fixtures across the removed dungeon tables #307

Closed

Description

@Mathih13

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 dungeons Package and pass packages 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:

Activity

  1. added
    enhancementNew feature or request
    P2normal
    ready-for-humanNeeds a maintainer: a decision, a maintainer's Realm, or coordination
    on Aug 24, 2026
  2. changed the title [-]official Packages: cut fixtures over to playerbots and dungeons[/-] [+]official Packages: migrate fixtures across the removed dungeon tables[/+] on Aug 28, 2026
  3. Mathih13 commented on Sep 1, 2026

    @Mathih13
    ContributorAuthor

    This was generated by AI during triage.

    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 dungeons Package 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 dungeons Package from the Official Package Collection and passes packages replay. The recreation commands run once and land on the PR per repo convention; no new verification doc.

    Acceptance criteria:

    Out of scope:

  4. added
    ready-for-agentComplete enough to build from the issue alone, by a person or their agent
    and removed
    ready-for-humanNeeds a maintainer: a decision, a maintainer's Realm, or coordination
    on Sep 1, 2026
  5. Mathih13 commented on Sep 2, 2026

    @Mathih13
    ContributorAuthor

    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 lyracore database from an earlier dev 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 dungeons and playerbots installed from the Official Package Collection at 6baca2a):

    lyracore packages add dungeons --yes
    lyracore packages add playerbots --yes
    lyracore dev up                       # published lyracore, lyracore-kalimdor, lyracore-instances, lyracore-realm; gateway connected to all four
    for db in lyracore lyracore-kalimdor lyracore-instances lyracore-realm; do spacetime call -s local $db debug_repair_after_publish; done
    lyracore packages replay --check      # no Package claims the spell family
    lyracore packages replay --yes        # every Shard already complete; nothing to replay
    

    The playerbots Script Artifact was applied by hand on each of the four Shards (apply_package_deltas '"script"' ...), because packages replay does not drive the script family yet (#393, in progress). game_script on every Shard holds the two playerbots scripts.

    Acceptance

    Two things found on the way, not fixed here:

    • The first two dev up attempts 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 replay asks 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.

  6. Mathih13 commented on Sep 2, 2026

    @Mathih13
    ContributorAuthor

    Closing: every non-production fixture is recreated on current main; see the evidence above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2normalenhancementNew feature or requestready-for-agentComplete enough to build from the issue alone, by a person or their agent

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions