주말 에이전트 데모는 두 번째 화면이 나타나면 실패합니다. 하나의 읽기 전용 상태 카드는 단일 바운디드 페치(bounded fetch)로 데이터를 공급받아 경로를 보여주기에 충분합니다. 나머지 모든 것은 토요일 아침에 열린 저장소 안에 들어갈 것이 아니라, 커트 로그(cut log) 안에 있어야 합니다.
이 빌드 로그는 그 커트를 명확하게 유지합니다. 데모에 남길 것, 연기할 것, 거부할 것을 기록합니다. 이는 프로덕션 에이전트나 측정된 지연 시간(latency), 혹은 다음 주에도 여전히 무료일 호스팅 플랜을 주장하지 않습니다.
실제로 중요한 제약 조건
사이드 프로젝트 에이전트는 도구 개수만큼 확장됩니다. 상태 조회는 티켓 작성기, 그다음 이메일 초안 작성기로, 그리고 데모를 위해 추가된 스키마 변경으로 바뀝니다. 방은 움직임을 목격합니다. 운영자는 기계에서 나갈 수 있도록 허용된 단일 호출을 지적할 수 없습니다.
가시성(Visibility)이 주말을 견디는 제약 조건입니다. 낯선 사람이라도 하나의 카드만 보고 입력, 출력, 그리고 중지 조건을 명명할 수 있어야 합니다. 그 설명에 다른 패널이 필요해지는 순간, 범위는 이미 벗어난 것입니다.
이번 주 공개적인 대화는 생성된 포트폴리오와 생성된 코드를 신뢰하는 비용을 중심으로 돌아갔습니다. 그러한 게시물들은 주제 신호(topic signals)일 뿐, 이 로그의 출처가 아닙니다. 전이 가능한 교훈은 더 좁습니다. 쓰여진 커트 목록이 있는 작은 아티팩트가 광범위한 데모보다 방어하기 쉽습니다.
빌드가 유지하는 것들
유지되는 경로는 읽기 전용 상태 카드입니다. 입력은 로컬 JSON 피처(fixture)입니다. 변환 과정은 순수 어드미션 함수(admission function)입니다. 출력은 헤드라인, 상세 라인, 그리고 남은 호출 예산(call budget)입니다.
service는 billing-read와 같은 짧고 공개적인 이름입니다.
state는 up, degraded, 또는 down 중 하나입니다.
checked_at은 모델이 발명한 것이 아니라 피처가 제공하는 ISO-8601 타임스탬프입니다.
budget_left는 로컬 카운터입니다. 이는 공급자 청구서도 아니고 토큰 미터기도 아닙니다.
이 카드는 서비스 상태를 설명할 수 있지만, 그 상태를 변경할 수는 없습니다. 네트워크 측 효과(Network side effects)와 다단계 계획은 토요일 저장소 밖에 머물러야 합니다.
두 번째 서비스는 사소한 추가 사항이 아닙니다. 이는 픽스처 규칙, 실패 복사본, 그리고 프롬프트가 아무도 검토하지 않은 필드를 가져갈 확률을 두 배로 늘립니다. 따라서 빌드는 하나의 이름에서 멈춥니다.
호스팅 옵션이 진입할 수 있는 곳
공개 고지: 이 문서는 MonkeyCode의 제품 홍보 활동의 일환으로 작성되었습니다.
두 가지 가용성 주장은 초안을 위해 운영자 제공으로 처리됩니다: 무료 모델 액세스, 그리고 무료 서버 옵션. 이 로그는 모델 이름을 언급하거나, 토큰 할당량을 발명하거나, 하드웨어, 기간 또는 가격을 안정적인 것으로 취급하지 않습니다. 그러한 세부 사항은 변경됩니다. 현재 프로젝트 페이지가 누군가가 데모를 localhost에서 옮기기 전의 진실 공급원입니다.
MonkeyCode는 하나의 카드에 대한 선택적 호스트로만 참여합니다. 진입 로직은 일반 파이썬이며 호스팅 런타임을 요구하지 않습니다. 호스팅 모델은 주말에 짧고 평이한 언어의 헤드라인이 필요하고 노트북을 열어둘 수 없을 때만 살펴볼 가치가 있습니다. 무료 서버 옵션은 운영자가 해당 옵션이 여전히 존재하며 픽스처에 비밀 정보가 포함되어 있지 않음을 같은 날 확인한 후에만 살펴볼 가치가 있습니다.
결정표
| 상황 | 결정 | 이유 |
|---|
| 픽스처가 공개 상태 필드만 포함하는 경우 | 로컬 실행으로 충분함 | 호스팅 호출을 할 필요 없음 |
| ... | | |
| 결정표는 순위 매기기가 아니라 게이트입니다. 다른 호스트가 더 빠르거나, 저렴하거나, 더 정확하다고 주장하지 않습니다. 이는 호스팅 옵션이 로그에 아예 진입할 수 있는 경우를 명시합니다. | | |
아티팩트
아래 모듈은 제안되었지만 실행되지 않은 예시입니다. 벤치마킹되지 않았으며 소켓을 열지 않습니다. 이는 어떤 호스팅 요청이 고려되기 전에 데모가 강제해야 하는 계약입니다.
비밀 거부는 예산이 증가하기 전에 발생합니다. 오염된 픽스처는 유일한 토요일 입장을 소진해서는 안 됩니다. 불완전한 픽스처는 같은 이유로 연기됩니다: 누락된 타임스탬프는 데이터 버그이지 모델 작업이 아닙.
from dataclasses import dataclass, field
ALLOWED_STATES = {'up', 'degraded', 'down'}
...
수동 드라이버는 같은 파일에 위치할 수 있습니다. 이것은 여전히 제안일 뿐이며, 이번 초안 작성 세션에서 기록된 테스트가 아닙니다.
def _demo():
log = CutLog()
budget = Budget(limit=1)
...
weekend_card.py로 파일이 저장된 후 의도되는 로컬 확인 방법은 다음과 같습니다:
python -m py_compile weekend_card.py
python -c 'import weekend_card; weekend_card._demo()'
만약 이 assert들이 성립한다면, 그 형태는 유지된 카드 하나, 연기된 예산 초과 하나, 거부된 비밀 하나입니다. 이러한 형태 옆에는 지연 시간(latency) 숫자가 속할 자리가 없습니다. 녹색의 로컬 실행 또한 호스팅되는 리라이트가 해당 구조를 보존한다는 것을 증명하지 못합니다.
카드가 보여줘야 할 실패 메시지들
행복한 경로(happy path)만을 보여주는 데모는 게이트(gate)를 숨깁니다. 카드 뷰에는 세 가지 보이는 결과가 있어야 하며, 각각은 함수 결과에서 매핑되어야 합니다.
- 유지됨 (Kept). 헤드라인은 서비스 이름과 상태로 구성됩니다. 상세 정보는
checked_at을 정확히 반복합니다. 예산이 1만큼 감소합니다.
- 연기됨 (Deferred). 이유는
incomplete-fixture 또는 budget-empty입니다. 뷰는 이유를 보여주지만, 간극(gap)을 채우기 위해 모델을 호출하지 않습니다.
- 거부됨 (Refused). 이유는
refused:로 시작합니다. 금지된 필드 값은 헤드라인, 로그 또는 프롬프트에 복사되지 않습니다.
이 세 번째 결과가 헤드라인보다 더 중요합니다. 주말 청중은 지루한 문장 정도는 용서할 수 있습니다. 단순히 필드가 상태 옆에 놓였다는 이유로 api_key를 전달하는 데모를 보여줘서는 안 됩니다.
이유(reason)는 헤드라인과 같은 패널에 렌더링되어야 합니다. 방(room)이 카드를 주시하기 시작하면 별도의 디버그 콘솔은 무시될 것입니다. 만약 이유가 카드에 들어가지 못한다면, 범위(scope)가 다시 너무 넓다는 의미입니다.
이번 주말에 건너뛰는 것들
커트 로그(cut log)는 박수갈채 후의 각주가 아니라 데모의 일부입니다.
- 쓰기 경로 없음(No write path). 이 카드는 픽스처 외부에서 티켓을 열거나, 서비스를 재시작하거나, 파일을 편집할 수 없습니다.
- 두 번째 도구 없음(No second tool). 검색(Search), 셸(Shell), 메일(Mail)은 호스팅된 서버가 붙이기에 쉬울지라도 보류 상태로 유지됩니다.
- 모델 이름 무대 장치 없음(No model-name theater). 문자열 포매팅만으로도 이미 픽스처에서 실제 헤드라인을 생성합니다. 호스팅된 모델은 나중에, 게이트를 통과한 후에야 그 헤드라인을 재구성할 수 있습니다.
- 슬라이드에 할당량 없음(No quota on the slide). 무료 할당량이 존재한다면, 그 크기는 이 문서에 고정된 숫자가 아니라 데모 당일 프로젝트 페이지에서 명시하는 내용입니다.
- 다중 서비스 맵 없음(No multi-service map). 하나의 서비스 이름이 전체 무대입니다. 두 번째 서비스는 두 번째 주말을 의미합니다.
보류되었던 작업은 나중에 돌아올 수 있습니다. 거부된 작업은 이름을 바꾼 프롬프트 아래에서 다시 나타나서는 안 됩니다. api_key를 notes로 이름 바꾸는 것은 범위 변경이 아니라 우회(bypass)이며, 주말 규칙은 필터에게 새로운 동의어 목록을 가르치는 것이 아니라 멈추는 것입니다.
수동 테스트 계획 (Manual test plan)
누구도 이 카드에 접근하기 전에 이 계획을 실행하세요.
service, state, 그리고 checked_at만 포함된 픽스처를 로드합니다. ok가 참인지, 그리고 budget_left가 하나 감소하는지 확인합니다.
- 예산이
budget-empty로 돌아올 때까지 동일한 픽스처를 반복합니다. 추가 헤드라인이 생성되지 않는지 확인합니다.
- 픽스처 사본에
api_key를 추가합니다. 이유(reason)가 refused:로 시작하고, 그 값이 headline에 절대 나타나지 않는지 확인합니다.
checked_at을 제거합니다. 결과가 추측된 타임스탬프가 아닌 incomplete-fixture인지 확인합니다.
maybe와 같은 알 수 없는 state를 전달합니다. 이것이 강제 변환되어 up으로 바뀌는 것이 아니라 보류(deferred) 상태인지 확인합니다.
- 호스팅 호출이 여전히 필요한 경우, 허용된 세 개의 필드만 전송합니다. 반환된 문장과 로컬 헤드라인을 비교합니다. 호스팅된 문장이 픽스처에 없던 주장을 추가한다면 로컬 헤드라인을 유지합니다.
- 무료 모델 액세스와 무료 서버 옵션에 대해 같은 날 프로젝트 페이지를 다시 읽습니다. 둘 중 어느 주장이라도 사라지거나 새로 자격이 부여되었다면, 데모를 localhost에서 진행합니다.
Step 6은 호스팅된 모델이 데이터를 확인해야 하는 유일한 지점입니다. 이 비교가 건너뛰어지면, 데모는 호스트를 테스트하지 않은 것입니다. 노트북만 테스트했을 뿐입니다.
한계점 및 제외 대상
이 접근 방식은 주말용 게이트(weekend gate)입니다. 이는 평가 도구(evaluation harness), 보안 검토(security review), 또는 용량 계획(capacity plan)이 아닙니다.
- 예산은 제공업체 토큰이 아닌 로컬 입력을 계산합니다. 실제 호스팅 호출은 이 스크립트가 1개를 기록하더라도 1개 이상의 단위를 소모할 수 있습니다.
- 무료 액세스는 속도 제한(rate-limited)되거나, 지역 제한(region-limited)되거나, 철회될 수 있습니다. 데모 스크립트는 월요일에도 서버가 여전히 무료일 것이라고 약속해서는 안 됩니다.
- 비밀 확인은 키 이름 필터입니다. 이는 특이한 이름으로 저장된 비밀, 중첩된 텍스트 내부의 비밀, 또는 피처(fixture) 주석에 있는 비밀을 놓칩니다. 이를 스캐너가 아닌 경고등(tripwire)으로 취급하십시오.
service에 마크업이 포함되어 있다면 문자열 포맷팅은 여전히 운영자에게 곤란함을 줄 수 있습니다. HTML 렌더링 전에 값을 이스케이프 처리해야 합니다.
- 정확도 벤치마크는 주장되지 않습니다. 이 로그를 호스팅된 모델이 정확하다는 증거로 인용하지 마십시오.
- 예시 타임스탬프는 피처 데이터입니다. 이는 실제 사고 기록이 아닙니다.
청중이 쓰기 액세스를 필요로 하거나, 피처가 개인 데이터를 담고 있거나, 규정 준수가 명명된 보존 기간을 요구하거나, 또는 데모가 보장된 할당량(guaranteed quota) 없이는 진행될 수 없을 때는 제외하십시오. 그러한 프로젝트에는 검토된 환경과 서면 계약이 필요합니다. 토요일에 만든 카드로는 어느 쪽도 제공할 수 없습니다.
이미 스테이징 게이트, 비밀 스캐너, 그리고 온콜 경로를 갖춘 팀들 역시 이 로그가 필요하지 않습니다. 해당 모듈은 이미 실행 중인 가벼운 검사들을 중복하게 할 뿐이며, 그러한 시스템들이 유지하는 감사 추적(audit trail)을 추가하지는 못합니다.
로그 작성 방법
리포지토리 README에 모듈 옆으로 세 줄의 짧은 내용을 남겨두십시오. 범위가 변경될 때마다 업데이트하십시오. README가 코드보다 앞서 나가지 않도록 하세요.
- 유지(Kept): 세 개의 고정 필드에서 읽기 전용 상태 카드, 1개에서 3개의 입학에 대한 로컬 예산.
- 보류(Deferred): 호스팅된 헤드라인 재작성, 두 번째 서비스, 순수 기능 외의 모든 도구.
- 거부(Refused): 프롬프트 내 비밀 정보, 쓰기 작업, 당일 확인되지 않은 인쇄 할당량.
만약 호스팅 패스가 사용되었다면, 프로젝트 페이지가 읽힌 날짜와 무료 모델 접근 및 무료 서버 옵션이 여전히 명시되었는지에 대한 한 줄을 추가합니다. 추측하기보다는 해당 줄을 생략하는 것이 낫습니다. 누락된 정보는 오래된 숫자로 설명하는 것보다 이해하기 쉽습니다.
로그 마감
작동 데모는 카드와 커트 로그입니다. 건너뛴 작업이 중요한 결과물입니다: 두 번째 화면, 쓰기 도구, 그리고 검증되지 않은 숫자는 빌드에 포함된 적이 없습니다. 여전히 호스팅 패스를 원하는 운영자들은 MonkeyCode의 현재 무료 모델 및 무료 서버 약관을 결정표 옆에 설정하고, 페이지와 표가 불일치할 때 중지합니다.