diff --git a/docs/bot-conversations.md b/docs/bot-conversations.md new file mode 100644 index 0000000..b79505e --- /dev/null +++ b/docs/bot-conversations.md @@ -0,0 +1,24 @@ +# Autonomous conversations + +The live bridge proposes nearby, same-faction bot pairs within 25 yards. Both +must be alive, out of combat and in the same phase. Opportunities ride the fresh +roster snapshot transport. The database admits at most one exchange per two-minute +clock bucket and enforces ten minutes between social requests involving a bot. +Human requests take queue priority. Ordinary bot chatter does not trigger replies. + +An exchange consists of a model-generated opening and one model-generated reply. +Each delivery rechecks distance, faction, phase, life and combat state in the game. +Expired requests and pairs that have moved apart are cancelled. No characters are +teleported or held in place for conversations. + +Only a confirmed reply creates reciprocal observation memories and neutral +acquaintance records. This does not invent friendship or change affinity based +solely on speaking. Replay IDs prevent duplicate memories. Each resident retains +at most 100 memories and 100 relationship records on this path. Completed and +failed conversation requests are pruned after 24 hours; character memorials and +other game/event history have separate retention policies. + +Memories and relationships are stored in `realm_state.payload` in the application's +D1 SQLite database under `.wrangler/state/v3/d1` in the Ubuntu deployment. This +uses the VM's disk, backed by the host PC's storage. The per-resident memory limit +is not a total disk quota: additional identities and other logs can still grow.