rimlike/scenes
megaproxy 2f76ae1639 sleep_provider deconflicts beds against other pawns' targets
L: SleepProvider.find_best_for filters bed candidates via the existing
Job.is_target_taken_by_other mechanism that ConstructionProvider
already uses. Sets j.target_node = best_bed on the proposed job so
other pawns see the claim.

Fixes the 2/3-pawns-floor-sleep symptom (memory.md 2026-05-11) caused
by greedy nearest-neighbor convergence. The bed.claim() mechanism was
already race-free; this just prevents simultaneous proposals on the
same bed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-16 18:29:19 +01:00
..
ai sleep_provider deconflicts beds against other pawns' targets 2026-05-16 18:29:19 +01:00
effects Phase 0 scaffold + asset audit findings 2026-05-10 20:09:11 +01:00
entities sprint cleanup: corpse_cremated signal, recipe_count, save_system 2026-05-16 18:23:22 +01:00
main Phase 19 — onboarding: hint tour + Help modal + tooltip pass 2026-05-16 17:36:18 +01:00
pawn sprint cleanup: corpse_cremated signal, recipe_count, save_system 2026-05-16 18:23:22 +01:00
storyteller fix six critical bugs from audit sprint 2026-05-16 18:06:55 +01:00
ui fix six critical bugs from audit sprint 2026-05-16 18:06:55 +01:00
world camera_rig defers to active paint tool + gitignore build artifacts 2026-05-16 18:27:26 +01:00