검증 통과 태그를 SheetMe 현행 구현과 대조했다(에이전트 6, 73만 토큰). new 48 / already 13 / conflict 6 / skip 1 통합하면 26종 → 74종이 되고, 그와 별개로 6건을 고쳐야 한다. 대조를 안 했으면 already 13종을 두 곳에서 처리하게 됐을 것이다. ## 지난 커밋의 내 주장이 틀렸다 WORKFLOW-CTX-ROUND1.md 에 ETC_로그인_사용자명 이 NVL(UidNam,' ') 때문에 레거시와 갈린다고 적었다. 틀렸다 — UserContextStore.cs:80 의 .Trim() 이 그 공백을 도로 걷어내서 NULL 케이스는 양쪽 다 "" 다. 검증이 코드를 직접 읽고 반박했다. 남는 실차이는 다른 것이다(SheetMe 만 Trim). ## 네 번째 차이를 찾았다 ETC_현재년도 — 레거시는 "2026년"(접미 "년"), SheetMe 는 "2026". 앞선 문서의 "차이 3건"에 없던 것이다. 고칠 때 TagPreviewCatalogTests.cs:108 이 "2026" 을 단정하므로 그 판정도 함께 바뀌어야 한다 — 검증이 짚어 줬다. ## conflict 6건 사용자ID_사용자명(결합 조건) · 사용자ID(기준일·Trim) · 사용자명(Trim) · 사용자연락처(유효기간 없이 첫 행) · 원내연락처(같은 조회 공유) · 현재년도(접미사). 문서만 변경. 게이트는 앞 커밋 상태 그대로다. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
4.8 KiB
4.8 KiB
CTX 통합 계획 — 실제 순증은 48종이다
검증 통과 태그를 SheetMe 현행 구현과 대조한 결과(에이전트 6, 73만 토큰).
| 상태 | 수 | 뜻 |
|---|---|---|
| new | 48 | 순증 — 값 생성 코드가 없다 |
| already | 13 | 현행이 같은 값을 낸다 — 건드리지 않는다 |
| conflict | 6 | 처리하지만 값 규칙이 다르다 — 고쳐야 한다 |
| skip | 1 | 죽은 코드 |
즉 통합하면 26종 → 74종이 되고, 그와 별개로 6건을 고쳐야 한다.
내가 지난 커밋에 적은 것 하나가 틀렸다
WORKFLOW-CTX-ROUND1.md 에 ETC_로그인_사용자명 이 NVL(UidNam,' ') 때문에
레거시와 갈린다고 적었다. 틀렸다. UserContextStore.cs:80 의 .Trim() 이 그 공백을
도로 걷어내서 NULL 케이스는 양쪽 다 "" 다. 검증이 코드를 직접 읽고 반박했다.
남는 실차이는 다른 것이다 — SheetMe 만 Trim 한다(레거시 16713 은 안 한다).
conflict 6건 — 고칠 것
| 태그 | 어떻게 다른가 |
|---|---|
ETC_로그인_사용자ID_사용자명 |
레거시는 항상 ID.이름 결합. SheetMe(TagPreviewCatalog.cs:197)는 둘 다 비어 있지 않을 때만 |
ETC_로그인_사용자ID |
유효기간 기준일 — 레거시 GetAdpDtm 앞 8자, SheetMe SYSDATE. 그리고 SheetMe 만 Trim |
ETC_로그인_사용자명 |
SheetMe 만 Trim / 기준일 차이 |
ETC_로그인_사용자연락처 |
레거시는 유효기간으로 고른 행, SheetMe(TagPreviewStore.cs:83)는 WHERE UIDCOD 만으로 첫 행 |
ETC_로그인_원내연락처 |
같은 조회를 공유하므로 같은 결함 |
ETC_현재년도 |
레거시는 "2026년"(접미 "년"), SheetMe 는 "2026" |
ETC_현재년도 는 앞선 문서에 없던 네 번째 차이다.
고칠 때 tests/SheetMe.Core.Tests/TagPreviewCatalogTests.cs:108 이 "2026" 을 단정하고 있어
그 판정도 함께 바뀌어야 한다 — 검증이 짚어 줬다.
통합 순서
- conflict 6건 수정 + 관련 테스트 갱신
- new 48종을 배치로 통합(배치마다
--edit-smoke이름 검사 ·--db-patient· md5) - already 13종은 건드리지 않는다
태그별 판정
| 상태 | 태그 |
|---|---|
| already | ETC_로그인_사용자연락처 |
| already | ETC_로그인_원내연락처 |
| already | ETC_현재시간 |
| already | ETC_현재일시_1_년 |
| already | ETC_현재일시_2_월 |
| already | ETC_현재일시_3_일 |
| already | ETC_현재일시_4_몇시 |
| already | ETC_현재일시_5_몇분 |
| already | ETC_현재일시_MaskBox |
| already | ETC_현재일시 |
| already | ETC_현재일자_영문 |
| already | ETC_현재일자 |
| already | OCM_수술일자_Refer |
| conflict | ETC_로그인_사용자ID_사용자명 |
| conflict | ETC_로그인_사용자ID |
| conflict | ETC_로그인_사용자명 |
| conflict | ETC_로그인_사용자연락처 |
| conflict | ETC_로그인_원내연락처 |
| conflict | ETC_현재년도 |
| new | ETC_로그인사용자_서명 |
| new | OCM_OPNAME |
| new | OCM_STFDTR |
| new | OCM_User진료과_Refer |
| new | OCM_User진료과_한글명칭 |
| new | OCM_User진료과 |
| new | OCM_User진료의사명_Refer |
| new | OCM_User진료의사명 |
| new | OCM_내원유형 |
| new | OCM_담당의사_Refer |
| new | OCM_담당의사_영문_Refer |
| new | OCM_담당의사_영문 |
| new | OCM_담당의사면허번호_Refer |
| new | OCM_담당의사면허번호 |
| new | OCM_담당의사싸인_Refer |
| new | OCM_담당의사싸인 |
| new | OCM_담당의사전문의번호_Refer |
| new | OCM_담당의사전문의번호 |
| new | OCM_로그인_사용자싸인 |
| new | OCM_병동_Refer |
| new | OCM_병동_병실_베드 |
| new | OCM_병동_병실 |
| new | OCM_병동 |
| new | OCM_병실베드 |
| new | OCM_부상병POA_Refer |
| new | OCM_부상병POA |
| new | OCM_부상병명_Refer |
| new | OCM_부상병코드_Refer |
| new | OCM_부상병코드 |
| new | OCM_상병명_가로_Refer |
| new | OCM_상병명_가로 |
| new | OCM_상병명_영어_가로_Refer |
| new | OCM_상병명_영어_가로 |
| new | OCM_상병명_영어_세로_Refer |
| new | OCM_상병명_영어_세로 |
| new | OCM_상병코드_가로_Refer |
| new | OCM_상병코드_가로 |
| new | OCM_상병코드_세로_Refer |
| new | OCM_상병코드_세로 |
| new | OCM_수술_OprPatETC |
| new | OCM_수술부위 |
| new | OCM_수술상병 |
| new | OCM_수술주상병 |
| new | OCM_심사_부상병명 |
| new | OCM_심사_부상병코드 |
| new | OCM_심사_주상병명 |
| new | OCM_심사_주상병코드 |
| new | OCM_외래내원일시_Refer |
| skip | ETC_건강보험증번호_Refer |