maniator / maniator/verticopolis

[Bug]: [P3] Generalize stale vacate-cause re-attribution (re-stamp any cleared cause to the current dominant one)

Open
#550 0 comments 0 reactions 0 assignees View on GitHub

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 so lobbyFar erosion pins satisfaction at 0 and the notice never rescinds; the tenant then leaves stamped with the stale original reason instead of lobbyFar. The eviction is correct; only the named cause is wrong. Today the model only re-attributes a stale noise stamp (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 lobbyFar notice 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.