feat(events): 체온 타입 + 분석 체온 추이 — 측정값은 홈에서 더하지 않는다 - #117
Merged
Merged
Conversation
아플 때 아침·저녁으로 체온을 재는데 적을 자리가 없었다. 체중과 같은 결의 측정값 타입이다 (§7.23). - 시스템 타입 temperature: HEALTH, °C, 별칭 체온·열, 프리셋 템플릿에 체중 다음. 마이그레이션 없음 - 시트: 체중과 같은 자리(값 한 칸, 0.1 단계, 자리표시 38.5) - 파서: 38.5도·38.5℃·38.5°C 한 줄, "체온 38.5"(단위 없음)까지 - 홈 카드: HEALTH + 양은 측정값이라 합계가 아니라 마지막 값 — 아침·저녁 체온이 "77.5°C"로 더해지던 것(체중도 같았다). todaySummary가 lastQuantity를 함께 낸다. 규칙은 여전히 세 필드로만 - 분석: 체온 추이 선 그래프(기록이 있을 때만) + 최근 체온. Y축은 데이터 범위 ±0.5 - 정상 범위 참고선·"열" 판정은 넣지 않는다 (K-16) - docs/seed-event-types.md §4 템플릿 표를 코드 기준으로 다시 씀 (remedy 누락 포함) Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
리뷰 2건.
- 마지막 양 조회가 타입 불문 최신 100건이라 급수기 자동 입력이 하루 100건을 넘기면 체온이
창 밖으로 밀려 다시 합계("77.5°C")로 떨어졌다 → eventType.category HEALTH로 좁힌다
- 맨 숫자 폴백이 두 자리면 다 받아 "열 10일째"가 10°C가 됐다 → 3x.x·4x.x만. 나머지는 메모 (K-12)
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- 측정 방법 태그 4개(직장(항문)·귀·겨드랑이·비접촉) — 종별 차이가 아니라 방법이 여럿이다. 한 번에 하나만(EXCLUSIVE_TAG_TYPES). 값 보정·해석은 하지 않는다 (K-16) - 체온계는 DEVICE 제품을 productId로 — 관리가 위생용품을 다는 것과 같은 구조. productName은 태그 CSV(TAG_VALUED_PRODUCT_NAME_KEYS), 타임라인 "38.5°C · 직장(항문) · 체온계" - 체온은 하는 일이 하나라 마지막 방법·기기를 그대로 다시 연다 (R149의 재검토 조건, LAST_TAGS_AND_PRODUCT_KEYS). 방법만·기기만 있어도 마지막 기록으로 잡는다. 태그 타입은 제품 이름을 태그 자리에 넣지 않는다 (R150) - 그래프 툴팁에 방법을 같이 — 방법이 섞이면 선이 거짓말할 수 있다 - Web Bluetooth 자동 입력은 기각 (R156) — ApiToken 자동 입력으로 이미 된다 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
로컬 eventDetailPrefs가 productName만 기억하고 서버 lastProductId 프리필은 prefs가 없을 때만 돌아서, 한 번 저장한 뒤로는 productId가 복원되지 않았다. 사료·영양제도 두 번째부터 칩을 다시 안 누르면 FK 없이 저장됐고(제품 "최근 기록"이 첫 건만), 체온계 자동 채움도 같은 이유로 안 됐을 것이다. - prefs에 productId를 같이 저장·복원 - 옛 저장값(이름만)이면 서버 lastProductId로 보충 — 태그 타입은 그대로, 이름 타입은 로컬 이름과 서버 마지막 제품 이름이 같을 때만. 이미 고른 값은 덮지 않는다 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
prefs productId 복원이 관리에도 걸려 지난 모래 갈이의 모래가 이번 양치에 자동으로 붙었다. eventDetailFields().rememberLastProduct — 이름 타입·체온은 true, 관리·태그 타입은 false. 저장·복원·서버 보충 모두 이 플래그를 본다. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
왜
아플 때 아침·저녁으로 체온을 재는데 적을 자리가 없었다. 체중과 같은 결의 측정값 타입이다. 결정은
docs/WORKPLAN.md§7.23.무엇
temperature— HEALTH,°C, 아이콘thermometer, 별칭 체온·열. 프리셋 템플릿에 체중 다음(스타터 아님). 마이그레이션 없음 (K-8). 기존 반려동물은 홈 진입 시ensurePresetsForPet이 칩을 보충한다DEVICE제품 칩 1탭으로productId. 관리가 위생용품을 다는 것과 같은 구조(§7.20). 타임라인 "38.5°C · 직장(항문) · 브라운 체온계"38.5도·38.5℃·38.5°C한 줄 → 체온.체온 38.5(단위 없음)도 — 체온 모양(3x.x/4x.x)만. 체온 타입이 없는 가구에서는 메모로 (K-12)todaySummaryForPet이 HEALTH 타입별 마지막 양(lastQuantity·lastQuantityUnit)을 함께 내고,todayCardValue가 HEALTH + 양 → 마지막 값으로 가른다. 규칙은 여전히EventCategory·ScaleType·defaultUnit세 필드로만 (§7.17 표에 예외를 적었다)ApiToken자동 입력(§3.6)으로 된다docs/seed-event-types.md§4 템플릿 표가remedy추가 때부터 코드와 어긋나 있어 코드 기준으로 다시 썼다리뷰 (반영 완료)
열 10일째가 10°C로 저장 → 체온 모양만 값으로확인
🤖 Generated with Claude Code