Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 24 additions & 18 deletions README.ko.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,24 +30,30 @@ Intent → Plan → Build → Evidence. 코드를 쓰기 전에는 여러 탐색

## 루프

| # | 단계 | 하는 일 | 끝나는 시점 |
|---|---|---|---|
| 1 | **Intent** | 요청한 것, 에이전트가 이해한 것, 그 이해에 숨은 위험을 적습니다. 사람이 확인합니다. | intent 승인 |
| 2 | **Plan** | 여러 scout가 나란히 정본·데이터·로직·사용자 흐름을 조사해 `refs/`에 남깁니다. `PLAN.md` 한 장에 AS-IS → TO-BE, 부작용, QA가 돌릴 시나리오를 담습니다. | plan 승인 |
| 3 | **Build** | 가장 작은 완전한 변경을 만들고, 별도 리뷰어가 공격적으로 검토합니다. FAIL이 세 번이면 멈춥니다. | 리뷰 PASS |
| 4 | **Evidence** | 통합·E2E 검사 뒤, 모든 시나리오를 각 페르소나로 실제 인터페이스에서 돌립니다. 점수와 다음 경로는 스크립트가 정합니다. | 납품 |

**Evidence 뒤 라우팅**은 에이전트 판단이 아니라 `sdlc.sh score`가 계산합니다.

1. 계획 때문에 생긴 실패, 또는 같은 코드 실패의 반복 → **Plan**으로
2. must 시나리오가 전부 통과하고 전체의 95% 이상 통과 → **납품**
3. 환경이 없어 시나리오를 못 돌렸고, 그 때문에 납품이 막힘 → **사람**에게
4. 나머지 → **Build**로

되돌아가는 횟수는 경로마다 세 번까지이고, 넘으면 사람이 정합니다. 루프는
`sdlc.sh approve plan --human`으로만 다시 시작합니다. 못 돌린 시나리오는 실패로
칩니다. 시나리오를 지우는 것은 사람만 할 수 있습니다. PASS에는 반드시 로그가
붙어야 합니다.
```mermaid
flowchart LR
I["1 Intent"] -->|사람 승인| P["2 Plan"]
P -. 빈틈 발견 .-> P
P -->|계획 승인| B["3 Build"]
B -. 리뷰 FAIL: 고치고 다시 리뷰 .-> B
B -->|리뷰 PASS| E["4 Evidence"]
E -. 계획이 틀렸거나 같은 실패 반복 .-> P
E -. 코드 실패 .-> B
E -->|must 전부 통과, 전체 95% 이상| D(["납품"])
E -->|돌릴 환경 없음| H(["사람이 결정"])
```

| 단계 | 하는 일 | 되돌아가는 때 |
|---|---|---|
| **1 Intent** | 요청한 것, 에이전트가 이해한 것, 그 이해에 숨은 위험을 적습니다. 사람이 확인합니다. | — |
| **2 Plan** | 여러 scout가 나란히 정본·데이터·로직·사용자 흐름을 조사해 `refs/`에 남깁니다. `PLAN.md` 한 장에 AS-IS → TO-BE, 부작용, QA가 돌릴 시나리오를 담습니다. | 누락 점검에서 빈틈이 나올 때 |
| **3 Build** | 가장 작은 완전한 변경을 만들어 커밋하고, 별도 리뷰어가 공격적으로 검토합니다. | 리뷰 FAIL: 고치고 다시 리뷰 |
| **4 Evidence** | 실제 검사 뒤, 모든 시나리오를 각 페르소나로 실제 인터페이스에서 돌립니다. 점수와 다음 경로는 에이전트가 아니라 `sdlc.sh score`가 정합니다. | 계획이 틀렸거나 같은 실패 반복 → Plan, 코드 실패 → Build |

되돌아가는 횟수는 리뷰 FAIL, Plan 복귀, Build 복귀마다 세 번까지입니다. 넘으면
루프가 멈추고 사람이 정하며, `sdlc.sh approve plan --human`으로만 다시 시작합니다.
못 돌린 시나리오는 실패로 칩니다. 시나리오를 지우는 것은 사람만 할 수 있고,
PASS에는 반드시 로그가 붙어야 합니다.

## 빠른 시작

Expand Down
41 changes: 24 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,23 +30,30 @@ and needs no particular harness: it is Markdown plus one shell script.

## The loop

| # | Phase | What happens | Leaves when |
|---|---|---|---|
| 1 | **Intent** | What you asked, what the agent understood, and the risks in that understanding. You confirm it. | intent approved |
| 2 | **Plan** | Parallel scouts map source of truth, data, logic and user flow into `refs/`; one `PLAN.md` holds AS-IS → TO-BE, side effects and the scenarios QA will run. | plan approved |
| 3 | **Build** | The smallest complete change, then a separate adversarial reviewer. Three FAILs stop the loop. | review PASS |
| 4 | **Evidence** | Integration and E2E checks, then every scenario run as its persona through the real interface. A script scores it and routes it. | delivered |

**Routing after Evidence** — computed by `sdlc.sh score`, not judged by the agent:

1. a failure the plan caused, or the same code failure twice → back to **Plan**
2. every must scenario passes and ≥ 95% of all scenarios pass → **deliver**
3. scenarios could not run (no environment) and that is what blocks delivery → **the human**
4. otherwise → back to **Build**

Each kind of return is capped at three; then the human decides, and only
`sdlc.sh approve plan --human` resumes the loop. A scenario that could not run
counts as failed, only you can remove a scenario, and every PASS needs its log.
```mermaid
flowchart LR
I["1 Intent"] -->|you approve| P["2 Plan"]
P -. gap found .-> P
P -->|plan approved| B["3 Build"]
B -. FAIL: fix, re-review .-> B
B -->|review PASS| E["4 Evidence"]
E -. plan was wrong, or same failure twice .-> P
E -. code failed .-> B
E -->|every must passes, 95%+ overall| D(["deliver"])
E -->|no environment to run it| H(["you decide"])
```

| Phase | What happens | Goes back when |
|---|---|---|
| **1 Intent** | What you asked, what the agent understood, and the risks in it. You confirm it. | — |
| **2 Plan** | Parallel scouts map source of truth, data, logic and user flow into `refs/`; one `PLAN.md` holds AS-IS → TO-BE, side effects and the scenarios QA will run. | the gap check finds holes |
| **3 Build** | The smallest complete change, committed, then a separate adversarial reviewer. | the review FAILs: fix it, review again |
| **4 Evidence** | Real checks, then every scenario as its persona through the real interface. `sdlc.sh score` scores and routes it; the agent does not judge. | the plan was wrong or the same failure came twice → Plan; code failed → Build |

Every way back is capped at three — three review FAILs, three returns to Plan,
three to Build — then the loop stops for you, and only
`sdlc.sh approve plan --human` resumes it. A scenario that could not run counts
as failed, only you can remove a scenario, and every PASS needs its log.

## Quick start

Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.0.0
2.1.0
Loading
Loading