Add segment collision resolution for remote ingest
When a remote observer uploads files with a segment key that already
exists, the ingest endpoint now uses a random walk algorithm to find
an available slot by adjusting time (+/-1 second) or duration (+/-1).
After 100 failed attempts, files are saved to a quarantine directory
for manual review.
- Add _randomize_segment() for random +/-1 modifications
- Add _segment_exists() to check for directory or file conflicts
- Add _find_available_segment() with random walk up to 100 attempts
- Add _save_to_failed() to quarantine files on exhaustion
- Update ingest_upload() to detect collisions and adjust segment keys
- Failed uploads saved to remote/failed/<segment>/<timestamp>/
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>