위키 · 구현 참조
구성과 범위
파일 handoff를 이루는 구성요소와 각 요소가 주고받는 파일을 설명합니다. 구성별 책임과 경계를 확인해 공개 참조 코드와 로컬 운영 파일을 구분할 수 있습니다.
아래 로컬 경로는 설치별 좌표를 설명합니다. 전체 범위는 구성별 경계에서 구분합니다.
요소와 파일
표의 로컬 경로는 <로컬 운영 루트>를 기준으로 한 상대 경로입니다. 공개 p-hermes 저장소에 같은 경로가 있다는 뜻은 아닙니다.
| 요소 | 위치 | 책임 | 주고받는 파일 |
|---|---|---|---|
| 매니저 세션 | Hermes 런타임 세션 저장소; 구체 경로는 설치 설정이 정합니다. | 요청의 목표·범위·완료 기준을 정하고 등록 결과와 산출을 확인합니다. | 요청 본문 파일, 등록 결과 JSON, 응답서와 산출물 |
| 요청 등록기 | orchestration/glm/scripts/ensure_request.py, 등록 자료는 orchestration/glm/goals/ | 목표·시도 식별자를 관리하고 요청서를 inbox에 새로 만들거나 기존 시도를 재사용합니다. | 매니저가 준비한 본문, goals/<goal_id>.json, inbox/<request_id>-request.md, 등록 결과 JSON |
| inbox | orchestration/glm/inbox/ | 등록된 요청서 하나를 한 번의 시도로 보관합니다. | *-request.md; 처리 후 원 요청은 별도 done/ 하위에 보존될 수 있습니다. |
| dispatcher | orchestration/worker_dispatch.py | 허용된 요청 경로를 확인하고 중복·시도 상태를 기록하며 제한된 워커 프로세스를 실행하고 terminal 응답을 정산합니다. | inbox 요청서, tasks/<request_id>/state.json, profile별 claim·시도 로그, outbox 응답서 |
| 워커 프로세스 | dispatcher가 실행한 자식 프로세스 | 요청서와 필요한 참조를 읽고 허용 범위에서 작업해 산출과 응답을 남깁니다. | 요청서·자료 묶음(context pack) 읽기; outbox 응답서와 요청에 따른 JOB 산출물 쓰기 |
| outbox와 상태 | orchestration/glm/outbox/, orchestration/tasks/<request_id>/state.json | 응답서는 사람이 읽는 결과를 전달하고, 상태 파일은 시도·dispatcher 실행 상태를 구조화합니다. | *-response.md, state.json, 필요 시 checkpoint·로그 |
| JOB 폴더와 게이트 | workspace/jobs/<JOB>/, core/skills/custom/workflow/ | 여러 단계 작업의 승인·실행·검증·완료 근거와 산출을 보관하며, 게이트가 단계 필수 파일을 검사합니다. | request.md, approval.md, execution.md, verification.md, result.md, artifacts/ |
| 지식 저장소 | knowledge/ 아래 lessons·references·wiki 등 | 재사용할 사실·근거와 절차 후보를 보존하며 요청 관련 자료를 찾아 작업에 연결합니다. | 자료 묶음, 검색 후보, 원본·교훈 파일 |
| 주기 작업 | cron/ 및 Hermes scheduler 상태 | 일정에 따라 지정된 프롬프트·명령을 실행하도록 예약합니다. 실행 컨텍스트와 파일 dispatcher는 별도 구성입니다. | 예약 정의·실행 상태·결과 로그 |
한 요청이 지나가는 순서
매니저
→ 등록기: goal/revision을 확인하고 요청서 생성·재사용·대체
→ inbox: <request_id>-request.md
→ dispatcher: 경로·중복 확인, task state/attempt 기록, 워커 실행
→ 워커: 요청 수행, 산출 보존, 응답서 작성
→ outbox: <request_id>-response.md
→ 판정: dispatcher 상태·응답서·산출 경로를 대조해 수용 또는 이어가기
등록 결과의 created, reused, superseded는 각각 새 요청, 기존 요청 재사용, 새 revision/시도로 이전 요청을 대체해 등록했음을 나타냅니다. 등록만으로 자식 프로세스가 실행되지는 않습니다.
상태 파일과 응답서
state.json은 새 상태형 작업의 실행 기록입니다. 예를 들어 queued는 등록 대기, running은 워커 실행, verifying은 응답 확인, succeeded는 실행 완료를 나타냅니다. 실행 중 부분 결과나 복구 대기는 waiting, 실패·차단은 failed로 정산될 수 있습니다. 이 상태는 응답서의 done/partial/failed/blocked와 같은 필드나 상태 체계가 아닙니다. 응답서와 파일 실물을 함께 확인합니다.
Hermes 엔진·로컬 운영·p-hermes 공개 범위
이 사이트는 Hermes 엔진 위의 로컬 운영 확장을 설명하며, 공개 저장소의 소형 파일 전달 참조 구현과 구분합니다.
| 범위 | 책임과 확인할 수 있는 것 | 위치 또는 정본 |
|---|---|---|
| Hermes 엔진 | 대화 세션을 실행하고 모델·도구 사용, 세션·메모리·스킬 등 제품 기능을 제공합니다. 파일 handoff 흐름 전체가 엔진 자체의 공통 인터페이스라는 뜻은 아닙니다. | hermes-agent.nousresearch.com 공식 구조 문서 |
| 로컬 운영 확장 | 설치에 맞춘 매니저·워커 규칙, 요청 등록·dispatcher, inbox/outbox, JOB 게이트와 지식 저장소를 결합합니다. 구체 경로와 동작은 해당 설치의 운영 정본에서 확인합니다. | <로컬 운영 루트>/orchestration/, core/, workspace/jobs/, knowledge/ |
| p-hermes 공개 구현 | 학습을 위한 독립적인 파일 handoff 예제·계약 테스트·합성 fixture를 제공합니다. Hermes 전체, 사설 dispatcher/JOB 운영, 실제 서비스 권한을 설치하거나 대표하지 않습니다. | 공개 저장소의 reference/, tests/, examples/ |
근거 파일
| 확인 내용 | 정본 경로 |
|---|---|
| 디렉터리 소유와 경계 | <로컬 운영 루트>/orchestration/STRUCTURE.md |
| 요청 등록·목표 revision | <로컬 운영 루트>/orchestration/glm/scripts/ensure_request.py |
| dispatcher·프로세스·응답 정산 | <로컬 운영 루트>/orchestration/worker_dispatch.py, orchestration/glm/executor/state.py |
| 응답서 계약·JOB 게이트 | <로컬 운영 루트>/orchestration/WORKER.md, core/skills/custom/workflow/ |
| 공개 사이트·코드 범위 | README.md, content/reference/contracts.md, reference/ |
확인 기준: 2026-10-13. 경로와 절차는 해당 설치의 현재 정본을 다시 확인합니다.