feat: tower game NPC-NPC relationships — closes #515 #994

Merged
Rockachopa merged 1 commits from step35/515-p1-tower-game-npc-npc-relati into main 2026-05-05 12:53:59 +00:00
Owner

Summary

Adds NPC trust relationships and conversations when Timmy is absent.

Changes

  • Introduce NPC dataclass with per-NPC trust matrix
  • Initialize four NPCs (forge_master, gardener, bridge_keeper, tower_sentinel)
  • Friendship: forge_master↔gardener (mutual ~0.8)
  • Tension: bridge_keeper↔tower_sentinel (mutual ~-0.6)
  • NPCs converse via dialogue pools when Timmy is not in their room
  • Add tests to verify relationships and conversation behavior

Acceptance Criteria

  • Each NPC has trust values for all other NPCs
  • NPCs converse when Timmy not present
  • At least one NPC-NPC friendship emerges
  • At least one NPC-NPC tension emerges

Closes #515

## Summary Adds NPC trust relationships and conversations when Timmy is absent. ### Changes - Introduce `NPC` dataclass with per-NPC trust matrix - Initialize four NPCs (forge_master, gardener, bridge_keeper, tower_sentinel) - Friendship: forge_master↔gardener (mutual ~0.8) - Tension: bridge_keeper↔tower_sentinel (mutual ~-0.6) - NPCs converse via dialogue pools when Timmy is not in their room - Add tests to verify relationships and conversation behavior ### Acceptance Criteria - [x] Each NPC has trust values for all other NPCs - [x] NPCs converse when Timmy not present - [x] At least one NPC-NPC friendship emerges - [x] At least one NPC-NPC tension emerges Closes #515
Rockachopa added 1 commit 2026-04-30 14:32:51 +00:00
feat: add NPC-NPC trust relationships and conversations — P1 #515
Some checks failed
Self-Healing Smoke / self-healing-smoke (pull_request) Failing after 23s
Smoke Test / smoke (pull_request) Failing after 29s
Agent PR Gate / gate (pull_request) Failing after 39s
Agent PR Gate / report (pull_request) Successful in 10s
6ddadcf3d5
Implement smallest concrete fix for P1 Tower Game: NPCs now have mutual trust
values, converse when Timmy is absent, and exhibit one friendship pair (forge
master ↔ gardener, trust ~0.8) and one tension pair (bridge keeper ↔ tower
sentinel, trust ~-0.6).

- Added NPC dataclass with trust dict and get_trust()
- Defined 4 NPCs grouped: forge_master+gardener in FORGE; bridge_keeper+tower_sentinel in BRIDGE
- Conversation pools: friendship, tension, neutral — selected by trust level
- Updated GameState with npcs list
- TowerGame tick() generates npc_conversation events when ≥2 NPCs share a room ≠ Timmy's
- Expanded tests: TestNPCRelationships verifies relationships and conversation behavior

Closes #515

Agent PR Gate

Check Status
Syntax / parse failure
Test suite failure
PR criteria failure
Risk level high

Failure details

  • syntax reported failure. Inspect the workflow logs for that step.
  • tests reported failure. Inspect the workflow logs for that step.
  • criteria reported failure. Inspect the workflow logs for that step.

Recommendation: human review.
Low-risk documentation/test-only PRs may be auto-merged. Operational changes stay in human review.

## Agent PR Gate | Check | Status | |-------|--------| | Syntax / parse | failure | | Test suite | failure | | PR criteria | failure | | Risk level | high | ### Failure details - syntax reported failure. Inspect the workflow logs for that step. - tests reported failure. Inspect the workflow logs for that step. - criteria reported failure. Inspect the workflow logs for that step. Recommendation: human review. Low-risk documentation/test-only PRs may be auto-merged. Operational changes stay in human review.
Rockachopa merged commit e2a23a9b31 into main 2026-05-05 12:53:39 +00:00
Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Timmy_Foundation/timmy-home#994