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 |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| test_atomic_write.py | ||
| test_chat_team.py | ||
| test_event_queue_integration.py | ||
| test_evolution_dashboard.py | ||
| test_kb_management.py | ||
| test_portal_routes.py | ||
| test_portal_ws_background.py | ||
| test_settings_routes.py | ||
| test_skill_management.py | ||
| test_terminal_routes.py | ||
| test_workflow_routes.py | ||