Found 3 actionable issues. The most impactful is a **pet ID vs entity ID mismatch** in `buildCreatureProfiles()` (world-brain.ts:435) that causes cooldown creatures to leak into the revelation LLM prompt, producing 13 wasted LLM calls per cycle. Second, the social think **emotion fallback pools are too small** (only 3 options for angry/sad), causing repetitive canned thoughts when dedup triggers. Third, minor **group activity grammar** issues in thought templates for ritual types.
(HIGH): `buildCreatureProfiles()` uses wrong ID field — cooldown creatures leak into revelation prompt
Fix: Change line 435 to use `components.petId` instead of `pet.id`: (code change) This one-line fix ensures that cooldown creatures are actually excluded from the creature profiles, preventing the LLM from seeing and selecting them. The reassignment fallback at lines 234-247 becomes a safety net rather…
(MEDIUM): Social think fallback produces repetitive “I feel frustrated and tense right now” — missing from fallback pool
Fix: Add more fallback options for `angry` (and other emotions that only have 3): (code change) However, the deeper issue is that the LLM is producing identical thoughts across creatures. This is a prompt problem — the `angry` creatures (Nyvexia, Kron, Nyx) all share the same minimal-context social…
(MEDIUM): Group activity grammar for ritual types — “as they mourning together”
Fix: The thought template at line 2292 `We work well together at ${activityLabel}.` produces awkward phrasing for ritual types. Change the preposition: (code change) And line 2295:
(code change) This ensures “I am getting better at mourn together every time” → “I am getting better at **mourning…
(LOW): Vex speech fixation on “river stones” and “digging through mud”
Fix applied via code changes.