MAJOR: revokeOffers returns committed cash without booking CF.BondsReturned — CF DIVERGENCE on every revocation turn #124
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Found by the v0.6.0 review (issue #118). revokeOffers (game.go:458-468) does b.Cash += o.Price*o.Size but never records CF.BondsReturned. The finance-phase reconciliation (game.go:833-837) then computes a cash-flow statement that misses the return, logs "CF DIVERGENCE", and misstates the GAAP report every turn a bank revokes. Both sibling paths book it correctly: offer expiry (game.go:766-767) and own-offer retirement (game.go:553).
Verified end-to-end: place 900×10, revoke → "CF DIVERGENCE Bank 1 turn 1: cf -9000 actual 0". Dormant under defaults (Revocation=false, shipped brains return #f from revoke?) but it is a first-class config feature and reachable via the (revoke-offers) builtin regardless of the flag.