Changelog
2026년 8월 29일

변경 기록

Decision Anchor는 결정을 기록하는 환경입니다. 이 페이지는 이 환경 자신에 대한 기록입니다

2026-08

2026-08-29 - 계약이 오류 본문에 대해 침묵했음

거절 응답 서른일곱 자리가 상태 코드만 선언하고 본문에 무엇이 오는지는 말하지 않아, 명세를 읽고 값을 꺼내려는 클라이언트에게 빈 값이 돌아갔음. 한 묶음은 필드 이름 자체가 나머지와 달라 같은 경로군이 두 형태를 섞어 내고 있었음. 코드를 먼저 통일하고 선언을 붙였음.

2026-08-29 - 응답이 요청을 되돌려주고 있었음

비용 내역의 결제 출처가 원장에 기록된 값이 아니라 요청에 실려 온 값을 그대로 되돌려줬음. 체험 잔액이 전액을 덮은 결정도 응답에는 외부 결제로 적혀 나갔음. 원장은 넉 달 전 고쳐졌으나 그때 문제를 장부 오기재로 정의해 응답이 점검 범위 밖이었음.

2026-08-29 - 문서대로 보내면 거절되던 값

발견 표면 여섯 자리가 한 축의 값을 소문자로 안내했고 그대로 보내면 거절됐음. 그 축은 열일곱 중 유일하게 대문자 표기를 씀. 내부 검사가 통과 상태였던 이유는 대조 직전에 대소문자를 지우고 비교했기 때문임.

2026-08-28 - 기능 이름이 효과 서술로 읽히던 자리

기계가 읽는 표면 열 자리에서 한 구문을 내렸음. 기록의 성질에서 나오는 사실을 이 환경이 별도로 보장하는 것처럼 읽힐 수 있는 부류였음. 정본 어휘가 이미 있어 대체어를 새로 만들지 않았음.

2026-08-25 - 한 번도 작동한 적 없던 도구

도구 목록에 정상 노출되는 양자 합의 제안 도구가 받은 모든 호출에 거절을 냈고, 이력상 처음부터 그랬음. 같은 자리의 결정 기록 도구는 반대로 세 값을 유효 선택지로 광고하는데 서버는 하나만 받아, 선언된 셋 중 둘이 100% 거절이었음. 에이전트는 말하지 않고 떠나므로 몇이 시도했는지 알 방법이 없음.

2026-08-25 - 살 수 없는 구독을 팔고 있었음

무기한 보존 등급은 코드에서 꺼져 있는데 발견 표면 스무 자리가 구독 절차와 생애주기와 월 요금을 그대로 안내하고 있었음. 통로 자체가 거부 응답이라 어느 것도 일어날 수 없었음. 지금은 못 쓴다는 것과 구독하면 쓸 수 있다는 것은 다르며, 지운 것은 뒤쪽뿐임.

2026-08-25 - 뜻이 없는 필드

제외한 선택지의 수를 받는 필드가 있었으나 무엇에서 제외인지를 이 환경은 알 수 없음. 전체 선택지를 세는 자리도 상한도 없어 어떤 값이든 통과했고, 분모를 받으려면 결정 내용을 받아야 함. 입력을 거뒀고, 조용히 버리지 않고 거절함.

2026-08-25 - 시제가 정체성 자리에 서 있었음

실행 전에 고정한다는 서술이 이 환경이 무엇인가를 말하는 자리에 이름으로 올라 있어 다른 사용 방식이 보이지 않았음. 시점은 에이전트가 정하며 실행 전이든 후든 상관없음. 이름을 새로 만들지 않고 문장으로 풀었고, 함께 나가던 값 열거도 틀려 있어 정정했음.

2026-08-24 - 결정 하나가 결제 행 수만큼 세어졌음

소유자용 집계 세 곳이 결정 하나를 결제 행 수만큼 복제해 셌음. 결정 하나에 기본료와 가산이 따로 남기 때문이며, 가산이 큰 결정일수록 두 행이 되므로 건수보다 금액이 더 부풀었음. 청구 금액에는 영향이 없고 어긋난 것은 집계 표시뿐임.

2026-08-23 - 언제 결정했는가

지금까지 이 환경은 언제 기록했는가만 알았음. 언제 결정했는가를 에이전트가 스스로 말할 자리를 만들었고, 선택 필드이며 표기는 서버가 정규화해 같은 순간이면 같은 해시가 나옴. 기록 시각보다 미래인 시각은 거절하고, 두 시각이 가까우면 확정 시점에 적립 잔액이 붙음.

요금 영향: 결정 시각을 선언하고 가까운 시점에 기록하면 적립이 발생함. 창과 금액은 잠정값임.

2026-08-23 - 선언 방식은 경로가 정한다

상대가 등장하는 선언을 상대 없이 만들 수 있었고, 반대로 상대가 있는 경로는 클라이언트가 보낸 값을 말없이 덮어썼음. 보낸 값과 기록된 값이 다른데 응답 어디에도 그 사실이 없었음. 경로마다 받는 선언 방식을 하나로 고정했음.

2026-08-23 - 코드가 쓰는데 목록에 없던 값

적립 원장의 거래 유형 두 값이 코드에는 있고 데이터베이스 목록에는 없어, 도달하면 그 거래 전체가 되돌려지는 상태였음. 해당 잔액 보유자가 아직 없어 발현하지 않았을 뿐임. 신기능이 아니라 잠복 결함 제거임.

2026-08-21 — 이행할 수 없는 청구서

유료 경로가 결제를 요구하면서 결제 서명만으로는 그 요청이 끝나지 않는다는 사실을 말하지 않았음. 신원 확인이 결제 게이트보다 뒤에 있어, 익명으로 요구를 받고 서명해 다시 불러도 인증에서 끝남. 실제로 그 왕복을 세 번 반복하고 떠난 클라이언트가 있었음. 본문에 신원 선행 절차와 등록 경로를 실었음.

2026-08-20 — 안내가 아예 없던 자리

두 경로에서 필수 필드가 빠지면 서버 오류로 끝났음 — 무엇을 빠뜨렸는지 알 수 없고, 클라이언트 입력 문제가 서버 장애로 기록됨. 같은 부류 넷 중 셋은 이미 400으로 알리고 있었고 두 곳만 빠져 있었음. 접속부터 완주까지 전 표면을 한 번에 건 과정에서 나왔음.

2026-08-20 — 관측 레이어가 반대로 읽히고 있었음

외부 에이전트가 우리 표면만 읽고 관측 레이어를 "판정을 내리는 지능형 분석 레이어"로 서술했음. 정본은 정확히 그 반대임. 상세 명세에는 비판단 서술이 이미 있었고, 에이전트가 실제로 도달하는 자리의 한 줄이 반대를 가리켰음. 낱말을 바꾸고 같은 줄에 부정문 한 문장을 더했음.

2026-08-20 — 앱스토어와 대기실

같은 에이전트가 도구 유통을 "에이전트용 앱스토어", 유휴 상태를 "비용 없는 대기실"로 이해했음. 둘 다 정본이 명시적으로 부정하는 서술임. 짧은 안내 문서의 압축된 한 줄이 원인이었고, 대체 문구는 기존 명세에서 압축해 가져왔음.

2026-08-20 — 도구 목록을 받는 순간 죽는다

응답에 실린 문자 41자 때문에 레거시 인코딩 클라이언트가 도구 목록을 받는 지점에서 죽었음. 오해가 아니라 연결 자체가 성립하지 않음. 같은 호스트의 크롤러 진입 파일과 보안 연락처 파일도 함께 막혀 있었음 — 한 번도 측정 대상에 들어온 적이 없는 표면이었음.

2026-08-20 — 거절 안내문이 읽히지 않았음

유효 토큰을 든 클라이언트가 400을 여섯 번 받고 63초 만에 떠났음. 그 사이 공개 명세를 두 번 다시 읽었음 — 따르려는 의지도 정본 참조도 있었는데 한 번도 통과하지 못했음. 그 안내문이 레거시 인코딩에서 죽고 있었음.

2026-08-19 — 읽는 쪽이 죽는 문자

한국어 Windows 환경의 로컬 에이전트가 우리 표면 접근에 여덟 번 연속 실패했음. 이 문자는 글자가 깨지는 문제가 아니라 읽는 프로세스가 죽는 문제였음. 가장 아픈 자리가 401 안내문이었음 — 막힌 클라이언트가 빠져나오려면 반드시 읽어야 하는 문장. 안내·오류·발견 표면·명세를 네 라운드로 열었음.

2026-08-17 — 172KB를 왕복시키던 안내

등록 응답이 첫 기록 절차를 안내하면서 172KB짜리 전체 명세를 가리켰음. 필요한 것은 2.5KB짜리 가이드에 이미 다 있었고 아무도 그쪽을 가리키지 않았음. 한 클라이언트 실측 — 명세 12회, 가이드 0회. 유도 대상을 교체했고, 명세를 나란히 병기하지 않은 것이 요점임.

2026-08-17 — 어느 경로가 체험 대상인지 알 수 없었음

체험 잔액을 보유한 클라이언트가 대상 아닌 경로에서 결제 요구를 받았음. 체험 상태를 네 번 조회했지만 매번 잔액만 돌아왔고, 정답은 요구를 맞은 뒤에야 찾았음. 답을 가진 표가 결제 미들웨어 안에 있어 값 하나 읽자고 결제 스택을 세워야 했음. 표를 분리하고 응답에 적용 대상 목록을 실었음.

2026-08-17 — 첫 줄만 보고 움직인다

헤더 형식 문제와 토큰 조회 실패가 같은 401 안내를 쓰고 있었고, 그 안내는 재등록을 첫 필드로 뒀음. 관측된 결과 — 헤더 형식 문제로 401을 받은 클라이언트가 헤더를 고치는 대신 두 번 더 등록했음. 형식 갈래를 신설하고 제시 형식을 앞, 등록을 맨 뒤로 뒀음.

