arrow_back 설계로그 목록
ADR-0016
공통
설계중
이 기록을 만든 방법과 그 과정에서 틀린 것들
작성 2026-07-25 · 최종 갱신 2026-07-29
앞선 열다섯 건이 어떤 절차로 작성됐고 그 과정에서 무엇이 틀렸는지를 남긴다. 결론만 있는 기록은 얼마나 믿어야 할지 알려 주지 않는다. 인용의 검증 등급을 세 단계로 구분해 표기했고, 작성 중 발견된 오류 여섯 건을 그대로 적는다.
info이 문서는 연구·설계 기록이며, 현재 제공 중인 서비스가 아닙니다. 각 항목의 상태 표기를 함께 확인해 주세요.
help맥락
설계로그는 결정을 남기지만 그 결정이 어떻게 만들어졌는지는 남기지 않는다. 읽는 쪽에서는 이 기록을 얼마나 믿어야 할지 판단할 근거가 없다.
특히 이 로그는 상호참조가 조밀하다. 뒤의 기록이 앞의 기록을 근거로 삼는 구조에서 앞의 기록이 틀렸다면 그 오류는 조용히 번진다. 실제로 그런 일이 있었다.
이 기록의 목적은 자기소개가 아니라 신뢰 수준의 공개다. 무엇을 원문까지 확인했고 무엇을 서지사항만 보고 인용했는지, 어디서 틀렸고 어떻게 잡혔는지를 적는다.
alt_route검토한 대안
대안 A기각
작성 과정을 기록하지 않고 결정만 남긴다.
결론만 있으면 독자는 검증 수준을 알 수 없다. 원문까지 확인한 인용과 제목만 보고 붙인 인용이 같은 무게로 읽히면, 강한 근거가 약한 근거의 신뢰까지 떠안는다.
대안 B기각
방법론만 적고 오류는 적지 않는다.
오류를 뺀 방법론은 방법론이 잘 작동했다는 주장이 된다. 실제로 무엇이 빠져나갔는지가 그 절차의 실효를 보여 주는 유일한 증거다.
대안 C채택
검증 등급과 오류 이력을 함께 공개한다.
이 프로젝트가 답변에 검증 블록을 붙이는 것과 같은 이유다. 근거의 강도를 표시하지 않은 근거는 근거로 쓰기 어렵다.
gavel결정
- 인용의 검증 등급을 네 단계로 구분해 각 항목의 verification 필드에 적고 화면에도 함께 표시한다. 원문대조(본문을 직접 내려받아 문장을 확인), 초록확인(권위 데이터베이스의 초록 또는 발행처 공식 설명으로 주장을 확인), 서지사항(초록을 얻지 못해 제목·저자·출처만 확인), 자체자료(이 프로젝트 자신의 산출물·데이터). 서지사항 등급의 자료로는 그 문헌의 결론을 인용하지 않는다.
- 법령·판례는 예외 없이 DRF 본문으로 실증한 것만 부착한다. 조문 번호를 기억이나 추정으로 적지 않는다.
- 작성 중 발견된 오류를 삭제하지 않고 이 기록에 남긴다. 수정 커밋을 조용히 덮는 방식으로 처리하지 않는다.
- 결정을 바꾸는 개정은 무엇을 왜 바꿨는지 개정 이력에 남긴다(ADR-0010 결정 1). 근거만 보강한 경우에도 결정이 불변임을 명시한다.
- 이 기록이 이 로그 자신에 대해 말하는 수치는 본문에 적지 않고 렌더 시점에 원본 데이터에서 계산해 채운다. 사람이 센 값을 본문에 박아 두면 엔트리가 늘 때마다 반드시 틀리며, 틀린 자기집계는 이 기록의 목적인 신뢰 수준 공개를 정면으로 무너뜨린다.
- 참고문헌의 식별자도 실제로 해석되는지 확인한 것만 부착한다. 결정 2 는 법령·판례를 DRF 본문으로 실증하도록 했으나 참고문헌의 DOI·문서번호는 그 대상이 아니었다. 식별자는 형식이 맞으면 그럴듯해 보이므로 육안으로 걸러지지 않는다. 열어서 그 문헌이 나오는 것을 확인하지 못한 식별자는 적지 않고, 해석되는 다른 권위 레코드(기관 리포지터리·공공 서지 데이터베이스)로 대체한다.
- 새 사례 조사는 기존 결정 중 하나를 실제로 무너뜨릴 가능성이 있을 때만 착수한다. 사례를 하나 조사할 때마다 결정을 하나씩 만들어야 한다는 압력이 생기고, 그 압력은 사례가 설계를 끌고 가는 방향으로 작동한다. 조사 결과가 기존 결정의 비어 있던 내용을 채우는 데 그치면 새 기록을 만들지 않고 그 결정을 개정한다.
menu_book근거
- ADR-0041 현재 이 로그는 41건의 결정과 86건의 개정 이력으로 이루어져 있다. 부착된 근거는 법령·행정규칙 155건(그중 155건에 DRF 본문 실증 표기), 판례 14건, 외부 참고자료 47건, 공개 산출물 18건이다. 이 수치는 손으로 세지 않는다. 본문에는 토큰만 두고 렌더 시점에 원본 데이터에서 직접 세어 채운다. 2026-07-26 검토에서 수기 집계가 실제 값과 어긋나 있음이 드러나 그렇게 바꿨다(아래 아홉째 오류).
- 참고자료 47건의 검증 등급은 원문 대조 16건, 초록 확인 18건, 서지사항만 12건, 이 프로젝트 자신의 산출물 1건이다. 즉 약 26%는 결론을 인용할 수 없는 등급이며, 그 항목들은 연구 설계나 방법론 수준으로만 참조했다고 각 note 에 적었다. 등급은 산문이 아니라 항목의 verification 필드에 두어 집계가 재현되게 했다.
- 결정 3 이 필요한 이유는 작성 과정에서 실제로 여러 번 틀렸기 때문이다. 아래 여섯 건이 그 목록이다. 첫째, 「개인정보 보호법」의 자동화된 결정 조항을 제37조의8 로 적었다. DRF 가 확인한 것은 제37조의2 였고 세 곳을 정정했다. 둘째, 헌법재판소 사건을 '판결'로 렌더했다. 헌재는 결정이며, 인용 표기 함수를 만들고 헌재 사건에 결정 외의 표기를 차단하는 게이트를 추가했다. 셋째, 허브의 트랙 필터가 눌려도 목록이 걸러지지 않았다. 작성자 스타일의 display 선언이 hidden 속성을 무력화한 것으로, 규칙을 추가하고 그 규칙이 없으면 렌더 자체가 실패하도록 자체 점검을 배선했다. 넷째, 참고문헌의 DOI 를 기억으로 추정해 두 번 빗나갔다. 지목한 두 식별자는 각각 9/11 기억 연구와 인지면담 연구였고, 이후 CrossRef 제목 검색으로 방식을 바꿨다. 다섯째, 하위 분야 등급을 매기면서 방법의 증거 수준만 보고 데이터 가용성을 보지 않았다. 프로토타입 착수 단계에서 드러나 ADR-0012 와 ADR-0013 을 개정했다. 여섯째, 코드 패치 중 판례 표기 검사가 개정 이력 검사 루프 안으로 밀려 들어가 검증이 중단됐다. 되돌리고 두 검사가 모두 살아 있음을 음성 테스트로 재확인했다.
- 이 여섯 건 중 넷은 게이트나 실측이 잡았고 둘은 사람이 잡았다. 게이트가 잡은 것은 게이트를 만들었기 때문이며, 만들지 않았다면 그대로 게시됐을 것이다.
- 이 기록을 쓰는 동안에도 게이트가 한 번 작동했다. 근거자료를 하나도 붙이지 않은 채 저장하려 하자 '근거자료가 하나도 없음'으로 렌더가 차단됐다. 자기 절차를 서술하는 기록이라 외부 문헌이 없다는 것은 이유가 되지 못하며, 무엇을 근거로 그 수치를 말하는지 밝혀야 한다는 요구가 맞다. 결정 1~4 가 자기 자신에게도 적용된다는 사례로 남긴다.
- 산출물을 만드는 단계에서 두 건이 더 나왔다. 일곱째, 조문 추출 정규식이 법령명 앞부분에 두 글자 이상을 요구해 '형법'·'상법'·'민법'이 통째로 누락되고 있었다. 형사 판례에서 가장 많이 인용되는 법률이 처음부터 빠져 있었고, 고친 뒤 사용 가능 사건이 1,357건에서 1,977건으로 늘었다. 여덟째, 띄어쓰기가 있는 법령명이 마지막 토큰으로 절단되어 '소송촉진 등에 관한 특례법'이 '특례법'으로 인용되고 있었다. 검증 자산의 실제 법령명으로 최장 접미를 회수하도록 고쳤는데, 그 과정에서 검증 자산 자체에도 '특례법' 같은 절단 파편이 법령명으로 섞여 있음이 드러나 파편 목록을 따로 두어 걸렀다.
- 이 두 건은 게이트가 아니라 산출물을 눈으로 보다가 잡혔다. '사기' 죄명의 최상위 인용 조문이 '특례법 제23조'로 나온 것이 단서였다. 고친 뒤에는 사기가 형법 제347조, 업무방해가 형법 제314조, 명예훼손이 형법 제307조로 바뀌었다. 지표만 보고 있었다면 통과 판정에 가려 그대로 갔을 것이다. 수치가 기준을 넘었다는 것과 산출물이 말이 된다는 것은 다르며, ADR-0010 의 어느 결정도 후자를 요구하지 않는다.
- 아홉째 오류. 이 기록의 자기집계 수치가 통째로 낡아 있었다. 결정 16건·법령 48건·참고자료 36건·개정 16건으로 적혀 있었으나 2026-07-26 실제 값은 각각 19·54·37·23이었고, 자기 참조 항목의 제목도 열다섯 번째 기록에서 멈춰 있었다. 원인은 오타가 아니라 구조다. 늘어나는 기록에 수기 집계를 박으면 새 엔트리를 쓸 때마다 틀린다. 검증 등급 분포도 산문에만 있어 재현되지 않았다(합계부터 36과 37로 어긋났다). 그래서 등급을 필드로 옮기고 수치를 토큰으로 바꿨다. 이 오류는 게이트도 실측도 아닌 정독이 잡았다.
- 열째 오류. ADR-0017 이 육안 점검의 출처를 ADR-0013 으로 적었으나 그 점검은 ADR-0010 과 ADR-0012 의 것이었고, 본문에서 인용한 다른 기록이 related 에 빠진 항목이 일곱 건 있었다. 이 기록의 맥락이 경계한 '상호참조가 조밀한 구조에서 오류가 조용히 번지는' 사례가 실제로 나온 것이다. 고치는 것으로 끝내지 않고, 본문이 인용한 ADR 이 실재하고 related 에도 있는지, '결정 N'이 그 기록의 결정 개수를 넘지 않는지를 렌더 게이트로 옮겼다.
- 열한째 오류. 충실성 검증이 정보가 없는 형태였다. 근거 사건을 전부 빼면 그 조문의 빈도가 0 이 되어 상위에서 반드시 사라지므로, '5건 전부에서 예측이 바뀌었다'는 보고는 검증 결과가 아니라 산술이었다. 표본을 앞에서 다섯 개 자른 것이었고 표본 비율도 적지 않았다. 2026-07-26 실행 결과를 게시하려고 코드를 열다가 발견했으며, 보완으로 넣은 재현 검증도 같은 이유로 구조상 참이 나온다는 것을 확인해 세 번째 검증을 다시 만들었다. 게이트가 아니라 산출물을 만들려고 코드를 읽다가 잡힌 사례다.
- 열두째 오류. 절차 조문 분리가 법령명으로만 되어 있었다. ADR-0010 결정 7 은 '94개 죄명에 나타나는 조문은 죄명 정보를 담고 있지 않다'는 논거로 절차 조문을 걸렀는데, 정작 그 논거를 분산이 아니라 법령명에 적용해 헌법 제12조(156개 죄명)·형법 제30조(115개)가 실체 조문으로 남았다. 논거와 구현이 어긋난 채 두 번의 측정이 지나갔다.
- 열셋째 오류. 일반화 검증 결과를 적용하기 직전, '변화 없음' 11종 중 8종이 제거 전 성능 0 이라 애초에 하락을 관측할 수 없는 표본이라는 것을 발견했다. 그대로 적용했다면 측정할 수 없었던 항목을 '근거가 아니다'라고 판정해 산출물에서 뺐을 것이다. 검증을 고쳤더니 그 검증의 판정 조건이 또 문제였다는 뜻이며, 이번에도 게이트가 아니라 결과를 눈으로 보다가 잡혔다.
- 열넷째 오류. ADR-0014 가 국내 재감정 제도와의 차이를 적으면서 '재감정자가 앞선 결론을 보지 못하도록 하는 요건은 확인되지 않았다'고 썼는데, 「(경찰청) 과학수사 기본규칙」 제31조 제5항은 재감정 시 최초 감정관을 배제하도록 명문으로 정하고 있었다. 국내에 없는 것은 정보 가림이지 인적 분리가 아니었다. 조문을 확인하지 않고 '확인되지 않았다'고 적은 것이 원인이며, 확인하지 않은 것과 없는 것을 같은 문장으로 적으면 이렇게 된다.
- 2026-07-26 세 건의 사례 조사가 세 건의 기록(ADR-0029·ADR-0030·ADR-0031)으로 이어졌다. 그 경로를 남겨 둔다. 조사는 하되 사례를 등급·성능·타당성의 근거로 쓰지 않고, 결정의 근거는 국내 법령과 판례에서 따로 세운다. ADR-0029 가 그 금지를 정했고, ADR-0030 이 예외 용법(사례를 한계 진술에만 쓴다)을 정했으며, ADR-0031 이 그 용법을 자기 자신에게 적용해 계기가 된 사건에서 지목되었다가 배제된 인물의 이름을 적지 않았다. 세 기록 모두 사건의 사실관계를 다루는 저널리즘·대중서를 참고자료에 올리지 않았고, 무엇을 왜 올리지 않았는지를 각 references_note 에 적었다.
- 열다섯째 오류. 참고문헌의 DOI 를 추정해 적었다. 1995년 학술지 논문의 식별자를 그 학술지의 형식만 보고 만들어 넣었다가, 게시 전 확인에서 그 주소가 해당 문헌으로 해석되지 않는 것을 보고 공공 서지 데이터베이스의 실측 레코드로 교체했다. 게이트가 잡은 것이 아니라 스스로 확인해 잡았고, 확인하지 않았다면 존재하지 않는 식별자가 근거로 게시됐을 것이다. 이 로그에서 가장 위험한 종류의 오류다. 형식이 그럴듯하면 사람 눈으로 걸러지지 않기 때문이다. 결정 6 은 이 사고에서 나왔다.
- 열여섯째 오류. 상호참조 게이트가 다시 작동했다. ADR-0029 본문이 이 기록을 인용하는데 related 에 넣지 않아 렌더가 차단됐다. 열째 오류를 계기로 만든 게이트가 그 뒤에 쓴 기록에서 같은 실수를 실제로 잡은 것이며, 게이트가 없었다면 끊어진 상호참조가 그대로 게시됐을 것이다.
- 열일곱째 오류. DRF 가 반환하는 법령 본문이 항상 현행이라고 가정하고 있었다. 「형법」을 조회하자 시행일자 2026-09-13 판이 돌아왔는데 현행은 2026-03-12 였다. 인용한 조문의 두 판 사이 문언 차이는 끝내 확인하지 못했고, 그 유보를 ADR-0031 의 각 법령 항목에 적었다. 조문 번호와 문언을 확인하는 것만으로는 부족하고 어느 판의 문언인지도 함께 확인해야 한다는 것이 이번에 드러났다.
- 등급을 올리려다 실패한 것도 남긴다. ADR-0029 가 인용한 두 문헌(1995년·1984년)의 초록을 공공 서지 데이터베이스·출판사 페이지·기관 리포지터리에서 모두 찾지 못해 서지사항 등급을 유지했다. 시도했고 안 되었다는 사실을 적어 두지 않으면 뒤에 같은 확인을 반복하거나 그 등급이 게으름으로 읽힌다. 같은 이유로 검증 등급 비율도 조정하지 않았다. 이 세 건을 쓰는 동안 비율은 양쪽으로 움직였으나 어느 방향으로도 맞추지 않았다. 비율을 목표로 삼는 순간 그 수치는 더 이상 무엇도 측정하지 않는다.
- 이 문단들을 쓰는 동안 열여섯째 오류가 한 번 더 반복됐다. 위 오류 목록을 추가하면서 본문에 새로 인용한 세 기록을 related 에 넣지 않아 렌더가 또 차단됐다. 상호참조 누락을 기록하는 문단에서 상호참조를 누락한 것이며, 이것이 게이트를 사람의 주의력으로 대체할 수 없는 이유다.
- 결정 7 은 이 로그가 2026-07-26 하루에 사례 조사 네 건으로 새 기록 세 건(ADR-0029·0030·0031)을 만든 뒤에 나왔다. 세 건은 각각 실제로 새로운 결정이었지만, 같은 속도로 계속 가면 사례가 결정을 만드는 구조가 된다. 그것은 ADR-0029 결정 1 이 막으려던 것과 방향만 다를 뿐 같은 문제다. 네 번째 조사는 새 결정을 만들지 않고 ADR-0018 과 ADR-0019 의 비어 있던 기준을 채우는 개정으로 처리했으며, 그 처리가 이 결정의 첫 적용이다.
- 등급표를 넓히려다 실패한 것도 남긴다. 2026-07-26 조사에서 모발 현미경 비교가 ADR-0013 의 어느 등급에도 올라 있지 않다는 것이 드러났다. 그 분야의 오류를 다룬 공적 발표와 법학 문헌이 있다는 것은 검색으로 확인했으나, 발표 기관 페이지·법학지·연구단체 문서가 모두 자동 접근을 차단해 본문을 대조하지 못했다. 등급을 매길 근거를 확보하지 못했으므로 등급표를 건드리지 않았다. ADR-0013 결정 8 이 '근거가 없으면 등급 미평가로 두고 낮은 등급으로 적지 않는다'고 정한 것과 같은 이유이며, 아는 것처럼 적는 것보다 비워 두고 그 사실을 적는 편이 낫다.
- 열일곱째 오류의 해소를 덧붙인다. 오류 자체는 지우지 않는다(결정 3). 원인은 DRF 의 `lawService.do?target=law` 가 미시행 개정본이 공포되어 있으면 현행 MST 를 지정해도 그 개정본 본문을 반환한다는 것이었다. `target=eflaw`(시행일법령)로 조회하면 그 MST 의 현행 시행일 본문이 온다. 2026-07-26 두 경로를 대조해 형법(현행 2026-03-12 / law 반환 2026-09-13)과 형사소송법(현행 2026-07-01 / law 반환 2027-12-31)에서 반환본이 갈리는 것을 확인했고, ADR-0031·0032·0033 이 인용한 여섯 개 조문의 문언은 두 판에서 동일함을 확인해 그 유보를 해소했다. 재발 방지로 `scripts/verify_design_log_statutes.py` 를 만들어 로그가 인용한 법령을 현행 시행본과 대조하게 했다.
- 같은 대조에서 이 오류의 범위가 세 기록보다 넓다는 것도 드러났다. 형사소송법을 인용한 기록은 스무 건이고 형법은 한 건이다. 이번에 문언 동일을 확인한 것은 그중 여섯 개 조문뿐이며, 나머지 조문이 어느 판의 문언인지는 아직 대조하지 않았다. 도구는 생겼으므로 확인할 수 있는 상태이지만 확인한 것은 아니다. 그 구분을 적어 두지 않으면 도구를 만든 것이 곧 문제를 해결한 것으로 읽힌다.
- 열여덟째 오류. 시행일자 대조 도구가 편장절 제목을 조문으로 잡았다. DRF 의 eflaw 응답에는 장·절 제목이 조문단위로 섞여 오는데(조문여부='전문'), 파서가 '같은 조문번호면 더 긴 쪽을 남긴다'는 휴리스틱을 써서 그 제목 행을 본문으로 골랐다. 그 결과 실제로는 같은 조문이 '문언 다름'으로 보고되었다. 검증 도구의 거짓양성은 없는 문제를 고치게 만들므로 거짓음성만큼 위험하다. 조문여부가 '조문'인 행만 채택하도록 고쳤다.
- 열아홉째 오류. 같은 도구가 망 지연에 그대로 죽었다. 전수 대조 중 urlopen 타임아웃으로 중단되어 열여덟 개 법령 중 여덟 개까지만 처리되었다. 재시도 세 번과 백오프를 넣고 타임아웃을 늘렸다.
- 스무째 오류. 그 중단이 조용했다. 도구가 죽으면 요약이 출력되지 않아, 부분 실행의 출력만 보고 '돌렸는데 문제 없었다'로 읽을 수 있었다. 법령 단위로 오류를 격리하고 요약을 항상 출력하도록 고쳤다. 요약에는 조회 실패 건수를 적고 '조회에 실패한 법령은 확인됨이 아니다'라고 명시하며, 실패나 불일치가 있으면 종료코드 1 로 끝낸다. 검증 도구가 조용히 중단되는 것은 이 로그가 계속 경계해 온 실패 유형이며, 도구를 만드는 과정에서 그 유형을 우리가 다시 만들었다.
- 고친 뒤 전수 대조가 완주했다. 인용 법령 열여덟 건 중 law 반환과 eflaw 반환이 갈리는 것은 형법과 형사소송법 두 건뿐이고 나머지 열여섯 건은 같았다. 인용 조문 쉰다섯 개는 모두 두 판에서 문언이 동일했다. 열일곱째 오류의 범위가 이로써 확정되었고, 앞서 '도구는 생겼으나 전수 대조를 마친 것은 아니다'라고 적어 둔 상태는 해소되었다.
- 행정규칙까지 넓혀 대조를 마쳤다. 「(경찰청) 과학수사 기본규칙」과 「국립과학수사연구원 감정절차 규정」은 DRF 의 법령 검색에 없어 처음에는 '현행본을 찾지 못함'으로 남아 있었다. 행정규칙 검색을 폴백으로 붙여 두 건 모두 현행본을 확인했고, 인용 조문 열한 개가 본문에 실재함을 확인했다. 다만 행정규칙은 시행일 법령 조회의 대상이 아니어서 두 판 비교가 성립하지 않으므로, 실재 확인까지만 하고 그 한계를 도구 출력에 적었다. 이로써 이 로그가 인용한 스무 개 규범이 모두 검증 범위 안에 들어왔고 미확인은 없다.
- 스물한째 오류. 게시된 G1 산출물에 실명이 실려 있었다. 죄명 문자열은 DRF 사건명을 그대로 쓰는데 그 필드는 익명화가 일정하지 않아, 한 건에서 이름이 그대로 남아 왔다. 그 상태로 data 와 게시 경로에 함께 올라가 있었고, 2026-07-26 ADR-0031 결정 2 를 그 산출물에 적용하다가 발견했다. 출력 지점 네 곳에 마스킹을 넣고 자체 점검에 검사를 추가한 뒤 재생성해 교체했다. 이 오류는 ADR-0031 이 만들어지기 전에 생긴 것이라 당시 규칙 위반은 아니지만, 새 결정을 기존 산출물에 적용하지 않았으면 계속 게시되어 있었을 것이다. 결정을 만드는 것과 이미 나간 것에 적용하는 것은 다른 일이다.
- 그 적용 과정에서 검사 자체도 한 번 틀렸다. 처음에는 '피고인·피해자' 같은 낱말을 신호로 삼았는데 「성폭력범죄의처벌및피해자보호등에관한법률」은 법률명에 '피해자'가 들어가고 '피고인1·피고인2'는 이미 번호로 익명화된 표준 죄명 표기여서 거의 전부 거짓양성이었다. 신호를 '피고인 뒤 2~3자 한글이 조사·연결 형태 앞에 오는 경우'로 좁히자 실제 실명 한 건만 남았다. 열여덟째와 같은 계열의 실수를 다른 도구에서 다시 한 것이며, 검증을 넓게 걸면 반드시 거짓양성이 나온다는 것을 두 번째로 확인했다.
- 스물두째 오류. 1차 자료가 없다고 단정한 것이 사실은 검색 방법의 문제였다. ADR-0033 은 계기가 된 국내 사건의 판결문을 DRF 에서 찾지 못했다는 이유로 결정의 근거를 전부 법령 조문에 두고 사실관계를 '검증 기준 미통과'로 적었다. 2026-07-29 재조사에서 원인이 드러났다. 사건의 사회적 통칭은 사건명에 없고 판결문 본문에만 나오므로 사건명 검색으로는 0건이 나오며, 본문 검색으로 바꾸자 같은 사건군의 대법원 판결이 나왔다. 행정기관의 결정문은 판례 데이터베이스에 있을 이유가 없고 그 기관의 조사보고서 원문에 실려 있었다. 없다는 결론과 못 찾았다는 사실은 다른데 이 로그는 그 둘을 구분하지 않고 적었다.
- 이 건은 게이트가 잡을 수 없다. 자료를 찾지 못했다는 진술은 형식상 어떤 규칙도 위반하지 않으며, 오히려 근거 없이 쓰지 않았다는 점에서 이 로그의 원칙을 지킨 모범처럼 읽힌다. 잡은 것은 같은 사건을 다시 조사해 보라는 사람의 지시였다. 검증 등급 체계는 부착한 자료가 얼마나 확인되었는지를 다루지만 부착하지 않은 자료가 정말 없는지는 다루지 않는다. 결정 1 의 네 등급 어디에도 '찾지 못함'은 없고, 없는 것과 못 찾은 것을 구분하는 장치는 지금 이 로그에 없다.
warning이 결정이 만드는 한계
- 오류 목록을 공개하면 이 기록 전체의 신뢰가 떨어져 보일 수 있다. 그러나 감춘 목록이 있는 기록과 공개된 목록이 있는 기록 중 후자가 더 믿을 만하다는 것이 이 결정의 전제다.
- 검증 등급 표기는 완전하지 않다. 등급은 작성자가 스스로 매긴 것이고 외부에서 검증되지 않았다. 서지사항만 확인한 문헌을 결론까지 인용하지 않았다는 보장도 결국 자기 진술이다.
- 이 기록은 앞선 열다섯 건이 옳다고 말하지 않는다. 어떻게 만들어졌는지만 말한다. 절차를 지켰다는 것과 결론이 맞다는 것은 다르며, 실제로 다섯째 오류는 절차를 지키면서도 발생했다.
- 상호참조 밀도 문제는 이 기록으로 해소되지 않는다. 뒤의 결정이 앞의 결정에 기대는 구조는 그대로이며, 외부 검증이 늘어야 완화된다. 국내 실무 규범을 뒤늦게 확보한 것이 그 방향의 첫 조치였다.
- 상태 어휘는 4종을 두었으나 실제로 쓰인 것은 1종이고 41건이 모두 설계중이다. 예고한 폐기 조건은 152개이며 그중 실제로 평가해 결과를 남긴 것은 1개다. 어느 것도 착수되지 않았으므로 설계중이라는 표기 자체는 정확하고 이 편중이 곧 오류는 아니다. 다만 폐기 조건이 작동한다는 것은 이 로그 안에서 아직 거의 증명되지 않았고, 밖에서 보면 조건을 적어 두기만 하고 검토하지 않는 상태와 구분되지 않는다.
event_repeat폐기 조건
- 새로운 오류가 발견될 때 — 이 기록에 추가한다. 목록이 늘어나는 것은 이 결정이 작동한다는 뜻이다.
- 검증 등급을 외부에서 점검할 방법이 생길 때 — 자기 진술에 의존하는 현재 방식을 개정한다.
- 구현이 시작되어 결정이 실제로 검증되기 시작할 때 — 절차 기록과 검증 결과를 분리해 다시 정리한다.
balance근거자료
인용 법령
인용한 법령이 없습니다.
참고자료
- 설계로그 공개 기록 (ADR-0001 ~ ADR-0041)자체자료법마디 OS · 2026-07 — 이 기록이 서술하는 대상 그 자체. 본문의 수치(결정 건수·근거 건수·검증 등급 분포·개정 이력)는 이 기록 모음의 원본 데이터에서 렌더 시점에 직접 집계한다. 외부 문헌이 아니라 이 프로젝트 자신의 산출물이 근거이며, 따라서 자기 진술이라는 한계를 함께 적었다.
history개정 이력
- 2026-07-25산출물 구현 단계에서 발견된 오류 2건(형법 누락, 법령명 절단·자산 오염)을 목록에 추가.결정 3 이 오류를 삭제하지 않고 남기도록 정했으므로 그대로 적는다. 두 건 모두 게이트가 아니라 산출물을 눈으로 확인하다가 잡혔다는 점도 함께 남긴다.
- 2026-07-26결정 1 의 검증 등급을 verification 필드로 구조화하고(네 단계) 결정 5(자기집계 수치의 렌더 시점 계산)를 신설. 자기집계 문단을 토큰으로 교체하고, 오류 목록에 아홉째·열째를 추가.2026-07-26 검토에서 이 기록의 자기집계가 전부 낡아 있고 검증 등급 분포가 재현되지 않는다는 점이 드러났다. 수치를 고치는 것만으로는 다음 엔트리에서 같은 일이 반복되므로 구조를 바꾼다. 결정 3 이 오류를 남기도록 정했으므로 두 건을 목록에 그대로 적는다.
- 2026-07-26오류 목록에 열한째(충실성 검증이 구조상 참)·열두째(절차 조문 분리가 논거와 어긋남)를 추가.결정 3 이 오류를 삭제하지 않고 남기도록 정했다. 두 건 모두 게이트가 아니라 산출물을 만들려고 코드를 읽다가 잡혔다는 점도 함께 남긴다.
- 2026-07-26오류 목록에 열셋째(일반화 검증의 판정불가 구간을 분리하지 않음)를 추가.결정 3 이 오류를 남기도록 정했다. 같은 날 고친 검증에서 곧바로 다음 결함이 나왔다는 사실 자체가 이 목록의 용도다.
- 2026-07-26오류 목록에 열넷째(국내 규칙 조문 미확인으로 인한 잘못된 서술)를 추가.결정 3 이 오류를 남기도록 정했다. 이번 건은 '확인하지 않았다'를 '없다'로 적은 유형이라 같은 실수가 다른 기록에도 있을 수 있다는 신호이기도 하다.
- 2026-07-26결정 6(참고문헌 식별자도 실제 해석 확인)을 신설하고, 사례 조사에서 결정에 이르는 경로와 오류 목록의 열다섯째(DOI 추정)·열여섯째(상호참조 누락, 게이트가 차단)·열일곱째(DRF 반환본이 현행이라고 가정)를 추가했다. 등급 상향 시도가 실패한 기록과 검증 등급 비율을 조정하지 않은 이유도 함께 적었다. 이 개정 작업 중 상호참조 게이트가 같은 오류를 한 번 더 차단했고, 그 사실도 목록 뒤에 적었다.결정 2 는 법령·판례만 실증 대상으로 두어 참고문헌 식별자가 규칙 밖에 있었다. 그 틈에서 실제로 추정 DOI 가 만들어졌으므로 규칙을 넓힌다. 또 이 로그가 결론만 게시하고 그 결론에 이른 과정과 실패를 게시하지 않으면, 독자는 이 기록들을 얼마나 믿어야 할지 판단할 근거를 갖지 못한다.
- 2026-07-26결정 7(새 사례 조사의 착수 조건과, 기존 결정의 내용을 채우는 조사는 개정으로 처리)을 신설했다.조사가 늘수록 기록도 늘어야 한다는 압력이 실제로 생겼다. 그 압력을 규칙으로 눌러 두지 않으면 사례가 설계를 끌고 간다. 규칙을 만든 그날의 조사부터 적용해 새 기록 대신 개정으로 처리했다.
- 2026-07-26모발 현미경 비교의 등급 검토를 시도했으나 근거 본문을 확보하지 못해 ADR-0013 등급표를 수정하지 않은 경위를 기록하고, 같은 조사에서 나온 새 기록 ADR-0032 를 related 에 연결했다.시도하고 안 되었다는 사실을 적지 않으면 뒤에 같은 확인을 반복하거나, 그 분야가 등급표에 없는 것이 검토되지 않았기 때문인지 검토했으나 근거가 없어서인지 구분되지 않는다.
- 2026-07-26열일곱째 오류의 원인과 해소 경위를 덧붙이고, 그 오류가 로그 전체에서 스무 건 이상의 기록에 걸쳐 있다는 사실과 이번에 대조한 범위(여섯 개 조문)를 함께 적었다. 재발 방지 도구 scripts/verify_design_log_statutes.py 를 만들었다.원인이 호출 방식이 아니라 DRF 의 반환 규칙이어서, 앞으로도 조문을 인용할 때마다 같은 일이 생긴다. 도구 없이는 매번 사람이 두 경로를 대조해야 하고 그러면 지켜지지 않는다. 다만 도구를 만든 것과 전수 대조를 마친 것은 다르므로 그 구분도 함께 남긴다.
- 2026-07-26시행일자 대조 도구를 만드는 과정에서 나온 오류 세 건(열여덟째 편장절 제목을 조문으로 오인, 열아홉째 망 지연에 중단, 스무째 중단이 조용함)을 목록에 추가하고, 고친 뒤 완주한 전수 대조 결과를 적었다. 행정규칙 검색 폴백을 붙여 두 건의 미확인을 해소하고, 인용 조문 열한 개의 실재를 확인한 결과도 함께 적었다.결정 3 은 작성 중 발견된 오류를 남기도록 한다. 기록을 쓰다 틀린 것뿐 아니라 그 기록을 검증하려고 만든 도구에서 틀린 것도 같은 대상이다. 특히 스무째는 이 로그가 다른 데서 계속 경계해 온 '조용한 실패'를 도구 안에서 우리가 다시 만든 것이라 남길 값이 크다.
- 2026-07-26오류 목록에 스물한째(게시된 G1 산출물에 실명이 실려 있었음)를 추가하고, 그것을 찾는 과정에서 검사가 거짓양성을 낸 경위도 함께 적었다. 산출물은 마스킹 후 재생성해 교체했다.새 결정을 만든 것만으로는 이미 나간 산출물이 바뀌지 않는다. 이 건은 결정을 기존 산출물에 적용해 본 첫 사례이고, 적용하지 않았으면 계속 게시되어 있었을 것이므로 그 사실을 남긴다.
- 2026-07-29결과 항목에 상태 어휘와 폐기 조건의 사용 편중을 자기관찰로 추가하고, 그 수치를 렌더 시점 계산 토큰으로 넣었다(결정 5). 폐기 조건을 실제로 평가한 개정을 표시하는 sunset_eval 필드를 신설해 ADR-0002 의 해당 개정에 달았다. 결정 1~7 은 바뀌지 않는다.외부 검토에서 '폐기 조건이 작동한다는 증거가 문서 안에 없다'는 지적을 받았다. 확인해 보니 증거는 ADR-0002 의 개정 이력에 있었으므로 지적의 절반은 사실과 달랐다. 그러나 그 증거가 개정 이력 본문 안에만 있어 목록에서 보이지 않는다는 부분은 맞았다. 결정을 바꾸지 않고 관측 가능한 형태로 드러낸다. 처음에는 개정 이력의 문구를 세려 했으나 조건을 추가한 개정과 평가한 개정이 같은 낱말을 써서 거짓양성이 났고, 세는 대상을 문구가 아니라 명시 필드로 바꿨다. 이 항목의 초안도 LLM 이 작성하고 운영자가 승인했다. 작성 주체를 적는 칸은 ADR-0035 와 함께 신설했으며, 그 기록에 형식이 있다.
- 2026-07-29오류 목록에 스물두째(1차 자료 부존재로 단정했으나 검색 방법의 문제였음)를 추가하고, 그 유형을 게이트가 잡지 못한다는 점을 함께 적었다. 결정 1~7 은 바뀌지 않는다.결정 3 이 발견된 오류를 삭제하지 않고 이 기록에 남기도록 정했으므로 그대로 적는다. 이 건은 지금까지의 오류와 성격이 다르다. 앞의 것들은 틀린 값을 적은 것이고 이것은 없다고 적은 것인데, 뒤의 형태는 게이트에도 검증 등급에도 걸리지 않으면서 뒤에 읽는 쪽이 다시 찾아보지 않게 만든다. 오류가 조용히 번지는 구조를 이 기록의 맥락이 경계했으므로 그 사례로 남긴다.
hub담당 리더
마디L60
시스템 총괄 · Master API Gateway
사람의 자격이나 직위에 대응하지 않는 시스템 역할 표기다. 이 로그의 설계 결정은 사람이 작성하고 사람이 책임진다(ADR-0004·ADR-0016).
설계로그는 특정 법률 분야가 아니라 시스템 전체의 설계 결정을 다룬다. 개별 도메인 리더가 아니라 60명 리더 시스템의 운영·품질을 총괄하는 리더가 담당한다.
리더 프로필 보기 arrow_forward