46 lines
2.8 KiB
Markdown
46 lines
2.8 KiB
Markdown
# 데이터 전달 프로토콜 — orchestrate-ptop-harness
|
|
|
|
| 대상 | 방식 |
|
|
|---|---|
|
|
| 아키텍처 → 구현 의존 | 파일 (`_workspace/01_ptop_architecture.md`) |
|
|
| 실시간 질문·상충 | `SendMessage` (이름 지정) |
|
|
| 진행 추적 | `_workspace/_progress.md`(진실원) + `TaskCreate`/`TaskUpdate`(가용 시 보조, 02는 01에 blockedBy) |
|
|
| 최종 산출물 | `_workspace/00_PTOP_HARNESS_SUMMARY.md` |
|
|
|
|
## 진행 원장 `_workspace/_progress.md`
|
|
|
|
**진행 원장은 파일이다.** `TaskCreate`/`TaskUpdate`는 메인 루프에서는 쓸 수 있지만
|
|
**서브에이전트 컨텍스트에는 없을 수 있다.** 도구 가용 여부와 무관하게 동작하도록,
|
|
진행·재시도 기록의 **진실원은 `_workspace/_progress.md`** 로 둔다:
|
|
|
|
| 에이전트 | 상태 | 시도 | 갱신시각 |
|
|
|---|---|---|---|
|
|
| ptop-lead | 진행중 / 완료 / 실패 / **생략** | 1/2 | YYYY-MM-DD HH:MM |
|
|
|
|
**상태 enum은 4종이다.** `진행중`·`완료`·`실패` 는 이번 실행에서 **기동한** 에이전트의 상태이고,
|
|
**`생략 — 이전 산출물 재사용`** 은 **이번 실행에서 기동하지 않은** 에이전트를 뜻한다
|
|
(모드와 무관하다 — `이어서`에서 산출물이 이미 있어 건너뛴 경우든, `부분`에서 지목되지 않은
|
|
경우든 똑같이 `생략` 으로 적는다).
|
|
|
|
> **`생략` 을 적지 않으면 19R의 교착이 재발한다.** Phase 3·4는 이 값으로
|
|
> "완료 알림을 기다릴 대상"과 "파일 존재로 판정할 대상"을 가른다. `진행중` 으로 적으면
|
|
> 오지 않을 알림을 무기한 기다린다. 소비처 → `mode-rules.md` §생략의 파급.
|
|
|
|
`TaskCreate`/`TaskUpdate`가 있으면 보조로 함께 쓰되, 없다고 해서 절차가 멈추지 않는다.
|
|
|
|
## stale 표기 — 날짜 규칙과 연쇄 무효화
|
|
|
|
표기 위치는 **각 산출 파일(`01`~`06`)의 첫 줄**과 통합 보고서의 각 영역 절 머리, **양쪽 모두**다.
|
|
보고서에만 적으면 파일을 직접 여는 사람이 최신 여부를 알 수 없다.
|
|
|
|
| 상황 | 첫 줄 문구 |
|
|
|---|---|
|
|
| 이번 실행에서 새로 씀 | `이번 실행에서 갱신됨(YYYY-MM-DD)` |
|
|
| 이전 판을 그대로 재사용 | `이전 실행 결과 재사용(YYYY-MM-DD)` |
|
|
| 선행 산출이 갱신돼 정합성 미확인 | `이전 실행 결과 재사용 — 01 갱신으로 정합성 미확인(YYYY-MM-DD)` |
|
|
|
|
- 날짜는 **그 파일을 실제로 쓴 실행일**이다. 재사용할 때는 **그 파일에 이미 적힌 날짜를 그대로 옮긴다** —
|
|
파일 mtime을 추정해 적지 않는다.
|
|
- **연쇄 무효화:** `01`을 갱신하면 그것에 의존해 만들어진 `02`·`03`은 단순 "재사용"이 아니라
|
|
**정합성 미확인** 상태다. 함께 재실행할지 사용자에게 묻고, 거절하면 3행 문구로 표기한다.
|