feat: add provenance-aware npc communication
This commit is contained in:
+22
-10
@@ -37,12 +37,13 @@ transfer occurred.
|
||||
|
||||
## Persistence and determinism
|
||||
|
||||
`SimulationStateRecord` schema v5 stores the ordered event stream,
|
||||
`SimulationStateRecord` schema v6 stores the ordered event stream,
|
||||
`next_event_id`, directed relationships that may reference an exact event, and
|
||||
per-NPC known-event references. Schema v1 and v2 saves migrate to an empty
|
||||
stream beginning at ID zero. Parsing rejects duplicate event IDs, invalid or
|
||||
duplicate knowledge references, relationship causes the observer does not
|
||||
know, and a next ID that could collide with restored history.
|
||||
per-NPC known-event references with first-acquisition provenance. Schema v1 and
|
||||
v2 saves migrate to an empty stream beginning at ID zero. Parsing rejects
|
||||
duplicate event IDs, invalid or duplicate knowledge references, impossible
|
||||
communicator sources, relationship causes the observer does not know, and a
|
||||
next ID that could collide with restored history.
|
||||
|
||||
A successful food deposit can currently raise a hungry familiar NPC's directed
|
||||
trust in its contributor only when that NPC knows the event. The actor and
|
||||
@@ -53,6 +54,15 @@ rather than copied prose, so the inspector can resolve and display the real
|
||||
completed fact. This is a first evidence-gated causal consumer of the event
|
||||
stream, not general event sourcing.
|
||||
|
||||
Knowledge now records whether an NPC performed, witnessed, heard, or inherited
|
||||
a fact from a legacy save. When an NPC arrives beside an already-working NPC at
|
||||
the same non-storage activity site, the worker may communicate one newest
|
||||
direct fact within 2.5 metres. The listener references the same immutable event
|
||||
and retains the speaker ID; no transaction or event is replayed. Only
|
||||
performed/witnessed facts can cross this one social hop, so this is not yet a
|
||||
rumour cascade. Relationship appraisal uses the listener's state when the fact
|
||||
is acquired, not a reconstruction of their needs when the old event occurred.
|
||||
|
||||
The food-loop regression verifies this chain:
|
||||
|
||||
```text
|
||||
@@ -73,8 +83,10 @@ NPC record, so unloading presentation does not lose the fact.
|
||||
|
||||
The stream is currently kept in full for the small simulation garden. Before
|
||||
large populations or long-running worlds, add measured retention,
|
||||
archival/summary rules, and query indexes. Proximity is the only current witness
|
||||
rule; line of sight, hearing, acquisition provenance, communication, secrecy,
|
||||
false beliefs, multi-event causal graphs, and memory retention belong in later
|
||||
event/history slices. They should extend this record family without making
|
||||
prose authoritative or recomputing old evidence from current positions.
|
||||
archival/summary rules, and query indexes. Proximity is the only current direct
|
||||
witness rule, and communication is intentionally one-hop and tied to shared
|
||||
activity arrival. Line of sight, hearing, acquisition timestamps, multi-hop
|
||||
rumours, secrecy, false beliefs, multi-event causal graphs, and memory
|
||||
retention belong in later event/history slices. They should extend this record
|
||||
family without making prose authoritative or recomputing old evidence from
|
||||
current positions.
|
||||
|
||||
Reference in New Issue
Block a user