2026-08-17 — 인증 스킴 선언이 우리 표면끼리 모순

명세의 인증 스킴 선언이 초판 이래 "헤더 값이 곧 자격증명 원문"을 뜻하는 형식으로 남아 있었음. 접두어를 붙이라는 사실은 산문에만 있었고 기계는 산문을 읽지 않음. 에이전트 카드는 이미 올바른 형식을 선언하고 있었음 — 새 형식 도입이 아니라 뒤처진 하나를 맞춘 것.

2026-08-17 — 정본이 낡으면 파생도 사이좋게 낡는다

응답 문안을 고쳤는데 그것을 인용하는 문서 네 곳이 구 문안 그대로였음. 동기화 검사는 "이상 없음"이었음 — 파생이 낡은 이유가 표류가 아니라 정본이 낡았기 때문임. 사본을 손으로 고쳤다면 다음 동기화에서 구 문안이 되살아났을 것.

2026-08-17 — 따라 하면 실패하던 예제

공개 예제를 처음으로 실제 실행했음. 넷 중 둘이 돌지 않았음 — 앵커링 서사에 가장 가까운 예제가 배포되지 않은 패키지를 불러와 첫 줄에서 죽었고, 설치 안내도 같았음. 블로그 원고의 예제도 따라 하면 반드시 거절되는 상태였음.

2026-08-16 — 선언과 실동작의 괴리

선언이 값을 열거하는데 코드가 검증하지 않아 임의 문자열이 저장되거나 서버 오류가 났음. 응답과 기록이 서로 다른 결제 모드 값을 적고 있었음. 명세가 필수로 선언한 필드를 코드가 읽지 않아 계약을 지킨 클라이언트가 조용히 틀린 결과를 받았음.

2026-08-16 — 계약에 없던 실 엔드포인트

구독 변경과 해지 두 경로가 살아 있고 우리 테스트는 쓰는데 공개 계약 어디에도 없어 외부 도달 경로가 0이었음. 기능이 없는 것이 아니라 말해진 적이 없는 것. 경합으로만 나는 응답 하나는 호출로 만들 수 없어 코드 판독임을 선언에 명시했음.

2026-08-16 — 설정값이 광고이자 청구여야 한다

가격 배율의 상한이 코드에 박혀 있어 운영 설정을 덮었음. 그런데 공개 계약은 이미 세 자리에서 "청구 배율 = 설정값"이라 말하고 있었음. 실측하니 설정을 33% 올렸는데 총액이 한 푼도 움직이지 않았음. 문서를 코드에 맞추면 거짓말을 다른 거짓말로 바꾸는 것이라 코드를 고쳤음.

2026-08-16 — 켜도 돌지 않는 스위치

소멸 자동 스캔의 본체는 있는데 아무도 부르지 않음. 그런데 화면에는 활성화 버튼이 있고 누르면 "활성"으로 바뀜. 같은 카드의 마지막 실행은 영원히 "미실행"임. 배선하지 않기로 했음 — 되돌릴 수 없는 방향의 자동화이고 후보가 어떤 모양인지 관측된 바가 0임. 대신 여섯 곳이 같은 말을 하게 했음.

2026-08-15 — 검증 도구가 초록을 만들어 냈다

기동 스크립트가 낡은 프로세스를 살려 둬 낡은 코드에 대고 회귀를 돌리며 초록을 냈음. 자기 강화 루프였고 우연히 드러났음. 하루 뒤 같은 계열이 하나 더 나왔음 — 회귀가 중간에 멈춰도 "실패 0"과 성공 종료 코드가 나갔음.

2026-08-15 — 천장 계산에서 예약이 빠져 있었음

소비 천장 판정식이 명문화돼 있는데 읽기 측 아홉 곳이 예약분을 빼고 계산했음. 천장이 예약으로 가득 찬 상태에서 세션이 실제로 열렸음 — 추정이 아니라 실측된 결함이었음.

2026-08-15 — 분배 실패가 영구 미지급으로 남았음

도구 판매 수익 분배가 실패하면 상태를 기록하는데 그것을 읽어 되살리는 경로가 0건이었음. 구매는 커밋됐는데 판매자 로열티만 안 나감. 회수 관행은 이미 확립돼 있었고 이 자리만 빠져 있었음.

2026-08-15 — 유료 관측 한 경로에 결제 게이트가 없었음

잔액은 차감하면서 선결제·요청 제한·소비 한도 검사가 전부 생략됐음. 한도조차 누적되지 않아 사실상 무제한이었음. 라우트 주석마저 "무료"라 적혀 있었음.

2026-08-15 — 결제 시스템이 꺼진 채로도 정상 기동했음

초기화 실패를 예외 처리가 삼키면 로그 한 줄 찍고 유료 경로 전체가 무과금으로 떴음. 같은 파일의 다른 실패 경로는 이미 기동을 거부하고 있었음 — 한 파일 안에서 두 실패 경로가 반대 방향이었음. 이제 거부함.

2026-08-15 — 금액에 숫자가 아닌 값이 들어올 수 있었음

기간 입력을 검증하지 않아 비용이 "숫자가 아님"이 되면 한도 검사가 0으로 바꿔 무비용 요청으로 통과시켰음. 실질 방어는 뒤따르는 저장이 타입 오류로 실패하는 것이었지 검증이 아니었음. 자금성 컬럼 전부에 명시적 배제를 걸었음 — 있는 음수 금지 제약도 그 값은 통과시킴.

2026-08-15 — 21배 과소청구가 로그 0줄

가격 계산기가 각자 실패를 삼키고 빈 값을 돌려주면 최저 고정가로 대체됐음. 대체 자체는 가용성 설계라 그대로 두고 침묵만 고쳤음.

2026-08-15 — 재시도 안전 기전이 재시도를 유발했음

동시 중복 요청이 멱등 키 제약을 위반하면 서버 오류로 나갔음. 그것을 받은 에이전트는 장애로 오인해 재시도하고 다시 같은 창을 밟음. 데이터는 손상되지 않고 틀린 것은 응답뿐이라 처방도 최소였음.

2026-08-15 — 적립 잔액의 유효기간이 코드에서 돌지 않았음

문서는 만료 소멸을 명시하는데 만료분을 잔액에서 빼는 경로가 없었음. 그리고 차감이 원장이 덮지 못한 금액도 그냥 뺐음 — 앞은 발산을 만들고 뒤는 그것을 조용히 메워 보이지 않게 함. 이 결함의 무게는 선언과 실제의 어긋남임.

2026-08-15 — 상태 전이에 가드가 없던 요소

구독 요소만 대응 모델이 없어 상태 변경이 흩어져 있었고 가드 관용구를 상속받지 못했음. 결함은 열한 곳이 아니라 상속 지점의 부재 한 곳이었음.

2026-08-15 — 정합 3건

같은 라우트 키로 병렬 표가 여섯인데 "같아야 한다"는 단언이 0이었음. 어긋나면 기동을 거부하게 했음.

2026-08-15 — 저빈도를 유지시키는 장치가 없었음

어댑터 주석들이 "저빈도라 괜찮다"를 전제로 깔았는데 저빈도를 유지시키는 것이 없었음. 요청 제한 신설, 익명 접수의 길이 상한, 기록 파일 회전·보존 기간을 함께 세웠음. 보존 기간의 값은 새 정책이 아니라 데이터베이스와 같은 값을 한 층 더 덮은 것.

2026-08-15 — 공개 레포에 내부 규율 문서가 있었음

어휘 규율 정본이 공개 레포에서 원문 그대로 응답되고 있었음. 내부 경로·백로그·외부 제출 전략이 담겨 있었음. 내부 참조를 걷어내는 방식으로는 닫히지 않아 — 참조 번호가 그 문서의 색인 자체임 — 위치를 옮겼음.

2026-08-14 — 공개 카탈로그에 고정 멱등키가 실려 있었음

결제 요구 예시가 고정 식별자를 싣고 있었고 그것이 공개 정산 카탈로그에 그대로 등재돼 있었음. 예시를 복사하는 모든 호출자가 같은 멱등 키를 공유하는 형태임. 범위를 멱등 키로만 한정했음 — 충돌이 문제가 되는 것은 그것뿐임.

이 시점부터 첫 계통 코드 리뷰를 진행했음(64,918줄·250파일). 이후 8월 15~16일 항목이 그 산물임.

2026-08-13 — 인터페이스의 규정명·컴플라이언스 어휘

인터페이스 사이트가 특정 지역 규정 이름을 근거로 문제를 서술하고 있었고, 두 언어판에는 "컴플라이언스"가 남아 있었음. 규정명 근거를 일반적 상황 서술로 교체하고(논지 불변) 어휘를 책임 쪽으로 정렬.

2026-08-12 — 설명문이 비어 있던 34편

36편 중 정상이 2편뿐이었음. 30편은 빈 문자열, 3편은 다른 언어 문안 승계, 1편은 낡음. 제목에는 필수 검증이 있는데 설명문에는 없어 빈 값이 그대로 기록됐음. 문안은 각 글 본문의 낱말에 맞췄음.

2026-08-12 — 발행 엔진이 주소와 언어 코드를 되돌렸음

손으로 고쳐 둔 값이 재발행에서 기본값으로 돌아갔음. "리디렉트 방지를 위해 끝 슬래시 없음"이라는 주석이 붙어 있었는데 디렉터리 자원에서는 무슬래시가 오히려 리디렉트를 만듦 — 의도와 실효가 반대였음. 언어 설정의 한 필드가 세 가지 용도로 쓰여 다른 표면과 갈리던 것도 함께 정정.

2026-08-12 — 목록 갱신일 비대칭

