fix(simulation): review fixes — walk-away source and Loyal trait filter

record_incomplete_interaction now uses Heard/Close source instead of
DirectObservation, preventing false inoculation against contradiction
detection. Wired exclude_high_trust_entities (Loyal trait) filter into
derive_disclosure_candidates — facts from Friendly-relationship source
entities are excluded from disclosure pool.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-24 12:42:35 +01:00
co-authored by Claude Opus 4.6
parent ccbfa6bd72
commit c655878dee
2 changed files with 22 additions and 2 deletions
+8 -1
View File
@@ -210,7 +210,14 @@ impl KnowledgeGraph {
last_observed_tick: 0,
last_updated_tick: 0,
confidence: KnowledgeConfidence::Suspects,
source: KnowledgeSource::DirectObservation { tick },
// Heard/Close — not DirectObservation, because walk-away is
// not a confirmed sighting. Using DirectObservation here
// would falsely inoculate the entry against contradiction
// detection (pre-overwrite check only fires on ToldBy source).
source: KnowledgeSource::Heard {
tick,
range: super::types::SoundRange::Close,
},
state: KnowledgeState::Active,
relationship: RelationshipState::Unknown,
known_attributes: BTreeMap::new(),