Skip to content

Expand WORKER_NAMES pool and add badge colors for all workers - #242

Merged
joryirving merged 1 commit into
mainfrom
foreman/wl-misospace-windowstead-227/issue-227
Jul 8, 2026
Merged

Expand WORKER_NAMES pool and add badge colors for all workers#242
joryirving merged 1 commit into
mainfrom
foreman/wl-misospace-windowstead-227/issue-227

Conversation

@itsmiso-ai

Copy link
Copy Markdown
Contributor

Expanded WORKER_NAMES from 2 to 10 names and added corresponding badge colors to prevent duplicate worker names when worker cap exceeds 2.

Fixes #227

Opened by foreman on review GO (workload wl-misospace-windowstead-227).

Expand WORKER_NAMES from 2 entries (Jun, Mara) to 10 entries (Jun, Mara, Kai, Lia, Ren, Sia, Nia, Tao, Yun, Zoe) to prevent name collisions when recruiting multiple workers. Add corresponding WORKER_BADGE_COLORS entries for each new name.

Update tests to verify the expanded pool and add regression tests ensuring every worker name has a badge color entry and that recruited workers have unique names.

Fixes #227

Signed-off-by: Saffron <263493777+itsmiso-ai@users.noreply.github.com>
@itsmiso-ai
itsmiso-ai requested a review from joryirving as a code owner July 8, 2026 00:21

@its-saffron its-saffron Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AI Automated Review

Full PR review.

Analysis engine: MiniMax-M2.7@https://litellm.jory.dev/v1 (anthropic) — escalated (fast_low_confidence)

Review Summary

Recommendation: Approve. This PR cleanly implements Option 1 from issue PR 227 — expanding the worker name pool from 2 to 10 names and adding corresponding badge colors. The change is minimal, well-tested, and fully satisfies all acceptance criteria.


Change-by-Change Findings

scripts/constants.gd

  • Expanded WORKER_NAMES from 2 entries to 10: ["Jun", "Mara", "Kai", "Lia", "Ren", "Sia", "Nia", "Tao", "Yun", "Zoe"]
  • Added 8 new badge colors to WORKER_BADGE_COLORS for all new names, each with a distinct hex color
  • No other constants were touched; change is precisely scoped to the reported issue

tests/test_constants.gd

  • Updated _test_worker_names_count() to expect 10 entries (was 2)
  • Added _test_worker_names_all() to verify the exact array matches expectations
  • Updated _test_badge_color_count() to expect 10 entries
  • Added _test_badge_colors_complete() which iterates WORKER_NAMES and verifies each has a corresponding entry in WORKER_BADGE_COLORS — directly satisfies acceptance criterion PR 2
  • Added blank lines between test functions per GDScript conventions

tests/test_recruit_worker.gd

  • Updated test_recruit_cycles_through_names to expect "Kai" at index 2 instead of "Jun" (correct given the expanded pool)
  • Added test_recruit_unique_names() which recruits 4 workers (with a hut setup giving cap=4) and asserts all names are unique via sort+dedup — directly satisfies acceptance criterion PR 1

Standards Compliance

Repository conventions followed:

  • Tests use the established _assert_eq() helper pattern from the existing test files
  • Blank lines added between GDScript functions (conventional style in this codebase)
  • No violations of AGENTS.md, CONTRIBUTING.md, or CLAUDE.md requirements
  • Change is scoped, focused, and appropriately small (87 additions / 8 deletions)

No regressions detected:

  • CI passed all three gates: macOS validation, headless smoke test, script test suite

Linked Issue Fit

Issue PR 227 acceptance criteria:

Criterion Status
No two active workers share the same name ✅ Verified by test_recruit_unique_names() — recruits 4 workers and asserts all names are unique
WORKER_BADGE_COLORS has an entry for every name in WORKER_NAMES ✅ Verified by test_badge_colors_complete() — iterates all names and checks badge map coverage
Names fit the game's tone (short, casual, cozy) ✅ All 10 names are 3-4 characters, easy to read, and match the casual tone of "Jun" and "Mara"

The PR implements the recommended Option 1 from the issue and is consistent with the issue's implementation guidance.


Evidence Provider Findings

No evidence providers configured for this PR.


Tool Harness Findings

  • gh_api for scripts/main.gd on the wrong repo (mispospace instead of misospace) failed, but the actual file was fetched successfully from the correct repo
  • The diff is self-contained and does not require reading main.gd to verify correctness

Unknowns / Needs Verification

None. The diff fully covers the implementation, tests are comprehensive, and CI is green.

@joryirving
joryirving merged commit 9b6553b into main Jul 8, 2026
4 checks passed
@joryirving
joryirving deleted the foreman/wl-misospace-windowstead-227/issue-227 branch July 8, 2026 02:15
itsmiso-ai added a commit that referenced this pull request Aug 5, 2026
….size()

New games were spawning 10 workers against a cap of 2 because the
bootstrap loop iterated Constants.WORKER_NAMES.size() which expanded
to 10 in #242. Changed it to iterate Constants.BASE_WORKER_CAP (2)
so new colonies start with exactly 2 workers as designed.

Also adds regression tests:
- test_bootstrap_creates_base_worker_cap_workers
- test_bootstrap_workers_have_valid_names
- test_bootstrap_workers_near_stockpile
- test_bootstrap_food_trajectory_sustainable

Fixes #310

Signed-off-by: Saffron <263493777+itsmiso-ai@users.noreply.github.com>
itsmiso-ai added a commit that referenced this pull request Aug 5, 2026
….size()

bootstrap_state() iterated Constants.WORKER_NAMES.size() (10) when seeding
the starting crew, but the worker cap is Constants.BASE_WORKER_CAP (2). This
regression was introduced in #242 when WORKER_NAMES expanded from 2 to 10
entries — every new colony started 8 workers over cap, causing instant food
collapse and permanently disabling the Recruit button.

Fix: iterate BASE_WORKER_CAP instead of WORKER_NAMES.size().

Also adds regression tests (test_bootstrap_workers.gd) asserting:
- Fresh game starts with exactly BASE_WORKER_CAP workers
- Starting-state food remains sustainable over 50 ticks

Fixes #310

Signed-off-by: Saffron <263493777+itsmiso-ai@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Expand WORKER_NAMES or add unique name generation

2 participants