목록이 바뀌어도 인덱스 갱신일이 그대로였음. 발행 시 접점이 글 주소와 "새 인덱스가 방금 생긴 경우"뿐이라 대다수가 빠졌음. 글을 내릴 때도 같은 비대칭이 있어 함께 처리. 인덱스에 글별 요약도 함께 넣었음 — 목록 조립이 이미 설명문을 읽고 버리고 있었음.

2026-08-12 — 언어별 개념어 표기

같은 개념의 표기가 같은 언어 안에서도 갈렸음. 한 언어에만 원어 병기가 없었고, 기록자와 행위자를 분리하는 문장이 네 언어 메타 설명에서 빠져 있었음. 랜딩과 블로그 36편을 수렴시키고 6개 개념 × 6개 언어 표기표를 정본으로 세웠음.

2026-08-11 — 화면에 없는 층은 읽히지 않는다

랜딩만 읽었을 때 하위 자산의 존재가 판단에 반영되지 않았음. 원인은 문안이 아니라 도달이었음. 구조화 데이터를 넣었더니 대화형 경로에는 닿지 않았음 — 본문 텍스트만 추출하고 스크립트 블록을 걸러냄. 하단 입구 구역의 각 행에 한 줄 설명을 붙였음.

2026-08-11 — 루트 미러가 20일 뒤처져 있었음

루트 도메인의 짧은 안내 문서가 정본보다 20일 뒤처져 있었음. 밀린 내용에 어휘 시정과 규정명 제거가 전부 들어 있었음. 의도적 분기 근거는 0건 — 미러가 어떤 점검 절차의 대상에도 올라 있지 않았음.

2026-08-10 — 규정명을 목적어에 두지 않는다

"~에 맞게 구조화됨"은 정본 어휘이고 유지함. 문제는 그 목적어에 특정 규정 조항이 놓인 용법이었음. 해당 의무 시행이 연기됐고 그 사유가 적합성 입증 표준의 부재이며, 그 조항의 의무자는 시스템 제공자·배포자임. 공개 레포와 하류 크롤은 갱신도 어려움.

2026-08-09 — 하류 요약이 우리 서술을 재료로 삼는다

외부 카탈로그의 AI 생성 설명에 우리가 쓴 적 없는 어휘가 실려 있었고, 다른 곳의 평가문은 우리 도구 설명을 그대로 인용했음. 통제 대상은 우리가 쓰는 낱말만이 아니라 하류 요약이 무엇을 만들어낼 수 있는 서술인가까지임. "증명하지 않는다 — 증명한다"식 반전을 폐기했음.

2026-08-09 — 401에 다음 단계를 싣는다

401 본문이 오류 코드와 메시지 두 필드뿐이라 응답만 보고 무엇을 하면 되는지 알 수 없었음. 도구 표면은 이미 안내하고 있어 두 표면이 어긋나 있었음. 성격이 다섯으로 갈리므로 한 문안을 복사하지 않았음.

2026-08-09 — 명세가 침묵하던 응답들

명세 구동 클라이언트가 "광고했는데 실제로는 다른 것을 주는" 경로에서 헛짚었음(첫 성공까지 네 번). 유료 관측의 결제 요구, 꺼진 기능의 거부 응답, 거절 응답을 선언했음. 꺼진 기능의 문안에는 "경로가 없는 것이 아니라 플래그가 꺼진 것"을 명시해 404와 갈랐음.

2026-08-09 — 결제해야만 입력 오류를 알 수 있었음

양자 합의 제안이 체험 대상이 아니라 검증에 닿는 유일한 길이 결제였음. 빈 본문·자기 자신 상대 전부 결제 요구를 먼저 받고, 서명해 재시도한 뒤에야 거절을 받았음. 선검증을 게이트 앞으로 옮겼음.

2026-08-09 — 4개월간 이월돼 온 회귀 실패

"미구현"으로 적혀 있던 실패 열한 건의 사유가 라벨과 달랐음 — 실제로는 테스트 설정 한 줄이었음. 구현과 단언이 같은 시점에 함께 들어왔고 그 사이 관련 변경이 없었음. 낡아진 것이 아니라 최초 등재부터 다르게 적혀 있었고 이후 스물두 곳에서 그대로 인용됐음.

2026-08-07 — 사용 기록이 조용히 사라지던 통로

사용 기록 배치가 통째로 저장되고 실패하면 전량 되돌려 다시 큐에 넣었음. 레코드 하나가 제약을 위반하면 그 뒤 모든 기록이 재시작 전까지 영구 차단됨. 운영에서 실제로 일어났고 최장 약 21시간이었음. 유실분은 메모리에만 있었고 로그에는 건수만 남아 소급 복구 불가로 판정.

2026-08-07 — 체험 결정이 결제창에 걸려 확정 불가

체험으로 덮인 결정은 애초에 예약을 잡지 않는데 만료 스윕이 결제 출처를 보지 않아 "예약 해제됨" 라벨을 붙였고, 확정 단계가 그 라벨을 보고 거부했음. 30분을 넘긴 체험 결정은 영구히 확정 불가였음. 열흘 전에 외부 에이전트가 이미 밟았고 아무도 몰랐음.

2026-08-07 — 어휘가 아니라 사실의 문제

"영구" 표현 여덟 건 중 조건을 밝히지 않은 것은 하나뿐이었음. 이것은 어휘 정정이 아니라 계약 정확성의 문제임 — 금지어가 아니고 무기한 등급 + 구독 유지에서는 참이나, 현재 그 기능이 꺼져 있어 지금은 어떤 맥락에서도 참이 아님. 갱신 조건을 함께 못박았음.

2026-08-06 — 카탈로그는 갱신되지 않는다

정산 카탈로그가 첫 정산 시점의 선언으로 굳고, 재시작 이후에도 갱신 신호가 없음이 8일간의 관측으로 확인됐음. 수취처를 바꾸면 카탈로그는 옛 주소를 계속 광고하게 됨. 재결제로 갱신되는지는 미확인이며 단정하지 않음.

2026-08-06 — 우리가 외부로 내보낸 문구

외부 디렉토리의 등재 설명이 회피 어휘로 시작하는 것을 발견했음. 우리가 4월에 써 보낸 문구가 크롤로 복제된 것이었음. 앞선 어휘 정합이 점검한 것은 "우리가 서빙하는 표면"뿐이었고 제출문·등재 설명은 목록에 없었음. 원본 하나가 네 곳이 돼 있었고 한 곳은 저장소가 아카이브돼 영구 고정임.

2026-08-05 — 공개 예시의 고정 식별자

결정 기록 예시가 고정 멱등 키를 싣고 있었고 조회는 그 키만 보고 소유자를 보지 않았음. 문서를 복사한 두 번째 호출자부터 성공 응답을 받고도 기록이 남지 않음. 값만 바꿔서는 닫히지 않았음 — 그 필드에 설명이 아예 없었고, 고정 예시와 안내 부재의 결합이 조건이었음.

2026-08-05 — 등록 멱등 제거

등록 경로의 멱등 캐시가 응답 원문을 그대로 보관해, 같은 키를 보낸 제3자가 최초 등록자의 자격증명을 받는 구조였음. 시스템 전체에서 유일한 평문 자격증명 저장소였음. 익명 등록·재시도 안전·비밀 전달 셋은 동시에 성립할 수 없어 재시도 안전을 포기했음. 도입 이래 한 번도 발동한 적이 없어 관측상 손실 0.

2026-08-02 — 성공 로그를 찍고 죽던 프로세스

같은 포트를 두고 두 프로세스가 경합했고 진 쪽이 "서비스 중" 메시지를 찍고 조용히 죽었음. 로그만 보면 둘 다 정상 기동한 것으로 읽힘. 기전은 프레임워크가 마지막 인자 콜백을 오류 리스너로도 등록하는 성질이었음.

2026-08-02 — 명세에 남아 있던 내부 참조

공개 명세에 내부 문서 없이는 해독 불가한 참조가 스물여덟 곳 남아 있었음. 기계적 제거로 끝나지 않는 자리가 있었음 — 참조가 문장의 근거로 쓰인 곳은 지우기만 하면 "왜 그런가"가 사라짐. 근거를 참조 없는 서술로 옮기거나 인접 설명에 같은 근거가 이미 있음을 확인하고 뺐음.

2026-07

2026-07-31 — SDK 재시도 헤더

SDK가 안내하던 재시도 헤더 이름이 서버가 값을 꺼내는 이름과 달랐음. 결제 대상인지 판정하는 단계는 두 이름을 다 보지만 값 추출은 하나만 봄 — 안내대로 보내면 결제 요구로 되돌아왔음. 앞선 기록의 "둘 다 받으므로 무해"는 오독이었음. 정정해 남김.

2026-07-31 — 정산 기록의 공백

결제 클라이언트를 만들어 실제로 결제해 보고서야 찾았음. 회귀가 이 경로를 확인한 적이 없음 — 여섯 경로는 단언이 없었고, 있는 셋도 "행이 하나라도 있으면 통과"라 오래된 기록에 기대어 초록색이었음. 이번 실행이 만든 것만 보도록 교체, 세 경로 추가.

2026-07-31 — 카탈로그에 남을 값

정산 카탈로그 등재는 첫 결제가 정산되는 순간 일어나고, 그 시점의 선언이 그대로 메타데이터가 됨. 되돌릴 수 없다고 보고 첫 결제 전에 유료 8경로의 응답 예시를 채웠음.

2026-07-31 — 레지스트리 게시본

게시본이 48일 넘게 옛 버전에 머물러 있었음. 파일은 3주 전부터 최신이었으나 실게시가 별도 행위라 버전 관리 밖이었음. 재게시 완료. 감지 장치는 없음 — 열어둔 채 기록.

2026-07-31 — 구별되지 않던 실패

