All config file writes now use the write-temp + fsync + os.replace pattern (KTD-4) so a crash mid-write leaves the original file intact. - Add src/agentkit/server/utils/atomic_write.py with write_text_atomic - settings.py: _write_yaml_config and _write_env_var use atomic write - skill_service.py: import_skill uses atomic write - skill_service.py: update_skill_config uses atomic write + fcntl.flock around the read-modify-write cycle to serialize concurrent updates - Add 11 unit tests covering happy path, crash safety, concurrency, errors |
||
|---|---|---|
| .. | ||
| e2e | ||
| integration | ||
| unit | ||
| __init__.py | ||
| conftest.py | ||
| test_routing_chain.py | ||