feat(conflicts): add file overlap conflict detection (S-1 Phase 1)

Detects when 2+ agent sessions write the same file within a project.
New conflicts.svelte.ts store, shared tool-files.ts utility, dispatcher
integration, health attention scoring (SCORE_FILE_CONFLICT=70), and UI
indicators in ProjectHeader + StatusBar. 170/170 tests pass.
This commit is contained in:
Hibryda 2026-03-11 00:12:10 +01:00
parent 8e00e0ef8c
commit 82fb618c76
12 changed files with 483 additions and 37 deletions

View file

@ -171,6 +171,15 @@ vi.mock('./stores/notifications.svelte', () => ({
notify: (...args: unknown[]) => mockNotify(...args),
}));
vi.mock('./stores/conflicts.svelte', () => ({
recordFileWrite: vi.fn().mockReturnValue(false),
clearSessionWrites: vi.fn(),
}));
vi.mock('./utils/tool-files', () => ({
extractWritePaths: vi.fn().mockReturnValue([]),
}));
// Use fake timers to control setTimeout in sidecar crash recovery
beforeEach(() => {
vi.useFakeTimers();