acdream/docs
Erik c1a84cbe0c fix(D.2b): wield is ContainerId-based — drop the WielderId write (code review)
Code-quality review (needs-changes) on Task 3: WieldItemOptimistic wrote
item.WielderId directly, but RollbackMove (via MoveItem) never cleared it
→ a wield-rollback left a pack item with a stale WielderId=player.

Root-cause fix (vs the reviewer's snapshot-WielderId suggestion): acdream's
existing WieldObject 0x0023 confirm models a wielded item as ContainerId=
wielder + equip=mask and does NOT touch WielderId. So the optimistic path
must match — drop the WielderId write entirely. Optimistic state now equals
the confirmed state, rollback fully restores through MoveItem alone, and the
stale-state class is structurally eliminated. The paperdoll's
(WielderId==p || ContainerId==p) filter still matches optimistic wields via
ContainerId (login-equipped items match via WielderId from their CreateObject).

Also: + the wield+move outstanding-count combo test (spec §8), MoveItem doc
note that it doesn't manage WielderId, and the test pins WielderId==0 post-
optimistic-wield to document the model. Core 74/74 green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 22:15:18 +02:00
..
architecture docs(D.2b): divergence rows AP-60 (lift no-op) + AP-61 (closed-bag advisory accept) 2026-06-22 19:56:19 +02:00
audit docs: update audit — Sprint 1 items verified (sequence counters + scenery LCG) 2026-04-13 13:51:39 +02:00
plans docs(D.2b-B): B-Controller visually confirmed; #145 continuation + overflow follow-up 2026-06-21 18:01:38 +02:00
research docs(D.2b): paperdoll (Sub-phase C) handoff + new-session prompt 2026-06-22 21:03:44 +02:00
superpowers fix(D.2b): wield is ContainerId-based — drop the WielderId write (code review) 2026-06-22 22:15:18 +02:00
bugs.md docs: update bugs.md — close BUG-002/003/004, add BUG-005/006/007 2026-04-14 12:17:31 +02:00
ISSUES.md docs: file ISSUES #147 (inventory scroll polish) + #148 (status-bar backpack toggles inventory) 2026-06-22 19:16:25 +02:00