본문 바로가기
C.W.K.
Lesson 03 of 04 · published

클린룸이 완료의 정의야

~13 min · cleanroom, doctor, runtime-zero

Level 0차가운 막대
0 XP0/41 lessons0/14 achievements
0/100 XP to next level100 XP to go0% complete

완료는 스크린샷이 아니야

코딩 엔진은 위성인 채로도 끝난 척할 수 있어. 창이 열려. 모형이 답해. 파일이 바뀌어. 그다음 뭐가 같이 떠 있어야 했냐고 물으면, 정직한 목록에 대화 집, 공용 디비, 볼트, 벤더 로그인, 가족 패키지 임포트가 들어가. 그 목록이 데모 사이로 진짜 의존을 흘리는 거야.

Firebrand의 완료 정의는 클린룸이야. 새 기계거나 집을 비운 홈 디렉터리, 로컬 모형 데몬, 로컬 모형 하나, 볼트 없음, 문 파일 없음, 키 없음, 로그인 없음. 엔진이 코딩 턴을 끝내고 기록을 남기고, 모형을 다시 부르지 않고 그 기록을 재생해. 실제 사무실 기계에선 가족 포트가 살아 있을 수 있어. 게이트는 그 포트가 꺼져 있기를 요구하지 않아. 한 번도 물어보지 않기를 요구해.

doctor가 말해도 되는 것

doctor는 같은 게이트를 말로 한 거야. 인터프리터, 코어가 가져도 되는 HTTP 클라이언트, 세션을 쓸 집, 지시 상태, 데몬 버전, 고른 모형이 진짜 로컬인지, 그 모형이 도구를 광고하는지, 설정된 브레인마다 인증 출처를 이름만 말하는지. 가족 검사도 찍어. 열려 있는지 여부, 물어본 적은 없음. 열려 있다가 초록이어도 실패가 아니야. 물어봤다가 실패야.

그 의식에서 정체성은 bare야. 지시 해시는 비어 있어. 자격 출처도 비어 있어. 환경에 심어 둔 유료 API 키 카나리아는 기록 줄에도, 자식 환경에도 나타나면 안 돼. 취향이 아니야. 클린룸이 지저분한 부팅에 대한 이야기로 무너지지 않게 붙잡는 문장이야.

부팅은 닿는 레그 하나야. 나머지는 증명하거나 거절하거나 빼 둘 수 있는 부착이야. 부착 없이는 엔진이 시작을 못 하면, 부착이 엔진이 된 거야.

게이트가 집을 비우는 이유

살아 있는 계정 안에서 도는 테스트는 언제나 볼트와 문 파일과 비밀 파일과 가족 데몬을 찾아. 엔진이 그걸 필요로 한다는 증명은 아니야. 그래서 클린룸 테스트는 프로세스를 빈 홈 픽스처로 돌리고, 배포되는 정문을 서브프로세스로 불러. 맨몸 정체성이 운영자의 실제 집이 알맞게 지저분할 때만 성립하면, 클린룸이 아니야. 운 좋은 프로필이지.

Code

클린룸이 주장하는 것, 읽는 사람 체크리스트로·python
required = {
    "identity": "bare",
    "instruction_hashes": [],
    "credential_sources": [],
    "family_consulted": False,
    "one_workspace_write": True,
    "clean_session_end": True,
    "replay_byte_identical": True,
}
# A missing key is a missing product, not a skipped test.

External links

Exercise

네가 내보내는 도구 하나를 집어 클린룸 문장을 써. 닿는 의존 하나, 나머지는 선택. 그다음 집을 비운 홈에서 부팅해 봐. 처음 죽는 임포트가 진짜 런타임 의존이야. README가 뭐라고 했든.
Hint
첫 죽음이 선택이라고 생각한 설정 파일이면, 그 설정 파일이 제품이야.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인 — 댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.