Spaces:
Runtime error
Runtime error
| { | |
| "schema_version": "1.0", | |
| "id": "medieval_civilization", | |
| "name": "Medieval Civic Economy", | |
| "description": "A compact civilization where generic agents govern, trade, construct infrastructure, share knowledge, enforce rules, and adapt goals under civic pressure.", | |
| "simulation": { | |
| "steps": 70, | |
| "seed": 11, | |
| "scheduler": "sequential", | |
| "activation": "sequential", | |
| "collect_history": true, | |
| "metadata": { | |
| "example": true, | |
| "domain": "civilization" | |
| } | |
| }, | |
| "space": { | |
| "dimensions": 2, | |
| "bounds": [ | |
| [ | |
| 0, | |
| 12 | |
| ], | |
| [ | |
| 0, | |
| 12 | |
| ] | |
| ], | |
| "toroidal": false, | |
| "enforce_bounds": true, | |
| "metadata": { | |
| "layout": "small_civic_map" | |
| } | |
| }, | |
| "agents": [ | |
| { | |
| "id": "ruler_1", | |
| "type": "ruler", | |
| "position": [ | |
| 2.0, | |
| 2.0 | |
| ], | |
| "state": { | |
| "energy": 10, | |
| "credits": 20, | |
| "treasury": 15, | |
| "authority": 5, | |
| "public_pressure_signal": 0.55, | |
| "inventory": { | |
| "stone": 4, | |
| "charters": 2 | |
| } | |
| }, | |
| "memory": { | |
| "goals": [ | |
| { | |
| "id": "maintain_order", | |
| "description": "Keep the settlement stable while preserving public trust.", | |
| "importance": 3, | |
| "score": 3, | |
| "duration": 2 | |
| }, | |
| { | |
| "id": "support_trade", | |
| "description": "Use rules and incentives to keep merchants and artisans productive.", | |
| "importance": 2, | |
| "score": 2.5, | |
| "duration": 2 | |
| }, | |
| { | |
| "id": "fund_infrastructure", | |
| "description": "Build shared infrastructure without exhausting the treasury.", | |
| "importance": 2, | |
| "score": 2, | |
| "duration": 3 | |
| } | |
| ], | |
| "known_options": { | |
| "fair_taxation": { | |
| "score": 1.1, | |
| "trust": 0.7 | |
| }, | |
| "grain_subsidy": { | |
| "score": 1.0, | |
| "stability": 0.8 | |
| }, | |
| "market_regulation": { | |
| "score": 0.9, | |
| "stability": 0.7 | |
| } | |
| }, | |
| "relationships": {} | |
| }, | |
| "goals": [ | |
| { | |
| "id": "maintain_order", | |
| "importance": 3, | |
| "score": 3 | |
| }, | |
| { | |
| "id": "support_trade", | |
| "importance": 2, | |
| "score": 2.5 | |
| }, | |
| { | |
| "id": "fund_infrastructure", | |
| "importance": 2, | |
| "score": 2 | |
| } | |
| ], | |
| "behaviors": [ | |
| { | |
| "name": "remember", | |
| "params": { | |
| "category": "civic_context", | |
| "content": { | |
| "note": "The ruler monitors public pressure, treasury health, trade, and civic order." | |
| }, | |
| "tags": [ | |
| "governance", | |
| "initial" | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "prioritize", | |
| "params": { | |
| "source_path": "memory.goals", | |
| "item_attribute_weights": { | |
| "importance": 1.0, | |
| "score": 1.0 | |
| } | |
| } | |
| }, | |
| { | |
| "name": "choose_goal", | |
| "params": { | |
| "source_path": "memory.latest_priorities.items", | |
| "current_goal_path": "state.current_goal" | |
| } | |
| }, | |
| { | |
| "name": "evaluate", | |
| "params": { | |
| "category": "civic_policy", | |
| "candidate_options": [ | |
| "fair_taxation", | |
| "grain_subsidy", | |
| "market_regulation" | |
| ], | |
| "known_options_path": "memory.known_options", | |
| "adoption_threshold": 0.8, | |
| "write_decision_path": "memory.latest_policy_decision" | |
| } | |
| }, | |
| { | |
| "name": "adopt", | |
| "params": { | |
| "option_id": "fair_taxation", | |
| "category": "governance_strategy", | |
| "adoption_strength": 0.4, | |
| "state_updates_on_adopt": { | |
| "governance_style": "fair_taxation" | |
| } | |
| } | |
| }, | |
| { | |
| "name": "regulate", | |
| "params": { | |
| "regulation_id": "market_fairness_rule", | |
| "regulation_type": "market_rule", | |
| "target_types": [ | |
| "merchant", | |
| "artisan" | |
| ], | |
| "constraints": { | |
| "state.credits": { | |
| "min": 0 | |
| } | |
| }, | |
| "penalties": { | |
| "credits": 1.0 | |
| }, | |
| "authority_key": "authority", | |
| "required_authority": 2.0 | |
| } | |
| }, | |
| { | |
| "name": "tax", | |
| "params": { | |
| "target_types": [ | |
| "merchant", | |
| "artisan" | |
| ], | |
| "tax_rate": 0.1, | |
| "tax_base_key": "state.credits", | |
| "source_account_key": "credits", | |
| "recipient_account_key": "treasury", | |
| "allow_partial": true, | |
| "authority_key": "authority", | |
| "required_authority": 2.0 | |
| } | |
| }, | |
| { | |
| "name": "subsidize", | |
| "params": { | |
| "target_types": [ | |
| "guard", | |
| "scholar" | |
| ], | |
| "amount": 1.0, | |
| "source_account_key": "treasury", | |
| "recipient_account_key": "credits", | |
| "require_source_funds": true, | |
| "allow_partial": true, | |
| "authority_key": "authority", | |
| "required_authority": 2.0 | |
| } | |
| }, | |
| { | |
| "name": "approve", | |
| "params": { | |
| "target_agent_id": "artisan_1", | |
| "requested_action": "repair_public_square", | |
| "approval_status": "approved", | |
| "state_updates_on_approval": { | |
| "has_build_permit": true | |
| }, | |
| "authority_key": "authority", | |
| "required_authority": 2.0 | |
| } | |
| }, | |
| { | |
| "name": "communicate", | |
| "params": { | |
| "message": "civic_policy_update", | |
| "target_agent_id": "envoy_1", | |
| "max_recipients": 1 | |
| } | |
| }, | |
| { | |
| "name": "update_belief", | |
| "params": { | |
| "belief_id": "public_order_is_stable", | |
| "proposition": "Public order can be maintained with current policy.", | |
| "evidence_path": "state.public_pressure_signal", | |
| "learning_rate": 0.2, | |
| "write_belief_path": "memory.latest_order_belief" | |
| } | |
| } | |
| ], | |
| "policy": { | |
| "type": "rule_policy", | |
| "params": { | |
| "selection_strategy": "highest_score", | |
| "rules": [ | |
| { | |
| "id": "ruler_choose_goal", | |
| "behavior_name": "choose_goal", | |
| "score_delta": 5.0, | |
| "priority_delta": 2.0 | |
| }, | |
| { | |
| "id": "ruler_prioritize", | |
| "behavior_name": "prioritize", | |
| "score_delta": 4.0, | |
| "priority_delta": 1.0 | |
| }, | |
| { | |
| "id": "ruler_regulate", | |
| "behavior_name": "regulate", | |
| "conditions": { | |
| "state.authority": { | |
| "min": 2 | |
| } | |
| }, | |
| "score_delta": 3.0 | |
| }, | |
| { | |
| "id": "ruler_tax", | |
| "behavior_name": "tax", | |
| "conditions": { | |
| "state.authority": { | |
| "min": 2 | |
| } | |
| }, | |
| "score_delta": 2.6 | |
| }, | |
| { | |
| "id": "ruler_subsidize", | |
| "behavior_name": "subsidize", | |
| "conditions": { | |
| "state.treasury": { | |
| "min": 1 | |
| } | |
| }, | |
| "score_delta": 2.2 | |
| }, | |
| { | |
| "id": "ruler_approve", | |
| "behavior_name": "approve", | |
| "score_delta": 1.8 | |
| }, | |
| { | |
| "id": "ruler_communicate", | |
| "behavior_name": "communicate", | |
| "score_delta": 1.4 | |
| }, | |
| { | |
| "id": "ruler_evaluate", | |
| "behavior_name": "evaluate", | |
| "score_delta": 1.0 | |
| }, | |
| { | |
| "id": "ruler_update_belief", | |
| "behavior_name": "update_belief", | |
| "score_delta": 0.7 | |
| }, | |
| { | |
| "id": "ruler_remember", | |
| "behavior_name": "remember", | |
| "score_delta": 0.2 | |
| }, | |
| { | |
| "id": "ruler_adopt", | |
| "behavior_name": "adopt", | |
| "score_delta": 0.1 | |
| } | |
| ] | |
| } | |
| }, | |
| "alive": true, | |
| "metadata": { | |
| "role": "governance", | |
| "example_note": "Primary civic policy agent." | |
| } | |
| }, | |
| { | |
| "id": "merchant_1", | |
| "type": "merchant", | |
| "position": [ | |
| 8.0, | |
| 7.5 | |
| ], | |
| "state": { | |
| "energy": 9, | |
| "credits": 14, | |
| "market_signal": 0.7, | |
| "inventory": { | |
| "grain": 5, | |
| "cloth": 3 | |
| } | |
| }, | |
| "memory": { | |
| "goals": [ | |
| { | |
| "id": "grow_trade", | |
| "description": "Balance grain, gold, and trust to grow exchange.", | |
| "importance": 3, | |
| "score": 3, | |
| "duration": 2 | |
| }, | |
| { | |
| "id": "maintain_reputation", | |
| "description": "Avoid penalties and preserve buyer trust.", | |
| "importance": 2, | |
| "score": 2, | |
| "duration": 1 | |
| } | |
| ], | |
| "known_options": { | |
| "fair_pricing": { | |
| "score": 1.1, | |
| "trust": 0.8 | |
| }, | |
| "bulk_trade": { | |
| "score": 0.9, | |
| "credits": 0.7 | |
| } | |
| }, | |
| "relationships": {} | |
| }, | |
| "goals": [ | |
| { | |
| "id": "grow_trade", | |
| "importance": 3, | |
| "score": 3 | |
| }, | |
| { | |
| "id": "maintain_reputation", | |
| "importance": 2, | |
| "score": 2 | |
| } | |
| ], | |
| "behaviors": [ | |
| { | |
| "name": "remember", | |
| "params": { | |
| "category": "market_context", | |
| "content": { | |
| "note": "The merchant tracks prices, demand, and regulation." | |
| }, | |
| "tags": [ | |
| "market", | |
| "trade" | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "prioritize", | |
| "params": { | |
| "source_path": "memory.goals" | |
| } | |
| }, | |
| { | |
| "name": "choose_goal", | |
| "params": { | |
| "source_path": "memory.latest_priorities.items", | |
| "current_goal_path": "state.current_goal" | |
| } | |
| }, | |
| { | |
| "name": "price", | |
| "params": { | |
| "instrument_key": "grain", | |
| "base_price": 2.0, | |
| "supply_path": "state.inventory.grain", | |
| "demand_path": "state.market_signal", | |
| "min_price": 0.5, | |
| "max_price": 8.0 | |
| } | |
| }, | |
| { | |
| "name": "ask", | |
| "params": { | |
| "instrument_key": "grain", | |
| "quantity": 1.0, | |
| "limit_price": 2.0, | |
| "inventory_key": "inventory", | |
| "account_key": "credits", | |
| "match_immediately": true | |
| } | |
| }, | |
| { | |
| "name": "forecast", | |
| "params": { | |
| "instrument_key": "grain", | |
| "method": "moving_average", | |
| "window": 3, | |
| "horizon_steps": 2 | |
| } | |
| }, | |
| { | |
| "name": "evaluate", | |
| "params": { | |
| "category": "trade_strategy", | |
| "candidate_options": [ | |
| "fair_pricing", | |
| "bulk_trade" | |
| ], | |
| "known_options_path": "memory.known_options", | |
| "adoption_threshold": 0.8 | |
| } | |
| }, | |
| { | |
| "name": "adopt", | |
| "params": { | |
| "option_id": "fair_pricing", | |
| "category": "trade_strategy", | |
| "adoption_strength": 0.3, | |
| "state_updates_on_adopt": { | |
| "trade_practice": "fair_pricing" | |
| } | |
| } | |
| }, | |
| { | |
| "name": "communicate", | |
| "params": { | |
| "message": "market_price_update", | |
| "target_agent_id": "ruler_1", | |
| "max_recipients": 1 | |
| } | |
| }, | |
| { | |
| "name": "cooperate", | |
| "params": { | |
| "target_agent_id": "artisan_1", | |
| "goal": "grow_trade", | |
| "effort": 0.8 | |
| } | |
| }, | |
| { | |
| "name": "update_belief", | |
| "params": { | |
| "belief_id": "market_is_healthy", | |
| "proposition": "Trade demand is strong enough to support the market.", | |
| "evidence_path": "state.market_signal", | |
| "learning_rate": 0.25, | |
| "write_belief_path": "memory.latest_market_belief" | |
| } | |
| } | |
| ], | |
| "policy": { | |
| "type": "rule_policy", | |
| "params": { | |
| "selection_strategy": "highest_score", | |
| "rules": [ | |
| { | |
| "behavior_name": "choose_goal", | |
| "score_delta": 5.0 | |
| }, | |
| { | |
| "behavior_name": "prioritize", | |
| "score_delta": 4.0 | |
| }, | |
| { | |
| "behavior_name": "price", | |
| "score_delta": 3.2 | |
| }, | |
| { | |
| "behavior_name": "ask", | |
| "conditions": { | |
| "state.inventory.grain": { | |
| "min": 1 | |
| } | |
| }, | |
| "score_delta": 2.8 | |
| }, | |
| { | |
| "behavior_name": "forecast", | |
| "score_delta": 2.0 | |
| }, | |
| { | |
| "behavior_name": "communicate", | |
| "score_delta": 1.8 | |
| }, | |
| { | |
| "behavior_name": "cooperate", | |
| "score_delta": 1.4 | |
| }, | |
| { | |
| "behavior_name": "evaluate", | |
| "score_delta": 1.0 | |
| }, | |
| { | |
| "behavior_name": "update_belief", | |
| "score_delta": 0.7 | |
| }, | |
| { | |
| "behavior_name": "remember", | |
| "score_delta": 0.2 | |
| }, | |
| { | |
| "behavior_name": "adopt", | |
| "score_delta": 0.1 | |
| } | |
| ] | |
| } | |
| }, | |
| "alive": true, | |
| "metadata": { | |
| "role": "market_coordination" | |
| } | |
| }, | |
| { | |
| "id": "artisan_1", | |
| "type": "artisan", | |
| "position": [ | |
| 6.0, | |
| 5.0 | |
| ], | |
| "state": { | |
| "energy": 9, | |
| "credits": 9, | |
| "craft_signal": 0.65, | |
| "has_build_permit": false, | |
| "inventory": { | |
| "stone": 4, | |
| "wood": 3, | |
| "tools": 2, | |
| "craft_materials": 5 | |
| } | |
| }, | |
| "memory": { | |
| "goals": [ | |
| { | |
| "id": "repair_public_square", | |
| "description": "Maintain shared infrastructure that supports trust and trade.", | |
| "importance": 3, | |
| "score": 2.8, | |
| "duration": 3 | |
| }, | |
| { | |
| "id": "produce_goods", | |
| "description": "Turn materials into useful trade goods.", | |
| "importance": 2, | |
| "score": 2.2, | |
| "duration": 2 | |
| } | |
| ], | |
| "known_options": { | |
| "guild_workshop": { | |
| "score": 1.2, | |
| "capacity": 0.8 | |
| }, | |
| "repair_priority": { | |
| "score": 1.0, | |
| "trust": 0.7 | |
| } | |
| }, | |
| "structures": {}, | |
| "relationships": {} | |
| }, | |
| "goals": [ | |
| { | |
| "id": "repair_public_square", | |
| "importance": 3, | |
| "score": 2.8 | |
| }, | |
| { | |
| "id": "produce_goods", | |
| "importance": 2, | |
| "score": 2.2 | |
| } | |
| ], | |
| "behaviors": [ | |
| { | |
| "name": "remember", | |
| "params": { | |
| "category": "artisan_context", | |
| "content": { | |
| "note": "The artisan tracks permits, tools, materials, and shared infrastructure." | |
| }, | |
| "tags": [ | |
| "construction", | |
| "craft" | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "prioritize", | |
| "params": { | |
| "source_path": "memory.goals" | |
| } | |
| }, | |
| { | |
| "name": "choose_goal", | |
| "params": { | |
| "source_path": "memory.latest_priorities.items", | |
| "current_goal_path": "state.current_goal" | |
| } | |
| }, | |
| { | |
| "name": "build", | |
| "params": { | |
| "structure_id": "public_square", | |
| "structure_type": "civic_infrastructure", | |
| "material_cost": { | |
| "stone": 1.0, | |
| "wood": 1.0 | |
| }, | |
| "work_required": 6.0, | |
| "work_amount": 1.0, | |
| "initial_capacity": 5.0, | |
| "initial_durability": 10.0 | |
| } | |
| }, | |
| { | |
| "name": "repair", | |
| "params": { | |
| "structure_id": "public_square", | |
| "repair_amount": 1.0, | |
| "material_cost": { | |
| "craft_materials": 1.0 | |
| } | |
| } | |
| }, | |
| { | |
| "name": "expand", | |
| "params": { | |
| "structure_id": "public_square", | |
| "dimension_key": "capacity", | |
| "expansion_amount": 1.0, | |
| "work_required": 4.0, | |
| "work_amount": 1.0, | |
| "material_cost": { | |
| "stone": 1.0 | |
| } | |
| } | |
| }, | |
| { | |
| "name": "evaluate", | |
| "params": { | |
| "category": "craft_strategy", | |
| "candidate_options": [ | |
| "guild_workshop", | |
| "repair_priority" | |
| ], | |
| "known_options_path": "memory.known_options", | |
| "adoption_threshold": 0.8 | |
| } | |
| }, | |
| { | |
| "name": "communicate", | |
| "params": { | |
| "message": "infrastructure_status", | |
| "target_agent_id": "ruler_1", | |
| "max_recipients": 1 | |
| } | |
| }, | |
| { | |
| "name": "cooperate", | |
| "params": { | |
| "target_agent_id": "merchant_1", | |
| "goal": "grow_trade", | |
| "effort": 0.7 | |
| } | |
| } | |
| ], | |
| "policy": { | |
| "type": "rule_policy", | |
| "params": { | |
| "selection_strategy": "highest_score", | |
| "rules": [ | |
| { | |
| "behavior_name": "choose_goal", | |
| "score_delta": 5.0 | |
| }, | |
| { | |
| "behavior_name": "prioritize", | |
| "score_delta": 4.0 | |
| }, | |
| { | |
| "behavior_name": "build", | |
| "conditions": { | |
| "state.inventory.stone": { | |
| "min": 1 | |
| }, | |
| "state.inventory.wood": { | |
| "min": 1 | |
| } | |
| }, | |
| "score_delta": 3.4 | |
| }, | |
| { | |
| "behavior_name": "repair", | |
| "conditions": { | |
| "state.inventory.craft_materials": { | |
| "min": 1 | |
| } | |
| }, | |
| "score_delta": 2.3 | |
| }, | |
| { | |
| "behavior_name": "expand", | |
| "conditions": { | |
| "state.inventory.stone": { | |
| "min": 1 | |
| } | |
| }, | |
| "score_delta": 1.8 | |
| }, | |
| { | |
| "behavior_name": "communicate", | |
| "score_delta": 1.4 | |
| }, | |
| { | |
| "behavior_name": "cooperate", | |
| "score_delta": 1.2 | |
| }, | |
| { | |
| "behavior_name": "evaluate", | |
| "score_delta": 0.9 | |
| }, | |
| { | |
| "behavior_name": "remember", | |
| "score_delta": 0.2 | |
| } | |
| ] | |
| } | |
| }, | |
| "alive": true, | |
| "metadata": { | |
| "role": "infrastructure_and_craft" | |
| } | |
| }, | |
| { | |
| "id": "scholar_1", | |
| "type": "scholar", | |
| "position": [ | |
| 4.0, | |
| 9.0 | |
| ], | |
| "state": { | |
| "energy": 8, | |
| "credits": 5, | |
| "knowledge": 3, | |
| "evidence_signal": 0.72, | |
| "inventory": { | |
| "manuscripts": 3, | |
| "ink": 2 | |
| } | |
| }, | |
| "memory": { | |
| "goals": [ | |
| { | |
| "id": "preserve_knowledge", | |
| "description": "Maintain useful knowledge for policy and trade.", | |
| "importance": 3, | |
| "score": 3, | |
| "duration": 2 | |
| }, | |
| { | |
| "id": "advise_council", | |
| "description": "Share evidence with civic decision makers.", | |
| "importance": 2, | |
| "score": 2.4, | |
| "duration": 1 | |
| } | |
| ], | |
| "known_options": { | |
| "public_archive": { | |
| "score": 1.2, | |
| "knowledge": 0.9 | |
| }, | |
| "civic_advice": { | |
| "score": 1.0, | |
| "trust": 0.7 | |
| } | |
| }, | |
| "relationships": {} | |
| }, | |
| "goals": [ | |
| { | |
| "id": "preserve_knowledge", | |
| "importance": 3, | |
| "score": 3 | |
| }, | |
| { | |
| "id": "advise_council", | |
| "importance": 2, | |
| "score": 2.4 | |
| } | |
| ], | |
| "behaviors": [ | |
| { | |
| "name": "remember", | |
| "params": { | |
| "category": "scholar_context", | |
| "content": { | |
| "note": "The scholar turns observations into institutional memory." | |
| }, | |
| "tags": [ | |
| "knowledge", | |
| "policy" | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "prioritize", | |
| "params": { | |
| "source_path": "memory.goals" | |
| } | |
| }, | |
| { | |
| "name": "choose_goal", | |
| "params": { | |
| "source_path": "memory.latest_priorities.items", | |
| "current_goal_path": "state.current_goal" | |
| } | |
| }, | |
| { | |
| "name": "evaluate", | |
| "params": { | |
| "category": "knowledge_strategy", | |
| "candidate_options": [ | |
| "public_archive", | |
| "civic_advice" | |
| ], | |
| "known_options_path": "memory.known_options", | |
| "adoption_threshold": 0.75 | |
| } | |
| }, | |
| { | |
| "name": "adopt", | |
| "params": { | |
| "option_id": "public_archive", | |
| "category": "knowledge_strategy", | |
| "adoption_strength": 0.3, | |
| "state_updates_on_adopt": { | |
| "knowledge_practice": "public_archive" | |
| } | |
| } | |
| }, | |
| { | |
| "name": "communicate", | |
| "params": { | |
| "message": "civic_evidence_update", | |
| "target_agent_id": "ruler_1", | |
| "max_recipients": 1 | |
| } | |
| }, | |
| { | |
| "name": "cooperate", | |
| "params": { | |
| "target_agent_id": "envoy_1", | |
| "goal": "preserve_knowledge", | |
| "effort": 0.8 | |
| } | |
| }, | |
| { | |
| "name": "update_belief", | |
| "params": { | |
| "belief_id": "council_has_good_information", | |
| "proposition": "The council has enough evidence for stable decisions.", | |
| "evidence_path": "state.evidence_signal", | |
| "learning_rate": 0.25, | |
| "write_belief_path": "memory.latest_civic_evidence_belief" | |
| } | |
| } | |
| ], | |
| "policy": { | |
| "type": "rule_policy", | |
| "params": { | |
| "selection_strategy": "highest_score", | |
| "rules": [ | |
| { | |
| "behavior_name": "choose_goal", | |
| "score_delta": 5.0 | |
| }, | |
| { | |
| "behavior_name": "prioritize", | |
| "score_delta": 4.0 | |
| }, | |
| { | |
| "behavior_name": "communicate", | |
| "score_delta": 3.0 | |
| }, | |
| { | |
| "behavior_name": "evaluate", | |
| "score_delta": 2.0 | |
| }, | |
| { | |
| "behavior_name": "cooperate", | |
| "score_delta": 1.5 | |
| }, | |
| { | |
| "behavior_name": "update_belief", | |
| "score_delta": 1.0 | |
| }, | |
| { | |
| "behavior_name": "adopt", | |
| "score_delta": 0.3 | |
| }, | |
| { | |
| "behavior_name": "remember", | |
| "score_delta": 0.2 | |
| } | |
| ] | |
| } | |
| }, | |
| "alive": true, | |
| "metadata": { | |
| "role": "knowledge_and_advice" | |
| } | |
| }, | |
| { | |
| "id": "guard_1", | |
| "type": "guard", | |
| "position": [ | |
| 2.5, | |
| 6.5 | |
| ], | |
| "state": { | |
| "energy": 10, | |
| "credits": 4, | |
| "public_safety_signal": 0.6, | |
| "inventory": { | |
| "supplies": 3 | |
| } | |
| }, | |
| "memory": { | |
| "goals": [ | |
| { | |
| "id": "protect_settlement", | |
| "description": "Preserve civic safety and reduce conflict.", | |
| "importance": 3, | |
| "score": 2.8, | |
| "duration": 2 | |
| }, | |
| { | |
| "id": "enforce_fairness", | |
| "description": "Support fair rule enforcement without exhausting trust.", | |
| "importance": 2, | |
| "score": 2.0, | |
| "duration": 1 | |
| } | |
| ], | |
| "known_options": { | |
| "patrol": { | |
| "score": 1.0, | |
| "safety": 0.8 | |
| }, | |
| "mediation": { | |
| "score": 0.9, | |
| "trust": 0.7 | |
| } | |
| }, | |
| "relationships": {} | |
| }, | |
| "goals": [ | |
| { | |
| "id": "protect_settlement", | |
| "importance": 3, | |
| "score": 2.8 | |
| }, | |
| { | |
| "id": "enforce_fairness", | |
| "importance": 2, | |
| "score": 2.0 | |
| } | |
| ], | |
| "behaviors": [ | |
| { | |
| "name": "remember", | |
| "params": { | |
| "category": "security_context", | |
| "content": { | |
| "note": "The guard tracks public safety and enforcement pressure." | |
| }, | |
| "tags": [ | |
| "safety", | |
| "governance" | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "prioritize", | |
| "params": { | |
| "source_path": "memory.goals" | |
| } | |
| }, | |
| { | |
| "name": "choose_goal", | |
| "params": { | |
| "source_path": "memory.latest_priorities.items", | |
| "current_goal_path": "state.current_goal" | |
| } | |
| }, | |
| { | |
| "name": "enforce", | |
| "params": { | |
| "target_types": [ | |
| "merchant", | |
| "artisan" | |
| ], | |
| "compliance_constraints": { | |
| "state.credits": { | |
| "min": 0 | |
| } | |
| }, | |
| "fine_amount": 0.5, | |
| "penalty_account_key": "credits", | |
| "collector_agent_id": "ruler_1", | |
| "collector_account_key": "treasury", | |
| "authority_key": "authority", | |
| "required_authority": 0.0 | |
| } | |
| }, | |
| { | |
| "name": "communicate", | |
| "params": { | |
| "message": "safety_status_update", | |
| "target_agent_id": "ruler_1", | |
| "max_recipients": 1 | |
| } | |
| }, | |
| { | |
| "name": "cooperate", | |
| "params": { | |
| "target_agent_id": "envoy_1", | |
| "goal": "protect_settlement", | |
| "effort": 0.8 | |
| } | |
| }, | |
| { | |
| "name": "update_belief", | |
| "params": { | |
| "belief_id": "settlement_is_safe", | |
| "proposition": "The settlement is safe enough for trade and learning.", | |
| "evidence_path": "state.public_safety_signal", | |
| "learning_rate": 0.25, | |
| "write_belief_path": "memory.latest_safety_belief" | |
| } | |
| } | |
| ], | |
| "policy": { | |
| "type": "rule_policy", | |
| "params": { | |
| "selection_strategy": "highest_score", | |
| "rules": [ | |
| { | |
| "behavior_name": "choose_goal", | |
| "score_delta": 5.0 | |
| }, | |
| { | |
| "behavior_name": "prioritize", | |
| "score_delta": 4.0 | |
| }, | |
| { | |
| "behavior_name": "enforce", | |
| "score_delta": 3.0 | |
| }, | |
| { | |
| "behavior_name": "communicate", | |
| "score_delta": 2.0 | |
| }, | |
| { | |
| "behavior_name": "cooperate", | |
| "score_delta": 1.4 | |
| }, | |
| { | |
| "behavior_name": "update_belief", | |
| "score_delta": 1.0 | |
| }, | |
| { | |
| "behavior_name": "remember", | |
| "score_delta": 0.2 | |
| } | |
| ] | |
| } | |
| }, | |
| "alive": true, | |
| "metadata": { | |
| "role": "safety_and_enforcement" | |
| } | |
| }, | |
| { | |
| "id": "envoy_1", | |
| "type": "envoy", | |
| "position": [ | |
| 10.0, | |
| 3.0 | |
| ], | |
| "state": { | |
| "energy": 9, | |
| "credits": 6, | |
| "trust_signal": 0.68, | |
| "inventory": { | |
| "letters": 4, | |
| "gifts": 2 | |
| } | |
| }, | |
| "memory": { | |
| "goals": [ | |
| { | |
| "id": "preserve_alliances", | |
| "description": "Carry messages between civic groups and reduce coordination failures.", | |
| "importance": 3, | |
| "score": 2.9, | |
| "duration": 1 | |
| }, | |
| { | |
| "id": "mediate_conflict", | |
| "description": "Help agents negotiate during resource or trade pressure.", | |
| "importance": 2, | |
| "score": 2.2, | |
| "duration": 2 | |
| } | |
| ], | |
| "known_options": { | |
| "diplomatic_route": { | |
| "score": 1.2, | |
| "trust": 0.9 | |
| }, | |
| "mediation": { | |
| "score": 1.0, | |
| "conflict_reduction": 0.8 | |
| } | |
| }, | |
| "relationships": {} | |
| }, | |
| "goals": [ | |
| { | |
| "id": "preserve_alliances", | |
| "importance": 3, | |
| "score": 2.9 | |
| }, | |
| { | |
| "id": "mediate_conflict", | |
| "importance": 2, | |
| "score": 2.2 | |
| } | |
| ], | |
| "behaviors": [ | |
| { | |
| "name": "remember", | |
| "params": { | |
| "category": "diplomacy_context", | |
| "content": { | |
| "note": "The envoy tracks trust, messages, and civic coordination." | |
| }, | |
| "tags": [ | |
| "diplomacy", | |
| "trust" | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "prioritize", | |
| "params": { | |
| "source_path": "memory.goals" | |
| } | |
| }, | |
| { | |
| "name": "choose_goal", | |
| "params": { | |
| "source_path": "memory.latest_priorities.items", | |
| "current_goal_path": "state.current_goal" | |
| } | |
| }, | |
| { | |
| "name": "communicate", | |
| "params": { | |
| "message": "alliance_status_update", | |
| "target_agent_id": "scholar_1", | |
| "max_recipients": 1 | |
| } | |
| }, | |
| { | |
| "name": "cooperate", | |
| "params": { | |
| "target_agent_id": "guard_1", | |
| "goal": "preserve_alliances", | |
| "effort": 0.8 | |
| } | |
| }, | |
| { | |
| "name": "negotiate", | |
| "params": { | |
| "topic": "market_and_security_coordination", | |
| "proposal": { | |
| "exchange": "trust_for_stability", | |
| "terms": "share information before enforcement" | |
| } | |
| } | |
| }, | |
| { | |
| "name": "evaluate", | |
| "params": { | |
| "category": "diplomacy_strategy", | |
| "candidate_options": [ | |
| "diplomatic_route", | |
| "mediation" | |
| ], | |
| "known_options_path": "memory.known_options", | |
| "adoption_threshold": 0.8 | |
| } | |
| }, | |
| { | |
| "name": "update_belief", | |
| "params": { | |
| "belief_id": "alliances_are_stable", | |
| "proposition": "The settlement's alliances are strong enough to absorb pressure.", | |
| "evidence_path": "state.trust_signal", | |
| "learning_rate": 0.25, | |
| "write_belief_path": "memory.latest_trust_belief" | |
| } | |
| } | |
| ], | |
| "policy": { | |
| "type": "rule_policy", | |
| "params": { | |
| "selection_strategy": "highest_score", | |
| "rules": [ | |
| { | |
| "behavior_name": "choose_goal", | |
| "score_delta": 5.0 | |
| }, | |
| { | |
| "behavior_name": "prioritize", | |
| "score_delta": 4.0 | |
| }, | |
| { | |
| "behavior_name": "communicate", | |
| "score_delta": 3.0 | |
| }, | |
| { | |
| "behavior_name": "negotiate", | |
| "score_delta": 2.5 | |
| }, | |
| { | |
| "behavior_name": "cooperate", | |
| "score_delta": 1.8 | |
| }, | |
| { | |
| "behavior_name": "evaluate", | |
| "score_delta": 1.0 | |
| }, | |
| { | |
| "behavior_name": "update_belief", | |
| "score_delta": 0.8 | |
| }, | |
| { | |
| "behavior_name": "remember", | |
| "score_delta": 0.2 | |
| } | |
| ] | |
| } | |
| }, | |
| "alive": true, | |
| "metadata": { | |
| "role": "communication_and_diplomacy" | |
| } | |
| } | |
| ], | |
| "resources": [ | |
| { | |
| "id": "grain_store_1", | |
| "type": "grain", | |
| "amount": 28, | |
| "position": [ | |
| 5.5, | |
| 8.5 | |
| ], | |
| "regeneration_rate": 0.2, | |
| "max_amount": 45, | |
| "metadata": { | |
| "renewable": true, | |
| "civic_layer": "food" | |
| } | |
| }, | |
| { | |
| "id": "gold_reserve_1", | |
| "type": "gold", | |
| "amount": 22, | |
| "position": [ | |
| 2.0, | |
| 1.0 | |
| ], | |
| "regeneration_rate": 0, | |
| "max_amount": 50, | |
| "metadata": { | |
| "renewable": false, | |
| "civic_layer": "treasury" | |
| } | |
| }, | |
| { | |
| "id": "craft_materials_1", | |
| "type": "craft_materials", | |
| "amount": 18, | |
| "position": [ | |
| 6.5, | |
| 5.0 | |
| ], | |
| "regeneration_rate": 0.1, | |
| "max_amount": 35, | |
| "metadata": { | |
| "renewable": true, | |
| "civic_layer": "production" | |
| } | |
| }, | |
| { | |
| "id": "public_trust_1", | |
| "type": "public_trust", | |
| "amount": 16, | |
| "position": [ | |
| 4.5, | |
| 3.5 | |
| ], | |
| "regeneration_rate": 0.05, | |
| "max_amount": 30, | |
| "metadata": { | |
| "renewable": true, | |
| "civic_layer": "social" | |
| } | |
| }, | |
| { | |
| "id": "knowledge_archive_1", | |
| "type": "knowledge", | |
| "amount": 20, | |
| "position": [ | |
| 4.0, | |
| 9.5 | |
| ], | |
| "regeneration_rate": 0.2, | |
| "max_amount": 40, | |
| "metadata": { | |
| "renewable": true, | |
| "civic_layer": "learning" | |
| } | |
| }, | |
| { | |
| "id": "trade_demand_1", | |
| "type": "trade_demand", | |
| "amount": 14, | |
| "position": [ | |
| 9.5, | |
| 8.0 | |
| ], | |
| "regeneration_rate": 0.15, | |
| "max_amount": 30, | |
| "metadata": { | |
| "renewable": true, | |
| "civic_layer": "market" | |
| } | |
| } | |
| ], | |
| "events": [ | |
| { | |
| "id": "winter_pressure", | |
| "name": "winter_pressure", | |
| "trigger_step": 20, | |
| "payload": { | |
| "description": "Winter pressure raises the importance of grain, subsidies, and public order.", | |
| "signals": { | |
| "grain_pressure": 0.3, | |
| "public_pressure": 0.2 | |
| } | |
| }, | |
| "enabled": true, | |
| "repeat_interval": null, | |
| "target_agent_ids": [ | |
| "ruler_1", | |
| "merchant_1", | |
| "guard_1" | |
| ], | |
| "target_resource_ids": [ | |
| "grain_store_1", | |
| "public_trust_1" | |
| ], | |
| "metadata": { | |
| "narrative_hint": "Seasonal stress tests governance and market fairness." | |
| } | |
| }, | |
| { | |
| "id": "trade_fair", | |
| "name": "trade_fair", | |
| "trigger_step": 38, | |
| "payload": { | |
| "description": "A trade fair increases market opportunity and diplomatic coordination.", | |
| "signals": { | |
| "trade_demand": 0.35, | |
| "trust": 0.15 | |
| } | |
| }, | |
| "enabled": true, | |
| "repeat_interval": null, | |
| "target_agent_ids": [ | |
| "merchant_1", | |
| "artisan_1", | |
| "envoy_1" | |
| ], | |
| "target_resource_ids": [ | |
| "trade_demand_1", | |
| "craft_materials_1" | |
| ], | |
| "metadata": { | |
| "narrative_hint": "Economic opportunity rewards coordination." | |
| } | |
| }, | |
| { | |
| "id": "border_dispute", | |
| "name": "border_dispute", | |
| "trigger_step": 52, | |
| "payload": { | |
| "description": "A dispute pressures the guard and envoy to coordinate enforcement and negotiation.", | |
| "signals": { | |
| "safety_pressure": 0.25, | |
| "trust_pressure": -0.15 | |
| } | |
| }, | |
| "enabled": true, | |
| "repeat_interval": null, | |
| "target_agent_ids": [ | |
| "guard_1", | |
| "envoy_1", | |
| "ruler_1" | |
| ], | |
| "target_resource_ids": [ | |
| "public_trust_1" | |
| ], | |
| "metadata": { | |
| "narrative_hint": "Conflict pressure tests diplomacy and enforcement." | |
| } | |
| } | |
| ], | |
| "metrics": [ | |
| { | |
| "name": "diversity", | |
| "params": { | |
| "collection": "agents", | |
| "group_by_path": "type" | |
| }, | |
| "enabled": true, | |
| "metadata": { | |
| "display": "Agent role diversity" | |
| } | |
| }, | |
| { | |
| "name": "entropy", | |
| "params": { | |
| "collection": "agents", | |
| "value_path": "type" | |
| }, | |
| "enabled": true, | |
| "metadata": { | |
| "display": "Agent role entropy" | |
| } | |
| }, | |
| { | |
| "name": "stability", | |
| "params": { | |
| "collection": "agents", | |
| "group_by_path": "type" | |
| }, | |
| "enabled": true, | |
| "metadata": { | |
| "display": "Population stability" | |
| } | |
| }, | |
| { | |
| "name": "interestingness", | |
| "params": { | |
| "collection": "agents", | |
| "group_by_path": "type" | |
| }, | |
| "enabled": true, | |
| "metadata": { | |
| "display": "Composite interestingness" | |
| } | |
| } | |
| ], | |
| "metadata": { | |
| "example": true, | |
| "domain": "civilization", | |
| "created_for": "WorldSmithAI Gradio demo", | |
| "design_note": "No civilization-specific runtime classes are required. The world uses generic agents, resources, policies, behaviors, events, and metrics." | |
| } | |
| } |