go test ./... && go vet ./... clean on adv-2.0. L2 functionally complete
through step 8 (arena boss flow wired, counters on player_meta,
DnDCharacter level scale, bossflow win asserted in tests).
Step 9 ("drop AdvCharacter imports from arena files") deferred. Arena
code still depends on char.DisplayName (stats DM, T5/helm announces,
render), char.PetName (pet-recovery game-room msg), char.DeathReprieveLast,
char.CombatXP, and char.Alive/transitionDeath — none of which have an
L2-era replacement. DisplayName migration is the L4f-prep / L5
pre-condition (per afaa055); the rest needs L4 hospital/pets/XP/render.
Counter dual-writes to char.ArenaWins/Losses/InvasionScore are the only
piece cleanly droppable at L2 time, but doing it alone leaves the
surrounding loadAdvCharacter/saveAdvCharacter calls in place for the
other fields, so it doesn't satisfy step 9's exit grep — not worth a
partial pass.
Migration doc updated to mark step 9 + the grep-empty exit criterion
as deferred with the dependency reasoning inline. Revisit step 9 after
DisplayName migration ships and L4 (hospital/pets/render) lands.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The original plan never picked a new home for
AdventureCharacter.DisplayName. Add a pre-condition block to L5 with
the recommendation: move display_name to player_meta as a small
self-contained step before L4f, backfill, then swap ~250 read sites
in batches.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Babysit pivots from harvest service to pet-care + safe-rest perk:
- runBabysitDaily/runAutoBabysitDay/runBabysitAction deleted; replaced
by runBabysitDailyTrickle (3 pet XP/day while subscribed).
- BabysitSafeRest predicate promotes Standard camps to Fortified-tier
rest (HP+1d6, threat -5, resources refresh) and reduces wandering
monster check campMod from 0 to -4. Hooks live in
dnd_expedition_camp.go and dnd_expedition_night.go.
- !adventure babysit auto/focus subcommands removed; status/purchase
DMs reflect the new perks.
Scheduler drops the auto-babysit fallback block (no more silent
debits + harvest-day for missed logins). Babysit subscribers still
skip the morning DM; trickle runs in the background.
TwinBee daily simulator self-contained: simulateTwinBeeOutcome +
simulateTwinBeeLoot replace the resolveAdvAction call against a
fake CombatLevel=35 character. Outcome distribution and reward
shape preserved; gold-share to active players unchanged.
Legacy activity resolver retired: resolveAdvAction,
advEligibleLocations, AdvEligibleLocation, resolveAdvEmptyOutcome
deleted from adventure_activities.go (zero production callers
post-babysit/twinbee). AdvActionResult kept — combat_bridge still
produces it for arena/dungeon flows; dies in L2/L3.
Migration plan doc gogobee_legacy_migration.md added: five-phase
L1-L5 plan covering arena (Adv 2.0 boss flow rebuild), co-op
deletion, perk-gate sweep, and final teardown of AdventureCharacter
+ CombatLevel + combat_engine.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>