Agent starts and landings no longer freeze the server
When many cards landed in a row on 30 October, Obeya's server froze three times for 0.7 to 1.1 seconds: no page got an answer and no agent was heard. At every agent start it checked with git whether the repository's Claude Code settings await the owner's trust, and after every landing it read the repository's settings again, a few git calls each, during which the server waited. Now git answers without the server waiting, and what was read is reused as long as the repository's branches have not moved.
Longest freeze while 6 cards land and 3 agents start at once
The same burst, measured with git as fast as on an idle machine and slowed down as on a busy one (each git call the server waits for takes that much longer). Dashed: half a second, from which Obeya logs a freeze.
BeforeAfter
0.5 s
What the server waited for
| Git call slowed by | Git calls waited for, before | after | Longest freeze, before | after |
|---|
What changes
- An agent whose repository's main branch has not moved since the last read starts at once, without any git call: whether the branches moved is told by looking at the files git keeps them in.
- Where main has moved (right after a landing, or a commit made outside Obeya), git reads the settings in the background and the agent starts a few milliseconds later, with the repository's Claude Code settings left out if they await the owner's trust, as before.
- After a landing, the repository's settings are read in the background too; saving settings in Konfiguration applies at once without git.
- When dozens of background git calls are asked for at once, they start a few at a time, so pages get their answers in between.