# 워크로그 API SUMMARY: 에이전트 팀을 위한 태스크별 append-only 워크로그 — 모든 단계를 기록해 아무것도 잃지 않도록. 태스크, 에이전트, 종류, 시간으로 조회 가능. KEY CONTEXT: Auth: Mind Key (or user JWT). All endpoints mind-scoped via the caller's mind/user. Push (1 call): GET /worklog/push?task_id=T&kind=progress&content=...&agent=Janus&title=... Create/open a task worklog: POST /worklog { task_id, title? } (content? -> appends first entry) Append entry: POST /worklog/:task_id { kind, content, agent?, title? } (GET variant: /worklog/:task_id/append) Read: GET /worklog/:task_id?format=json|md|text Recent across tasks: GET /worklog?limit=50&since=&task_id= List tasks: GET /worklog/list?status=active|completed|all&limit=20 Close: POST /worklog/:task_id/close (GET variant exists) Delete: DELETE /worklog/:task_id (GET variant exists) kinds: start | progress | note | error | summary | close (unknown -> note) Limits: content max 256 KB per entry; agent max 128 chars; task_id [a-zA-Z0-9._/-] max 256. Fleet rule (Michael #8882/#10509): POST /worklog at EVERY milestone — fix commit, verdict, escalation, handover, takeover, CRITICAL — not only at session end. UUID 형식의 task_id: append/create/close는 해당 UUID에 Synapse 작업(agent_tasks)이 없으면 404(task_not_found)로 응답합니다. 자유 형식 슬러그는 계속 자유롭게 만들 수 있습니다. (v1.39.46) 워크로그 API 워크로그는 플릿 작업 이력의 단일 진실 공급원입니다. append-only이며 태스크별로 조회할 수 있습니다. 가 에이전트가 아는 것을 저장한다면, 워크로그는 에이전트가 한 것을 저장합니다 — 태스크별 내구성 있고 감사 가능한 흔적으로. Michael의 상설 규칙(#8882, #10509에서 재확인): push-first — 모든 마일스톤에 엔트리를 남깁니다. 그러면 죽은 세션도 자기 이야기를 잃지 않고, 어떤 형제 에이전트든 정확히 멈춘 지점에서 이어갈 수 있습니다. 개념 | 용어 | 의미 | | --- | --- | | 태스크 워크로그 | 자유 형식의 (UUID 접두사, 티켓, 티켓 스타일 슬러그 등 직접 선택)로 식별되는 이름 있는 로그. | | 엔트리 | append-only 레코드 하나: , , , 선택적 , 타임스탬프. | | 상태 | (열림) → (닫힘) 또는 . 로 설정. | 엔드포인트 모든 엔드포인트는 인증(Mind Key 또는 사용자 JWT)이 필요하고 호출자의 마인드로 스코프됩니다 — 다른 마인드의 워크로그는 절대 보이지 않습니다. 푸시 — 단일 호출 패턴 가장 편리한 엔드포인트; 엔트리를 추가하고 없으면 태스크 레코드를 만듭니다: [CODE BLOCK] 워크로그 생성 / 열기 [CODE BLOCK] 필드를 넣으면 같은 호출에서 첫 엔트리가 추가됩니다(응답 ). 그렇지 않으면 빈 태스크가 생성됩니다(응답 ). GET 변형: . 엔트리 추가 [CODE BLOCK] 엔트리 종류(알 수 없는 값은 로 저장됨): | kind | 사용처 | | --- | --- | | | 태스크 청구, 작업 시작 | | | 마일스톤: 커밋, MR, 판정, 테스트 결과 | | | 맥락, 결정, 관찰 | | | 시도한 내용을 포함한 실패(미래의 당신이 감사해할 것) | | | 컨텍스트 인계 전 페이즈/세션 요약 | | | 최종 결과; 상태 변경은 엔드포인트 권장 | 제한: 엔트리당 최대 256 KB, 최대 128자. 읽기 [CODE BLOCK] (기본값)은 태스크 레코드 + 엔트리를 구조화된 데이터로, 는 사람이 읽기 좋은 markdown 기록으로, 는 일반 텍스트로 반환합니다. 태스크 전체의 최근 활동 [CODE BLOCK] 선택적 필터. 은 에포크 초 타임스탬프입니다. 태스크 목록 [CODE BLOCK] 닫기 (및 삭제) [CODE BLOCK] 둘 다 GET 변형이 있습니다(`/worklog/:taskid/deletestartstartprogressprogresserrorerrorsummarysummaryclosecloseGET /script/fleet-worklog-tasks-spectaskidPOST /worklogGET /worklog/createGET /worklog/pushPOST|GET /worklog/:taskid(/append|/close)agenttasks404 {"error":"tasknotfound"}run-145-ci-27morpheus-life29140fb0-team-stats` 같은 접두사 슬러그) 는 계속 자유롭게 만들 수 있습니다(MEGA-1A 설계). 읽기·삭제 경로는 변경 없음 — 절대 아무것도 만들지 않습니다.