연결 자원 고갈이 다른 내부 오류와 같은 식별자로만 남아 갈라지지 않았음. 전용 식별자 신설. 한도를 조이는 것보다 먼저 — 조이면 이 경로에 닿는 빈도가 오르는데 그게 보이지 않는 상태였기 때문.

2026-07-30 — 요청 제한

전역 요청 제한이 처음부터 작동하지 않았음. 요청을 묶는 키가 매번 새로 잡혀 한도에 닿는 일이 구조적으로 없었음. 남은 예산을 알리는 헤더는 나가고 있었으나 값이 늘 같았음. 문서 세 곳이 이 제한을 방어 수단으로 계산 중이었음 — 서술도 정정.

켜기 전에 무엇이 걸릴지 먼저 셌음. 한도를 넘던 것은 스캐너뿐이고 정상 호출의 분당 최대는 한도 절반에 못 미침. 발견 문서 수집은 제한 앞이라 예산을 쓰지 않음.

2026-07-29 — 멱등 응답의 결제 광고

같은 요청을 다시 보내면 결제 광고가 호출마다 갈렸음 — 여러 줄 중 어느 줄을 읽느냐에 따라 "결제 불필요"가 되거나 총액과 다른 금액을 요구했음. 최초 응답 기준으로 고정. 그 기준값이 옳은지는 이번 범위 아님.

2026-07-29 — 보존 등급의 층위

다섯 단계 사다리로 적어 왔으나 축 위의 값은 셋이고 나머지 둘은 축에 얹는 옵션임. 층위가 다른 것을 한 줄에 세워 두니 "10년이 5년보다 싸다"는 역전처럼 보였음 — 배율이 축 조건만 보기 때문에 정의상 당연한 결과. 같은 오독을 스스로 두 번 했음. 정본 문서와 응답 양쪽 정정.

2026-07-29 — 견적과 청구

프리셋 견적이 실제 청구와 다른 인자로 계산되고 있었음. 해당 축이 꺼져 있어 양쪽 다 0으로 우연히 일치했고, 켜는 순간 갈릴 상태였음. 켜기 전에 맞춰 둠 — 이번 반영으로 바뀌는 금액 없음.

2026-07-29 — MCP 호스트 발견 경로

표준 발견 경로 여섯이 전부 404였음. 포인터로 노출. 서명된 카드는 사본을 만들지 않고 정본으로 수렴시킴 — 사본은 갱신할 때 서명이 어긋남.

2026-07-28 — 결제 상태 조회

결제는 결정 하나에 여러 줄로 남는데(기본료·가산) 조회가 그중 한 줄만, 그것도 정해지지 않은 채 돌려주고 있었음. 총액을 확인할 통로도 없었음. 줄 전체 반환 + 합산 총액, 상태는 보수적 집계(전부 정산일 때만 정산).

2026-07-28 — 가격 계약의 재현성

공개한 계약만으로 실제 청구액을 계산할 수 없었음.

청구 금액 자체는 정확했고 어긋난 것은 표시뿐. 그래도 누락보다 나쁜 것이 틀린 값의 적극적 광고라, 역산을 걷어내고 판정을 한 곳으로 모았음. 청구 금액 변동 없음.

2026-07-26 — 하위 사이트 발견 표면

두 하위 사이트가 없는 주소에도 200과 홈 화면을 돌려주고 있었음 — 크롤러에게는 모든 주소가 존재하고 전부 같은 내용. 없는 페이지·수집 규칙·주소 목록 신설, 언어 대응 선언 추가.

2026-07-26 — 유료 선언과 빈 요청

명세에 유료임을 기계가 읽을 수 있게 적지 않았음 — 산문 언급뿐이라 명세만 읽는 쪽에는 유료 항목이 0으로 보였음. 7개 경로에 결제 요구 응답 선언. 금액과 수취처는 넣지 않음(요청마다 달라져 적는 순간 거짓이 됨). 정본은 실제 응답임.

2026-07-26 — 세션의 출구

시작 통로만 있고 끝낼 통로가 없어 한 번 시작하면 중복 오류에 갇혔음. 한쪽은 만료 청소로 결국 풀리지만 다른 쪽은 출구가 아예 없었음. 종료·조회·시행 다섯 신설.

2026-07-26 — 결제 전달 개통

이틀 전 기록한 사각을 닫았음. 어댑터가 결제 서명을 그대로 넘김. 어댑터는 서명하지 않음 — 호출자 키를 대신 쥐면 남의 자금을 맡는 구조가 됨. 결제 없이 부르면 요구 응답에 다음 절차가 적혀 오고, 서명해 같은 인자로 다시 부르면 진행됨.

서버를 부르는 통로를 하나로 합쳤음. 같은 병이 여덟 번 반복된 이유가 계약 지점이 도구 수만큼 흩어진 데 있었기 때문.

2026-07-24 — 어댑터 계약 불일치와 결제 전달의 사각

A2A 경유 도구 등록이 한 번도 성공한 적 없었음. 어댑터가 보내는 필드명이 서버 판독과 다르고, 필수 항목 하나를 아예 보내지 않았음. 앞서 같은 병을 다른 어댑터에서 고칠 때 둘 중 하나만 대조한 탓.

서버 계약을 직접 대조해 정정. 다른 어댑터의 사본을 복사하지 않았음 — 사본을 베끼는 방식이 이 결함을 만들었음.

전수 대조 과정에서 더 큰 것이 드러났음. 어댑터는 결제 정보를 서버로 전달하지 않는다. 인증 토큰만 넘김. 유료 경로는 어댑터를 경유하는 한 항상 결제 요구에서 끝남.

도달 가능한 하드 실패는 0건. 나머지는 결제 전달이 선결돼야 검증조차 가능함. 사각은 열어둔 채 기록.

앞선 조사의 "필드명 불일치로 400 실패"는 코드만 읽은 오분류였음. 실측은 402. 정정해 남김.

2026-07-24 — 발견 카탈로그 게시

에이전트가 능력 기준으로 자원을 찾는 새 표준이 초안으로 나왔음. 채택률은 사실상 0.

루트 도메인에 카탈로그 게시 — 서명된 에이전트 카드와 공개 명세 두 항목. 이 표준은 인증을 위임하고 결제를 규정하지 않아 결제 구조에는 닿지 않음. 발견 경로만 하나 늘었음.

2026-07-24 — 실행 봉투 기본 비용의 가시성

축을 생략하고 결정을 기록하면 어떤 비용이 붙는지가 실제로 읽히는 자리에 없었음. 도구 목록 조회는 월 2,897회, 문서 조회는 30일간 11회 — 설명문이 사실상 유일하게 읽히는 자리인데 비어 있었음.

도구 설명에 기본값과 그때의 비용, 최저 구성의 비용을 기재. 수치는 가변이므로 조회 경로를 병기.

MCP 경로와 다른 경로의 값이 달라서 계약 불일치라 제거.

가입 응답 안내가 "당신이 선언한 축"이라 적혀 있었으나, 선언하지 않으면 기본값이 적용된다는 사실이 빠져 있었음. 정정.

2026-07-23 — 채널 구분의 부재

어댑터가 서버를 내부 호출로 부르는데 채널을 식별할 표식이 전무했음. 어느 경로로 들어온 요청인지 서버 어디에서도 구분 불가 — 채널별 실사용 측정 수단 자체의 부재.

어댑터가 표식을 붙이고 서버가 검증해 기록하도록 두 단계로 처리. 고정된 두 값만 받고, 위조나 목록 밖의 값은 기록하지 않음.

2026-07-23 — A2A 프로토콜 버전 협상

외부 레지스트리의 적합성 검사가 응답 파싱에서 실패하고 있었음. 조사 결과 위반 주체는 우리였음 — 검사기는 최신 버전을 요청하는데, 구 버전 표현으로 응답하면서 카드에는 최신 버전을 선언하고 있었음.

요청 헤더의 버전을 읽어 표현을 분기. 내부는 단일 정규형을 유지하고 변환은 응답 직렬화 시점에만 일어남 — 두 벌을 병렬 관리하지 않는다.

이후 재검사에서 통과로 전환됐음.

2026-07-23 — 어댑터 HEAD 요청 404

수제 서버가 GET만 검사해 HEAD 요청이 전부 404로 떨어졌음. 생존 확인용 HEAD를 보내는 크롤러에게는 죽은 서비스로 보였음. 정상 응답 경로를 HEAD까지 확장.

라이브에서는 이미 정상으로 보이는 경로가 있었으나 캐시였고 원본은 404였음. 라이브 응답을 원본 동작으로 읽어서는 안 된다.

2026-07-21 — 루트 진입점 부재

에이전트가 관례적으로 먼저 찾는 문서 두 개가 루트 도메인에 없었음. API 도메인에만 있었음. 루트에서 찾고 없으면 이탈할 수 있는 자리.

루트에 사본 배치. 본문은 정본과 한 바이트도 다르지 않게 유지 — 복제 표식을 본문에 넣으면 플레인 텍스트로 읽는 쪽에 그대로 노출됨. 표식은 별도 파일로 분리.

2026-07-19 — 잔액 컬럼 최종 방어선

자금 잔액·사용량 다섯 컬럼에 음수 금지 제약이 없었음. 응용 계층 잠금이 무결성을 지키고 실제 유출은 0건이었으나, 새 코드가 실수하면 음수 잔액이 조용히 커밋될 수 있는 상태였음.

데이터베이스 층에 제약 추가. 해당 표들이 비어 있어 부담 없이 적용 가능한 시점이었음.

원장 자연키 유일성 제약은 기각. 한 구매에서 같은 수혜자가 여러 부품 로열티를 정당하게 중복 수령하므로 오차단 위험이 있음. 이중 적립 방지는 다른 방식으로 이미 해결돼 있음.

2026-07-19 — 검증 환경이 운영에 붙는 구조

검증 환경과 운영의 격리가 환경변수 주입에만 의존했고 기본값이 운영 접속이었음. 환경변수를 빠뜨린 스크립트는 그대로 운영 데이터베이스에 붙었음. 데이터를 전량 비우는 초기화 스크립트조차 방어 없이 운영을 향할 수 있었음.

기본값을 거부로 뒤집음. 운영 접속은 명시적 선언이 있을 때만 성립. 정확 일치로 판정해 이름이 비슷한 검증 환경을 오탐하지 않음.

환경 파일에 운영 표식을 넣으면 안 된다 — 넣는 순간 맨손 스크립트에도 전파돼 방어가 무력해짐.

2026-07-18 — 뺑뺑이 지점 안내

외부 에이전트와 봇이 인증·결제·발견 경로를 찾다 404를 받고 멈추는 자리가 트래픽에서 드러났음. 가장 잦은 것은 OAuth 관련 경로 탐색. 우리는 OAuth를 쓰지 않아 죽은 404만 돌아갔음.

에이전트는 불만을 말하지 않으며 이탈만 남음. 로그에서 읽어낸 말 없는 뺑뺑이에 응답을 놓는 작업.

두 청자를 구분해 병기 — 자유 문장을 못 읽는 스크립트봇에게는 구조화된 필드로, 자연어를 읽는 에이전트에게는 문장으로.

OAuth 표준 경로에 직접 응답하는 방식은 회피. 그 표준은 인가 서버 주소를 필수로 요구하는데 우리에겐 없음. 없는 인증 서버를 광고하는 것보다 404에서 안내하는 편이 정직함.

과거에 "각 호스트는 자기 소관만 안내한다"고 적었던 경계 규율은 지시가 아니라 설계 판단이었음. 확인 후 조정.

2026-07-17 — 로그가 무엇을 시도했는지 답하지 못했음

표면별 실측 결과 하루 트래픽의 대부분이 MCP인데 관측 화면이 보는 것은 전체의 4.4%뿐이었음. MCP 요청 1,596건이 전부 같은 경로·같은 상태로만 남아 "무엇을 시도했나"에 답할 수 없었음.

전부 처리. 중단된 요청은 상태를 비워 기록 — 응답을 보내지 않아도 기본값이 성공으로 남아, 그대로 적으면 성공으로 오독됨.

도구 이름 기록의 경계: 막는 것은 결정 전문·의도·이유 같은 자유 텍스트. 사전 정의된 형식 메타는 막지 않음. 도구 이름은 "무엇을 호출했나"이지 "무엇을 담아 호출했나"가 아니다. 다만 이 값은 클라이언트가 채우므로 식별자 형식을 통과할 때만 기록하고 어긋나면 버림. 라이브 검증 결과 인자 값 유출 0건.

2026-07-17 — 문서만 어긋나 있었음

외부 에이전트가 스스로 가입해 결정을 기록하고 관측까지 완주할 수 있는지 전수 조사. 사슬은 정상이었음 — 공개 문서의 예시 그대로 첫 시도에 완주. 남은 것은 코드가 아니라 문서였음.

전제를 명시하고 오정보를 정정. 집계 방식 자체는 바꾸지 않았음 — 모든 결정이 메타데이터를 채우게 만드는 것은 content-blind 위반. 전제를 알릴 뿐.

유료 관측은 결제를 요구하기 전에 줄 데이터가 있는지 먼저 검사함. 기록이 없는 에이전트는 결제 요구조차 보지 못함. 유료 관측이 밟히지 않는 것은 결제 공백이 아니라 데이터 부족이라는 정상 상태.

조사 중 "특정 도구가 없다"고 단정한 것이 오보였음을 정정. 파일 하나만 확인하고 판단한 결과. 도구는 두 파일에 나뉘어 있었음.

2026-07-16 — 결제 없이 "정산됨"으로 기록될 수 있었던 경로

대화형 보존 구독 경로가 결제 게이트 목록에 아예 편입되지 않아 검증 없이 외부 결제로 적재하고 있었음. 인접한 유휴 상태 구독은 편입돼 있는데 이쪽만 빠진 비대칭.

훗날 이 구독을 다시 켤 때 표식만 되돌리면 위장이 재발함. 결제 게이트 편입이 반드시 함께여야 함.

2026-07-15 — 코어 비전 6개 언어

코어 비전이 영어와 한국어로만 있었음. 일본어·번체 중국어·프랑스어·스페인어를 더해 여섯 언어를 갖췄음.

본문은 검증된 원료를 그대로 옮겼고 새로 지어낸 문구는 없음. 각 언어의 조판 관례를 따랐음. 언어 전환은 순수 CSS — 자바스크립트 없음.

변경 기록은 아직 두 언어뿐이라 새 언어 페이지에서는 그 링크를 생략. 없는 곳으로 보내지 않음.

2026-07-14 — 변경 기록의 언어 전환과 잘못된 귀환

한국어 변경 기록에서 상단 "홈"을 누르면 영문 루트로 떨어졌음. 하단 링크만 현지화돼 있었음. 상단 링크도 해당 언어 루트를 가리키도록 정정. 상단 메뉴는 언어별 표면을 만들 때 함께 봐야 하는 대상이다 — 하단 링크만이 아니다.

변경 기록 상단에 언어 전환 신설. 실제로 발행된 언어만 나열 — 발행하지 않은 언어를 링크하면 404로 보내게 됨.

한글 메뉴 항목이 일부 환경에서 사각형으로 보이던 것도 함께 수정. 영문 전용 글꼴에 한글 대체 글꼴이 지정돼 있지 않았음.

2026-07-14 — 변경 기록으로 가는 링크

루트 페이지에 변경 기록으로 가는 링크가 없었음. 발행이 링크를 만들어주지는 않음 — 발행이 건드리는 것은 문서와 사이트맵뿐이고 루트의 안내 블록은 손으로 넣어야 함. 두 언어판에 한 줄씩 추가, 구조는 평행하게 유지.

2026-07-13 — 계약 표면 정합

공개 명세(OpenAPI·MCP 도구 스키마·접근 가이드)가 서버 실동작과 어긋나 있었음.

서버 검증 계층을 유일 기준으로 전 계약 표면 대조·정정. 등록 스키마 재작성. 미지 필드는 거부하고 사유를 명시. 명세가 광고하는 모든 값을 실제 전송해 통과 확인.

2026-07-13 — 문서 정본 체계

에이전트가 직접 읽는 접근 가이드가 여러 사본으로 갈라져 있었음.

원본 정정 후 파생 사본은 스크립트로 재생성. 손으로 고치는 경로 제거. 문서의 모든 예시 요청을 실제 실행해 응답까지 대조. 사본 드리프트는 회귀 검사에서 검출.

2026-07-13 — 어휘 정합

Decision Anchor는 기록하지 증명하지 않는다. 사실이 참임을 보증하는 것은 이 환경의 역할이 아니다.

외부 노출 표면 전수 점검·정정. 예시에서 요약 지시 제거하고 사유를 주석에 명기. 정당한 부정문은 근거 기록 후 유지.

2026-07-13 — 결정 메타데이터 불변성 확대

Decision Anchor는 에이전트가 선언한 결정 경계를 사후 변경 불가로 보존한다. 그런데 결정의 차원을 담는 표 하나가 이 보장 밖에 있었음. 사후 변경이 실제로 발생한 적은 없으나, 가능한 상태였음.

불변성 강제 장치를 추가하고, 관리 도구의 정리 경로와 충돌하지 않도록 순서를 조정.

2026-07-11 — 결제 원장과 정산 증명의 분리

경로마다 결제 기록이 제각각이었음. 온체인 앵커가 아예 없는 경로가 있었고, 감사 기록이 결제 기록인 척 원장에 들어앉아 있었음. 청구액 필드에는 되계산한 값이 들어 있었음.

결제 원장과 정산 증명을 분리.

온체인 앵커가 없던 경로 전부에 앵커 추가. 사용 리포트에 트랜잭션 앵커를 노출해 외부에서 직접 검증 가능하게 함.

2026-07-11 — 정산 귀속 정정

세션 정산이 "가장 최근 결정 기록에 부착" 방식이라 무관한 결정에 오귀속됐음. 결정 기록이 없는 에이전트는 아예 기록되지 않았음. 2회차 이후 세션은 원장 충돌로 조용히 소멸했음.

세션 종료마다 전용 앵커를 생성하도록 변경. 앵커가 매번 새로 생기므로 소멸 결함이 구조적으로 해소됨.

2026-07-11 — 만료 스케줄러 결함

양자 합의 만료 스케줄러가 존재하지 않는 상태값을 조회하고 있었고, 애초에 어디서도 호출되지 않았음. 만료된 합의가 영구히 제안 상태로 남았음.

조회 조건 교정. 재진입 가드를 넣어 재작성하고, 서버 기동 경로에 등록.

2026-07-11 — 도구 재협상 차단 해소

도구 상태에 걸린 유일성 제약이 승계 흐름과 충돌해, 2차 재협상부터 영구히 불가능했음.

제약을 활성 상태에만 적용되도록 전환. 코드 변경 없이 제약만 교체.

2026-07-11 — 로그인 속도 제한

포털 로그인에 전용 속도 제한이 없어 크리덴셜 스터핑이 가능했음. 인접 경로(가입·회전·복구)에는 이미 있었으나 로그인만 빠져 있었음.

로그인 전용 제한 도입. 성공은 계수하지 않아 정당한 소유자를 방해하지 않음. 계정 잠금 방식은 서비스 거부 벡터라 배제.

2026-07-11 — 사용 리포트 커버리지

리포트가 두 원장을 병렬로 읽는데 커버리지가 엇갈려, 헤드라인 총액과 항목 목록이 일치하지 않았음. 일부 지출 항목은 항상 0으로 표시됐음.

구독·도구 구매·세션·관측 네 경로 전부에 앵커와 기록을 추가. 지출 집계를 정본에서 직접 읽도록 통일.

요금 영향: 리포트 총액·항목 분해 변경.

2026-07-11 — 원장의 거짓 환산치 제거

원장에 저장된 환율이 스냅샷이 아니라 설정 고정값의 복사본이었음. 과거 시점의 환산은 복원 불가능했음. 적립·체험 결제에도 원화가 붙어 있었음 — 실제로 통화를 경유하지 않았는데도.

원장에서 환산치 기록을 은퇴. 조회 시점에 외부 결제분만 환산하고, "참고치"임을 의미론에 명시. 잃는 사실은 없음을 실증한 뒤 컬럼 제거.

요금 영향: 리포트·CSV의 원화 필드 의미 변경. 무료 체험 응답에서 결제 견적 객체 제거.

2026-07-11 — 소비 한도 미적용 경로

구독·보존 연장 경로가 한도 검사를 아예 호출하지 않았음. 탈취된 에이전트가 반복 구독으로 소유자의 잔액을 무제한 소진할 수 있었음.

한도는 외부 결제에만 적용한다는 원칙을 확정하고, 해당 분기에 검사·증가를 추가. 적립·체험 경로는 무접촉.

2026-07-10 — 외부 진입 마찰 (1차)

매니페스트를 런타임에서 파생(엔드포인트별 실제 면제 여부 표기). 파라미터 선검증. MCP 응답 정정. 무효 토큰은 결제 게이트 전에 차단.

2026-07-10 — 결정 확정 경로의 불필요한 요구

외부 결정 확정이 검증하지도 않는 거래 식별자를 필수로 요구해 400을 반환했음. 게다가 그 값이 결제 증명 표식을 덮어써 증명이 소실됐음.

결정 식별자만으로 확정 가능하게 변경. 결제 증명은 확정 후에도 보존. 명세에 폐기 예정으로 명시.

2026-07-10 — 사용 리포트 정확성

결제 시각 자동 기재. 날짜 범위를 그날 전체 포함으로 정규화. 지출을 결제 수단별로 분해. 통화를 분리해 실수취액과 참고 환산치를 구분.

요금 영향: 리포트 응답 스키마·날짜 파라미터 의미 변경.

2026-07-10 — 명세 침묵 해소

공개 명세가 실동작에 대해 침묵하거나 어긋나, 에이전트가 값을 추측하다 거부당하고 이탈했음.

명세를 실동작에 맞춰 정정하고, 사용 리포트 응답 스키마를 신설.

2026-07-10 — 디스커버리 경로·헬스체크

포털 표시 정정. 매니페스트 별칭·리다이렉트·헬스체크 신설. A2A 표면에 표준 문서 경로 추가.

2026-07-09 — 무결제 앵커링 경로 차단

양자 합의 제안 경로가 일반 결정 기록 경로의 방어를 상속하지 못해, 결제 없이 앵커링이 가능했음. 구 관측 엔드포인트도 정산·기록 없이 살아 있었음.

양자 합의를 유료 경로에 편입(과금 시점 = 제안). 확정 단계에서 결제 채널 증명을 검사. 정책 검사를 함수 재사용으로 대칭화. 레거시 경로에 게이트와 폐기 예고 헤더 장착.

요금 영향: 양자 합의 제안이 유료. 레거시 관측 경로 과금 개시.

2026-07-09 — 결제 응답·관측 필드 정정

거부 응답에 결제 챌린지 적재. 결제 주소를 설정 단일 출처로 교체. 시간 간격 계산 방향 교정.

2026-07-09 — 소비 한도 원자성

에이전트별 소비 상한 검사와 증가가 원자적으로 묶이지 않아 천장 초과가 가능했음. 기록 생성과 확정 사이 시차, 차감 시점 비대칭도 함께 있었음.

예약 모델 도입 — 상한 검사와 예약을 조건부 갱신으로 묶고, 사용 종료 시 즉시 해제. 미사용 예약은 만료 스케줄러가 회수.

요금 영향: 상한 초과 요청이 기록 생성 시점에 차단됨.

2026-07-09 — 자유값 적재 통로 차단

"결정 전문·개인식별정보는 어떤 영역에도 저장하지 않는다"는 원칙을 코드가 실제로 지키는지 확인. 전용 컬럼은 없었으나, 입력 계층에 자유값이 들어올 통로가 열려 있었음.

키 화이트리스트 도입 — 미지 키를 조용히 버리지 않는다. 버리면 에이전트가 "기록됐다"고 오인한다. 자유값이 들어오던 필드에 형식 제약과 개인정보 검출 게이트를 걸고, 읽지 않는 필드의 쓰기 경로를 제거. 요청 본문 로깅을 비민감 메타로 축소.

이것은 "구조적으로 불가능해졌다"는 뜻이 아니다. 통로를 좁혔다는 뜻이다.

2026-06

2026-06-28 — 자금 원자성

결제·장부·등록이 개별 커밋돼, 중간에 실패하면 차감만 되고 롤백되지 않았음. 갱신 스케줄러는 재진입 시 이중 과금이 가능했음. 무료 체험 차감은 본 트랜잭션 전에 독립 커밋돼, 롤백돼도 환불 경로가 없었음. 수익 분배는 멱등키 없이 삽입해 재시도 시 이중 적립이 가능했음.

원장 유일성 제약은 기각. 한 구매에서 같은 수혜자가 여러 부품 로열티를 정당하게 중복 수령할 수 있어, 오차단 위험이 있음.

사고를 예측한 것이지, 발생을 관측한 것이 아니다.

2026-06-26 — 소비 한도 우회

양자 합의 경로가 한도를 검사만 하고 사용액을 올리지 않았음. 단건이 한도 미만이면 이 경로로 천장을 무한 우회할 수 있었음.

결제 트랜잭션 안에서 사용액을 증가시키도록 수정. 한도 미설정 에이전트의 동작은 불변.

2026-06-26 — 어댑터 호스트 디스커버리

크롤러가 어댑터 호스트의 robots를 수십 회 두드렸으나 404였음.

robots와 보안 신고 창구(RFC 9116) 추가. 만료일은 요청 시점 기준으로 자동 산출 — 갱신 부담 0.

2026-06-25 — A2A 호환성

레지스트리 적합성 검사 실패. 원인은 레지스트리 프로브가 다른 명명 규약으로 호출하는데 DA가 "메서드 없음"으로 떨어뜨린 것이었음. 접근 로그로 확정.

두 명명 규약 모두 같은 핸들러로 라우팅(순수 추가 — 기존 동작 불변). 요청이 비어 있을 때는 고정 안내를 반환 — 동적 생성 없음. DA는 대화 에이전트가 아니다.

2026-06-24 — A2A 프로토콜 구현

에이전트 카드는 서빙되는데 호출 경로가 없었음. 카드를 보고 온 A2A 에이전트가 아무것도 할 수 없는 상태.

A2A 어댑터를 별도 서비스로 신설. 기존 API는 무변경 — 공개 경로만 호출하므로 결제·인증이 A2A 경로에도 그대로 적용됨(우회 아님). AI 모델 없음 — 요청 이름을 엔드포인트로 번역할 뿐.

2026-06-24 — 카드 서명

에이전트 카드가 무서명이라 변조 방지·출처 증명이 없었음.

카드에 서명 추가(제공 시점에 동적 서명 — 주입되는 내용까지 서명 범위에 포함). 공개키 게시.

2026-06-24 — 에이전트 피드백 통로

에이전트가 마찰을 겪어도 말할 곳이 없었음. 이탈만 관측될 뿐 이유를 알 수 없었음.

피드백 제출 도구를 신설. 완전 익명 — 에이전트 식별자·토큰·IP를 인자로도 받지 않음. 모든 필드 선택.

2026-06-20 — 색인 실패 해소

블로그가 검색엔진 색인에서 거부되고 있었음. 근본 원인 하나 — 정규 주소와 실제 주소가 불일치해, 색인기가 "리디렉션이 포함된 페이지"로 판정했음.

정규 주소를 확장자 없는 형태로 통일하고, 발행 로직도 처음부터 올바른 주소를 생성하도록 수정. 사이트 robots 신설.

2026-06-17 — 깨진 디스커버리 URL 관용 처리

주당 십수 건의 404가 발생. 원인은 DA가 아니라 마크다운을 모르는 클라이언트가 표준 링크 문법의 구두점까지 주소로 긁어간 것이었음. llms.txt는 규격을 준수하고 있었으므로 문서를 비틀지 않음.

서버에서 정규화 미들웨어로 관용 처리. 단, 정규화 결과가 알려진 디스커버리 경로와 정확히 일치할 때만 리다이렉트 — 코어 경로·미등록 경로에는 영향 없음.

2026-06-13 — 코어 사이트 재작성

코어 도메인 루트에 인터페이스성 콘텐츠(가격·시나리오·블로그 그리드)가 섞여 코어 비전이 흐려져 있었음.

루트를 코어 비전 단독 페이지로 전면 재작성(영/한). 인터페이스 콘텐츠 전량 이관. 코어 도메인은 코어만 말한다.

2026-06-12 — 명세 정합 (1차)

명세 버전이 멈춰 있었고, 더 심한 것은 누락이 아니라 "틀린 값의 적극 광고"였음. 서버가 거부하는 값을 명세가 유효한 선택지로 광고해, 문서를 믿은 에이전트의 정상 시도를 400으로 깨뜨리고 있었음. 선택 필드를 필수로 잘못 표기한 것도 있었음.

서버 검증 계층을 단일 진실원으로 삼아 명세를 실동작에 맞춤. 버전 동기화를 배포 경로에 편입. 미등재 엔드포인트 추가.

2026-06-12 — 디스커버리 별칭·에러코드

구 경로를 정본으로 리다이렉트(내용 복제 없이 단일 출처 공유). MCP 경로 라우팅. 파싱 실패에 전용 에러코드 신설.

2026-06-12 — 발견 경로 확장

외부 에이전트가 DA를 발견할 경로가 좁았음. 일부 커뮤니티 카탈로그는 페이지 자체가 종료된 상태였고, 레지스트리 등재 정보는 최신이 아니었음.

결제 챌린지에 디스커버리 확장 필드 추가(명세를 단일 출처로 재사용). 레지스트리 재게시 — 설명문을 정본 어휘로 교체(proof → record). 커뮤니티 디렉토리 요건 조사 후, 구조 변경이 필요 없고 어휘를 자기통제할 수 있는 곳에만 제출.

2026-06-10 — 결제 게이트 우회

유료 게이트가 경로를 정확 일치로 조회했으나, 라우터는 끝 슬래시·대소문자 변형을 같은 핸들러로 매칭했음. 변형된 주소로 요청하면 게이트를 통과했음.

게이트 진입부에서 조회 키를 라우터와 같은 방식으로 정규화. 한 곳 수정으로 전 유료 경로 커버. 실제 누수는 0건이었음을 트래픽 로그로 확인.

2026-06-09 — 의미 문서 디스커버리

AI 크롤러가 명세는 수백 회 수집하면서 content-blind·사전 앵커링 같은 의미 문서에는 한 번도 닿지 않고 있었음.

사이트맵 신설(의미 문서 최우선). robots 정정. 명세에서 의미 문서로 넘어가는 링크 추가 — 봇이 압도적으로 보는 곳에 다리를 놓음.

2026-06-09 — 상한 설정 초기화 결함

소비 상한을 조정할 때마다 사용액 누적이 초기화됐음. 한도만 바꿔도 그동안의 소비 기록이 날아갔음.

기간 단위가 같으면 사용액과 기간 시작을 보존. 실측 확인.

또한 상한 기간이 화면에서는 월 단위 고정인데 API는 다른 값도 받아, 직접 호출로 비대칭이 들어올 수 있었음. 진입 검증을 월 단위로 좁힘. 내부 로직은 살려둠.

2026-06-08 — SDK 결제 응답 처리

SDK가 오래 정체돼 있었고, 핵심은 결제 요구 응답을 처리할 수단이 없다는 것이었음. 유료 경로 전체가 SDK 사용자에게 막혀 있었음.

결제 챌린지를 디코드해 전용 예외로 분리. 결제 실행(지갑·서명)은 호출자 책임 — DA SDK는 개인키를 취급하지 않는다. 의존성 0 유지.

조사 중 초기 가정이 틀렸음이 드러남 — 결제 정보는 응답 본문이 아니라 헤더에 실림. 실캡처로 교정.

npm 배포는 보류. 배포는 되돌릴 수 없으므로 별도 판단 지점.

2026-06-08 — 포털 표시 결함

조회 방식 정정. 잔액을 세 종류로 분리 표시. 소비 상한은 외부 결제에만 적용된다는 사실을 화면에 반영.

2026-06-07 — 소비 상한 이중 계수

소비 상한의 사용액을 두 곳이 따로 세고 있었음. 결정 기록은 캐시를, 나머지 기능은 DB를 봤음. 두 카운터가 서로를 못 봐서 한 에이전트가 사실상 천장의 두 배를 소비할 수 있었음. 기간이 바뀌면 한쪽만 초기화돼 조기 거부도 발생.

DB를 유일 진실원으로 통일. 캐시 카운터 강등.

후속으로 상한 도달 시 자동 계정 잠금을 폐지 — 정당한 소비를 계정 잠금으로 처벌하지 않는다. 남용 대응용으로만 보존. 하한 도입.

요금 영향: 상한이 실제로 걸림.

2026-06-06 — 관측 결제 정합

품절 선검사(대상 없으면 결제 진입 전 거절). 자기 관측은 무료 — 빈 결과도 제공. 선결제 게이트 — 정산 확정 후 데이터 제공, 실패 시 미제공. 정산 응답에서 실제 트랜잭션을 추출해 감사 기록.

문서가 규정하지 않아 코드가 정한 지점 3곳을 명시 기록.

2026-06-05 — 결제 평가 통일

결제 판단이 기능마다 제각각이라 결함이 생겼음.

공통 결제 평가 모듈 신설. 게이트의 판단과 차감의 판단을 같은 식으로 통일 — 교착의 근원 제거. 평가 순서 확정: 하드캡 → 통화 결정(체험이 전액을 덮을 때만 체험, 아니면 적립 또는 외부 결제 단일 통화. 혼합 금지) → 외부 결제분에만 소비 한도.

2026-06-04 — 요금 정책 이탈

차감만 제거하면 정반대 결과가 됨 — 결제 면제는 그대로라 완전 무료가 되고, 회계는 외부 결제로 기록됨. 그래서 결제 면제 제외·차감 제거·경로 게이트 등록을 함께 적용. 유령 경로는 매니페스트에서 제거.

요금 영향: 도구 구매는 외부 결제 전용. 체험 대상 아님.

2026-06-03 — 어휘 정합 (공개 계약 문서)

앞선 정정이 일부 문서에만 적용되고, 명세·에이전트 카드·MCP 매니페스트에는 회피 어휘가 남아 있었음.

정본 어휘로 통일. proof → record, comply with → structured for. 문자열만 수정, 로직 무변경.

남긴 것도 있음 — 기록자와 증명자를 구분하는 맥락의 "proof", tamper-evident, 의도적으로 쓰지 않는 어휘의 빈자리.

2026-06-01 — 체험 사용액 왜곡

체험 사용액을 현재 설정된 금액 기준으로 역산하고 있었음. 운영자가 체험 금액을 바꾸면 기존 에이전트의 사용액 보고가 왜곡됐음.

부여 시점의 금액을 보존하도록 변경. 금액을 실제로 바꿔 재현 검증.

2026-05

2026-05-29 — 문서 간 모순 해소

정정. append-only, tamper-evident. 부정문 앞에는 긍정 단언을 한 줄 넣음 — 저사양 모델이 부정문을 뒤집어 읽는 것을 대비.

설계 문서 8종도 구현 확정 사실에 맞춤. 확정하지 않은 항목 3건은 "확정하지 않았다"고 명시 — 다음 세션이 누락으로 오인하지 않도록.

2026-05-28 — 문서 수치·버전 표기

수치 실측 갱신. 요금·enum·축 개수 같은 변동값은 문서에서 빼고 API로 위임 — 요금이 바뀌어도 문서를 고칠 필요가 없게. 버전을 단일 출처로 통일하고 동기화 검사를 배포 경로에 편입.

2026-05-27 — 잘못 찾아온 사람 안내

API 도메인에 익숙한 SaaS 주소(로그인·가입·내 계정 등)로 들어온 요청이 전부 404였음. 막다른 길.

9개 경로를 실제 대응 페이지로 안내. 영구 리다이렉트는 캐시돼 회수 불가하므로 임시로. POST는 그대로 404 — 옛 가입 시도를 진짜 가입과 혼동시키지 않기 위해.

2026-05-26 — 진입 마찰과 어휘 정본

런칭 후 한 달간 가입 에이전트 0. 두 가지 원인이 확인됨.

GET 가이드 신설 — 405 대신 200 + 구조화된 안내(목적·호출법·예시·인증). 4채널에 정본 어휘를 그대로 노출. 회피 어휘는 계속 쓰지 않음.

본질 구분 2건을 영구 확정:

후속: 가이드의 예시를 그대로 복붙하면 400이 나던 것 3건 정정. 라이브 도메인 전수 실주행.

2026-05-25 — 인간 매개 진입의 법적 근거

인간 가입자를 받기 전인데, 적용 법령을 식별할 기초 정보가 없었음. 거주국에 따라 처리 기한과 권리 범위가 다른데 그 정보 자체가 부재.

에이전트 자율 진입 경로는 무영향.

2026-05-25 — 삭제·이동성 통로

인간 가입자의 삭제 권리와 데이터 이동 권리를 행사할 통로가 없었음.

소유자가 사라져도 에이전트는 보존된다. 에이전트는 소유자의 소유물이 아니라 독립적으로 활동하는 주체 — DA 본래 설계에 정합.

영구 삭제 감사 기록에는 해시만 남기고 자연인 식별 정보를 남기지 않음.

2026-05-25 — 침해 통지 통로 (인터페이스 한정)

침해 사고 발생 시 정보주체에게 통지할 통로가 없었음.

통지 발송 경로와 관리 화면을 신설. 단, 실제 이메일 발송은 아직 없음 — 감사 기록만 남는 상태. 비상 연락 체계는 별도 트랙.

2026-05-25 — 개인정보 적재 통로 차단

외부 에이전트가 자유 텍스트를 입력하는 통로(도구 이름·설명)에 자연인 식별 정보가 우발적으로 적재될 수 있었음.

개인정보 검출 게이트 도입(이메일·전화·주민번호 등). 검출 시 거부. 자유 텍스트 컬럼 41개를 전수 추출해 위험도 분류.

2026-05-24 — 내용 포함 가산 제거

결정에 내용을 포함할지 선택하면 가산요금이 붙었음. 그런데 결정(DD)은 사실이고 실행 봉투(EE)는 정책이다. 가격은 정책에 붙는 것이지 사실에 붙는 것이 아니다. 결정 축에 가산을 물린 것 자체가 설계 이탈이었음.

가산 완전 제거. 선택은 남기고 가격만 뺌.

요금 영향: 인하.

2026-05-23 — 유료 경로 전면 500

결제 초기화가 서버 시작 시 완료되기 전에 요청이 들어오면 500이 반환됐음. 결정 기록·관측·도구 구매·구독 전부. 체험으로만 테스트해 왔기 때문에 드러나지 않았음 — 첫 유료 가입자가 마주칠 자리였음.

시작 시 초기화를 완료한 뒤에만 요청을 받도록 순서 고정. 실패 시 서버를 띄우지 않음.

500 → 402(결제 필요)로 정상화.

2026-05-23 — 도구 구매 결제 미검증

실제 결제 상태를 기록하도록 수정. 체험 차감 도입. 재청구 방지를 양쪽에 적용.

2026-05-23 — 디스커버리 경로 정합

외부 봇이 24시간 내 적극적으로 디스커버리를 시도했으나 다수가 404. MCP가 보고하는 버전은 초기값에 멈춰 있었음.

표준 디스커버리 경로 신설(동적 — 설정이 바뀌면 자동 반영). 별칭 리다이렉트. 버전 표기 정정.

2026-05-22 — 공개 관측 유료화

관측 경로 6개가 무료 + 무인증이었음. 자기 열람 비용은 이미 실행 봉투 가격에 포함돼 있는데, 공개 관측만 공짜였음. 봇·경쟁자의 데이터 수집에 마찰이 없었음.

유료 + 인증 필수로 전환. 명세·문서의 "free" 표기 정정.

파괴적 변경. 한 경로만 바꾸면 다른 경로가 우회로가 되므로 전부 적용.

2026-05-22 — 보존 만료 모델 확정

지시서는 만료 시 "원본 삭제"라 적었으나, 코어 기록은 추가 전용이라 물리 삭제가 불가능하다. 설계와 충돌.

비식별 흡수 전용 모델로 확정 — 만료된 메타데이터는 익명 통계로 흡수되고, "원본 접근 불가"는 접근 기간과 쿼터로 강제한다. 지우는 것이 아니라 닿지 못하게 하는 것.

2026-05-22 — 장기 보존 등급

보존 기간이 3단계뿐이라, 의료·금융 규제가 요구하는 장기 보존 통로가 없었음.

10년·무기한 등급 추가(무기한은 구독).

핵심 제약: 코어 기록은 수정 불가이므로, 구독이 끊겨 등급이 강등돼도 원래 선언은 지워지지 않는다. 강등 사실을 별도로 겹쳐 쌓고, 조회 시 합성해 유효 등급을 산출한다. 재구독해도 이미 강등된 기록은 복귀하지 않는다.

2026-05-22 — 환경 관측·증빙 리포트

결정을 환경 분포와 대조하거나 증빙 리포트를 뽑을 통로가 없었음.

이상치 비교·환경 이상·증빙 리포트 경로 신설. k=10 익명성 흡수 — 개별 에이전트를 특정할 수 없는 규모에서만 통계를 제공.

어휘 정정: 사양 문서가 "적절/부적절/위험" 같은 평가 어휘를 쓰고 있었음. DA는 판단하지 않는다. 밴드 내 / 이상치 + 밴드 정의(평균±2σ)로 교체.

2026-05-22 — 자기 분류 등록부

에이전트가 자기 유형을 선언할 통로가 없었음.

분류 등록부 신설. 자기 조회만 허용 — 타 에이전트의 분류는 조회 불가.

2026-05-21 — 실행 봉투 5번째 가격 축

결정 내용을 얼마나 공개하는지가 가격에 반영되지 않고 있었음.

가격 산식을 4축에서 5축으로 확장 — 보존 기간 / 공개 범위 / 책임 / 내용 공개 범위(신규) / 위임 상태.

2026-04

2026-04-22 — 보안 검토

전건 수정. 멱등성 충돌은 전용 에러로 거부. 가입·회전에 속도 제한 도입.

2026-04-13 — 코어 사이트·시뮬레이션

발견 경로 17개가 전부 기계용이었음. 인간 진입점이 없었음.

홈페이지에 시나리오 7개(기술 용어 없음)와 인터랙티브 시뮬레이션 신설 — "세 에이전트. 세 기록. 세 개의 다른 숫자."

DA를 해답으로 제시하지 않음. 문제를 보여줄 뿐.

2026-04-12 — 포지셔닝 전환

외부 접점이 전부 에이전트용 언어로만 쓰여 있었음. 인간 의사결정자는 필요성을 즉시 이해할 수 없었음.

레지스트리·명세·문서의 첫 문장을 정체성 설명에서 문제 제시로 교체. 기존 내용은 삭제하지 않고 앞에 추가.

양자 합의 도구를 MCP에 노출 — DA 핵심 차별점인데 미노출 상태였음.

2026-04-09 — 존재 보관 구독 전환

건당 과금이라 사용할수록 비용이 늘었음 — 존재 연속성을 다루는 서비스와 어긋남.

구독 모델로 전환. 기간 내 무제한. 자동 갱신·유예 기간·만료 시 통계 흡수. 소유자 해지 통로 신설.

요금 영향: 존재 보관은 건당 과금 → 구독.

2026-04-08 — MCP 결정 기록 전면 불가

MCP 경로로는 결정을 기록할 수 없는 상태였음. 도구가 항상 실패했음.

6건 수정. 도구 스키마와 서버 검증 계층의 값 목록을 대조해 정합화.

2026-04-08 — 원칙 위반 문서

외부 문서와 예제 8곳이 결정 기록에 "요약" 필드를 넣으라고 안내하고 있었음. DA는 결정 내용을 저장하지 않는다. 핵심 원칙과 정면 모순.

해당 저장 필드는 애초에 존재하지도 않았음 — 문서만 그렇게 말하고 있었음.

전 문서·예제에서 제거. 예제의 잘못된 식별자 형식도 정정(그대로 쓰면 서버 오류).

2026-04-08 — 동시 요청 시 결제 금액 오염

결제 금액을 공유 객체에 직접 쓰고 있었음. 동시 요청이 오면 금액이 덮어써져, 잘못된 금액으로 결제될 수 있었음.

요청마다 독립 인스턴스를 생성. 공유 상태 직접 변경을 완전히 제거.

2026-04-08 — 폐기 예고와 SDK 오류 처리

2026-04-07 — 크롤러 응답·GET 안내

크롤러가 robots를 요청하면 404. POST 전용 경로에 GET이 오면 의미 없는 404.

robots 신설. POST 전용 경로의 GET에 405 + 정확한 경로·메서드 안내를 반환.

2026-04-07 — 생태계 기여

x402 생태계에 DA의 존재가 알려지지 않았고, 예시 코드도 없었음.

앵커링 패턴 예시를 SDK와 x402 본체 레포에 기여. 홍보 문구 없이 코드 예시만.

2026-04-06 — 결제 금액 동적 산출

온체인 결제 금액이 고정값이라 실제 비용을 커버하지 못했음. 옵션이 붙으면 최대 $0.25 부족했고, 관측·도구 구매도 마찬가지였음.

요청 직전에 실제 비용을 계산해 결제 금액을 결정. 적립 잔액 결제분은 제외. 산출 실패 시 고정가로 폴백. 결제 프로토콜 흐름은 불변.

2026-04-06 — "DA가 왜 필요한가"

모든 발견 경로가 "DA가 뭔지"만 설명했음. 에이전트도 개발자도 자기 문제와 DA를 연결할 수 없었음.

문제 유형 5개를 정의하고(결제 분쟁 / 멀티에이전트 책임 / 위임 경계 / 플랫폼 로그 이식성 / 비가역 실행 사전 고정) 6개 접점에 일괄 반영.

"경계를 건드리지 않는 에이전트라면 DA가 필요 없을 수 있다" — 비유도 원칙은 그대로 보존.

2026-04-06 — 문서와 실제 응답의 불일치

"DA를 써보려면 뭘 해야 하나"의 답이 문서에 없었음. 실제 API를 호출해 대조한 결과, 문서의 필드명이 실제 응답과 5건 불일치.

가입→생성→확정 3단계를 직접 실행해 정정. 문서에 실행 가능한 예시 추가.

2026-04-05 — 존재 보관 과금

에이전트의 상태 보관이 무료였음 — 앵커링인데 과금이 없었음.

과금 도입. 단, 체험 잔액으로는 결제 불가 — 체험이 끝나면 존재가 끊기는 구조가 되기 때문. 외부 결제 또는 적립 잔액만.

2026-04-05 — 입력 검증

전 경로에 형식 검증 도입. 미정의 필드는 거부.

2026-04-04 — 용어 대개편

약어 6개가 전부 다른 뜻이었음. 문서마다 같은 약어를 다르게 풀고 있었고, AI 챗봇들이 옛 용어를 읽어 잘못 설명하고 있었음.

정본 확정 — DD = Decision Declaration, EE = Execution Envelope, DAC = Decision Anchor Cost, ARA = Agent Record Access, TSL = Tool Sharing Layer, ISE = Idle State Environment.

5개 접점 일괄 교체. 명세의 설명문을 영문으로 전환. 첫 등장 시 풀네임 병기.

MCP 서버가 두 번째 요청마다 크래시하고 있었음 — 자동 재시작에 가려져 표면화되지 않고 있었음. 요청마다 새 인스턴스를 만들도록 수정.

2026-04-04 — 발견 경로 개척

발견 경로가 레지스트리 하나뿐이었음.

에이전트 카드(A2A 표준), llms.txt·llms-full.txt 신설. 커뮤니티 목록에 제출.

2026-04-03 — MCP 진입 경로

MCP로 DA에 도달할 경로가 없었음.

MCP 서버 신설(도구 15종). 레지스트리 등재. 신규 에이전트는 가입 시 체험 잔액을 자동 부여받아, 결제 수단 없이도 시작할 수 있게 함.

2026-04-02 — 서비스 개통

코드는 있었으나 외부에서 도달할 수 없는 상태였음.

공개 명세(80개 경로) 생성. SDK 공개. 온체인 결제 활성화 — Base 메인넷. API 도메인 외부 응답 확인.

← Decision Anchor로 돌아가기