docs: align Harness step execution guidance
This commit is contained in:
@@ -18,6 +18,21 @@
|
||||
- 모든 기능은 tolerance 기준을 명시하고, 기준을 만족할 때만 배포 후보가 된다.
|
||||
- Harness 운영은 `docs/HARNESS_WORKFLOW.md`의 계획, 독립 Step 실행, PreToolUse/Stop 검증 계층을 따른다.
|
||||
|
||||
## Harness Step 실행 계약
|
||||
|
||||
계획과 구현 Agent는 작업 전 `docs/HARNESS.md`와 `docs/HARNESS_WORKFLOW.md`를 읽는다.
|
||||
Implementation Planning Agent는 multi-Step 초안을 사용자에게 승인받은 뒤 planning files만
|
||||
materialize하며 Step을 선택하거나 실행하지 않는다. Executor는 별도의 명시적 사용자 요청으로
|
||||
`scripts/execute.py`를 실행할 때 branch, pending Step 선택, retry, timestamps, commits, Step
|
||||
advancement와 phase status를 소유한다.
|
||||
|
||||
Implementation Agent는 approved plan, materialized phase files, Executor-selected current
|
||||
`stepN.md`만 사용해 `RED -> observed failure -> minimal GREEN -> focused/full VERIFY`를 완료하고
|
||||
다음 Step을 시작하지 않는다. Agent가 쓸 수 있는 Harness metadata는 current Step의 `status`와
|
||||
`summary`, `error_message`, `blocked_reason` payload뿐이다. `.codex/hooks.json`이 PreToolUse
|
||||
interception과 Stop whole-project validation을 자동 실행하므로 hook entry point를 수동 실행해
|
||||
대체하지 않는다. 세부 schema와 recovery 절차는 `docs/HARNESS_WORKFLOW.md`를 따른다.
|
||||
|
||||
## 전체 Agent 구성
|
||||
|
||||
### Coordinator Agent
|
||||
@@ -159,19 +174,28 @@ Directory와 filename은 제공된 값을 그대로 사용한다. Reference Mode
|
||||
|
||||
필수 절차:
|
||||
- 구현 계획 요청에서 project-local `$harness` skill을 사용한다.
|
||||
- `docs/HARNESS.md`와 `docs/HARNESS_WORKFLOW.md`를 읽고 multi-Step 초안만 사용자에게
|
||||
제시한다.
|
||||
- 한 Step은 하나의 layer/module만 다루고 각 Step에 prerequisite file, TDD
|
||||
RED/GREEN/VERIFY, 정확한 MSVC/CMake/CTest command와 금지사항을 포함한다.
|
||||
- Step 초안을 먼저 사용자에게 제시한다. 승인 전에는 `phases/` 파일을 생성하지 않는다.
|
||||
- Harness executor 실행은 별도 사용자 요청이 있을 때만 수행한다.
|
||||
- 승인 후에는 planning files만 materialize하고 Step 선택/실행은 하지 않는다. Harness executor
|
||||
실행은 별도 사용자 요청이 있을 때만 수행한다.
|
||||
|
||||
### Implementation Agent
|
||||
C++ 코드를 구현하는 Agent이다.
|
||||
|
||||
책임:
|
||||
- `docs/HARNESS.md`, `docs/HARNESS_WORKFLOW.md`, materialized phase files와
|
||||
Executor-selected current `stepN.md`를 읽고 현재 Step만 수행한다.
|
||||
- 테스트를 먼저 작성하고 실패를 확인한다.
|
||||
- 정식화와 I/O schema에 맞춰 최소 구현을 작성한다.
|
||||
- C++17 이상, MSVC, CMake, CTest 환경에서 동작하도록 구현한다.
|
||||
- 불필요한 일반화나 speculative abstraction을 피한다.
|
||||
- current Step의 `status`와 `summary`, `error_message`, `blocked_reason`만 기록한다.
|
||||
branch, retry, timestamp, commit, advancement는 Executor에 맡긴다.
|
||||
- `.codex/hooks.json`으로 자동 등록된 PreToolUse와 Stop을 사용하며 hook script를 수동
|
||||
검증 대체물로 실행하지 않는다.
|
||||
|
||||
주요 산출물:
|
||||
- C++ source/header 변경
|
||||
|
||||
Reference in New Issue
Block a user