- Introduced a coin economy where NPCs earn coins for productive actions (gathering, building, slaying beasts).
- Builders can now repair damaged homes, prioritizing base defense over new constructions.
- Newborn NPCs inherit their parents' nation and model connector, ensuring balanced role distribution.
- Updated survival prompts to reflect new survival priorities and rules based on NPC roles (ruler, guard, builder, gatherer).
- Added regression tests to validate the new economic and lifecycle behaviors.
Refactor survival prompt to provide a readable mission briefing
- Introduced _parse_briefing function to extract structured facts from the briefing text.
- Updated make_fake_completer to utilize the new briefing format instead of raw JSON.
- Modified _build_survival_messages to generate a plain-language briefing for NPCs.
- Adjusted tests to validate the new briefing format, ensuring it includes necessary information while excluding raw JSON data.
- Enhanced clarity of survival directives and actions within the briefing.
- Changed action "strike" to "attack" in tick.py and updated related validation logic.
- Updated UI text in card_observe.html to reflect new features and improved descriptions.
- Modified e2e tests to check for visibility of updated UI elements.
- Adjusted action hints in test_action_pipeline.py to include "attack" instead of "strike".
- Removed deprecated health URL in test_api_server.py.
- Added new tests for country systems in test_country_systems.py to ensure proper functionality of two-country demo.
- Updated gradio app tests to reflect changes in error handling.
- Increased NPC count in living village smoke test to 16.
- Cleaned up observability perception tests by removing unused overseer context checks.
- Updated OpenAI connector tests to use "attack" instead of "strike" in tool calls.
- Adjusted player MCP tests to use "use" actions instead of deprecated actions like "build" and "gather".
- Refined survival loop tests to ensure LLM sees all public primitive tools and removed r…