dw.jang f35ec8f0dc fix(labdb): 정렬(601)만 안 올라가던 길 넷을 막는다 — testId 에 날짜·시각, IMU 형제 파일 제외, 재시도, 최신 폴더
2026-09-29 임상: 조합 CSV(600)는 올라갔는데 정렬(601)이 안 올라갔다. 폰 없이 코드에서
정렬만 다르게 취급되는 지점을 찾았다.

1. 정렬 testId 에 날짜가 없었다 — `<환자명>_align`. labdb 는 같은 testId+rowIndex 를
   조용히 무시하므로(labdb.md "자동 무시"), 같은 환자·같은 시험 이름을 다른 날 다시
   정렬하면 그날 정렬은 한 건도 안 들어가는데 응답은 200 이라 앱은 성공 마커를 남긴다.
   다른 기기가 먼저 쓴 이름이면 409. 조합 CSV 는 파일명(날짜·자세·충만도·주파수)이
   testId 라 이 문제가 없었다. → `<날짜_환자폴더>_align_<HHmm>`. 시각은 정렬 화면의
   시작 시각을 align_result.json `started_at` 으로 남겨 쓴다. [처음부터 다시 정렬] 은
   앞 시도를 먼저 올리고 새 시각을 받는다 — 같은 날 두 번 정렬해도 세션이 갈린다.
2. `*_imu.csv` 가 미업로드 대상에 들어갔다 — 조합 CSV 의 IMU 형제 파일인데 세션으로
   올리려다 변환 실패 마커만 남기고 "미업로드 N건"을 부풀렸다(A34 실측 2건). 제외.
3. 정렬은 정렬 화면을 떠나는 순간 한 번만 올리고 재시도가 없었다. 그 순간 망이 막혀
   있으면 정렬만 빠진다. → 임상 실행이 끝날 때마다 그 폴더의 미업로드 정렬을 한 번 더 민다.
4. onDispose 가 첫 컴포지션의 saveName 을 붙들었다 — 정렬 화면에서 환자명을 나중에
   치면 측정은 환자 폴더에, 업로드는 `unnamed_…` 빈 폴더를 보고 끝났다. → rememberUpdatedState.

시험: sessionBase 4경우 · IMU 형제 제외. services.labdb 40건 통과.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-29 16:53:12 +09:00
S
Description
No description provided
20 MiB
Languages
Kotlin 97.1%
Python 2.9%