5 comments

[ 0.22 ms ] story [ 2.5 ms ] thread
how do concurrent writes work if two agent sessions are running in teh same project?
2 sessions meaning 2 processes, the knowl.db file uses WAL + 10s busy_timeout. Along with 'BEGIN IMMEDIATE' to avoid read transactions upgrading mid-write. Writes are queued so transactions don't collide with each other.

About the sync about 2 different sessions or even agents/subagents, Knowl notify to the query card what changed since the last query. Eg: 'KNOWL CHANGED: 3 items since you last looked' so they know to re-read and decide.