창 넷이 DB·저장소를 함께 써 겹침이 실제로 생기는 자리다. 청크·임시배치 갈래에만
있던 보호막 둘이 직행 `/files` 갈래에는 빠져 있었다.
- `is_analysis_running` 가드: 분석 중 업로드를 409 로 막는다. 없으면 분석 2개가
같은 산출물 경로에서 부딪힌다.
- `supersede_previous_input_files`: 같은 이름 옛 행을 SUPERSEDED 로 내린다.
없으면 같은 파일이 두 줄로 활성이라 어느 것으로 도는지 순서에 달린다.
세 갈래가 같은 보호막을 쓰는지 지키는 시험을 `tmp/tests` 에 남김.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>