Await the session pool in notify and three neighbours
PgSessionStore._get_pool() is async, and four call sites passed its coroutine
straight into a store constructor, so the first query inside died with
"'coroutine' object has no attribute 'fetchrow'": notify always failed, the
reaction runner never got past reading its settings, synapse_instructions was
unusable, and the BYOK resolver caught the AttributeError and silently fell
back to the default credential.

The tests missed it because each one mocked the store or the pool provider
away; the new ones run on a fake asyncpg pool with nothing faked below the tool.
1 parent b7743f8 commit db832e6e851d8117ef9c85fb9e4fd06b804ce4ec
@Eugene Sukhodolskiy Eugene Sukhodolskiy authored 9 hours ago
Showing 9 changed files
View
navi/mcp/keystore.py
View
navi/synapse/reactions.py
View
navi/tools/notify.py
View
navi/tools/synapse_instructions.py
View
tests/conftest_factory.py
View
tests/unit/core/test_synapse_reactions.py
View
tests/unit/mcp/test_keystore.py
View
tests/unit/tools/test_notify.py
View
tests/unit/tools/test_synapse_instructions.py