maniator / maniator/verticopolis
[Bug]: [P3] Generalize stale vacate-cause re-attribution (re-stamp any cleared cause to the current dominant one)
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 5
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
Bundles two low attribution deferrals from the graduated-lobby-distance-eval (#394) and lobby-distance-recalibration (#435) reviews, folded from the deferral inbox by #545. No re-attribution row existed.
- A very-far tenant that gave notice for another cause departs stamped with the stale cause (from #394). If a served office/condo gives notice for
access/congestion/rent/transportFar, the player fixes that cause, but the floor is very-far from a lobby solobbyFarerosion pins satisfaction at 0 and the notice never rescinds; the tenant then leaves stamped with the stale original reason instead oflobbyFar. The eviction is correct; only the named cause is wrong. Today the model only re-attributes a stalenoisestamp (noiseCannotEvict). Fix: generalize re-attribution to re-stamp any stale reason whose original cause has cleared to the current dominant cause (also covers a fixed-access tenant now transport-far). - A pre-recalibration save can complete an eviction under bands that no longer evict there (from #435). A save written under v1.44.0/v1.45.x can carry a live
lobbyFarnotice at distance 8-11, which the recalibrated bands only cap (erosion 0); it departs attributed to a cause the current rules cannot produce at that distance. Self-limiting (once per carried-in notice). Fold a matching "the stamped cause can no longer evict here" rescind/re-stamp into the same generalized pass.
Low severity, cosmetic (the toast/inspector names a plausible but not-current cause); the eviction decisions themselves are correct. Gameplay-facing (/gds-code-review).
Tracked as backlog row vacate-cause-reattribution; folded from the deferral inbox by #545.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the model's existing noise re-attribution pass, since the issue identifies it as the current behavior to generalize. Trace the notice and departure handling for stale causes, then add coverage for cleared causes and carried-in notices so the stamped cause is rescinded and re-attributed to the current dominant cause without changing eviction decisions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- game-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100