Resolve the production stacktraces with narrow compatibility patches, reproduce the original failures, verify the fixes on staging, and promote the exact verified artifacts to production. User approved production promotion after staging verification on 2026-10-24.
LegacyComponentSerializer.toBuilder descriptor to the Adventure 5 concrete builder return type. Previously verified on staging and queued in production's plugin update folder.BinaryTagIO while preserving legacy item reads.Original failures reproduced, patched regression checks pass. MusicBox: 23 source tests plus packaged-JAR modern/legacy/malformed item checks. Families: original fails 6/13 cases; patched passes all, including real PacketEvents and config-load checks. BountyHunters: four factories, parser behavior and pagination bounds checked.
All four live staging checks passed at 18:27:07 UTC on 2026-10-24 using enabled plugin instances and actual server libraries: Carbon signed/unsigned rendering and unsigned callbacks; MusicBox modern/legacy disc reads; Families 20 cases; BountyHunters eight inventory renders and empty/single/multiple-page navigation. Carbon's first live verifier expected an incorrect leading space; exact bytecode inspection corrected the test, with no change to the patched JAR. Temporary verifier disabled and removed. Installed hashes verified; originals backed up. Staging remains running.
Staging uses Paper 26.3-206; production uses UniverseSpigot 26.3. Client signed-message deletion, audible playback, family-tree appearance and full player command/click journeys still need in-game checks. Tests did not modify player inventories or persistent player/bounty/family data.
Upload exactly the staging-tested four JARs, preserve originals outside the plugin directory, verify remote bytes by downloading and hashing, and use the configured plugins/update folder for activation on restart. Record final rollout results in this task; do not claim runtime activation before a restart is verified. Rollback before restart: remove only these queued updates. After activation: restore backed-up originals through the same update mechanism and restart.
Reproducible patch tooling, regression probes and documentation are retained under ops/plugin-patches/{mobstoeggs,carbon-message-delete,musicbox,families,bountyhunters}/; staging report and SHA-256 manifest under ops/plugin-patches/staging-verifier/. Original metadata/licensing preserved. These local files are not yet published as a commit/PR.
Production upload and post-restart verification will be recorded below.
Production upload completed on 2026-10-24. All four fixes are queued under plugins/update using the original plugin JAR filenames. Every final remote JAR was downloaded and its SHA-256 matched the exact staging-tested artifact. Originals also matched the expected baselines and have readback-verified rollback copies under plugin-patch-backups/four-plugin-compat-20261024-PAR-526/.
The earlier MobsToEggs queued update was preserved. The temporary staging verifier was not uploaded.
Activation is pending the next production restart. No production restart or live plugin reload was performed, and production runtime behavior is not yet verified. Keep this task Pending release until restart, enablement/log checks, and remaining in-game acceptance checks. Production receipt is retained locally under ops/plugin-patches/staging-verifier/production-receipt-2026-10-24.json.
Remaining acceptance: confirm the four plugins enable after restart; exercise the affected chat/disc/family-tree/bounty-menu interactions and inspect for recurrence of the original exceptions. If rollback is needed before restart, remove only these four queued updates. After activation, queue the verified originals through the update folder and restart.
Public upstream contributions opened:
feature/paper-26.3-modernization branch. Original Spliterash master does not use this NBT reader.PR contents are limited to source fixes, synthetic tests, sanitized exception/reproduction details, and validation results. No private logs, player names, infrastructure details, or deployment records were published.
BountyHunters' current upstream is GitLab. User explicitly declined obtaining an account and instructed skipping submission. A tested source patch (4 factory regressions; original fails all 4, fixed passes all 4) is retained locally at ops/plugin-patches/bountyhunters/upstream-source.patch against upstream commit 41a82207.
Families has no public source target; no public contribution made. MobsToEggs' public repository explicitly contains no plugin source, only its wiki/issue reporting; no source PR possible there.
Both published PR heads/base branches and file lists were read back and verified. MusicBox GitHub CI was running at publication; Carbon showed no checks yet. Neither PR was merged. Production activation remains a separate pending-restart item.
Production preflight passed: all four installed original JAR hashes match the exact baselines used for patching. The configured update directory is
plugins/update; it currently contains the previously uploaded MobsToEggs fix. No conflicting queued update exists for these four plugins.Target SHA-256 values (exact staging-tested artifacts):
Production backups for this promotion:
plugin-patch-backups/four-plugin-compat-20261024-PAR-526/, using original JAR filenames. Backups and uploads are downloaded again for hash verification before queueing. Upload is in progress; this comment does not assert activation.