Skip to content

refactor(packages): use the named Module API - #81

Merged
Mathih13 merged 5 commits into
mainfrom
t3/issue-635-phase-6
Oct 11, 2026
Merged

Mathih13 merged 5 commits into
mainfrom
t3/issue-635-phase-6

Conversation

@Mathih13

@Mathih13 Mathih13 commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

The Official Packages use Module roots removed by Package API v3. This change moves those calls to the five named roots and uses Actor operations for body restoration and movement stopping.

CI selects the same-name Core branch when present and otherwise uses the compatible Core revision. The local check script runs the Package API lint with the collection installed.

Paired with LyraCoreProject/LyraCore#665 for phase 6 of LyraCoreProject/LyraCore#635. The current-source byte comparison is removed from the companion test; the pinned historical input and durable behavior comparison remain.

Validation with Core 55118071: 1,691 linked Module unit tests, debug compilation, 37 Package API lint tests, Package formatting and seven script tests pass. Three private durable tests pass: controller cutover, remote-target movement, and stopping at the rendered position between ticks.

The populated-predecessor upgrade test also passes after it explicitly expects the watched-faction column added by Core #654. It still compares every retained field and rejects unexpected columns. Independent adversarial review confirmed this repair and found no Package behavior regression. All nine CI fallback revisions point to the compatible Core commit.

Full CI also found three fixtures that depended on the old timed-cast cooldown behavior. The companion fixture now keeps an explicit cooldown active after the cast. The recovery fixture verifies cooldown admission, then isolates power readiness while retaining the exact Defense cast. The quest-loop fixture places targets far enough away that ranged casters must cross the existing 150-yard threshold. All three original failures were reproduced locally. Their repaired durable tests and an independent adversarial review pass. The full durable job also exposed stale assertions about a completed cast's bounded action row and cooldown readiness in cast replacement and urgent-heal preemption. Those tests now observe the matching completion event or establish readiness before checking the original behavior. All three failures reproduce locally and their repairs pass with an independent adversarial review. All applicable CI jobs passed on 0b1a90a, including full durable, composition, transfer, capacity, class, target-claim and all three acceptance suites.

After Core advanced, all nine fallback revisions were updated to the integrated Core 6e73c274. The Package code and tests are unchanged from 0b1a90a. The 1,691 linked Module tests and 37 API lint tests pass with that Core revision. Fresh paired CI is pending on Packages 607a4c5.

Models: GPT-6 Astra and GPT-6.1 Sol. Harness: Codex in T3 Code.

@Mathih13

Copy link
Copy Markdown
Contributor Author

Full CI exposed a stale upgrade expectation in playerbots_transfer_upgrades_populated_predecessor_without_a_checkpoint. Its pinned PB-009 predecessor has no watched_faction_index; Core #654 added that column with default -1. The captured rows differ only by that addition.

I reproduced the failure locally using the CI predecessor Wasm and clean checkouts at its recorded revisions. The test now adds the exact expected default before comparing the full Character row. The original durable test passes. An independent adversarial review checked that changed or missing old fields, unexpected columns, wrong defaults and changed row counts still fail.

Core #665 remains unchanged at 55118071, with all nine checks passed. This push reruns the full Package CI before the paired merge.

@Mathih13

Copy link
Copy Markdown
Contributor Author

The composition job failed in three fixtures after Core #657 moved timed-cast cooldowns to admission. I reproduced all three failures locally.

  • The companion test now uses a ten-second cooldown around its five-second cast, so its cooldown refusal and target-retention checks have an explicit active cooldown.
  • The recovery fixture verifies that Defense starts a cooldown, expires it deliberately, and checks insufficient-power refusal before restoring power. It still requires the exact Defense cast to survive until Recovery is ready.
  • The quest-loop test now places targets 30 yards farther away. Ranged casters must cross the existing 150-yard threshold without relying on the old cooldown to force melee movement. Kill counts, quest credit, rewards and collection checks remain.

All three repaired durable tests pass locally against Core 55118071. An independent adversarial review found no material issues. Commit 15312b6 changes fixtures and tests only. Full Package CI and Core's check with the updated Packages will run before the paired merge.

@Mathih13

Copy link
Copy Markdown
Contributor Author

The full durable job found three more stale test assumptions. Each failure reproduced locally against Core 55118071 and Packages 15312b6.

  • The moving-target Fireball completed and earned quest credit, but a later cast replaced its bounded action row. The test now checks the captured subscription insert for the same Character, spell, target, cast kind and resolved outcome. Its approach and completion-range checks remain.
  • The Core replacement test attempted a second cast during the admission cooldown. It now clears that cooldown in its private fixture and verifies the original cast is still pending before replacement. The original handle must finish cancelled with exactly one interruption.
  • The urgent-heal test evaluated preemption inside Fortitude's admission cooldown. It now polls real Runner decisions until the heal can proceed, then checks the original buff cancellation and both retained targets as before.

All three repaired durable tests pass locally on 0b1a90a. Independent adversarial review found no material issues. The preceding full CI run passed every other applicable job, including composition, transfer, and all three acceptance classes. This push reruns CI with the repaired tests.

@Mathih13
Mathih13 merged commit 7b2affb into main Oct 11, 2026
23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

full-ci Run the playerbots durable and acceptance suites

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant