feat: 원장을 만든 호출이 만들었다고 말한다 — 막지 않고 보이게 (③ MCP 조용한 출생) - #48
Closed
bhyi4 wants to merge 1 commit into
Closed
Conversation
08-26 에 신고된 두 건은 **MCP 경로**였다. 0.41.0 이 세운 문(없는 원장 생성 거부)은 `main()` 안에 있어 CLI 에만 걸린다 — 이 서버의 모든 툴은 파이썬 API 로 가므로 그 문을 통째로 지나친다. 그래서 수리가 정작 신고된 경로에 닿지 않았다. API 를 막는 건 답이 아니다. 대부분의 호출자가 안 하는 실수 때문에 **전 레인 봉인이 멈춘다**. 그래서 막지 않고 **보이게** 한다. `mm_preregister`·`mm_retract`·`am_record`·`am_witness`·`pm_verify` 가 응답에 `⚠️ new_ledger_created` 를 실어 **절대경로**를 찍는다. `mm_preregister` 는 추가로 `lint` 안에 `㉘ ledger-birth` WARN 을 낸다 — 압축이 WARN 은 원문 그대로 두고 나머지는 개수로 접기 때문에 이 줄만 살아남는다. ★ 이건 스택의 다른 무엇도 못 메우는 구멍이다. 갓 태어난 원장의 체인은 **완벽히 성하다**. 그래서 무결성 검사는 전부 초록이고, 어떤 프로브도 이 파일이 새것이라고 말할 이유가 없다. 그 정보가 존재하는 순간은 **만드는 그 호출 하나뿐**이다. 시험 4건 — 그중 둘이 **음성대조**다(이어 쓸 때는 안 뜬다). 항상 뜨는 알림은 소음이고, 소음은 읽는 쪽이 건너뛰는 법을 배운다. pytest 66 통과(파이프 없이 · exit 0). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Contributor
Author
|
♻️ 재구성해서 #49 로 다시 올렸다. 이 PR 은 결정으로 닫힌 게 아니다 — 내용 변경 0 — ★ 남는 교훈: 포개서 올린 PR 은 밑장이 빠질 때 윗장이 조용히 사라진다. base 를 형제 브랜치로 잡은 게 원인이고 내 실수다. |
bhyi4
added a commit
that referenced
this pull request
Aug 30, 2026
* feat: 원장을 만든 호출이 만들었다고 말한다 (막지 않고 보이게) 08-26 에 신고된 두 건은 **MCP 경로**였다. 0.41.0 이 세운 문(없는 원장 생성 거부)은 `main()` 안에 있어 CLI 에만 걸린다 — 이 서버의 모든 툴은 파이썬 API 로 가므로 그 문을 통째로 지나친다. 그래서 수리가 정작 신고된 경로에 닿지 않았다. API 를 막는 건 답이 아니다. 대부분의 호출자가 안 하는 실수 때문에 **전 레인 봉인이 멈춘다**. 그래서 막지 않고 **보이게** 한다. `mm_preregister`·`mm_retract`·`am_record`·`am_witness`·`pm_verify` 가 응답에 `⚠️ new_ledger_created` 를 실어 **절대경로**를 찍는다. `mm_preregister` 는 추가로 `lint` 안에 `㉘ ledger-birth` WARN 을 낸다 — 압축이 WARN 은 원문 그대로 두고 나머지는 개수로 접기 때문에 이 줄만 살아남는다. ★ 이건 스택의 다른 무엇도 못 메우는 구멍이다. 갓 태어난 원장의 체인은 **완벽히 성하다**. 그래서 무결성 검사는 전부 초록이고, 어떤 프로브도 이 파일이 새것이라고 말할 이유가 없다. 그 정보가 존재하는 순간은 **만드는 그 호출 하나뿐**이다. 시험 4건 — 그중 둘이 **음성대조**다(이어 쓸 때는 안 뜬다). 항상 뜨는 알림은 소음이고, 소음은 읽는 쪽이 건너뛰는 법을 배운다. pytest 66 통과(파이프 없이 · exit 0). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * fix: 새 프로브 번호를 ㉙ 로 — ㉘ 는 subspace 감사기가 이미 쓴다 카드 171 에 대한 대장님 답 b(기호만 안 겹치는 것으로 바꾼 뒤 머지) 집행이다. measure-mirror 의 mm.py 는 ㉑~㉘ 를 한 등록부로 쓰고, 그 ㉘ 는 이미 Subspace claim — declaration auditor 다(하위 항목 schema / no-anchor / energy-not-matched / null-ladder). 이 PR 이 붙인 ledger-birth 가 같은 번호를 두 번째 뜻으로 쓰고 있었다. 다음 빈 번호인 ㉙ 로 옮긴다. 바꾼 것은 기호 두 자리뿐이다 — server.py 의 Finding 이름과 0.2.13 절 한 줄. 0.2.10 절의 옛 ㉘ 두 줄은 진짜 ㉘ 를 가리키므로 그대로 뒀다. 시험은 기호가 아니라 ledger-birth 문자열로 검사하므로 안 깨진다. pytest 66 통과. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Mother Seara <seara@bhyi4.com> Co-authored-by: Claude Opus 5 (1M context) <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.
무엇을 고치나
08-26 에 신고된 "원장이 조용히 태어난다" 두 건은 MCP 경로였다. measure-mirror 0.41.0 이 세운 문(없는 원장 생성 거부)은
main()안에 있어 CLI 에만 걸린다 — 이 서버의 모든 툴은 파이썬 API 로 가므로 그 문을 통째로 지나친다.⇒ 수리가 정작 신고된 경로에 안 닿았다.
왜 막지 않았나
API 를 막으면 전 레인 봉인이 멈춘다 — 대부분의 호출자가 안 하는 실수 때문에. 그래서 막지 않고 보이게 한다.
mm_preregister⚠️ new_ledger_created+lint안㉘ ledger-birthWARNmm_retract·am_record·am_witness·pm_verify⚠️ new_ledger_created메시지는 절대경로를 찍는다 — 이 실패 양식의 본질이 "내가 어느 디렉터리에 있는지 모른다" 라서,
no such file은 도움이 안 된다.WARN 을 고른 이유: 출력 압축이 WARN 은 원문 그대로 두고 OK/INFO 는 개수로 접는다. 이 줄만 살아남아야 한다.
★ 왜 이 구멍은 다른 무엇으로도 못 메우나
갓 태어난 원장의 체인은 완벽히 성하다. 그래서 무결성 검사는 전부 초록이고, 어떤 프로브도 "이 파일은 새것"이라고 말할 이유가 없다. 08-26 실측이 정확히 그 모양이었다 — 체인은 멀쩡했고, 자리가 틀렸고, 자리를 보는 검사는 없었다.
그 정보가 존재하는 순간은 만드는 그 호출 하나뿐이다. 놓치면 영영 못 되찾는다.
실물
파일명이
mm_ledger.jsonl인 것에 주목 — 08-26 사고를 낸 바로 그 기본값이다.시험 4건 · 그중 둘은 음성대조
이어 쓸 때는 안 뜬다는 것을 시험한다. 항상 뜨는 알림은 소음이고, 소음은 읽는 쪽이 건너뛰는 법을 배운다 — 이 PR 이 고치려는 병과 같은 병이다.
시험 66 통과(파이프 없이 · exit 0).