@simplysm/sd-claude 14.0.79 → 14.0.81
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/claude/references/sd-requirement-source-handling.md +17 -17
- package/claude/references/sd-simplysm14/README.md +58 -58
- package/claude/references/sd-simplysm14/manuals/client-component.md +739 -739
- package/claude/references/sd-simplysm14/manuals/client-crud.md +1 -1
- package/claude/references/sd-simplysm14/manuals/client-demo.md +1 -1
- package/claude/references/sd-simplysm14/manuals/client-setup.md +2 -2
- package/claude/references/sd-simplysm14/manuals/client-tab.md +2 -2
- package/claude/references/sd-simplysm14/manuals/logging.md +3 -3
- package/claude/references/sd-simplysm14/manuals/orm-union.md +7 -7
- package/claude/references/sd-simplysm14/manuals/orm.md +75 -75
- package/claude/references/sd-simplysm14/manuals/test.md +8 -8
- package/claude/rules/sd-base-rules.md +261 -354
- package/claude/rules/sd-design-rules.md +44 -0
- package/claude/{sd-check-forbidden-files.py → sd-check-edit.py} +2 -1
- package/claude/{sd-check-bash.py → sd-check-shell.py} +2 -2
- package/claude/settings.json +3 -4
- package/claude/skills/sd-commit/SKILL.md +17 -17
- package/claude/skills/sd-config/SKILL.md +4 -4
- package/claude/skills/sd-demo/SKILL.md +41 -43
- package/claude/skills/sd-demo/evals/fixtures/inventory-list/.specs/inventory/spec.md +99 -0
- package/claude/skills/sd-demo/evals/fixtures/inventory-list/packages/demo-client/package.json +12 -0
- package/claude/skills/sd-demo/evals/fixtures/inventory-list/packages/demo-client/src/index.ts +3 -0
- package/claude/skills/sd-demo/evals/fixtures/inventory-list/packages/demo-client/src/screens/inbound/inbound.list.ts +150 -0
- package/claude/skills/sd-demo/evals/fixtures/inventory-list/packages/demo-client/src/screens/inventory/inventory-master.list.ts +143 -0
- package/claude/skills/sd-demo/evals/fixtures/inventory-list/packages/demo-client/src/screens/outbound/outbound.list.ts +150 -0
- package/claude/skills/sd-demo/evals/fixtures/inventory-list/pnpm-workspace.yaml +2 -0
- package/claude/skills/sd-demo/evals/fixtures/inventory-list/sd.config.ts +12 -0
- package/claude/skills/sd-demo/evals/golden.jsonl +1 -5
- package/claude/skills/sd-dev/SKILL.md +49 -22
- package/claude/skills/sd-dev/evals/fixtures/minimal-ts-pkg/package.json +8 -0
- package/claude/skills/sd-dev/evals/fixtures/minimal-ts-pkg/tests/.gitkeep +0 -0
- package/claude/skills/sd-dev/evals/fixtures/{case-modify → minimal-ts-pkg}/tsconfig.json +1 -3
- package/claude/skills/sd-dev/evals/golden.jsonl +1 -3
- package/claude/skills/sd-docs/SKILL.md +8 -8
- package/claude/skills/sd-impl/SKILL.md +172 -82
- package/claude/skills/sd-impl/evals/fixtures/case-a-new-screen/.specs/260513120000_warehouse/spec.md +101 -0
- package/claude/skills/sd-impl/evals/fixtures/case-b-update-with-demo/.specs/260513120000_warehouse/spec.md +101 -0
- package/claude/skills/sd-impl/evals/fixtures/case-b-update-with-demo/packages/app/src/screens/box-register/box-register.view.ts +46 -0
- package/claude/skills/sd-impl/evals/fixtures/case-c-new-cross/.specs/260513120000_warehouse/spec.md +89 -0
- package/claude/skills/sd-impl/evals/fixtures/case-d-spec-modify/.specs/260513120000_warehouse/spec.md +101 -0
- package/claude/skills/sd-impl/evals/golden.jsonl +4 -6
- package/claude/skills/sd-review/SKILL.md +33 -0
- package/claude/skills/sd-review/evals/fixtures/code-review/src/foo.ts +7 -0
- package/claude/skills/sd-review/evals/fixtures/doc-review/docs/foo.md +4 -0
- package/claude/skills/sd-review/evals/golden.jsonl +2 -0
- package/claude/skills/sd-skill/SKILL.md +217 -29
- package/claude/skills/sd-skill/evals/fixtures/existing-skill/.claude/skills/todo-format/SKILL.md +14 -0
- package/claude/skills/sd-skill/evals/fixtures/new-skill/.gitkeep +0 -0
- package/claude/skills/sd-skill/evals/golden.jsonl +2 -5
- package/claude/skills/sd-spec/SKILL.md +384 -305
- package/claude/skills/sd-spec/references/example-spec.md +41 -64
- package/claude/skills/sd-unpack/SKILL.md +83 -83
- package/claude/skills/sd-use/SKILL.md +4 -4
- package/package.json +1 -1
- package/claude/output-styles/sd-tone.md +0 -152
- package/claude/skills/sd-demo/evals/fixtures/empty/.specs/260513120000_warehouse/spec.md +0 -45
- package/claude/skills/sd-demo/evals/fixtures/with-existing-screen/.specs/260513120000_warehouse/spec.md +0 -42
- package/claude/skills/sd-demo/evals/fixtures/with-existing-screen/packages/app/src/screens/dashboard/dashboard.view.ts +0 -33
- package/claude/skills/sd-demo/evals/fixtures/with-master-screen/.specs/260513120000_warehouse/spec.md +0 -45
- package/claude/skills/sd-demo/evals/fixtures/with-master-screen/packages/app/src/screens/dashboard/dashboard.view.ts +0 -33
- package/claude/skills/sd-demo/evals/fixtures/with-modal/.specs/260513120000_warehouse/spec.md +0 -75
- package/claude/skills/sd-demo/evals/fixtures/with-modal/packages/app/src/screens/dashboard/dashboard.view.ts +0 -33
- package/claude/skills/sd-demo/evals/fixtures/with-screens/.specs/260513120000_warehouse/spec.md +0 -45
- package/claude/skills/sd-demo/evals/fixtures/with-screens/packages/app/src/screens/dashboard/dashboard.view.ts +0 -33
- package/claude/skills/sd-dev/evals/fixtures/case-add/package.json +0 -13
- package/claude/skills/sd-dev/evals/fixtures/case-add/src/index.ts +0 -10
- package/claude/skills/sd-dev/evals/fixtures/case-add/tests/index.test.ts +0 -11
- package/claude/skills/sd-dev/evals/fixtures/case-add/tsconfig.json +0 -12
- package/claude/skills/sd-dev/evals/fixtures/case-bug/package.json +0 -13
- package/claude/skills/sd-dev/evals/fixtures/case-bug/src/index.ts +0 -10
- package/claude/skills/sd-dev/evals/fixtures/case-bug/tests/index.test.ts +0 -11
- package/claude/skills/sd-dev/evals/fixtures/case-bug/tsconfig.json +0 -12
- package/claude/skills/sd-dev/evals/fixtures/case-modify/package.json +0 -13
- package/claude/skills/sd-dev/evals/fixtures/case-modify/src/index.ts +0 -10
- package/claude/skills/sd-dev/evals/fixtures/case-modify/tests/index.test.ts +0 -11
- package/claude/skills/sd-impl/evals/fixtures/case-001-new-screen/spec.md +0 -55
- package/claude/skills/sd-impl/evals/fixtures/case-002-auto-process/spec.md +0 -55
- package/claude/skills/sd-impl/evals/fixtures/case-003-update-screen/packages/client/src/pages/book-list.ts +0 -22
- package/claude/skills/sd-impl/evals/fixtures/case-003-update-screen/spec.md +0 -57
- package/claude/skills/sd-impl/evals/fixtures/case-004-ambiguous-spec/spec.md +0 -58
- package/claude/skills/sd-impl/evals/fixtures/case-005-id-mismatch/spec.md +0 -52
- package/claude/skills/sd-impl/evals/fixtures/case-006-with-reference-units/packages/client/src/pages//352/261/260/353/236/230/354/262/230//352/261/260/353/236/230/354/262/230-/353/252/251/353/241/235.test.ts +0 -10
- package/claude/skills/sd-impl/evals/fixtures/case-006-with-reference-units/packages/client/src/pages//352/261/260/353/236/230/354/262/230//352/261/260/353/236/230/354/262/230-/353/252/251/353/241/235.ts +0 -11
- package/claude/skills/sd-impl/evals/fixtures/case-006-with-reference-units/packages/server/src/data-access//352/261/260/353/236/230/354/262/230-/354/240/221/352/267/274.ts +0 -12
- package/claude/skills/sd-impl/evals/fixtures/case-006-with-reference-units/packages/server/src/models//352/261/260/353/236/230/354/262/230.ts +0 -8
- package/claude/skills/sd-impl/evals/fixtures/case-006-with-reference-units/spec.md +0 -77
- package/claude/skills/sd-impl/evals/fixtures/case-new/.specs/260514120000_/352/261/260/353/236/230/354/262/230/spec.md +0 -101
- package/claude/skills/sd-impl/evals/fixtures/case-update/.specs/260514120000_/352/261/260/353/236/230/354/262/230/spec.md +0 -101
- package/claude/skills/sd-impl/evals/fixtures/case-update/src//352/261/260/353/236/230/354/262/230//352/261/260/353/236/230/354/262/230-/353/252/250/353/215/270.txt +0 -1
- package/claude/skills/sd-impl/evals/fixtures/case-update/src//352/261/260/353/236/230/354/262/230//352/261/260/353/236/230/354/262/230-/353/252/251/353/241/235.txt +0 -1
- package/claude/skills/sd-impl/references/spec-cross-check.md +0 -82
- package/claude/skills/sd-skill/evals/fixtures/with-existing-review/.claude/skills/review/SKILL.md +0 -14
- package/claude/skills/sd-skill/references/eval-authoring.md +0 -81
- package/claude/skills/sd-skill/references/eval-run.md +0 -32
- package/claude/skills/sd-skill/references/skill-authoring.md +0 -70
- /package/claude/skills/{sd-skill/evals/fixtures/empty → sd-dev/evals/fixtures/minimal-ts-pkg/src}/.gitkeep +0 -0
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sd-spec
|
|
3
|
-
description: SI/업무시스템 요구사항을 분석해 spec.md 로
|
|
3
|
+
description: SI/업무시스템 요구사항을 분석해 spec.md 로 구조화. Use when "요구사항 분석", "SI 분석", "업무시스템 spec 작성" 을 요청할 때.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# sd-spec
|
|
7
7
|
|
|
8
|
-
요구사항 → spec.md 1개. 사이클
|
|
8
|
+
요구사항 → spec.md 1개. 사이클 반복으로 채움.
|
|
9
9
|
|
|
10
10
|
## 입출력
|
|
11
11
|
|
|
12
|
-
- **Input**: Requirement Source (회의록·메일·문서·PDF·발화 등 비정형) + 사용자 대화 + (재진입) 기존 spec.md
|
|
13
|
-
- **Output**: spec.md 1개 (후속 도구 sd-impl·sd-demo 의 입력 계약)
|
|
14
|
-
- **폴더**: `.specs/{yyMMddHHmmss}_{slug}
|
|
12
|
+
- **Input**: Requirement Source (회의록·메일·문서·PDF·발화 등 비정형) + 사용자 대화 + (재진입) 기존 spec.md.
|
|
13
|
+
- **Output**: spec.md 1개 (후속 도구 sd-impl·sd-demo 의 입력 계약).
|
|
14
|
+
- **폴더**: `.specs/{yyMMddHHmmss}_{slug}/`.
|
|
15
|
+
- `yyMMddHHmmss`: Bash `date +%y%m%d%H%M%S` (예: `260513204500` = 2026-05-13 20:45:00).
|
|
16
|
+
- `slug`: 짧은 한·두 단어. 허용 문자 = 한글·영문·`_`·`-`·공백 (그 외 금지).
|
|
15
17
|
|
|
16
18
|
## 사이클 (본체)
|
|
17
19
|
|
|
@@ -27,28 +29,43 @@ description: SI/업무시스템 요구사항을 분석해 spec.md 로 구조화
|
|
|
27
29
|
|
|
28
30
|
#### 큰 순서 (권장)
|
|
29
31
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
|
33
|
-
|
|
|
34
|
-
|
|
|
35
|
-
|
|
|
32
|
+
각 단계별 진입 조건·spec.md 매핑·절차 위치·다음 단계:
|
|
33
|
+
|
|
34
|
+
| 단계 | 진입 | spec.md 매핑 | 절차 위치 | 다음 |
|
|
35
|
+
| --------- | ------------------------ | ----------------------------------- | ----------------------- | ---------------- |
|
|
36
|
+
| 분석 분할 | Requirement Source 수집 | §2/§3 헤더 분할 + spec.md 골격 생성 | §2 안 "분할 절차" | §x.x 분석 명세 |
|
|
37
|
+
| 분석 명세 | 분석 분할 완료 §x.x | §1 + §2/§3 본문 | §별 작성법 (사이클 2~5) | §x.x 설계 분할 |
|
|
38
|
+
| 설계 분할 | 분석 명세 §x.x 본문 확정 | §4/§5/§6 헤더 분할 | §4 안 "설계 분할 절차" | §x.x 설계 명세 |
|
|
39
|
+
| 설계 명세 | 설계 분할 §x.x [OPEN] | §4/§5/§6 본문 | §별 작성법 (사이클 2~5) | (반복 / 종료) |
|
|
40
|
+
|
|
41
|
+
- **분할 단계 사이클** (분석 분할 / 설계 분할 공통, 5 단계 적용):
|
|
42
|
+
1. 임의안 = 분류 평면 채팅 출력 + 순서·명칭.
|
|
43
|
+
- 분석 분할 = §2 후보 / §3 후보 / 미분류 (분류 룰 = §2 "분할 절차").
|
|
44
|
+
- 설계 분할 = §4 후보 / §5 후보 / §6 후보 (분류 룰 = §4 "설계 분할 절차").
|
|
45
|
+
2. 사용자 피드백 = 분류 이동 / 순서 / 명칭 / 추가·제거 / "전부 확정".
|
|
46
|
+
3. 피드백 → 구성 갱신 → 채팅 재출력 → 2 재진입 (**루프**).
|
|
47
|
+
4. "전부 확정" → 헤더 일괄 Write ([OPEN: 날짜] + 본문 = 분석 방법 자동).
|
|
48
|
+
- 분석 분할 = spec.md 골격 신규 + §2.x/§3.x 헤더 일괄.
|
|
49
|
+
- 설계 분할 = §4.x/§5.x/§6.x 헤더 일괄.
|
|
50
|
+
- **명세 단계**: §x.x 본문을 §별 임의안 단위에 따라 1건씩 사이클 (2~5단계).
|
|
36
51
|
|
|
37
52
|
#### 자유 진입
|
|
38
53
|
|
|
39
|
-
- 큰 순서 안 §x.x 선택 = 사용자 자유 (지시 없으면 LLM 권장)
|
|
40
|
-
- 큰 순서 간 §x.x 단위 파이프라인 — 전체 완료 강제 X
|
|
41
|
-
- 예: §2.1 본문 확정 → §2.1 관련 §4/§5/§6 분할 진입 (§2.2 본문 미시작 OK)
|
|
42
|
-
- 의존성 strict: 다음 큰
|
|
43
|
-
- 서브섹션끼리는 자유 (§4.1 안 와이어·항목·동작 등 순서)
|
|
44
|
-
- §7/§8/§9 = 작업 중 자연 도출 (다른 § 영향, 5단계 참조)
|
|
45
|
-
- §10 = 결정 발생 시 누적
|
|
54
|
+
- 큰 순서 안 §x.x 선택 = 사용자 자유 (지시 없으면 LLM 권장).
|
|
55
|
+
- 큰 순서 간 §x.x 단위 파이프라인 — 전체 완료 강제 X.
|
|
56
|
+
- 예: §2.1 본문 확정 → §2.1 관련 §4/§5/§6 분할 진입 (§2.2 본문 미시작 OK).
|
|
57
|
+
- 의존성 strict: §x.x 단위로 직전 큰 순서 완료 후 다음 큰 순서 진입 (예: §4.1 본문 진입 = §4.1 헤더 분할 + §2.1 본문 완료 후).
|
|
58
|
+
- 서브섹션끼리는 자유 (§4.1 안 와이어·항목·동작 등 순서).
|
|
59
|
+
- §7/§8/§9 = 작업 중 자연 도출 (다른 § 영향, 5단계 참조).
|
|
60
|
+
- §10 = 결정 발생 시 누적 (각 확정 항목 = 1 사이클).
|
|
46
61
|
|
|
47
62
|
#### 재진입 분기 (spec.md 첨부 시)
|
|
48
63
|
|
|
64
|
+
spec.md 첨부 재진입 시 상황별 권장 진입점:
|
|
65
|
+
|
|
49
66
|
| 상황 | 권장 진입점 |
|
|
50
67
|
| ------------------------------------------ | ----------------------------------------------------------------- |
|
|
51
|
-
| 헤더 `[OPEN: 날짜]` 있음 | 첫 OPEN 섹션 본문
|
|
68
|
+
| 헤더 `[OPEN: 날짜]` 있음 | 첫 OPEN 섹션 본문 분석 방법대로 재분석 → 임의안 → 사이클 진입 |
|
|
52
69
|
| 본문 인라인 `[OPEN]` 만 | 첫 OPEN 항목부터 1건씩 |
|
|
53
70
|
| 모두 `[확정]` | 사용자 추가 요구 대기 |
|
|
54
71
|
|
|
@@ -60,49 +77,51 @@ sd-base-rules "단위 흡수 금지" 적용 — 단번에 yes/no 가능한 최
|
|
|
60
77
|
|
|
61
78
|
#### 자가검증 게이트
|
|
62
79
|
|
|
63
|
-
매 임의안 출력 직전 자문. 하나라도 실패 = 폐기 후 재작성 또는 사용자 질문.
|
|
80
|
+
매 임의안 출력 직전 자문. 하나라도 실패 = 폐기 후 재작성 또는 사용자 질문. sd-base-rules "응답 송출 직전 자가 점검" 위에 추가되는 sd-spec 고유 검증.
|
|
64
81
|
|
|
65
|
-
1. **형식** — § 작성법 규약 따랐는가 (헤더 구조·표 형식·마커 표기)
|
|
66
|
-
2. **출처** — 각 항목·필드·동작 1건마다 사용자 발언·자료 인용
|
|
67
|
-
- 인용 불가 = As-Is 답습 / 다른 §·example 패턴 복제 의심 → 제거 또는 별도
|
|
68
|
-
- As-Is (회의록·매뉴얼·현행 화면) 는 추정 자료 (sd-base-rules "결정 근거 안티패턴")
|
|
69
|
-
- 다른 §·example 은 **형식만** 가져오고 **내용물** (항목·컬럼·필드·액션·동작) 은 본 §의 §2.x/§3.x 본문·사용자 발언에서 직접
|
|
70
|
-
3. **단순화 차단** — spec 명시 정의·식·분기·경계를 임의안에서 자체 단순화·근사화·안전 처리 (NULL 강제·0 클램프·방어 가드·생략 분기) 추가하지
|
|
71
|
-
- 식 그대로 풀어쓸
|
|
72
|
-
- 정확 풀이 부담 크면 단순화안을 사용자에 보고 후
|
|
82
|
+
1. **형식** — § 작성법 규약 따랐는가 (해당 § 작성법 절 재독 후 헤더 구조·표 형식·마커 표기 점검).
|
|
83
|
+
2. **출처** — 각 항목·필드·동작 1건마다 사용자 발언·자료 인용 가능한가.
|
|
84
|
+
- 인용 불가 = As-Is 답습 / 다른 §·example 패턴 복제 의심 → 제거 또는 별도 질문.
|
|
85
|
+
- As-Is (회의록·매뉴얼·현행 화면) 는 추정 자료 (sd-base-rules "결정 근거 안티패턴").
|
|
86
|
+
- 다른 §·example 은 **형식만** 가져오고 **내용물** (항목·컬럼·필드·액션·동작) 은 본 §의 §2.x/§3.x 본문·사용자 발언에서 직접 도출.
|
|
87
|
+
3. **단순화 차단** — spec 명시 정의·식·분기·경계를 임의안에서 자체 단순화·근사화·안전 처리 (NULL 강제·0 클램프·방어 가드·생략 분기) 추가하지 않았는가.
|
|
88
|
+
- 식 그대로 풀어쓸 것.
|
|
89
|
+
- 정확 풀이 부담 크면 단순화안을 사용자에 보고 후 합의.
|
|
73
90
|
|
|
74
91
|
### 3단계: "맞나요?" 합의
|
|
75
92
|
|
|
76
|
-
- "맞나요?" + 사용자 답변
|
|
77
|
-
- 답변 종류: 확정 / 수정 /
|
|
93
|
+
- "맞나요?" + 사용자 답변 대기.
|
|
94
|
+
- 답변 종류: 확정 / 수정 / 보류.
|
|
78
95
|
|
|
79
96
|
### 4단계: spec.md 반영
|
|
80
97
|
|
|
81
98
|
#### 확정 → Write
|
|
82
99
|
|
|
83
|
-
|
|
84
|
-
- Write 직전 출력 1줄 (sd-base-rules "진행 근거 인용"):
|
|
85
|
-
|
|
86
|
-
`> 진행 근거: 사용자 발언 "<verbatim 인용>" 의 "<신호 부분>"`
|
|
100
|
+
헤더 마커 `[확정: YYYY-MM-DD]` 부착 (Bash `date +%Y-%m-%d`).
|
|
87
101
|
|
|
88
102
|
#### 수정 → 재작성
|
|
89
103
|
|
|
90
|
-
- 사용자 정정 반영 → 2단계 임의안 재작성 → 3단계
|
|
104
|
+
- 사용자 정정 반영 → 2단계 임의안 재작성 → 3단계 재진행.
|
|
105
|
+
|
|
106
|
+
#### 보류 → Write (분석 방법)
|
|
107
|
+
|
|
108
|
+
OPEN 섹션 본문 = **분석 방법** (임의안 X) — 재분석할 절차 또는 접근 방식 자유 작성. 헤더 마커 `[OPEN: YYYY-MM-DD]`.
|
|
91
109
|
|
|
92
|
-
|
|
110
|
+
분석 방법 가이드 (해당 시 자유 조합):
|
|
93
111
|
|
|
94
|
-
-
|
|
95
|
-
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
- **자료 연결 메모**: 한 섹션이 여러 자료에 걸치면 연결 추정 한 줄
|
|
99
|
-
- **다른 § 확정 영향 메모**: OPEN 유지 중 다른 § 확정이 본 OPEN 재분석에 영향 시 누적 한 줄. 형식: `§X.Y <섹션명> 확정 — <결정 한 줄>` (운용 = 5단계 OPEN 푸시)
|
|
112
|
+
- 자료 참고 시 자료 위치 명시 (예: `회의록.md L12-30`, `As-Is 매뉴얼 X.pdf p.3`).
|
|
113
|
+
- 사용자 보류 발언 인용 (1~2줄).
|
|
114
|
+
- 한 섹션이 여러 자료에 걸치면 자료 연결 추정 한 줄.
|
|
115
|
+
- 다른 § 확정이 본 OPEN 재분석에 영향 시 한 줄 누적 (운용 = 5단계 OPEN 푸시. 형식: `§X.Y <섹션명> 확정 — <결정 한 줄>`).
|
|
100
116
|
|
|
101
|
-
|
|
102
|
-
- 사용자 명시 보류 (임의안 후 보류 지시)
|
|
103
|
-
- 헤더 분할 직후 자동 (분석 분할 §2.x/§3.x · 설계 분할 §4.x/§5.x/§6.x 헤더 분할 시 본문 미작성 상태로 일괄 OPEN)
|
|
117
|
+
**발생 경로** (본문 = 분석 방법 공통):
|
|
104
118
|
|
|
105
|
-
|
|
119
|
+
- 사용자 명시 보류 (임의안 후 보류 지시) — 분석 방법 자유 작성.
|
|
120
|
+
- 헤더 분할 직후 자동 (본문 미작성 일괄 OPEN):
|
|
121
|
+
- 분석 분할 §2.x/§3.x — 분석 방법 = Requirement Source 자료 위치·접근 방식.
|
|
122
|
+
- 설계 분할 §4.x/§5.x/§6.x — 분석 방법 = 관련 §2.x/§3.x 본문 참고.
|
|
123
|
+
|
|
124
|
+
**재개**: 본문 분석 방법대로 자료 재독·분석 → 임의안 도출 → 확정되면 본문 임의안 교체 + 헤더 `[확정: 날짜]`.
|
|
106
125
|
|
|
107
126
|
### 5단계: 부산물 점검
|
|
108
127
|
|
|
@@ -112,49 +131,55 @@ sd-base-rules "단위 흡수 금지" 적용 — 단번에 yes/no 가능한 최
|
|
|
112
131
|
|
|
113
132
|
발견 경로 무관 — 본문 작성 중·자료 재독 중·외부 조사·OPEN 섹션 재분석 부산물 등 어디서든 다른 §(기존 §x.x 본문 보강·신규 §x.x 추가·§7/§8/§9 공통 섹션 추가) 반영 정보 발견 시:
|
|
114
133
|
|
|
115
|
-
1. 발견 즉시 같은 턴 처리 — 휘발·미루기
|
|
116
|
-
2. 해당 § 사이클 진입 (임의안 → 합의 → 반영) → 원 작업
|
|
134
|
+
1. 발견 즉시 같은 턴 처리 — 휘발·미루기 금지.
|
|
135
|
+
2. 해당 § 사이클 진입 (임의안 → 합의 → 반영) → 원 작업 재개.
|
|
117
136
|
|
|
118
|
-
- ❌ §2.1 작성 중 "BOA 매일 갱신·라인 며칠 내 사라짐" 발견 → 메모 없이 §2.1 만
|
|
119
|
-
- ✅ §7.x 보강 사이클 즉시 진입 → 확정 → §7.x 반영 → §2.1
|
|
137
|
+
- ❌ §2.1 작성 중 "BOA 매일 갱신·라인 며칠 내 사라짐" 발견 → 메모 없이 §2.1 만 계속.
|
|
138
|
+
- ✅ §7.x 보강 사이클 즉시 진입 → 확정 → §7.x 반영 → §2.1 재개.
|
|
120
139
|
|
|
121
140
|
#### 사용자 흘림 반영
|
|
122
141
|
|
|
123
142
|
사용자가 흘리듯 말한 가드레일·단서·미반영 의견은 영향 § 임의안 작성 시 반영. 휘발 금지.
|
|
124
143
|
|
|
125
|
-
- ❌ §1 단계에서 "Location 코드 영문 대문자만" 흘림 → §7.1 임의안에
|
|
126
|
-
- ✅ §7.1 임의안에 "Location 코드 영문 대문자/숫자/하이픈"
|
|
144
|
+
- ❌ §1 단계에서 "Location 코드 영문 대문자만" 흘림 → §7.1 임의안에 미반영.
|
|
145
|
+
- ✅ §7.1 임의안에 "Location 코드 영문 대문자/숫자/하이픈" 포함.
|
|
127
146
|
|
|
128
147
|
영향 §가 현재 §와 다르면 "다른 § 영향" 절차.
|
|
129
148
|
|
|
149
|
+
#### 진행 방법 누적
|
|
150
|
+
|
|
151
|
+
사이클 중 사용자가 진행 방식 합의 시 즉시 누적. 형식·운용 = `## spec.md 형식` 안 "진행 방법 누적" 절 참조.
|
|
152
|
+
|
|
130
153
|
#### OPEN 섹션 영향 푸시
|
|
131
154
|
|
|
132
155
|
확정 결정이 OPEN 상태 다른 § 재분석에 영향 줄 수 있는지 자문.
|
|
133
156
|
|
|
134
|
-
- 영향 있으면 해당 OPEN 본문
|
|
135
|
-
- 같은 작업에 함께. 사용자에 한 줄
|
|
136
|
-
- 별도 "맞나요?" X (확정 기록일 뿐, 임의안 X)
|
|
157
|
+
- 영향 있으면 해당 OPEN 본문 분석 방법에 `§X.Y <섹션명> 확정 — <결정 한 줄>` 메모 추가.
|
|
158
|
+
- 같은 작업에 함께. 사용자에 한 줄 보고.
|
|
159
|
+
- 별도 "맞나요?" X (확정 기록일 뿐, 임의안 X).
|
|
137
160
|
|
|
138
161
|
#### §4/§5/§6 구현 마커 제거
|
|
139
162
|
|
|
140
163
|
§4.x/§5.x/§6.x 본문 또는 그 본문이 의존하는 § 본문 갱신 시 `[확정: X, 구현: Y]` 의 `, 구현: Y` 부분만 제거 → `[확정: X]` (이전 구현 무효화 → sd-impl 재실행 대기). 확정 날짜 갱신 여부는 무관.
|
|
141
164
|
|
|
142
165
|
**의존 식별** — §4.x/§5.x/§6.x 본문에 다음 중 하나라도 나타나는 §x.x = 그 §4.x/§5.x/§6.x 의 의존:
|
|
143
|
-
- `관련 섹션:` 줄의 `[프로세스.X]`·`[기타.X]`·`[화면.X]`·`[자동 처리.X]`·`[횡단 처리.X]`·`[외부인터페이스.X]
|
|
144
|
-
- 본문 어느 위치든 등장하는 `[모델.X…]`·`[공통 정의.X]
|
|
145
|
-
- §7 외부 자료 명세를 컬럼명 일치로 끌어다 쓴 양식 매핑 표 (해당 §7.x)
|
|
146
|
-
- 모달 호출 `→ [화면.X]` 의 그 §4.x
|
|
166
|
+
- `관련 섹션:` 줄의 `[프로세스.X]`·`[기타.X]`·`[화면.X]`·`[자동 처리.X]`·`[횡단 처리.X]`·`[외부인터페이스.X]`.
|
|
167
|
+
- 본문 어느 위치든 등장하는 `[모델.X…]`·`[공통 정의.X]`.
|
|
168
|
+
- §7 외부 자료 명세를 컬럼명 일치로 끌어다 쓴 양식 매핑 표 (해당 §7.x).
|
|
169
|
+
- 모달 호출 `→ [화면.X]` 의 그 §4.x.
|
|
147
170
|
|
|
148
171
|
**전파 방향**: 참조 대상 → 참조하는 §4.x/§5.x/§6.x 단방향.
|
|
149
172
|
|
|
150
173
|
**처리**: "다른 § 영향" 과 같은 턴. 변경 임의안 확정 시 영향 §4.x/§5.x/§6.x 를 번호 매겨 각 한 줄 이유와 함께 모아 "맞나요?".
|
|
151
|
-
- 전부 동의 → 일괄 마커
|
|
152
|
-
- 일부 유지 지목 (예: "3~5는 유지") → 지목 항목 마커 유지, 나머지만
|
|
174
|
+
- 전부 동의 → 일괄 마커 제거.
|
|
175
|
+
- 일부 유지 지목 (예: "3~5는 유지") → 지목 항목 마커 유지, 나머지만 제거.
|
|
153
176
|
|
|
154
177
|
## spec.md 형식
|
|
155
178
|
|
|
156
179
|
### 섹션 구조
|
|
157
180
|
|
|
181
|
+
spec.md §별 섹션 이름과 분류:
|
|
182
|
+
|
|
158
183
|
| § | 섹션 | 분류 |
|
|
159
184
|
| --- | ---------------- | ---------------------------- |
|
|
160
185
|
| §1 | 개요 | 분석 명세 |
|
|
@@ -166,39 +191,72 @@ sd-base-rules "단위 흡수 금지" 적용 — 단번에 yes/no 가능한 최
|
|
|
166
191
|
| §7 | 공통 정의 | 자연 도출 (다른 § 영향) |
|
|
167
192
|
| §8 | 도메인 모델 | 자연 도출 (다른 § 영향) |
|
|
168
193
|
| §9 | 외부 인터페이스 | 자연 도출 (다른 § 영향) |
|
|
169
|
-
| §10 | 본문 외
|
|
194
|
+
| §10 | 본문 외 확정 사항 | 메타 (결정 발생 시 누적) |
|
|
170
195
|
|
|
171
196
|
### 마커
|
|
172
197
|
|
|
173
198
|
#### 헤더 마커 (섹션 상태)
|
|
174
199
|
|
|
200
|
+
섹션 헤더에 부착하는 마커:
|
|
201
|
+
|
|
175
202
|
| 마커 | 의미 |
|
|
176
203
|
| -------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
177
204
|
| `[확정: YYYY-MM-DD]` | 섹션 확정. 본문 인라인 `[OPEN]` 있어도 무방. |
|
|
178
|
-
| `[OPEN: YYYY-MM-DD]` | 섹션 미확정 (사용자 보류 또는 헤더 분할 직후 자동). 본문 =
|
|
205
|
+
| `[OPEN: YYYY-MM-DD]` | 섹션 미확정 (사용자 보류 또는 헤더 분할 직후 자동). 본문 = 분석 방법. 임의안(BPMN/와이어프레임/항목 등) 채우지 X. |
|
|
179
206
|
| `[확정: YYYY-MM-DD, 구현: YYYY-MM-DD]` | §4/§5/§6 한정. `[확정]` 에 `구현: 날짜` 콤마 결합. sd-impl 시연 검증 통과 시 부착. 본문 변경 시 `, 구현: …` 제거 (구버전 구현 무효화). 운용 = 5단계 구현 마커 제거. |
|
|
180
207
|
|
|
181
208
|
대괄호 쌍 연달은 표기(`[확정: …][구현: …]`) 마크다운이 reference-style 링크로 해석 → 단일 대괄호 안 콤마 결합 형식.
|
|
182
209
|
|
|
183
210
|
#### 본문 인라인 마커
|
|
184
211
|
|
|
212
|
+
본문 안에서 사용하는 인라인 마커:
|
|
213
|
+
|
|
185
214
|
| 마커 | 의미 |
|
|
186
215
|
| -------- | ----------------------------------------- |
|
|
187
216
|
| `[OPEN]` | 정보 부족·근거 없는 항목. 향후 확정 필요. |
|
|
188
217
|
|
|
189
|
-
- 임의 채우거나 누락하지 말고 `[OPEN]`
|
|
190
|
-
- 근거 부족 판정 = sd-base-rules "결정 근거" 적용. As-Is 만 근거인 항목·답변 범위 흡수 등 안티패턴 자료는 근거 없음으로 `[OPEN]
|
|
191
|
-
- 헤더 `[확정]` + 본문 `[OPEN]` = OPEN 인정 상태로 섹션 확정. 향후 OPEN 만
|
|
192
|
-
- 묻기 선택지: `맞나요? [OPEN 상태로 확정 / 섹션 전체 보류 / OPEN 하나씩 해결]
|
|
218
|
+
- 임의 채우거나 누락하지 말고 `[OPEN]` 표기.
|
|
219
|
+
- 근거 부족 판정 = sd-base-rules "결정 근거" 적용. As-Is 만 근거인 항목·답변 범위 흡수 등 안티패턴 자료는 근거 없음으로 `[OPEN]`.
|
|
220
|
+
- 헤더 `[확정]` + 본문 `[OPEN]` = OPEN 인정 상태로 섹션 확정. 향후 OPEN 만 처리.
|
|
221
|
+
- 묻기 선택지: `맞나요? [OPEN 상태로 확정 / 섹션 전체 보류 / OPEN 하나씩 해결]`.
|
|
193
222
|
|
|
194
223
|
### 본문 내 참조 (이름 기반)
|
|
195
224
|
|
|
196
225
|
본문 내 다른 섹션 참조 시 § 번호 대신 `[카테고리.이름]` 형식. 다단 가능. § 번호는 분석 중 자주 바뀌므로 이름 기반이 안정적.
|
|
197
226
|
|
|
198
227
|
예:
|
|
199
|
-
- `[모델.재고]`·`[모델.박스.수량]`·`[모델.박스.품목.코드]
|
|
200
|
-
- `[화면.재고 확인]`·`[프로세스.입고]`·`[기타.과거 재고 조회]
|
|
201
|
-
- `[자동 처리.재고 스냅샷]`·`[횡단 처리.DataLog 기록]`·`[외부인터페이스.ERP 입고 통보]`·`[공통 정의.Location 라벨]
|
|
228
|
+
- `[모델.재고]`·`[모델.박스.수량]`·`[모델.박스.품목.코드]`.
|
|
229
|
+
- `[화면.재고 확인]`·`[프로세스.입고]`·`[기타.과거 재고 조회]`.
|
|
230
|
+
- `[자동 처리.재고 스냅샷]`·`[횡단 처리.DataLog 기록]`·`[외부인터페이스.ERP 입고 통보]`·`[공통 정의.Location 라벨]`.
|
|
231
|
+
|
|
232
|
+
**관련 섹션 한 줄**: §2~§9 본문에 `관련 섹션: [카테고리.이름], ...` 한 줄로 참조/의존 섹션 콤마 나열 (카테고리 제한 없음). **임의안 단위 X** — 다른 sub-section 작성 부산물로 자동 누적.
|
|
233
|
+
|
|
234
|
+
### sub-section 헤더 레벨
|
|
235
|
+
|
|
236
|
+
§별 sub-section 의 spec.md 본문 표기 룰 통합 — 평문 (헤더 없이 라벨·한 줄·bullet 직접) / h4 마크다운 헤더 (`####`).
|
|
237
|
+
|
|
238
|
+
| § | 평문 sub-section (형식) | h4 sub-section |
|
|
239
|
+
| -- | ------------------------------------------------------------- | -------------------------------------------------------------------- |
|
|
240
|
+
| §2 | BPMN (mermaid fence) · 흐름 설명 bullet · 관련 섹션 (한 줄) | (없음) |
|
|
241
|
+
| §4 | 헤더 인덱스 (한 줄씩) · 기능 개요 (라벨 + bullet) | 와이어프레임 · 항목 · 동작 · 시각 규칙 · 도메인 규칙·로직 · 자유 추가 |
|
|
242
|
+
| §5 | 목적 (라벨 + 한 줄) · 트리거 (라벨 + 본문) · 관련 섹션 (한 줄) | 처리 · 예외 처리 · 자유 추가 |
|
|
243
|
+
| §6 | 목적 (라벨 + 한 줄) · 트리거 (라벨 + 본문) · 관련 섹션 (한 줄) | 처리 · 예외 처리 · 자유 추가 |
|
|
244
|
+
| §9 | 기본 정보 (라벨 bullet 3) · 관련 섹션 (한 줄) | 자료 매핑 · 예외 처리 |
|
|
245
|
+
|
|
246
|
+
SKILL.md 안 `#### BPMN`·`#### 목적` 등 표기는 작성법 sub-section 분류. spec.md 본문 표기는 위 표 룰.
|
|
247
|
+
|
|
248
|
+
### 진행 방법 누적
|
|
249
|
+
|
|
250
|
+
사이클 중 사용자가 진행 방식 합의 시 (예: "시트별로 분석", "시트별 분석 = 6단계 답습") 즉시 누적. 범위에 따라 2 경로:
|
|
251
|
+
|
|
252
|
+
**spec 전체 적용** → §10 진행 방법 항목 (`- YYYY-MM-DD: ...` bullet).
|
|
253
|
+
|
|
254
|
+
**분석 단위 한정** (§X.Y 또는 안 sub-section/sub-단위) → 해당 단위 도입부 NOTE blockquote:
|
|
255
|
+
- 형식: `> **NOTE** (진행 방법): <한 줄 요약>` blockquote + 다단 (`> 1. ...`·`> 2. ...` 형식).
|
|
256
|
+
- 분석 단위 헤더가 `[OPEN]` 상태면 본 NOTE 가 다른 대화 재진입 시 진행 룰 회복 출처.
|
|
257
|
+
- 본 단위 모든 sub-단위 합의 후 `[확정]` 환원 시 NOTE 유지 (진행 이력 기록 보존) 또는 제거 (분석 단위 룰).
|
|
258
|
+
|
|
259
|
+
별도 "맞나요?" X (사용자 발언 직접 기록).
|
|
202
260
|
|
|
203
261
|
## §1 개요
|
|
204
262
|
|
|
@@ -208,38 +266,39 @@ sd-base-rules "단위 흡수 금지" 적용 — 단번에 yes/no 가능한 최
|
|
|
208
266
|
|
|
209
267
|
### §1.1 핵심 목적
|
|
210
268
|
|
|
211
|
-
- 한 줄 동사형 큰
|
|
212
|
-
- 분석 분할 단계 도메인 관계도 기반 사이클·관계
|
|
213
|
-
- §2.x 동사구 항목 나열 X (그건 §1.2 역할)
|
|
269
|
+
- 한 줄 동사형 큰 단위.
|
|
270
|
+
- 분석 분할 단계 도메인 관계도 기반 사이클·관계 표현.
|
|
271
|
+
- §2.x 동사구 항목 나열 X (그건 §1.2 역할).
|
|
214
272
|
|
|
215
273
|
### §1.2 주요 목표
|
|
216
274
|
|
|
217
|
-
- 단위: 최종 사용자 업무 흐름 1건 (화면·기능 단위 X)
|
|
218
|
-
- 표현: 한 줄 동사구. 최종 사용자 도메인
|
|
219
|
-
- §2 업무 프로세스 헤더와 1:1
|
|
220
|
-
- §2.x 본문 핵심 항목은 한 줄에 모두 담아 임의 축약·누락 X
|
|
275
|
+
- 단위: 최종 사용자 업무 흐름 1건 (화면·기능 단위 X).
|
|
276
|
+
- 표현: 한 줄 동사구. 최종 사용자 도메인 어휘.
|
|
277
|
+
- §2 업무 프로세스 헤더와 1:1 매핑이 일반적.
|
|
278
|
+
- §2.x 본문 핵심 항목은 한 줄에 모두 담아 임의 축약·누락 X.
|
|
221
279
|
|
|
222
280
|
### §1.3 최종 사용자/이해관계자
|
|
223
281
|
|
|
224
|
-
- 실제 담당자 이름 X
|
|
225
|
-
-
|
|
282
|
+
- 실제 담당자 이름 X.
|
|
283
|
+
- 일반화.
|
|
226
284
|
|
|
227
285
|
### §1.4 환경/장치
|
|
228
286
|
|
|
287
|
+
분석 단계 초안 합의 → 설계 단계 진행 중 보강 가능 (5단계 다른 § 영향).
|
|
288
|
+
|
|
229
289
|
구성도와 장치 목록 목적 별개 → 각각 독립 작성.
|
|
230
290
|
|
|
231
|
-
- **ASCII 구성도**: 현장이 어떻게 생겼는지 시각화 — 이해당사자 간 그림
|
|
232
|
-
- 포함: 솔루션 노드(서버·DB·클라이언트) + 노드 간 연결선 + 물리 위치 그룹(IDC·사무실·창고) + 자동 연동 외부
|
|
233
|
-
- 제외: Actor, 외부 관계자(인적·조직), 수동 채널(메일·종이), 구체 제품명(MySQL)·통신 프로토콜(HTTPS), 장치 사양(OS·해상도)
|
|
234
|
-
- **장치 목록**: 솔루션이 대상으로 하는 장치/환경 스펙 — 서버·DB·클라이언트 등. OS
|
|
235
|
-
- 명시 스펙에 맞게 개발 → 다른 스펙 환경 동작은 책임 범위
|
|
291
|
+
- **ASCII 구성도**: 현장이 어떻게 생겼는지 시각화 — 이해당사자 간 그림 맞추기.
|
|
292
|
+
- 포함: 솔루션 노드(서버·DB·클라이언트) + 노드 간 연결선 + 물리 위치 그룹(IDC·사무실·창고) + 자동 연동 외부 시스템.
|
|
293
|
+
- 제외: Actor, 외부 관계자(인적·조직), 수동 채널(메일·종이), 구체 제품명(MySQL)·통신 프로토콜(HTTPS), 장치 사양(OS·해상도).
|
|
294
|
+
- **장치 목록**: 솔루션이 대상으로 하는 장치/환경 스펙 — 서버·DB·클라이언트 등. OS·버전·제품명·모델·해상도·하드웨어.
|
|
295
|
+
- 명시 스펙에 맞게 개발 → 다른 스펙 환경 동작은 책임 범위 외.
|
|
236
296
|
|
|
237
297
|
## §2 업무 프로세스
|
|
238
298
|
|
|
239
299
|
**임의안 단위**: §2.x 1개당 위→아래 1건씩:
|
|
240
|
-
1. BPMN (사용자에겐 ASCII, 확정 후 mermaid 저장)
|
|
241
|
-
2. 흐름 설명 bullet
|
|
242
|
-
3. 관련 섹션
|
|
300
|
+
1. BPMN (사용자에겐 ASCII, 확정 후 mermaid 저장).
|
|
301
|
+
2. 흐름 설명 bullet.
|
|
243
302
|
|
|
244
303
|
**모범**: example-spec.md §2.1.
|
|
245
304
|
|
|
@@ -248,72 +307,69 @@ sd-base-rules "단위 흡수 금지" 적용 — 단번에 yes/no 가능한 최
|
|
|
248
307
|
§2.x 1건 = BPMN end-to-end process 1건 (= Value Stream L1). start event ~ end event 풀 사이클. 사이클 내부 handoff (역할 전환·시간 지연·외부 채널·동일인 다른 시점) 흡수 — BPMN swim lane / 노드 분기로 표현. **handoff 는 분리 사유 X**.
|
|
249
308
|
|
|
250
309
|
- **start event** (BPMN 시작 트리거):
|
|
251
|
-
- Message — 외부 actor 메시지·자료 도착 (구매처 발주·고객 주문·거래처 EDI)
|
|
252
|
-
- Timer — 시간 도래 (세무 신고일·정산 마감일)
|
|
253
|
-
- Signal — 외부 조건
|
|
310
|
+
- Message — 외부 actor 메시지·자료 도착 (구매처 발주·고객 주문·거래처 EDI).
|
|
311
|
+
- Timer — 시간 도래 (세무 신고일·정산 마감일).
|
|
312
|
+
- Signal — 외부 조건 신호.
|
|
254
313
|
- **end event** (BPMN 종결 outcome):
|
|
255
|
-
- 외부 가치 전달·외부 자료 송신 (출하 완료·세금 제출·EDI 송신)
|
|
314
|
+
- 외부 가치 전달·외부 자료 송신 (출하 완료·세금 제출·EDI 송신).
|
|
256
315
|
- **분리 기준 = pivotal event** (Event Storming):
|
|
257
|
-
1. start event 별개 (입고 start ↔ 출고 start)
|
|
258
|
-
2. end event
|
|
259
|
-
3. 도메인 어휘 자체 전환점 (DDD 경계)
|
|
316
|
+
1. start event 별개 (입고 start ↔ 출고 start).
|
|
317
|
+
2. end event 별개.
|
|
318
|
+
3. 도메인 어휘 자체 전환점 (DDD 경계).
|
|
260
319
|
|
|
261
320
|
### 분할 절차 (분석 분할 단계)
|
|
262
321
|
|
|
263
322
|
분석 분할 단계에서 §2/§3 분할 동시 진행. 절차 4단계.
|
|
264
323
|
|
|
265
|
-
1. **domain event 추출** (Event Storming "chaotic events") — Requirement Source 에서 동사 과거형 사건 모두 평면 추출. 원본 구조(메일·슬라이드·문서)
|
|
266
|
-
2. **timeline 정렬** ("Enforce timeline") — 비즈니스 시간 순 정렬. 모호 시점은 인접 후보로
|
|
267
|
-
3. **pivotal event 식별** — start/end/도메인 어휘 전환점 마킹. 외부 관계자 평면(구매처·공급처·고객·하청·감독기관)은 이 단계 자연 도출 — 이게 §1 작성용 도메인 관계도
|
|
268
|
-
4. **bounded subdomain 그룹화** — 한 pivotal trigger ~ 다음 pivotal outcome = 1 사이클. 사이클 안 handoff
|
|
324
|
+
1. **domain event 추출** (Event Storming "chaotic events") — Requirement Source 에서 동사 과거형 사건 모두 평면 추출. 원본 구조(메일·슬라이드·문서) 무관.
|
|
325
|
+
2. **timeline 정렬** ("Enforce timeline") — 비즈니스 시간 순 정렬. 모호 시점은 인접 후보로 보류.
|
|
326
|
+
3. **pivotal event 식별** — start/end/도메인 어휘 전환점 마킹. 외부 관계자 평면(구매처·공급처·고객·하청·감독기관)은 이 단계 자연 도출 — 이게 §1 작성용 도메인 관계도 자료.
|
|
327
|
+
4. **bounded subdomain 그룹화** — 한 pivotal trigger ~ 다음 pivotal outcome = 1 사이클. 사이클 안 handoff 흡수.
|
|
269
328
|
|
|
270
329
|
#### 분할 결과 매핑 (분석 분할 출력)
|
|
271
330
|
|
|
272
331
|
3분류:
|
|
273
|
-
- **사이클** (multi-event handoff 포함) → §2.x
|
|
274
|
-
- **단일 user goal 완결** → §3.x
|
|
275
|
-
- **사이클·user goal 단위 아닌 것** (도메인 룰·계산식·기존 화면 미세 변경·자료 해석 파라미터·기타 규칙) →
|
|
332
|
+
- **사이클** (multi-event handoff 포함) → §2.x.
|
|
333
|
+
- **단일 user goal 완결** → §3.x.
|
|
334
|
+
- **사이클·user goal 단위 아닌 것** (도메인 룰·계산식·기존 화면 미세 변경·자료 해석 파라미터·기타 규칙) → **미분류**.
|
|
276
335
|
|
|
277
336
|
#### 분석 분할 채팅 출력 형식
|
|
278
337
|
|
|
279
|
-
- 3분류 일괄 나열 (§2 / §3 / 미분류)
|
|
280
|
-
- 자문·내부 절차 해설·출처 인용 X
|
|
281
|
-
- 화면·마스터 흡수 들여쓰기 X (설계 분할 시야)
|
|
282
|
-
- 자료 부족 분리 항목은 별도 질문으로 함께
|
|
283
|
-
- 사이클 2단계 자가검증 게이트 출처 적용 — 인용 불가 항목은 후보에서 빼고 별도 질문으로
|
|
338
|
+
- 3분류 일괄 나열 (§2 / §3 / 미분류).
|
|
339
|
+
- 자문·내부 절차 해설·출처 인용 X.
|
|
340
|
+
- 화면·마스터 흡수 들여쓰기 X (설계 분할 시야).
|
|
341
|
+
- 자료 부족 분리 항목은 별도 질문으로 함께 제시.
|
|
342
|
+
- 사이클 2단계 자가검증 게이트 출처 적용 — 인용 불가 항목은 후보에서 빼고 별도 질문으로 분리.
|
|
284
343
|
|
|
285
344
|
### 헤더 명칭
|
|
286
345
|
|
|
287
|
-
- 외부 관계자 평면 기반 도메인 업무
|
|
288
|
-
- 시스템·문서·메뉴·양식 명칭 그대로 X
|
|
289
|
-
- ❌ `발주서 변경 요청` (발주서 = 시스템 문서)
|
|
290
|
-
- ✅ `구매처 발주 변경
|
|
346
|
+
- 외부 관계자 평면 기반 도메인 업무 동사구.
|
|
347
|
+
- 시스템·문서·메뉴·양식 명칭 그대로 X.
|
|
348
|
+
- ❌ `발주서 변경 요청` (발주서 = 시스템 문서).
|
|
349
|
+
- ✅ `구매처 발주 변경 요청`.
|
|
291
350
|
|
|
292
351
|
### 본문 구조
|
|
293
352
|
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
- 사용자에겐 ASCII, 확정 후 mermaid 저장
|
|
297
|
-
- 노드 = 최종 사용자 액션·시스템 핵심 트랜잭션 (1행 동사구). 줄바꿈 `<br/>` X
|
|
298
|
-
- Actor·장치·매체(PDA·PC·종이)는 액션 컨텍스트로 노드에 명시 OK (예: `창고 작업자: PDA 박스 바코드 스캔`). OS·해상도·API·DB 등 시스템 내부 디테일 X
|
|
299
|
-
- 외부 채널 송신(메일·파일 다운로드)·외부 응답 수신(다음 사이클 자료 도착)도 노드. 처리 노드 = 사각(`T[...]`), 이벤트 노드 = 둥근(`E([...])`)
|
|
300
|
-
- 분기 = 사용자 의사결정 분기만
|
|
301
|
-
|
|
302
|
-
#### 2. 흐름 설명 bullet
|
|
303
|
-
|
|
304
|
-
- BPMN 아래·관련 섹션 위에 자유 나열 (별도 헤더 X)
|
|
305
|
-
- 노드 동사구만으로 안 잡히는 룰·조건·계산식·외부 약속·자료 출처 인용 등 1줄씩
|
|
306
|
-
- §4/§5/§6 본문 작성 시 이 bullet 들을 근거로 매핑 → 누락 방지
|
|
307
|
-
- 단, §4/§5/§6 자체 디테일(필드·UI·파일 확장자) / §7/§8/§9 정형 명세는 여기 X — 각 § 본문에선 이름 참조
|
|
353
|
+
sub-section 헤더 레벨 = `## spec.md 형식` 안 "sub-section 헤더 레벨" 표 참조.
|
|
308
354
|
|
|
309
|
-
|
|
355
|
+
**평문 sub-section** (§2.x 헤더 바로 아래, 위→아래):
|
|
310
356
|
|
|
311
|
-
|
|
357
|
+
- **BPMN** (mermaid fence):
|
|
358
|
+
- 사용자에겐 ASCII, 확정 후 mermaid 저장.
|
|
359
|
+
- 노드 = 최종 사용자 액션·시스템 핵심 트랜잭션 (1행 동사구). 줄바꿈 `<br/>` X.
|
|
360
|
+
- Actor·장치·매체(PDA·PC·종이)는 액션 컨텍스트로 노드에 명시 OK (예: `창고 작업자: PDA 박스 바코드 스캔`). OS·해상도·API·DB 등 시스템 내부 디테일 X.
|
|
361
|
+
- 외부 채널 송신(메일·파일 다운로드)·외부 응답 수신(다음 사이클 자료 도착)도 노드. 처리 노드 = 사각(`T[...]`), 이벤트 노드 = 둥근(`E([...])`).
|
|
362
|
+
- 분기 = 사용자 의사결정 분기만.
|
|
363
|
+
- **흐름 설명 bullet** (BPMN 아래·관련 섹션 위에 자유 나열):
|
|
364
|
+
- 노드 동사구만으로 안 잡히는 룰·조건·계산식·외부 약속·자료 출처 인용 등 1줄씩.
|
|
365
|
+
- §4/§5/§6 본문 작성 시 이 bullet 들을 근거로 매핑 → 누락 방지.
|
|
366
|
+
- 단, §4/§5/§6 자체 디테일(필드·UI·파일 확장자) / §7/§8/§9 정형 명세는 여기 X — 각 § 본문에선 이름 참조.
|
|
367
|
+
- **관련 섹션** (`관련 섹션: [카테고리.이름], ...` 한 줄, 자동 누적): 본문 내 참조 절 룰 따름.
|
|
312
368
|
|
|
313
369
|
### 안티패턴 (분할)
|
|
314
370
|
|
|
315
|
-
- ❌ 같은 사이클의 A→B→C 단계별 담당자·산출물 다르다는 이유로 §2.A·§2.B·§2.C 로
|
|
316
|
-
- ❌ 메뉴 그룹화·기존 화면 폴더·코드 As-Is 구조로
|
|
371
|
+
- ❌ 같은 사이클의 A→B→C 단계별 담당자·산출물 다르다는 이유로 §2.A·§2.B·§2.C 로 쪼개기.
|
|
372
|
+
- ❌ 메뉴 그룹화·기존 화면 폴더·코드 As-Is 구조로 묶기/쪼개기.
|
|
317
373
|
|
|
318
374
|
## §3 기타 요구사항
|
|
319
375
|
|
|
@@ -323,101 +379,120 @@ sd-base-rules "단위 흡수 금지" 적용 — 단번에 yes/no 가능한 최
|
|
|
323
379
|
|
|
324
380
|
### 분할 단위 = Cockburn sea level use case
|
|
325
381
|
|
|
326
|
-
- "primary actor go away happy after having done this in a single sitting?"
|
|
327
|
-
- 행위자가 1회 작업으로 끝내고 만족하고 떠나는 단일 user goal
|
|
328
|
-
- 사이클·handoff·지연
|
|
329
|
-
- 정형 분해(화면/자동 처리/횡단 처리) 동반하는 사용자 직접
|
|
330
|
-
- 시스템 전반 자동 룰 (예: "모든 데이터 수정 시 DataLog 기록") 도 §3 — 설계는 §6 횡단
|
|
382
|
+
- "primary actor go away happy after having done this in a single sitting?".
|
|
383
|
+
- 행위자가 1회 작업으로 끝내고 만족하고 떠나는 단일 user goal.
|
|
384
|
+
- 사이클·handoff·지연 없음.
|
|
385
|
+
- 정형 분해(화면/자동 처리/횡단 처리) 동반하는 사용자 직접 요구.
|
|
386
|
+
- 시스템 전반 자동 룰 (예: "모든 데이터 수정 시 DataLog 기록") 도 §3 — 설계는 §6 횡단 처리에서.
|
|
331
387
|
|
|
332
388
|
### 본문 구조
|
|
333
389
|
|
|
334
|
-
- 요구 의도 (한 줄~한 문단)
|
|
335
|
-
-
|
|
336
|
-
- 구현 디테일은 §4 화면 / §5 자동 처리 / §6 횡단 처리
|
|
390
|
+
- 요구 의도 (한 줄~한 문단).
|
|
391
|
+
- 관련 섹션 한 줄 (본문 내 참조 절).
|
|
392
|
+
- 구현 디테일은 §4 화면 / §5 자동 처리 / §6 횡단 처리 본문에서.
|
|
337
393
|
|
|
338
394
|
## §4 화면
|
|
339
395
|
|
|
340
396
|
**임의안 단위**: §4.x 1개당 §4.x 표준 구조 절 단위로 위→아래, 각 확정 후 다음:
|
|
341
|
-
1.
|
|
342
|
-
2.
|
|
343
|
-
3.
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
397
|
+
1. 기능 개요 — 1건.
|
|
398
|
+
2. 와이어프레임 — 1건.
|
|
399
|
+
3. 항목 — 다단 분할:
|
|
400
|
+
- 1차: 영역 (좌/우 등) 단위 — 와이어프레임 영역 라벨 기준.
|
|
401
|
+
- 2차: 영역 안 하위 요소 (필터·시트 컬럼·입력/상세 폼) 단위.
|
|
402
|
+
- 1 임의안 = 1 (영역, 하위 요소) 쌍 — 예: `좌측 영역 — 필터` 1건, `좌측 영역 — 시트 컬럼` 별건.
|
|
403
|
+
4. 동작 — 1건.
|
|
404
|
+
5. 시각 규칙 (해당 시) — 1건.
|
|
405
|
+
6. 도메인 규칙·로직 (해당 시) — 규칙별 1건.
|
|
406
|
+
7. 자유 추가 sub-section (해당 시) — sub-section 별 1건 (예: 업로드 양식·다운로드 양식 각각). 복잡 양식 안 sub-단위 (시트 등) = sub-단위별 1건.
|
|
407
|
+
|
|
408
|
+
(헤더 인덱스 = Actor + 관련 섹션 모두 자동 누적 — 임의안 단위 X).
|
|
348
409
|
|
|
349
410
|
신규 작성·정정·골격 신설 무관 동일 적용.
|
|
350
411
|
|
|
351
|
-
설계 분할 단계 헤더 분할 시 §4.x 헤더 `[OPEN: 날짜]` 일괄 + 본문 = 관련 §2.x/§3.x 1줄 참조 포인터. 임의안 본문(와이어프레임·항목·동작) X.
|
|
352
|
-
|
|
353
412
|
**모범** (와이어 패턴별):
|
|
354
|
-
- 시트 화면: example-spec.md §4.1·§4.3
|
|
355
|
-
- 폼 모달: §4.2·§4.4
|
|
356
|
-
- PDA: §4.5
|
|
357
|
-
- 분석 시트: §4.6
|
|
413
|
+
- 시트 화면: example-spec.md §4.1·§4.3.
|
|
414
|
+
- 폼 모달: §4.2·§4.4.
|
|
415
|
+
- PDA: §4.5.
|
|
416
|
+
- 분석 시트: §4.6.
|
|
417
|
+
|
|
418
|
+
### 설계 분할 절차 (§4/§5/§6 공통)
|
|
419
|
+
|
|
420
|
+
설계 분할 단계에서 §4/§5/§6 헤더를 §2/§3 본문 (+ §8 마스터 엔티티) 에서 도출. 절차:
|
|
421
|
+
|
|
422
|
+
1. **§4 화면 도출**:
|
|
423
|
+
- §2 BPMN 최종 사용자 액션 노드 + §3 사용자 직접 요구 → 트랜잭션/조회 화면.
|
|
424
|
+
- §8 마스터 엔티티 → 마스터 화면.
|
|
425
|
+
- 도메인 묶음/장치별 그룹화 → 화면 목록 표.
|
|
426
|
+
2. **§5 자동 처리 도출** — §2/§3 의 시스템 백그라운드 처리 (스케줄·이벤트 트리거·외부 자료 수집·적재) 추출.
|
|
427
|
+
3. **§6 횡단 처리 도출** — §3 시스템 전반 자동 룰 + §4/§5 부수효과 동작 추출.
|
|
428
|
+
|
|
429
|
+
각 § 헤더 분할 직후 자동 OPEN (4단계 보류 발생 경로 참조).
|
|
358
430
|
|
|
359
431
|
### 화면 목록 표 (§4 첫머리)
|
|
360
432
|
|
|
361
|
-
5컬럼: `§ | 분류 | 화면 | 유형 |
|
|
433
|
+
5컬럼: `§ | 분류 | 화면 | 유형 | 장치`.
|
|
362
434
|
|
|
363
|
-
- 분류: 도메인 묶음/메뉴 그룹 자유 명칭 (예: `기준정보`·`입고`·`재고`). LLM 임의안 →
|
|
364
|
-
- 유형: 마스터 / 트랜잭션 /
|
|
365
|
-
- 장치: PC / PDA /
|
|
366
|
-
- 화면 추가/제거 시 표도 갱신. 같은 분류끼리 인접
|
|
435
|
+
- 분류: 도메인 묶음/메뉴 그룹 자유 명칭 (예: `기준정보`·`입고`·`재고`). LLM 임의안 → 확정.
|
|
436
|
+
- 유형: 마스터 / 트랜잭션 / 조회.
|
|
437
|
+
- 장치: PC / PDA / 기타.
|
|
438
|
+
- 화면 추가/제거 시 표도 갱신. 같은 분류끼리 인접 배치.
|
|
367
439
|
|
|
368
440
|
### 화면 정의 (§4.x 표준 구조)
|
|
369
441
|
|
|
370
|
-
|
|
442
|
+
화면 헤더에 (장치) 표기 유지: `### N.N 화면명 (PC) [확정: 날짜]` 또는 `(PDA)`.
|
|
371
443
|
|
|
372
|
-
-
|
|
373
|
-
- `관련 섹션: [카테고리.이름], ...` — 모달 호출·시트 영역 재활용 등 화면 간 의존 포함
|
|
444
|
+
sub-section 헤더 레벨 = `## spec.md 형식` 안 "sub-section 헤더 레벨" 표 참조.
|
|
374
445
|
|
|
375
|
-
|
|
446
|
+
**평문 sub-section** (§4.x 헤더 바로 아래, 위→아래):
|
|
376
447
|
|
|
377
|
-
|
|
448
|
+
- **헤더 인덱스** (한 줄씩, 자동 누적 — 임의안 단위 X):
|
|
449
|
+
- `Actor: <역할>` — §2 BPMN swim lane 또는 §3 사용자 직접 요구에서 자연 도출.
|
|
450
|
+
- `관련 섹션:` 본문 내 참조 절 룰 따름 — 모달 호출·시트 영역 재활용 등 화면 간 의존 포함.
|
|
451
|
+
- **기능 개요**: `기능 개요:` 라벨 다음 bullet 로 화면 기능 설명.
|
|
378
452
|
|
|
379
|
-
|
|
453
|
+
**h4 sub-section** (평문 아래, 고정 순서, 위→아래):
|
|
380
454
|
|
|
381
455
|
#### 와이어프레임 (텍스트)
|
|
382
456
|
|
|
383
|
-
ASCII 그림 공통 규칙은 output-style `sd-tone` "ASCII 그림" 절 참조.
|
|
384
|
-
|
|
385
457
|
**형식 일탈 금지**:
|
|
386
|
-
- example-spec.md 의 가장 가까운 화면 패턴 라인을 형식 모범으로 직접 참조 — 시트=§4.1·§4.3 / 폼 모달=§4.2·§4.4 / PDA=§4.5 / 분석 시트=§4.6
|
|
387
|
-
- ASCII 박스(┌─┐ │ └┘)·영역 추상화 표기(`<필터>`·`<시트>`·`<폼>` 등)·액션 버튼 텍스트 표기 자체 변형 X
|
|
458
|
+
- example-spec.md 의 가장 가까운 화면 패턴 라인을 형식 모범으로 직접 참조 — 시트=§4.1·§4.3 / 폼 모달=§4.2·§4.4 / PDA=§4.5 / 분석 시트=§4.6.
|
|
459
|
+
- ASCII 박스(┌─┐ │ └┘)·영역 추상화 표기(`<필터>`·`<시트>`·`<폼>` 등)·액션 버튼 텍스트 표기 자체 변형 X.
|
|
388
460
|
|
|
389
461
|
**원칙**: 영역 배치·구획만. 디테일(필드·시트 컬럼·실제 값·아이콘 placeholder·fixed 경계·비활성 행 등 시각 표현)은 와이어에 X — 항목 표·동작 절·도메인 규칙 절이 단일 출처.
|
|
390
462
|
|
|
391
|
-
- 데이터 영역: 영역 타입 + 짧은 라벨로 추상화 — `<필터>`·`<폼>`·`<시트>`·`<목록>`·`<PO 목록>`·`<라인 시트 - 작성영역>` 등. 영역 종류가 한눈에 안 잡히면 라벨
|
|
392
|
-
- 액션 버튼: 텍스트 유지 (`[조회]`·`[저장]`·`[등록]`) — 버튼 위치가 와이어의 정보. 아이콘만 있는 버튼도
|
|
393
|
-
- 영역(좌/우 분할·탭·상단 command 바·시트 상단 버튼바)으로 나뉘면 박스 라인으로
|
|
394
|
-
- 상태(작성중/확정 등)에 따라 영역 구획 크게 달라지면 상태별 분리. 제목: `와이어프레임 (<상태명>):` (예: `와이어프레임 (확정 전):`)
|
|
463
|
+
- 데이터 영역: 영역 타입 + 짧은 라벨로 추상화 — `<필터>`·`<폼>`·`<시트>`·`<목록>`·`<PO 목록>`·`<라인 시트 - 작성영역>` 등. 영역 종류가 한눈에 안 잡히면 라벨 보강.
|
|
464
|
+
- 액션 버튼: 텍스트 유지 (`[조회]`·`[저장]`·`[등록]`) — 버튼 위치가 와이어의 정보. 아이콘만 있는 버튼도 텍스트로.
|
|
465
|
+
- 영역(좌/우 분할·탭·상단 command 바·시트 상단 버튼바)으로 나뉘면 박스 라인으로 구획.
|
|
466
|
+
- 상태(작성중/확정 등)에 따라 영역 구획 크게 달라지면 상태별 분리. 제목: `와이어프레임 (<상태명>):` (예: `와이어프레임 (확정 전):`).
|
|
395
467
|
|
|
396
468
|
#### 항목
|
|
397
469
|
|
|
398
470
|
데이터 항목만 (필터·시트 컬럼·입력/상세 폼). 액션 버튼은 "동작" 에.
|
|
399
471
|
|
|
400
|
-
- **표 제목 = 와이어 영역 라벨과 동일 명칭** 굵게 — 와이어 `<필터>` → `**필터**`, `<품목 목록 시트>` → `**품목 목록 시트**`, `<스캔 입력 폼>` → `**스캔 입력
|
|
401
|
-
- 한 영역에 종류 다른 표 여러 개 시 종류 부기 — `**<영역 라벨> — <필터|시트 컬럼|입력 폼>**` (예: `**헤더 목록 — 필터**`, `**BOA 시트 — 시트 컬럼**`)
|
|
402
|
-
- 시트 화면 기본 구성: 상단 command 바의 `<필터>` + 시트 영역 (시트 컬럼) 2
|
|
472
|
+
- **표 제목 = 와이어 영역 라벨과 동일 명칭** 굵게 — 와이어 `<필터>` → `**필터**`, `<품목 목록 시트>` → `**품목 목록 시트**`, `<스캔 입력 폼>` → `**스캔 입력 폼**`.
|
|
473
|
+
- 한 영역에 종류 다른 표 여러 개 시 종류 부기 — `**<영역 라벨> — <필터|시트 컬럼|입력 폼>**` (예: `**헤더 목록 — 필터**`, `**BOA 시트 — 시트 컬럼**`).
|
|
474
|
+
- 시트 화면 기본 구성: 상단 command 바의 `<필터>` + 시트 영역 (시트 컬럼) 2 그룹.
|
|
403
475
|
|
|
404
476
|
**표 형식** — 도메인 매핑은 별도 컬럼 (필터는 시트 컬럼과 중복이라 도메인 매핑 X):
|
|
405
|
-
- 입력 폼: `항목 | 종류 | 필수 | 도메인 매핑 |
|
|
406
|
-
- 시트 컬럼: `컬럼 | 종류 | 필수 | 도메인 매핑 |
|
|
407
|
-
- 필터: `항목 | 종류 | 필수 |
|
|
477
|
+
- 입력 폼: `항목 | 종류 | 필수 | 도메인 매핑 | 비고`.
|
|
478
|
+
- 시트 컬럼: `컬럼 | 종류 | 필수 | 도메인 매핑 | 비고`.
|
|
479
|
+
- 필터: `항목 | 종류 | 필수 | 비고`.
|
|
408
480
|
|
|
409
|
-
- 필수 컬럼: 무의미한 경우(조회 시트 컬럼 등)
|
|
410
|
-
- 도메인 매핑: `[모델.X.Y]` (양식 매핑과 일관). 매핑 없는 항목(선택 체크박스 등)
|
|
411
|
-
- 비고: 표시 내용 (이름과 도메인으로 자명하지 않을 때 어떤 값이 표시되는지) / 편집 방법 (편집 가능 항목 — 예: 클릭 시 모달, 인라인 편집) / 기타 자유
|
|
481
|
+
- 필수 컬럼: 무의미한 경우(조회 시트 컬럼 등) `-`.
|
|
482
|
+
- 도메인 매핑: `[모델.X.Y]` (양식 매핑과 일관). 매핑 없는 항목(선택 체크박스 등) `-`.
|
|
483
|
+
- 비고: 표시 내용 (이름과 도메인으로 자명하지 않을 때 어떤 값이 표시되는지) / 편집 방법 (편집 가능 항목 — 예: 클릭 시 모달, 인라인 편집) / 기타 자유 설명.
|
|
412
484
|
|
|
413
485
|
**시트 컬럼 그룹핑** (해당 시): 컬럼이 도메인적으로 묶일 때 표 안에 그룹 표시.
|
|
414
|
-
- 그룹 헤더 행 1줄 (`**그룹명**`, 다른 셀 빈 칸)
|
|
415
|
-
- 자식 컬럼은 `└ ` 들여쓰기 prefix
|
|
416
|
-
- 표 컬럼 수
|
|
486
|
+
- 그룹 헤더 행 1줄 (`**그룹명**`, 다른 셀 빈 칸).
|
|
487
|
+
- 자식 컬럼은 `└ ` 들여쓰기 prefix.
|
|
488
|
+
- 표 컬럼 수 유지.
|
|
417
489
|
|
|
418
490
|
#### 동작
|
|
419
491
|
|
|
420
|
-
|
|
492
|
+
bullet `- <트리거>: 처리 내용` 형식.
|
|
493
|
+
|
|
494
|
+
- 트리거 예: `` `[버튼]` 클릭 ``, `박스 바코드 스캔`, `Enter 키`.
|
|
495
|
+
- 처리 내용: 동사구 + 대상 (예: `[화면.X] 을 모달로 띄움`, `검색 필터 조건으로 목록 갱신`).
|
|
421
496
|
|
|
422
497
|
#### 시각 규칙 (해당 시)
|
|
423
498
|
|
|
@@ -425,56 +500,54 @@ ASCII 그림 공통 규칙은 output-style `sd-tone` "ASCII 그림" 절 참조.
|
|
|
425
500
|
|
|
426
501
|
#### 도메인 규칙·로직 (해당 시)
|
|
427
502
|
|
|
428
|
-
표준
|
|
429
|
-
|
|
430
|
-
#### 양식 매핑 (해당 시)
|
|
503
|
+
표준 sub-section 으로 안 담기는 화면 고유 도메인 요구. 자유 명칭 절 필요한 만큼 추가. 누락 없이 적는 게 핵심.
|
|
431
504
|
|
|
432
|
-
|
|
505
|
+
**자유 추가 sub-section** (`#### 도메인 규칙·로직` 아래, 화면별 필요 시 h4 자유 추가):
|
|
433
506
|
|
|
434
|
-
-
|
|
435
|
-
-
|
|
436
|
-
-
|
|
507
|
+
- **양식 입출력** (예: `#### 업로드 양식`·`#### 다운로드 양식`) — 양식별 별도 sub-section.
|
|
508
|
+
- 단순 양식: 안 단순 표 — 컬럼 `파일 컬럼` + `도메인 모델 ([모델.X.Y])` + `변환·규칙 (해당 시)`. §7.x 명세 양식이면 컬럼명 일치, 일회성이면 sub-section 안에서 직접 명세.
|
|
509
|
+
- 복잡 양식 (다중 시트·구조 분할): 안 sub-단위 (시트 등) = h5 (`##### <시트>` 등). sub-단위 안 진행 방법 NOTE 가능 (`## spec.md 형식` 안 "진행 방법 누적" 절 참조).
|
|
510
|
+
- **기타 화면 고유 정보** — 자유 sub-section 이름. 표준 sub-section 으로 안 담기는 화면 고유 정보 누락 방지.
|
|
437
511
|
|
|
438
512
|
### 마스터 화면 표준
|
|
439
513
|
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
-
|
|
443
|
-
-
|
|
514
|
+
화면 목록 표 유형 = 마스터인 §4.x 에 적용. 화면 정의 sub-header (와이어프레임·항목·동작) 와 함께.
|
|
515
|
+
|
|
516
|
+
- ID 컬럼 = 편집 버튼 (`[E N]`).
|
|
517
|
+
- 첫 컬럼 = 선택 체크박스 (`[ ]`).
|
|
518
|
+
- 시트 상단 버튼바: `[등록] [선택 삭제] [선택 복구] [엑셀 업로드] [엑셀 다운로드]`.
|
|
519
|
+
- ID 정렬 역방향.
|
|
444
520
|
|
|
445
521
|
### 상단 command 바
|
|
446
522
|
|
|
447
|
-
페이지 제목 바로 아래, 시트/폼 영역 위. 페이지 전체 또는 현재 레코드 단위 액션 바.
|
|
523
|
+
화면 정의 sub-header 와이어프레임·동작과 함께 작성. 페이지 제목 바로 아래, 시트/폼 영역 위. 페이지 전체 또는 현재 레코드 단위 액션 바.
|
|
448
524
|
|
|
449
|
-
- 좌측: 필터 입력 + 조회 (list) / 진입 컨텍스트 표시 (detail)
|
|
450
|
-
- 우측: 페이지·레코드 단위 액션 (있을 때만)
|
|
451
|
-
- 좌/우 사이 ` │ ` 세로
|
|
525
|
+
- 좌측: 필터 입력 + 조회 (list) / 진입 컨텍스트 표시 (detail).
|
|
526
|
+
- 우측: 페이지·레코드 단위 액션 (있을 때만).
|
|
527
|
+
- 좌/우 사이 ` │ ` 세로 구분선.
|
|
452
528
|
|
|
453
529
|
**우측 버튼 그룹 순서** (좌→우):
|
|
454
|
-
1. 기본 CRUD (저장 / 삭제 / 복구)
|
|
455
|
-
2. 워크플로 상태 전환 (확정 / 취소 / 승인 / 반려)
|
|
456
|
-
3. 유틸리티 (원본 다운로드 / 프린트 / PDF)
|
|
530
|
+
1. 기본 CRUD (저장 / 삭제 / 복구).
|
|
531
|
+
2. 워크플로 상태 전환 (확정 / 취소 / 승인 / 반려).
|
|
532
|
+
3. 유틸리티 (원본 다운로드 / 프린트 / PDF).
|
|
457
533
|
|
|
458
534
|
list·detail 동일. 새 버튼은 해당 그룹 끝에 추가. 시트 상단 버튼바도 동일 그룹 순서 (마스터 화면 표준은 구체 인스턴스).
|
|
459
535
|
|
|
460
536
|
### 모달 처리
|
|
461
537
|
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
- 화면
|
|
538
|
+
호출하는 쪽 §4.x 동작 sub-header + 피호출 §4.x 양쪽 적용.
|
|
539
|
+
|
|
540
|
+
- 모달 화면 = 별도 §4.x. 부르는 쪽 동작에 "→ [화면.X] 을 모달로 띄움" 명시.
|
|
541
|
+
- 화면명에 "(모달)" 등 사용 맥락 표기 X — 같은 화면이 다른 곳에서 다르게 호출될 수 있음.
|
|
542
|
+
- 화면 일부 영역(시트·탭)이 다른 화면에서 모달로 재활용되면 별도 §4.x 분리 X. 대신 그 화면 동작 절 끝에 영역별 모달 호출 시 제약(편집 가능 여부 / 선택 전용 / multiselect) 한 줄씩 명시. 호출하는 쪽 동작은 "→ [화면.X] 의 <영역> 을 모달로 띄움" 표기.
|
|
465
543
|
|
|
466
544
|
## §5 자동 처리
|
|
467
545
|
|
|
468
546
|
**임의안 단위**: §5.x 1개당 위→아래 1건씩:
|
|
469
|
-
1.
|
|
470
|
-
2.
|
|
471
|
-
3.
|
|
472
|
-
4.
|
|
473
|
-
5. 예외 처리
|
|
474
|
-
6. 양식 매핑 (해당 시) — 양식별 1건
|
|
475
|
-
7. 관련 섹션
|
|
476
|
-
|
|
477
|
-
설계 분할 단계 헤더 분할 시 §5.x 헤더 `[OPEN: 날짜]` 일괄 + 본문 = 관련 §2.x/§3.x 1줄 참조 포인터.
|
|
547
|
+
1. 목적 / 트리거 (한 묶음).
|
|
548
|
+
2. 처리.
|
|
549
|
+
3. 예외 처리.
|
|
550
|
+
4. 자유 추가 sub-section (해당 시) — sub-section 별 1건 (예: 읽기 양식·쓰기 양식 각각). 복잡 양식 안 sub-단위 (시트 등) = sub-단위별 1건.
|
|
478
551
|
|
|
479
552
|
**모범**: example-spec.md §5.1.
|
|
480
553
|
|
|
@@ -486,46 +559,36 @@ list·detail 동일. 새 버튼은 해당 그룹 끝에 추가. 시트 상단
|
|
|
486
559
|
|
|
487
560
|
### 본문 구조
|
|
488
561
|
|
|
489
|
-
|
|
562
|
+
sub-section 헤더 레벨 = `## spec.md 형식` 안 "sub-section 헤더 레벨" 표 참조.
|
|
563
|
+
|
|
564
|
+
**평문 sub-section** (§5.x 헤더 바로 아래, 라벨 + 본문 형식):
|
|
490
565
|
|
|
491
|
-
-
|
|
492
|
-
-
|
|
493
|
-
-
|
|
494
|
-
- 시작 = 트리거 (시간·이벤트). 종결 = 결과
|
|
495
|
-
- 특수 케이스(상태 머신 / 호출 시퀀스 등)는 mermaid 다른 type(stateDiagram-v2 / sequenceDiagram) 가능
|
|
566
|
+
- `목적:` 도메인 목적 한 줄.
|
|
567
|
+
- `트리거:` 스케줄·이벤트.
|
|
568
|
+
- `관련 섹션:` 본문 내 참조 절 룰 따름.
|
|
496
569
|
|
|
497
|
-
|
|
570
|
+
**h4 sub-section** (평문 아래, 고정 순서, 위→아래):
|
|
498
571
|
|
|
499
|
-
|
|
500
|
-
- 트리거: 스케줄·이벤트
|
|
501
|
-
- 처리: 처리 단계
|
|
502
|
-
- 예외 처리: 실패 케이스별 위험·대처·재시도 한계
|
|
572
|
+
#### 처리
|
|
503
573
|
|
|
504
|
-
|
|
574
|
+
처리 단계.
|
|
505
575
|
|
|
506
|
-
|
|
576
|
+
#### 예외 처리
|
|
507
577
|
|
|
508
|
-
|
|
509
|
-
- 양식별 별도 표 + 방향 명시 (예: `읽기 양식`, `쓰기 양식`)
|
|
510
|
-
- §7.x 명세 양식이면 컬럼명 일치, 일회성이면 처리 본문에서 직접 명세
|
|
578
|
+
실패 케이스별 위험·대처·재시도 한계.
|
|
511
579
|
|
|
512
|
-
|
|
580
|
+
**자유 추가 sub-section** (`#### 예외 처리` 아래, §5.x 별 필요 시 h4 자유 추가):
|
|
513
581
|
|
|
514
|
-
|
|
582
|
+
- **양식 입출력** (예: `#### 읽기 양식`·`#### 쓰기 양식`) — §4 양식 입출력 sub-section 룰 동일. 방향 = 읽기·쓰기. 일회성이면 sub-section 안에서 직접 명세.
|
|
583
|
+
- **기타 자동 처리 고유 정보** — 자유 sub-section 이름.
|
|
515
584
|
|
|
516
585
|
## §6 횡단 처리
|
|
517
586
|
|
|
518
|
-
**임의안 단위**: §6.x 1개당 위→아래 1
|
|
519
|
-
1.
|
|
520
|
-
2.
|
|
521
|
-
3.
|
|
522
|
-
4.
|
|
523
|
-
5. 예외 처리
|
|
524
|
-
6. 양식 매핑 (해당 시)
|
|
525
|
-
7. 모델 매핑 (해당 시)
|
|
526
|
-
8. 관련 섹션
|
|
527
|
-
|
|
528
|
-
설계 분할 단계 헤더 분할 시 §6.x 헤더 `[OPEN: 날짜]` 일괄 + 본문 = 관련 §2.x/§3.x 1줄 참조 포인터.
|
|
587
|
+
**임의안 단위**: §6.x 1개당 위→아래 1건씩:
|
|
588
|
+
1. 목적 / 트리거 (부수효과 발동 조건) (한 묶음).
|
|
589
|
+
2. 처리.
|
|
590
|
+
3. 예외 처리.
|
|
591
|
+
4. 자유 추가 sub-section (해당 시) — sub-section 별 1건 (예: 양식 매핑·모델 매핑). 복잡 양식 안 sub-단위 = sub-단위별 1건.
|
|
529
592
|
|
|
530
593
|
**모범**: example-spec.md §6.1.
|
|
531
594
|
|
|
@@ -534,25 +597,25 @@ list·detail 동일. 새 버튼은 해당 그룹 끝에 추가. 시트 상단
|
|
|
534
597
|
다른 동작의 부수효과로 발동되는 시스템 동작. §3 기타 요구사항의 시스템 전반 자동 룰을 설계로 풀이.
|
|
535
598
|
|
|
536
599
|
예시:
|
|
537
|
-
- DataLog 기록 — 데이터 변경
|
|
538
|
-
- 권한 체크 — 요청
|
|
539
|
-
- 캐시 무효화 — 변경
|
|
540
|
-
- 알림 발송 — 이벤트
|
|
541
|
-
- 감사 로그 — 동작
|
|
600
|
+
- DataLog 기록 — 데이터 변경 부수.
|
|
601
|
+
- 권한 체크 — 요청 부수.
|
|
602
|
+
- 캐시 무효화 — 변경 부수.
|
|
603
|
+
- 알림 발송 — 이벤트 부수.
|
|
604
|
+
- 감사 로그 — 동작 부수.
|
|
542
605
|
|
|
543
606
|
§5 자동 처리와 차이: §5 = 스케줄/이벤트 명시 트리거 (예: 매일 자정·메일 도착). §6 = 다른 동작 부수효과 트리거 (예: 모든 엔티티 update 시).
|
|
544
607
|
|
|
545
608
|
### 본문 구조
|
|
546
609
|
|
|
547
|
-
|
|
610
|
+
sub-section 헤더 레벨 = `## spec.md 형식` 안 "sub-section 헤더 레벨" 표 참조.
|
|
548
611
|
|
|
549
|
-
- §
|
|
550
|
-
- 시작 = 트리거 (부수효과 발동 조건). 종결 = 결과·기록
|
|
612
|
+
**평문 sub-section** (§6.x 헤더 바로 아래, 라벨 + 본문 형식):
|
|
551
613
|
|
|
552
|
-
|
|
614
|
+
- `목적:` 부수효과의 도메인 목적.
|
|
615
|
+
- `트리거:` 어떤 동작의 부수로 발동되는지 + 적용 범위 (예: "모든 엔티티 update 시 / 전체", "특정 도메인 X 변경 시 / 특정 엔티티", "API 요청 시 / 전체").
|
|
616
|
+
- `관련 섹션:` 본문 내 참조 절 룰 따름.
|
|
553
617
|
|
|
554
|
-
-
|
|
555
|
-
- 적용 범위 (전체·특정 §·특정 엔티티) 명시
|
|
618
|
+
**h4 sub-section** (평문 아래, 고정 순서, 위→아래):
|
|
556
619
|
|
|
557
620
|
#### 처리
|
|
558
621
|
|
|
@@ -562,24 +625,18 @@ list·detail 동일. 새 버튼은 해당 그룹 끝에 추가. 시트 상단
|
|
|
562
625
|
|
|
563
626
|
실패 케이스별 위험·대처·재시도 한계.
|
|
564
627
|
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
§5 동일 룰.
|
|
568
|
-
|
|
569
|
-
#### 모델 매핑 (해당 시)
|
|
570
|
-
|
|
571
|
-
이 횡단 처리가 사용·갱신하는 도메인 모델 매핑.
|
|
572
|
-
|
|
573
|
-
- 표: `필드 ([모델.X.Y])` + `용도` + `변환·규칙 (해당 시)`
|
|
574
|
-
|
|
575
|
-
#### 관련 섹션
|
|
628
|
+
**자유 추가 sub-section** (`#### 예외 처리` 아래, §6.x 별 필요 시 h4 자유 추가):
|
|
576
629
|
|
|
577
|
-
|
|
630
|
+
- **양식 입출력** (§5 양식 입출력 sub-section 룰 동일).
|
|
631
|
+
- **모델 매핑** (예: `#### 모델 매핑`) — 이 횡단 처리가 사용·갱신하는 도메인 모델 매핑. 표 `필드 ([모델.X.Y])` + `용도` + `변환·규칙 (해당 시)`.
|
|
632
|
+
- **기타 횡단 처리 고유 정보** — 자유 sub-section 이름.
|
|
578
633
|
|
|
579
634
|
## §7 공통 정의
|
|
580
635
|
|
|
581
636
|
작성 중 자연 도출 (5단계 다른 § 영향). 새 도메인 어휘·시스템 규격 발견 시 사이클 진입.
|
|
582
637
|
|
|
638
|
+
**모범**: example-spec.md §7.1~§7.4.
|
|
639
|
+
|
|
583
640
|
### §7.1 용어 사전 (고정)
|
|
584
641
|
|
|
585
642
|
도메인 어휘·약어·시스템 내 의미 정의.
|
|
@@ -597,88 +654,107 @@ list·detail 동일. 새 버튼은 해당 그룹 끝에 추가. 시트 상단
|
|
|
597
654
|
자료별 표 필수. 외부 자료의 모든 컬럼/필드를 1행 1정의 (자료 자체 객관 명세).
|
|
598
655
|
|
|
599
656
|
**자료-레벨 메타** (송신 측·자료 라이프사이클·갱신 주기·식별 키 구조 등 자료 *전체* 적용 객관 명세):
|
|
600
|
-
- 근거 있을 때 컬럼 표 위에 자유 작성 (불릿/단락/`라벨: 값` 모두 허용)
|
|
601
|
-
- 컬럼 표 안에 욱여넣지 X
|
|
657
|
+
- 근거 있을 때 컬럼 표 위에 자유 작성 (불릿/단락/`라벨: 값` 모두 허용).
|
|
658
|
+
- 컬럼 표 안에 욱여넣지 X.
|
|
602
659
|
|
|
603
660
|
**컬럼 표**:
|
|
604
|
-
- 외부 자료 여러 개 (`SAP.XML`·`D1.CSV`)면 자료별 별도
|
|
605
|
-
- 컬럼: 자료 성격에 따라 LLM 임의안 → 확정. 예: `컬럼명/식별자 | 필수/선택 |
|
|
606
|
-
- 모든 컬럼 행
|
|
607
|
-
- "설명/규칙" 류 = **그 컬럼이 무엇인지** (데이터 정의: 형식·값 범위·의미·제약) 만. **용도** (어디에 어떻게 쓰이는지) X — 용도·매핑은 사용처(§4/§5/§6 양식 매핑)
|
|
608
|
-
- 각 셀 값은 근거 채택 가능 자료 있을 때만. 추정·임의 작성 X
|
|
609
|
-
- "원본 따름"·"전체 명세는 X.xlsx 참조" 등 외부 참조로 본문 정의 대체 X
|
|
610
|
-
- 원본 자료 LLM 접근 불가/누락/모호 → 임의 처리 X. 사용자에게 자료 또는 명세 정보
|
|
661
|
+
- 외부 자료 여러 개 (`SAP.XML`·`D1.CSV`)면 자료별 별도 표.
|
|
662
|
+
- 컬럼: 자료 성격에 따라 LLM 임의안 → 확정. 예: `컬럼명/식별자 | 필수/선택 | 설명/규칙`.
|
|
663
|
+
- 모든 컬럼 행 유지.
|
|
664
|
+
- "설명/규칙" 류 = **그 컬럼이 무엇인지** (데이터 정의: 형식·값 범위·의미·제약) 만. **용도** (어디에 어떻게 쓰이는지) X — 용도·매핑은 사용처(§4/§5/§6 양식 매핑)에서.
|
|
665
|
+
- 각 셀 값은 근거 채택 가능 자료 있을 때만. 추정·임의 작성 X.
|
|
666
|
+
- "원본 따름"·"전체 명세는 X.xlsx 참조" 등 외부 참조로 본문 정의 대체 X.
|
|
667
|
+
- 원본 자료 LLM 접근 불가/누락/모호 → 임의 처리 X. 사용자에게 자료 또는 명세 정보 요청.
|
|
611
668
|
|
|
612
669
|
## §8 도메인 모델
|
|
613
670
|
|
|
614
671
|
작성 중 자연 도출. 새 엔티티 발견 시 사이클 진입.
|
|
615
672
|
|
|
673
|
+
**모범**: example-spec.md §8.1~§8.6.
|
|
674
|
+
|
|
616
675
|
섹션 구조: `필드:` 표 + `키/제약:` 불릿.
|
|
617
676
|
|
|
618
677
|
### 필드 표
|
|
619
678
|
|
|
620
|
-
컬럼: `필드 | 타입 | 필수 |
|
|
679
|
+
컬럼: `필드 | 타입 | 필수 | 비고`.
|
|
621
680
|
|
|
622
|
-
- 비고: **그 필드가 무엇인지** (데이터 정의: 형식·값 범위·의미·제약·예시) 만. **용도·출처·외부 양식/외부 시스템과의 매핑** X — §4/§5/§6 양식 매핑·모델 매핑 / §9 자료
|
|
681
|
+
- 비고: **그 필드가 무엇인지** (데이터 정의: 형식·값 범위·의미·제약·예시) 만. **용도·출처·외부 양식/외부 시스템과의 매핑** X — §4/§5/§6 양식 매핑·모델 매핑 / §9 자료 매핑에서.
|
|
623
682
|
|
|
624
683
|
### 키/제약 불릿
|
|
625
684
|
|
|
626
|
-
- **식별 키**: 모든 엔티티에 `ID` 필드 (숫자, 자동 부여)
|
|
627
|
-
- **비즈니스 키** (코드 등): 별도 명시. 수정 가능 (PK 아님)
|
|
628
|
-
- **활성/비활성 boolean** = 소프트 삭제 플래그. 마스터에 완전 삭제 없음. UI "삭제/복구" 액션과 매핑 → §7.1 용어 사전에 한 줄
|
|
685
|
+
- **식별 키**: 모든 엔티티에 `ID` 필드 (숫자, 자동 부여) 명시.
|
|
686
|
+
- **비즈니스 키** (코드 등): 별도 명시. 수정 가능 (PK 아님).
|
|
687
|
+
- **활성/비활성 boolean** = 소프트 삭제 플래그. 마스터에 완전 삭제 없음. UI "삭제/복구" 액션과 매핑 → §7.1 용어 사전에 한 줄 명문화.
|
|
629
688
|
|
|
630
689
|
## §9 외부 인터페이스
|
|
631
690
|
|
|
632
691
|
**임의안 단위** (한 §9.x 당 2회):
|
|
633
|
-
1. 기본 정보 + 자료 매핑 → "맞나요?"
|
|
634
|
-
2. 예외 처리 → "맞나요?"
|
|
692
|
+
1. 기본 정보 + 자료 매핑 → "맞나요?".
|
|
693
|
+
2. 예외 처리 → "맞나요?".
|
|
635
694
|
|
|
636
695
|
작성 중 자연 도출. 외부 시스템 호출 발견 시 사이클 진입.
|
|
637
696
|
|
|
697
|
+
**모범**: example-spec.md §9.1.
|
|
698
|
+
|
|
638
699
|
### 정의
|
|
639
700
|
|
|
640
701
|
§9 = 상대 시스템 고유 인터페이스 약속 (시스템마다 자료 매핑·방식 달라 협상 필요).
|
|
641
702
|
|
|
642
|
-
- 포함 예: 상대 ERP/거래처 자체 정의 API·EDI 규격, 외부 시스템 webhook
|
|
643
|
-
- 제외 예: 표준 프로토콜·채널 (메일 SMTP/IMAP/Exchange/Graph, FTP, 표준 OAuth). 시스템별 협상 없음 → §5 자동 처리에서 트리거·처리·양식 매핑으로
|
|
703
|
+
- 포함 예: 상대 ERP/거래처 자체 정의 API·EDI 규격, 외부 시스템 webhook 페이로드.
|
|
704
|
+
- 제외 예: 표준 프로토콜·채널 (메일 SMTP/IMAP/Exchange/Graph, FTP, 표준 OAuth). 시스템별 협상 없음 → §5 자동 처리에서 트리거·처리·양식 매핑으로 흡수.
|
|
644
705
|
|
|
645
706
|
### 디테일 범위
|
|
646
707
|
|
|
647
|
-
도메인 약속 레벨까지만. 구체 endpoint URL·HTTP method·query 파라미터·인증 흐름 단계(grant_type·scope·token endpoint)·SDK 메소드명 등 구현 디테일 X — 구현이 알아서. (§2 BPMN·§4 와이어·§8 도메인 모델과 동일 원칙)
|
|
708
|
+
도메인 약속 레벨까지만. 구체 endpoint URL·HTTP method·query 파라미터·인증 흐름 단계(grant_type·scope·token endpoint)·SDK 메소드명 등 구현 디테일 X — 구현이 알아서. (§2 BPMN·§4 와이어·§8 도메인 모델과 동일 원칙).
|
|
709
|
+
|
|
710
|
+
### 본문 구조
|
|
711
|
+
|
|
712
|
+
sub-section 헤더 레벨 = `## spec.md 형식` 안 "sub-section 헤더 레벨" 표 참조.
|
|
713
|
+
|
|
714
|
+
**평문 sub-section** (§9.x 헤더 바로 아래, 위→아래):
|
|
715
|
+
|
|
716
|
+
- **기본 정보** (라벨 bullet 3):
|
|
717
|
+
- `상대 시스템: <시스템명>`.
|
|
718
|
+
- `방향: <방향 표기>`.
|
|
719
|
+
- `전송 방식: <방식>`.
|
|
720
|
+
- **관련 섹션** (`관련 섹션: [카테고리.이름], ...` 한 줄, 자동 누적): 본문 내 참조 절 룰 따름. 호출자 등 참조/의존 섹션 포함.
|
|
648
721
|
|
|
649
|
-
|
|
722
|
+
**h4 sub-section** (평문 아래, 고정 순서, 위→아래):
|
|
650
723
|
|
|
651
|
-
|
|
652
|
-
- `상대 시스템: <시스템명>`
|
|
653
|
-
- `방향: <방향 표기>`
|
|
654
|
-
- `전송 방식: <방식>`
|
|
655
|
-
- **자료 매핑** 헤더 + 표 (상대 시스템 필드 ↔ 본 시스템 출처)
|
|
656
|
-
- **예외 처리** 헤더 + 본문 (실패 케이스별 위험·대처·재시도 한계)
|
|
657
|
-
- **관련 섹션** 한 줄 — 호출자 등 참조/의존 섹션을 `[카테고리.이름]` 콤마 나열
|
|
724
|
+
#### 자료 매핑
|
|
658
725
|
|
|
659
|
-
|
|
726
|
+
표 — 상대 시스템 필드 ↔ 본 시스템 출처.
|
|
727
|
+
|
|
728
|
+
#### 예외 처리
|
|
729
|
+
|
|
730
|
+
실패 케이스별 위험·대처·재시도 한계.
|
|
731
|
+
|
|
732
|
+
## §10 본문 외 확정 사항
|
|
660
733
|
|
|
661
734
|
§1~§9 어디에도 자연스럽게 안 들어가는 결정·메모를 누적. §1~§9 적절한 자리에 박을 수 있는 결정은 §10 X (누락 도피처 X).
|
|
662
735
|
|
|
736
|
+
**모범**: example-spec.md §10.
|
|
737
|
+
|
|
663
738
|
### 형식
|
|
664
739
|
|
|
665
740
|
각 항목:
|
|
666
741
|
|
|
667
|
-
- **헤더 1줄** (필수): `- YYYY-MM-DD: <결정 한
|
|
668
|
-
- 분석 제외 시: `- YYYY-MM-DD [제외]: <결정 한
|
|
669
|
-
- **자식 bullet**: 자유 (개수·내용 자유)
|
|
670
|
-
- **결정 근거 필수** (1개 이상)
|
|
671
|
-
- 자유 항목 예: 자료 위치·영향 범위·대화 발췌·메모·관련 §
|
|
672
|
-
- 분석 제외 시 추가 필수: `후속 처리`·`자료
|
|
742
|
+
- **헤더 1줄** (필수): `- YYYY-MM-DD: <결정 한 줄>`.
|
|
743
|
+
- 분석 제외 시: `- YYYY-MM-DD [제외]: <결정 한 줄>`.
|
|
744
|
+
- **자식 bullet**: 자유 (개수·내용 자유).
|
|
745
|
+
- **결정 근거 필수** (1개 이상).
|
|
746
|
+
- 자유 항목 예: 자료 위치·영향 범위·대화 발췌·메모·관련 § 등.
|
|
747
|
+
- 분석 제외 시 추가 필수: `후속 처리`·`자료 위치`.
|
|
673
748
|
|
|
674
749
|
### 포괄 결정 종류
|
|
675
750
|
|
|
676
751
|
매번 분류 X — 자연 흐름대로 누적. 분석 제외 신호 있을 때만 `[제외]` 마커.
|
|
677
752
|
|
|
678
|
-
-
|
|
679
|
-
-
|
|
680
|
-
-
|
|
681
|
-
-
|
|
753
|
+
- **진행 방법**: **spec 전체** 작업의 사용자 합의 진행 방식 (예: 작성 순서·범위 한정·전체 적용 규칙 등). 분석 단위 한정은 `## spec.md 형식` 안 "진행 방법 누적" 절 참조 — sd-spec 본인 후속 참조용.
|
|
754
|
+
- **미래 결정**: 단계 도달 전 결정 (예: "추후 §4.5 작성 시 X 항목 포함") — sd-spec 본인 후속 참조용.
|
|
755
|
+
- **구현 영역 결정**: spec 본문에 안 들어가는 구현 측 결정 (예: 라이브러리 선택) — sd-impl 후속 참조용.
|
|
756
|
+
- **부정 결정**: "X 안 함" 부정 명시 — 반복 질문 방지용.
|
|
757
|
+
- **분석 제외**: 본 spec 에서 다루지 않는 항목 — 다른 spec/sd-dev/운영 잔손 등 외부 후속 처리.
|
|
682
758
|
|
|
683
759
|
### 예시
|
|
684
760
|
|
|
@@ -695,6 +771,9 @@ list·detail 동일. 새 버튼은 해당 그룹 끝에 추가. 시트 상단
|
|
|
695
771
|
- 근거: 현재 단계 X
|
|
696
772
|
- 후속 처리: 다른 spec 신규
|
|
697
773
|
- 자료 위치: 회의록_3.md L80-95
|
|
774
|
+
|
|
775
|
+
- 2026-05-22: §4 와이어프레임은 영역 추상화만, 시각 디테일은 항목 표/동작 절로 분리
|
|
776
|
+
- 근거: 사용자 합의 — 와이어 분량 관리
|
|
698
777
|
```
|
|
699
778
|
|
|
700
779
|
## spec.md 골격 (분석 분할 단계)
|
|
@@ -730,12 +809,12 @@ list·detail 동일. 새 버튼은 해당 그룹 끝에 추가. 시트 상단
|
|
|
730
809
|
|
|
731
810
|
## 9. 외부 인터페이스
|
|
732
811
|
|
|
733
|
-
## 10. 본문 외
|
|
812
|
+
## 10. 본문 외 확정 사항
|
|
734
813
|
```
|
|
735
814
|
|
|
736
815
|
분석 분할 결과 반영:
|
|
737
|
-
- §2.x/§3.x 헤더 일괄 추가 (헤더 마커 `[OPEN: 날짜]` + 본문 =
|
|
738
|
-
- §10 = 분석 분할 단계 사용자 명시 제외 결정 (`[제외]` 마커)
|
|
816
|
+
- §2.x/§3.x 헤더 일괄 추가 (헤더 마커 `[OPEN: 날짜]` + 본문 = 분석 방법).
|
|
817
|
+
- §10 = 분석 분할 단계 사용자 명시 제외 결정 (`[제외]` 마커) 반영.
|
|
739
818
|
|
|
740
819
|
## 외부 참조
|
|
741
820
|
|
|
@@ -743,4 +822,4 @@ list·detail 동일. 새 버튼은 해당 그룹 끝에 추가. 시트 상단
|
|
|
743
822
|
| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
|
|
744
823
|
| [references/example-spec.md](references/example-spec.md) | spec.md 형식 모범 (WMS 예시 1건). 각 § 작성법의 "모범" 표기에서 참조 |
|
|
745
824
|
| [.claude/references/sd-requirement-source-handling.md](../../references/sd-requirement-source-handling.md) | Requirement Source 부정확성 처리 (STT 오타·화자 모호·발화 모호·도메인 용어 다의성) |
|
|
746
|
-
| [.claude/rules/sd-base-rules.md](../../rules/sd-base-rules.md) | 결정 근거·임의안
|
|
825
|
+
| [.claude/rules/sd-base-rules.md](../../rules/sd-base-rules.md) | 결정 근거·임의안 단위·발언 의도 파악·표현 톤 등 상위 룰 (자동 로드, 중복 명시 X) |
|