frontmatter 필드
사람이 쓰는 필드와 디스패처·엔진이 쓰는 필드는 갈립니다(티켓이 지나는 상태가
이미 그 경계를 세웠습니다). 사람이 쓰는 필드에 엔진 쪽 값을 미리 채워 넣으면 안 됩니다.
session_id:를 채워두면 이미 할당된 티켓으로 보이고, 그러면 어떤 워커도 그 티켓을
집어 가지 않습니다.
사람이 쓰는 필드
| 필드 | 필수 | 뜻 |
|---|---|---|
ticket | ✓ | 해시. 파일명과 같게 둡니다(없으면 파일명에서 땁니다) |
title | ✓ | 사람이 읽는 제목 |
kind | work=지시 / request=부탁 / feedback=결과보고. 표시용이고 값을 강제하지 않습니다 | |
persona | 수행할 페르소나 이름. 없으면 페르소나 없는 평범한 에이전트가 처리합니다. 알파벳·숫자·-·_만 통과합니다 | |
deps | [<hash>...] 하드 선후. 전부 완료여야 큐에 뜹니다 |
디스패처·엔진이 쓰는 필드
| 필드 | 쓰는 시점 | 뜻 |
|---|---|---|
session_id | assign — 엔진을 띄우기 전 | 있으면 할당된 것으로 보고 큐에서 제외합니다. 판정이 보는 값은 이것 하나뿐입니다 |
assigned_at | assign과 동시 | 할당 시각(reap의 유예 판정에 쓰입니다) |
owner | assign(자동 디스패치) 또는 handclaim(손 클레임) | 자동이면 <페르소나 또는 agent> / <워커>-<sid 앞8자리>, 손 클레임이면 호출자가 준 식별자 |
pid | setpid — 엔진을 백그라운드로 띄운 뒤, 또는 handclaim이 조상 claude pid를 기록 | 생존 확인용. 큐 제외 판정과는 상관이 없습니다 |
inbox | setinbox — 최초 프롬프트 주입이 끝난 뒤 | 참견 FIFO 경로. FIFO 파일은 세션이 끝나면 사라지지만 이 값 자체는 정상 완료나 자동 스테일 회수로는 안 지워집니다. unassign이나 디스패치 실패로만 비워집니다 |
claimed_at | handclaim | 손으로 잡은 시각(유휴 판정 유예에 쓰입니다) |
transcript | handclaim | 그 순간 가장 최근 트랜스크립트 경로(유휴 판정용) |
attempts | reap(회수할 때마다 증가) | 자동 회수 2회까지 세고, 답변 요청으로 전환되면 0으로 리셋됩니다 |
awaiting | reap이 답변 요청으로 올릴 때(자동 회수 3회째, 또는 본문 마지막 절이 ## 블록이면 횟수 무관 즉시) | 존재하지 않는 해시. deps처럼 걸려 큐를 잠급니다. 같은 이름의 답변 파일(<awaiting>.done.md)이 생기면 저절로 풀립니다 |