rimlike/scenes
megaproxy 16e04e46f0 add reachability pre-checks to plant/sleep/chop/mine
Provider audit found 6 WorkProviders missing reachability gates before
returning jobs. Without them, pawns can be offered doomed walk-jobs
(target boxed in), JobRunner cancels each tick, Decision re-offers
same job → 20Hz busy-spin starves lower-priority work.

Fixed 4 here (mechanical pattern):
- PlantProvider._find_harvest: walkable-target check (mirrors _find_sow)
- SleepProvider: walkable bed-tile check
- ChopProvider: adjacent-walkable for impassable tree
- MineProvider: adjacent-walkable for impassable rock

Cooking/Crafting reachability changes (in the same audit's
recommendation) were attempted but caused intermittent null returns
that regressed cooking rate. Reverted those — they need more careful
work that doesn't break the existing flow. Filed separately.

Future cleanup: _find_adjacent_walkable duplicated across
ConstructionProvider, ChopProvider — extract to a base/util.

MCP-verified after revert: 2 meals + 1 bread + 2 grain in cabin crate
within 3700 ticks at ULTRA. Cooking fires, hauling fires, all
production paths operational.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 20:20:35 +01:00
..
ai add reachability pre-checks to plant/sleep/chop/mine 2026-05-17 20:20:35 +01:00
effects Phase 0 scaffold + asset audit findings 2026-05-10 20:09:11 +01:00
entities reskin wolf as hyena — visual + lean-in flavor 2026-05-16 21:03:46 +01:00
main sprint A cleanup: accessibility, signals, race, debris 2026-05-16 18:38:14 +01:00
pawn split CookingProvider out of CraftingProvider — fixes starvation 2026-05-16 21:18:26 +01:00
storyteller reskin wolf as hyena — visual + lean-in flavor 2026-05-16 21:03:46 +01:00
ui sow no longer needs grain + add crop zone paint tools 2026-05-16 21:29:00 +01:00
world sow no longer needs grain + add crop zone paint tools 2026-05-16 21:29:00 +01:00