fix(simulation): address PR #75 review — vision components, triangle validation, FNV-1a, KG gating
1. CRITICAL: spawn_template_npcs now inserts NpcVisionState, NpcMemory, PlayerAwareness on template-spawned NPCs — matches spawn_npc() pattern from PR #66. Without these, template NPCs were invisible to vision and awareness systems. 2. WARNING: generate_intra_template_triangles now calls validate_triangle_def before generating TriangleState — mirrors cross-template path. Updates test TriangleDefs and logistics-hub.yaml to pass all three quality checks (conflict viability, relationship coherence, interest divergence). 3. WARNING: state_hash in compute_observer_snapshot now uses FNV-1a instead of DefaultHasher — consistent with D-010 principle 4 and the pattern in TemplateId/TriangleId. Updates golden file for new hash value. 4. WARNING: TriangleCrisisEventWire.role_assignments now filtered against observer KnowledgeGraph — unknown NPCs redacted from wire event per D-010 principle 2 (information boundaries). 5. WARNING: ActiveTemplateInstances::insert now despawns previous instance entities before overwriting — prevents orphaned ECS entities. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -171,9 +171,15 @@ triangles:
|
||||
- "ring-contact"
|
||||
conflict_type: AuthorityChallenge
|
||||
interest_axes:
|
||||
- Relationships
|
||||
- Want
|
||||
- Tolerance
|
||||
- Secret
|
||||
relationship_constraints:
|
||||
- with_role: "security-guard"
|
||||
kind: Superior
|
||||
required_trust:
|
||||
min: 0
|
||||
max: 5
|
||||
|
||||
dialogue_pools:
|
||||
- location: "the-terminal"
|
||||
|
||||
Reference in New Issue
Block a user