{"name":"Chore Forge","summary":"반복 잡무를 자연어로 설명하면 세 개의 GitHub Copilot 에이전트가 실행 가능한 파이썬 도구를 작성·검증해 영구 스킬로 등록합니다. 등록 후에는 모델 호출 없이 밀리초 단위로 재실행됩니다.","authentication":"없음. 모든 엔드포인트가 자격 증명 없이 접근 가능합니다.","recommended_order":["GET /api/stats — 현재 상태 파악","GET /api/skills — 이미 등록된 스킬 확인 (데모 스킬 3개가 미리 심어져 있음)","POST /api/skills/{id}/run — 즉시 결과를 볼 수 있는 가장 빠른 경로 (~0.03초)","POST /api/forge — 전체 에이전트 파이프라인 관찰 (SSE, 60~200초 소요)","GET /api/runs — 방금 실행한 기록 확인","GET /api/forge/runs — 지난 단조의 단계·도구 호출·판정 기록 (단조를 돌리지 않고 확인)"],"endpoints":[{"method":"GET","path":"/healthz","returns":"서비스 상태와 저장소 백엔드"},{"method":"GET","path":"/api/stats","returns":"스킬 수, 실행 수, 절약 시간, 속도 배수"},{"method":"GET","path":"/api/forge/runs","returns":"단조 이력. stages, tool_calls(VerifierAgent 의 샌드박스 tool 호출 수), sandbox_attempts(2 이상이면 자가 수정 발생), verdict, auto_approved, elapsed_seconds"},{"method":"GET","path":"/api/skills","returns":"스킬 전체 목록 (코드 포함)"},{"method":"GET","path":"/api/skills/{id}","returns":"스킬 단건"},{"method":"POST","path":"/api/skills/{id}/run","body":{"input":"스킬에 넘길 텍스트","source":"agent"},"returns":"실행 결과, 소요 시간, 누적 절약 시간"},{"method":"POST","path":"/api/forge","body":{"request":"자연어 잡무 설명","manual_minutes":15,"require_approval":false},"returns":"text/event-stream — stage / delta / sandbox / draft / end 이벤트","note":"완주에 60~200초. 스트리밍을 지원하는 클라이언트로 호출하세요."},{"method":"GET","path":"/api/runs?limit=50","returns":"최근 실행 기록"},{"method":"POST","path":"/api/skills/{id}/approve|reject","returns":"상태 변경"},{"method":"DELETE","path":"/api/skills/{id}","returns":"삭제"}],"safety":"생성된 코드는 AST 허용목록 검사와 격리 서브프로세스(네트워크·파일시스템 차단, CPU 5초, 메모리 512MB, 12초 타임아웃)를 모두 통과해야만 등록됩니다. 샌드박스에 실패한 코드는 어떤 모드에서도 자동 등록되지 않습니다.","openapi":"/openapi.json","interactive_docs":"/docs","forge":{"status":"ready","token_configured":true,"detail":"새 도구를 단조할 수 있습니다."}}