# E2E Spec: Profile Persistence & Reload

## Overview
Test configuration file persistence, reload, and the file watcher.
Covers `internal/profile/` package.

## Test Cases

### Config Loading
- Load from non-existent file returns defaults
- Load from valid YAML returns parsed config
- Load from invalid YAML returns error
- AGENTTEAM_CONFIG_DIR env var overrides default path

### Config Saving
- Save creates parent directories
- Save writes valid YAML
- Round-trip: Save then Load preserves all fields

### Manager CRUD Persistence
- Agent added via Manager persists to agents.yaml
- New Manager loading same directory sees the agent
- Channel added via Manager persists to channels.yaml
- Skill imported via Manager persists to skills.yaml and skills/ directory

### Default Agent Election
- First added agent becomes default
- Adding second agent does not change default
- Deleting default agent re-elects next agent
- No default when all agents deleted
- SetDefault to empty clears default

### File Watcher
- Watch monitors channels.yaml and skills.yaml
- Watch also observes runtime config files, but does not auto-import them into daemon profile state
- Write to watched file triggers reload (debounced 500ms)
- Multiple rapid writes debounced to single reload
- Watcher close stops all callbacks
