maniator / maniator/verticopolis

[Feature]: [P2] Housekeeping: Modern refinements (observed-shortfall verdict, maid return-leg, transport-aware triage)

Open
#547 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

Bundled unresolved refinements from the housekeeping-overhaul epic reviews (PRs #461/#462/#463), folded here from the deferral inbox during the #545 triage pass. No existing curated row owned them.

1. The "enough housekeeping" capacity verdict lies below ~114 rooms/crew (medium; from #461 review). housekeepingCoverage.dailyCapacity is crews * 6 * 19 = 114/crew, but real throughput is travel-dominated (car speed 0.8 floors/min, every job a fresh one-way trip from the crew floor, one maid per floor per unit), so a basement crew serving 90 rooms on floors 20-28 reads GREEN (114 > 90) while actually clearing ~40-55/day and infesting. The red verdicts in housekeepingDiagnostics.ts (dailyCapacity < rooms - infested) and stats.ts (hkShort) are effectively dead below 114 rooms/crew. Fix: key the verdict on OBSERVED shortfall (yesterday's leftover / rooms that survived a shift) rather than the nominal constant.

2. Maids never visibly leave a cleaned room: no return leg (low, player-noticeable; from #462 review). After the cleaning dwell a staff person hits the non-round-tripper branch in crowd/motion.ts and despawns inside the room; the GDD's "walk in, dwell, and leave a room clean" is under-delivered by the vanish. Fix: reuse the meal round-trip machinery for a returning staff leg back to the crew floor, taking care the job RESULT still fires at dwell end (cleaning must not wait for the walk home) and the maid ledger frees at result time, not despawn time, or throughput regresses.

3. Triage travel proxy is blind to transport quality and crew saturation (low; from #463 review). The Modern smart-dispatch score's travel term is floor distance to the NEAREST staff-connected crew, so a six-floor stairs-only climb scores like a six-floor service-elevator ride, and when the nearest crew's maids are all out a farther crew is the one that actually travels while the score reads "close." Documented as an accepted v1 proxy in the GDD pinned-weight note; revisit with the MODERN_HK_TRIAGE weight tuning (fix shapes: distance to nearest crew WITH a free maid, or a transport-aware cost off the staff route length).

All three are gameplay-facing (/gds-code-review on any implementation). Item 1 is the P2 driver (a diagnostic that reads GREEN while the hotel infests); items 2 and 3 are P3 polish that ride the same area.

Tracked in the backlog as row housekeeping-modern-refinements; 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 housekeepingDiagnostics.ts, stats.ts, and crowd/motion.ts, then read the GDD pinned-weight note and the MODERN_HK_TRIAGE tuning context. The work is done when diagnostics use observed shortfall, maids visibly return without delaying the cleaning result or ledger release, and triage reflects transport quality and crew availability. Validate the implementation through /gds-code-review.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
game-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.