@simplysm/sd-claude 14.0.82 → 14.0.84

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.
Files changed (90) hide show
  1. package/claude/references/sd-requirement-source-handling.md +20 -20
  2. package/claude/references/sd-simplysm14/README.md +13 -13
  3. package/claude/references/sd-simplysm14/manuals/client-component.md +92 -92
  4. package/claude/references/sd-simplysm14/manuals/client-crud.md +11 -11
  5. package/claude/references/sd-simplysm14/manuals/client-demo.md +28 -28
  6. package/claude/references/sd-simplysm14/manuals/client-rules.md +1 -1
  7. package/claude/references/sd-simplysm14/manuals/client-setup.md +21 -21
  8. package/claude/references/sd-simplysm14/manuals/client-tab.md +3 -3
  9. package/claude/references/sd-simplysm14/manuals/logging.md +15 -15
  10. package/claude/references/sd-simplysm14/manuals/orm-union.md +6 -6
  11. package/claude/references/sd-simplysm14/manuals/orm.md +19 -19
  12. package/claude/references/sd-simplysm14/manuals/test.md +33 -33
  13. package/claude/rules/sd-design-rules.md +18 -18
  14. package/claude/sd-system-prompt.md +369 -0
  15. package/claude/skills/sd-commit/SKILL.md +10 -10
  16. package/claude/skills/sd-config/SKILL.md +2 -2
  17. package/claude/skills/sd-demo/SKILL.md +45 -45
  18. package/claude/skills/sd-dev/SKILL.md +15 -15
  19. package/claude/skills/sd-docs/SKILL.md +7 -7
  20. package/claude/skills/sd-docs/references/subagent-prompt.md +33 -33
  21. package/claude/skills/sd-impl/SKILL.md +60 -60
  22. package/claude/skills/sd-review/SKILL.md +9 -9
  23. package/claude/skills/sd-skill/SKILL.md +74 -74
  24. package/claude/skills/sd-skill/evals/fixtures/existing-skill/.claude/skills/todo-format/SKILL.md +1 -1
  25. package/claude/skills/sd-spec/SKILL.md +354 -319
  26. package/claude/skills/sd-spec/references/example-spec.md +104 -104
  27. package/claude/skills/sd-unpack/SKILL.md +34 -34
  28. package/claude/skills/sd-unpack/scripts/handlers/__pycache__/office_com.cpython-314.pyc +0 -0
  29. package/claude/skills/sd-unpack/scripts/handlers/office_com.py +234 -159
  30. package/claude/skills/sd-use/SKILL.md +4 -4
  31. package/package.json +1 -1
  32. package/claude/references/sd-simplysm14/apis/angular/README.md +0 -37
  33. package/claude/references/sd-simplysm14/apis/angular/app-structure.md +0 -92
  34. package/claude/references/sd-simplysm14/apis/angular/buttons.md +0 -88
  35. package/claude/references/sd-simplysm14/apis/angular/crud.md +0 -100
  36. package/claude/references/sd-simplysm14/apis/angular/forms.md +0 -200
  37. package/claude/references/sd-simplysm14/apis/angular/infrastructure.md +0 -231
  38. package/claude/references/sd-simplysm14/apis/angular/kanban.md +0 -80
  39. package/claude/references/sd-simplysm14/apis/angular/layout.md +0 -92
  40. package/claude/references/sd-simplysm14/apis/angular/modal.md +0 -115
  41. package/claude/references/sd-simplysm14/apis/angular/routing.md +0 -107
  42. package/claude/references/sd-simplysm14/apis/angular/select-dropdown.md +0 -35
  43. package/claude/references/sd-simplysm14/apis/angular/selection-managers.md +0 -82
  44. package/claude/references/sd-simplysm14/apis/angular/shared-data.md +0 -134
  45. package/claude/references/sd-simplysm14/apis/angular/sheet.md +0 -127
  46. package/claude/references/sd-simplysm14/apis/angular/toast.md +0 -97
  47. package/claude/references/sd-simplysm14/apis/angular/visual.md +0 -167
  48. package/claude/references/sd-simplysm14/apis/capacitor-plugin-auto-update/README.md +0 -79
  49. package/claude/references/sd-simplysm14/apis/capacitor-plugin-file-system/README.md +0 -83
  50. package/claude/references/sd-simplysm14/apis/capacitor-plugin-intent/README.md +0 -91
  51. package/claude/references/sd-simplysm14/apis/capacitor-plugin-usb-storage/README.md +0 -49
  52. package/claude/references/sd-simplysm14/apis/core-browser/README.md +0 -143
  53. package/claude/references/sd-simplysm14/apis/core-common/README.md +0 -58
  54. package/claude/references/sd-simplysm14/apis/core-common/extensions.md +0 -88
  55. package/claude/references/sd-simplysm14/apis/core-common/features.md +0 -51
  56. package/claude/references/sd-simplysm14/apis/core-common/types.md +0 -88
  57. package/claude/references/sd-simplysm14/apis/core-common/utils.md +0 -189
  58. package/claude/references/sd-simplysm14/apis/core-node/README.md +0 -12
  59. package/claude/references/sd-simplysm14/apis/core-node/consola.md +0 -59
  60. package/claude/references/sd-simplysm14/apis/core-node/cpx.md +0 -44
  61. package/claude/references/sd-simplysm14/apis/core-node/fs-watcher.md +0 -42
  62. package/claude/references/sd-simplysm14/apis/core-node/fsx.md +0 -53
  63. package/claude/references/sd-simplysm14/apis/core-node/pathx.md +0 -24
  64. package/claude/references/sd-simplysm14/apis/core-node/worker.md +0 -65
  65. package/claude/references/sd-simplysm14/apis/excel/README.md +0 -193
  66. package/claude/references/sd-simplysm14/apis/lint/README.md +0 -94
  67. package/claude/references/sd-simplysm14/apis/orm-common/README.md +0 -58
  68. package/claude/references/sd-simplysm14/apis/orm-common/db-context.md +0 -77
  69. package/claude/references/sd-simplysm14/apis/orm-common/executable.md +0 -20
  70. package/claude/references/sd-simplysm14/apis/orm-common/expr.md +0 -92
  71. package/claude/references/sd-simplysm14/apis/orm-common/queryable.md +0 -98
  72. package/claude/references/sd-simplysm14/apis/orm-common/schema-builders.md +0 -128
  73. package/claude/references/sd-simplysm14/apis/orm-node/README.md +0 -69
  74. package/claude/references/sd-simplysm14/apis/sd-claude/README.md +0 -32
  75. package/claude/references/sd-simplysm14/apis/sd-cli/README.md +0 -80
  76. package/claude/references/sd-simplysm14/apis/sd-cli/sd-config.md +0 -155
  77. package/claude/references/sd-simplysm14/apis/service-client/README.md +0 -131
  78. package/claude/references/sd-simplysm14/apis/service-common/README.md +0 -29
  79. package/claude/references/sd-simplysm14/apis/service-common/app-structure.md +0 -63
  80. package/claude/references/sd-simplysm14/apis/service-common/messages.md +0 -56
  81. package/claude/references/sd-simplysm14/apis/service-common/protocol.md +0 -64
  82. package/claude/references/sd-simplysm14/apis/service-common/service-types.md +0 -43
  83. package/claude/references/sd-simplysm14/apis/service-server/README.md +0 -13
  84. package/claude/references/sd-simplysm14/apis/service-server/auth.md +0 -39
  85. package/claude/references/sd-simplysm14/apis/service-server/builtin-services.md +0 -71
  86. package/claude/references/sd-simplysm14/apis/service-server/define-service.md +0 -55
  87. package/claude/references/sd-simplysm14/apis/service-server/internals.md +0 -82
  88. package/claude/references/sd-simplysm14/apis/service-server/server.md +0 -57
  89. package/claude/references/sd-simplysm14/apis/storage/README.md +0 -71
  90. package/claude/rules/sd-base-rules.md +0 -306
@@ -8,19 +8,19 @@
8
8
 
9
9
  ### 1.1 핵심 목적 [확정: 2026-04-01]
10
10
 
11
- 박스 단위로 Location 추적, 입출고 발생을 ERP 와 연동하는 WMS
11
+ 박스 단위로 Location 추적하고, 입출고 발생을 ERP 와 연동하는 WMS (Warehouse Management System).
12
12
 
13
13
  ### 1.2 주요 목표 [확정: 2026-04-01]
14
14
 
15
15
  - 박스 입고 처리
16
16
  - 박스 출고 처리
17
- - 입출고에 의한 재고 확인
18
- - 입출고 정보 ERP 동기화
17
+ - 입출고에 따른 재고 확인
18
+ - 입출고 정보의 ERP 동기화
19
19
 
20
20
  ### 1.3 최종 사용자/이해관계자 [확정: 2026-04-01]
21
21
 
22
- - 창고 작업자: 현장에서 PDA를 들고 실제로 물건을 옮기는 작업을 하는 사람
23
- - 창고 관리자: 사무실에서 PC로 전반적인 관리나 일상 업무를 하는 사람
22
+ - 창고 작업자: 현장에서 PDA 를 들고 물건을 옮기는 작업자
23
+ - 창고 관리자: 사무실에서 PC 마스터·재고·지시서를 관리하는 담당자
24
24
 
25
25
  ### 1.4 환경/장치 [확정: 2026-04-01]
26
26
 
@@ -42,7 +42,7 @@
42
42
  └───────────┘ └───────────────┘
43
43
  ```
44
44
 
45
- - PC — 창고 관리자가 마스터·출고지시서·재고 화면에 사용
45
+ - PC — 창고 관리자가 마스터·출고지시서·재고 화면 운용에 사용
46
46
  - OS: Windows 11
47
47
  - Browser: Chrome 최신
48
48
  - 해상도: 1920 x 1080
@@ -50,9 +50,9 @@
50
50
  - Model: DS60S
51
51
  - OS: Android 9
52
52
  - 해상도: 360 x 568
53
- - A4 Printer — 출고지시서 출력, Location 바코드 전체 출력(A4 다중)
54
- - 스펙: 일반 시중의 모든 프린터
55
- - Label Printer — Location 라벨 1매씩 출력
53
+ - A4 Printer — 출고지시서 출력 Location 바코드 다중 출력 (A4 1매에 여러 라벨 배치)
54
+ - 스펙: 시중에서 일반적으로 판매되는 A4 프린터 (특정 모델 제약 없음)
55
+ - Label Printer — Location 라벨을 1매씩 출력
56
56
  - Model: [OPEN]
57
57
 
58
58
  ## 2. 업무 프로세스
@@ -66,28 +66,28 @@ flowchart LR
66
66
  T2 --> E1([입고 등록 완료])
67
67
  ```
68
68
 
69
- - 박스 1개는 단일 품목·단일 Location (1 박스가 2개 Location 동시 존재 X)
70
- - 입고 등록 = 박스의 Location 적치 시점 (재입고/이동은프로세스 X)
71
- - 박스 바코드는 외부에서 이미 부착된 상태로 도착 (창고에서 발급 X)
72
- - ERP 통보는 박스번호 기준 멱등 (재시도 가능)
69
+ - 박스 1개는 단일 품목·단일 Location 만 가짐 (박스 1개가 2개 Location 동시 존재 불가)
70
+ - 입고 등록 시점 = 박스의 최초 Location 적치 시점 (재입고·이동은프로세스에서 제외)
71
+ - 박스 바코드는 외부에서 이미 부착된 상태로 도착함 (창고에서 발급하지 않음)
72
+ - ERP 통보는 박스번호를 키로 멱등 처리됨 (동일 박스 재시도 시 ERP 측이 중복 무시)
73
73
 
74
74
  관련 섹션: [화면.입고 스캔], [화면.품목 관리], [화면.Location 관리], [화면.재고 확인]
75
75
 
76
76
  ### 2.2 출고 [OPEN: 2026-04-01]
77
77
 
78
- 분석 방법: 회의록.md L40-50 재독 (입고 분석 끝난 후). 사용자 보류 발언 — "출고 부분은 입고 끝나고 다음 단계에서 보자".
78
+ 분석 방법: 입고 분석 종료 후 회의록.md L40-50 재독. 사용자 보류 발언 — "출고 부분은 입고 끝나고 다음 단계에서 보자".
79
79
 
80
80
  ## 3. 기타 요구사항
81
81
 
82
82
  ### 3.1 과거 재고 조회 [확정: 2026-04-01]
83
83
 
84
- 특정 일자의 재고 상태를 조회할 수 있어야 함.
84
+ 특정 일자 기준의 재고 상태를 조회할 수 있어야 함.
85
85
 
86
86
  관련 섹션: [화면.재고 확인], [자동 처리.재고 스냅샷]
87
87
 
88
88
  ### 3.2 마스터 데이터 변경 이력 [확정: 2026-04-01]
89
89
 
90
- 모든 마스터 데이터의 변경 (등록·편집·활성/비활성 전환) 이력을 자동 기록해야 함. 변경 추적·감사 목적.
90
+ 모든 마스터 데이터의 변경 (등록·편집·활성/비활성 전환) 이력을 자동으로 기록해야 함. 목적은 변경 추적·감사.
91
91
 
92
92
  관련 섹션: [횡단 처리.마스터 데이터 변경 이력]
93
93
 
@@ -109,7 +109,7 @@ Actor: 창고 관리자
109
109
 
110
110
  기능 개요:
111
111
 
112
- - 품목 마스터 CRUD (등록 / 편집 / 삭제·복구 / 엑셀 업·다운로드)
112
+ - 품목 마스터 CRUD: 등록 / 편집 / 삭제·복구 / 엑셀 업·다운로드
113
113
 
114
114
  #### 와이어프레임
115
115
 
@@ -144,18 +144,18 @@ Actor: 창고 관리자
144
144
 
145
145
  #### 동작
146
146
 
147
- - `[조회]` 클릭: 검색 필터 조건으로 목록 갱신
148
- - `[등록]` 클릭: [화면.품목 등록·편집] 을 빈 폼으로 모달 띄움
149
- - ID 버튼 클릭: [화면.품목 등록·편집] 을 해당 행 데이터로 모달 띄움
150
- - `[선택 삭제]` 클릭: 선택된 행들의 활성 여부 false 전환 (입출고 불가)
151
- - `[선택 복구]` 클릭: 선택된 행들의 활성 여부 true 전환
152
- - `[엑셀 업로드]` 클릭: 엑셀 파일 선택 코드 기준 일괄 등록/수정
153
- - `[엑셀 다운로드]` 클릭: 현재 검색 필터 적용된 목록을 엑셀로 내보내기
154
- - `[화주 자료 업로드]` 클릭: [공통 정의.화주 품목 자료] 파일 선택 아래 업로드 양식 적용 코드 기준 일괄 등록/수정
147
+ - `[조회]` 클릭: 검색 필터 조건으로 목록을 갱신
148
+ - `[등록]` 클릭: [화면.품목 등록·편집] 을 빈 상태로 모달 띄움
149
+ - ID 버튼 클릭: [화면.품목 등록·편집] 을 해당 행 데이터로 채워 모달 띄움
150
+ - `[선택 삭제]` 클릭: 선택된 행들의 활성 여부를 false 전환 (이후 해당 품목 입출고 불가)
151
+ - `[선택 복구]` 클릭: 선택된 행들의 활성 여부를 true 전환
152
+ - `[엑셀 업로드]` 클릭: 엑셀 파일 선택 후, 코드를 키로 일괄 등록·수정
153
+ - `[엑셀 다운로드]` 클릭: 현재 필터가 적용된 목록을 엑셀로 내보냄
154
+ - `[화주 자료 업로드]` 클릭: [공통 정의.화주 품목 자료] 파일을 선택받아, 아래 업로드 양식을 적용한 코드를 키로 일괄 등록·수정
155
155
 
156
156
  #### 시각 규칙
157
157
 
158
- - 비활성 행: 전체 취소선 + 회색
158
+ - 비활성 행: 전체 텍스트에 취소선 + 회색 처리
159
159
 
160
160
  #### 업로드 양식
161
161
 
@@ -198,8 +198,8 @@ Actor: 창고 관리자
198
198
 
199
199
  #### 동작
200
200
 
201
- - `[저장]` 클릭: 활성 품목 코드·명칭 유일성 검증 저장 모달 닫음
202
- - `[취소]` 클릭: 변경 사항 폐기 모달 닫음
201
+ - `[저장]` 클릭: 활성 품목 내에서 코드·명칭 유일성을 검증한 저장하고 모달 닫음
202
+ - `[취소]` 클릭: 변경 사항을 폐기하고 모달 닫음
203
203
 
204
204
  ### 4.3 Location 관리 (PC) [확정: 2026-04-01]
205
205
 
@@ -208,8 +208,8 @@ Actor: 창고 관리자
208
208
 
209
209
  기능 개요:
210
210
 
211
- - Location 마스터 CRUD (등록 / 편집 / 삭제·복구 / 엑셀 업·다운로드)
212
- - 두 가지 바코드 출력: A4 다중 + 라벨프린터 1매씩
211
+ - Location 마스터 CRUD: 등록 / 편집 / 삭제·복구 / 엑셀 업·다운로드
212
+ - 두 가지 바코드 출력 방식: A4 다중 출력, 라벨프린터 1매씩 출력
213
213
 
214
214
  #### 와이어프레임
215
215
 
@@ -242,27 +242,27 @@ Actor: 창고 관리자
242
242
 
243
243
  #### 동작
244
244
 
245
- - `[조회]` 클릭: 검색 필터 조건으로 목록 갱신
246
- - `[등록]` 클릭: [화면.Location 등록·편집] 을 빈 폼으로 모달 띄움
247
- - ID 버튼 클릭: [화면.Location 등록·편집] 을 해당 행 데이터로 모달 띄움
248
- - `[선택 삭제]` 클릭: 선택된 행들의 활성 여부 false 전환
249
- - `[선택 복구]` 클릭: 선택된 행들의 활성 여부 true 전환
250
- - `[엑셀 업로드]` 클릭: 엑셀 파일 선택 코드 기준 일괄 등록/수정
251
- - `[엑셀 다운로드]` 클릭: 현재 필터 적용된 목록을 엑셀로 다운로드
252
- - `[A4 출력]` 클릭 (A4 다중):
245
+ - `[조회]` 클릭: 검색 필터 조건으로 목록을 갱신
246
+ - `[등록]` 클릭: [화면.Location 등록·편집] 을 빈 상태로 모달 띄움
247
+ - ID 버튼 클릭: [화면.Location 등록·편집] 을 해당 행 데이터로 채워 모달 띄움
248
+ - `[선택 삭제]` 클릭: 선택된 행들의 활성 여부를 false 전환
249
+ - `[선택 복구]` 클릭: 선택된 행들의 활성 여부를 true 전환
250
+ - `[엑셀 업로드]` 클릭: 엑셀 파일 선택 후, 코드를 키로 일괄 등록·수정
251
+ - `[엑셀 다운로드]` 클릭: 현재 필터가 적용된 목록을 엑셀로 내보냄
252
+ - `[A4 출력]` 클릭 (A4 다중 출력):
253
253
  - 절차:
254
- 1. 선택된 Location 목록을 A4 1매에 그리드로 배치
254
+ 1. 선택된 Location 목록을 A4 1매에 그리드 형태로 배치
255
255
  2. 각 칸에 [공통 정의.Location 라벨] 의 표시 항목을 인쇄
256
- 3. PDF 다운로드 또는 직접 인쇄
257
- - [OPEN] A4 1매당 그리드 행/열
258
- - `[선택 라벨 출력]` 클릭 (라벨프린터):
256
+ 3. PDF 다운로드하거나 직접 인쇄
257
+ - [OPEN] A4 1매당 그리드 행/열 개수
258
+ - `[선택 라벨 출력]` 클릭 (라벨프린터 출력):
259
259
  - 절차:
260
- 1. 선택된 Location 을 [공통 정의.Location 라벨] 규격으로 라벨프린터 1매씩 출력
260
+ 1. 선택된 Location 을 [공통 정의.Location 라벨] 규격으로 라벨프린터에서 1매씩 출력
261
261
  2. 다중 선택 시 선택 수만큼 연속 출력
262
262
 
263
263
  #### 시각 규칙
264
264
 
265
- - 비활성 행: 전체 취소선 + 회색
265
+ - 비활성 행: 전체 텍스트에 취소선 + 회색 처리
266
266
 
267
267
  ### 4.4 Location 등록·편집 (PC) [확정: 2026-04-01]
268
268
 
@@ -295,17 +295,17 @@ Actor: 창고 관리자
295
295
 
296
296
  #### 동작
297
297
 
298
- - `[저장]` 클릭: 활성 Location 코드 유일성 검증 저장 모달 닫음
299
- - `[취소]` 클릭: 변경 사항 폐기 모달 닫음
298
+ - `[저장]` 클릭: 활성 Location 내에서 코드 유일성을 검증한 저장하고 모달 닫음
299
+ - `[취소]` 클릭: 변경 사항을 폐기하고 모달 닫음
300
300
 
301
301
  ### 4.5 입고 스캔 (PDA) [확정: 2026-04-01]
302
302
 
303
303
  Actor: 창고 작업자
304
- 관련 섹션: [프로세스.입고], [외부인터페이스.ERP 입고 통보]
304
+ 관련 섹션: [프로세스.입고], [외부 인터페이스.ERP 입고 통보]
305
305
 
306
306
  기능 개요:
307
307
 
308
- - 박스 Location 순서로 스캔하여 재고 등록
308
+ - 박스 바코드, Location 바코드 순서로 스캔하여 재고를 등록
309
309
 
310
310
  #### 와이어프레임
311
311
 
@@ -333,10 +333,10 @@ Actor: 창고 작업자
333
333
 
334
334
  - `[등록]` 클릭:
335
335
  - 절차:
336
- 1. 박스 바코드 파싱 (품목코드 / 수량 / 박스번호)
337
- 2. 모델 존재 검증 (품목 활성 / Location 활성 / 박스번호 미중복)
338
- 3. [모델.재고] 생성
339
- 4. [외부인터페이스.ERP 입고 통보] 호출
336
+ 1. 박스 바코드를 품목코드·수량·박스번호로 파싱
337
+ 2. 모델 존재·상태 검증 (품목 활성 여부, Location 활성 여부, 박스번호 미중복)
338
+ 3. [모델.재고] 레코드 생성
339
+ 4. [외부 인터페이스.ERP 입고 통보] 호출
340
340
 
341
341
  ### 4.6 재고 확인 (PC) [확정: 2026-04-01]
342
342
 
@@ -345,8 +345,8 @@ Actor: 창고 관리자
345
345
 
346
346
  기능 개요:
347
347
 
348
- - 현재 재고: Location 적치된 박스 + 품목·수량 조회
349
- - 과거 시점 재고: 특정 날짜의 스냅샷 조회
348
+ - 현재 재고 조회: Location 별로 적치된 박스, 품목, 수량 표시
349
+ - 과거 시점 재고 조회: 특정 날짜의 스냅샷 표시
350
350
 
351
351
  #### 와이어프레임
352
352
 
@@ -367,7 +367,7 @@ Actor: 창고 관리자
367
367
 
368
368
  | 항목 | 종류 | 필수 | 비고 |
369
369
  | ------------- | ------ | ---- | -------------------------------------------- |
370
- | 기준일 | 날짜 | X | 비우면 현재. 과거 일자 입력 시 스냅샷 조회 |
370
+ | 기준일 | 날짜 | X | 비우면 현재 시점 조회. 과거 일자 입력 시 스냅샷 조회 |
371
371
  | 품목 필터 | 텍스트 | X | 코드 부분 일치 |
372
372
  | Location 필터 | 텍스트 | X | 코드 부분 일치 |
373
373
 
@@ -383,56 +383,56 @@ Actor: 창고 관리자
383
383
  #### 동작
384
384
 
385
385
  - `[조회]` 클릭:
386
- - 기준일 비어있음: 현재 [모델.재고] 조회
387
- - 기준일 입력됨: [모델.재고 스냅샷] 에서 해당 날짜 조회
388
- - 필터 조건 적용 결과 표시
389
- - `[엑셀 다운로드]` 클릭: 현재 조회 결과를 엑셀로 다운로드
386
+ - 기준일이 비어있으면: 현재 시점 [모델.재고] 조회
387
+ - 기준일이 입력되어 있으면: [모델.재고 스냅샷] 에서 해당 날짜 분을 조회
388
+ - 결과에 품목·Location 필터 조건을 적용하여 표시
389
+ - `[엑셀 다운로드]` 클릭: 현재 조회 결과를 엑셀로 내보냄
390
390
 
391
391
  ## 5. 자동 처리
392
392
 
393
393
  ### 5.1 재고 스냅샷 [확정: 2026-04-01]
394
394
 
395
- 목적: 과거 시점 재고 조회 지원
395
+ 목적: 과거 시점 재고 조회를 지원
396
396
 
397
- 트리거: 매일 0시 정각
397
+ 트리거: 매일 0시 정각 (자정)
398
398
 
399
399
  관련 섹션: [기타.과거 재고 조회], [화면.재고 확인]
400
400
 
401
401
  #### 처리
402
402
 
403
- - [모델.재고] 전체를 [모델.재고 스냅샷] 에 날짜별로 저장
403
+ - 트리거 시점의 [모델.재고] 전체를 [모델.재고 스냅샷] 에 해당 날짜로 저장
404
404
 
405
405
  #### 예외 처리
406
406
 
407
407
  - 스냅샷 생성 실패 시:
408
- - 위험: 당일 분 누락 시 해당 날짜의 과거 시점 조회 불가
409
- - 대처: 관리자 알림. 동일 일자 재실행 (날짜, 박스) 유일성 검증으로 중복 생성 방지
410
- - 재시도 한계: 별도 재시도 없음 (다음 날 0 정상 동작)
408
+ - 위험: 당일 분 누락 시 해당 날짜의 과거 시점 조회가 불가
409
+ - 대처: 관리자에게 알림 발송. 동일 일자에 재실행할 경우 (날짜, 박스) 유일성 제약으로 중복 생성을 방지
410
+ - 재시도 한계: 자동 재시도 없음 (다음 날 0시에 정상 동작)
411
411
 
412
412
  ## 6. 횡단 처리
413
413
 
414
414
  ### 6.1 마스터 데이터 변경 이력 [확정: 2026-04-01]
415
415
 
416
- 목적: 마스터 변경 추적·감사 (누가 언제 무엇을 어떻게 바꿨는지)
416
+ 목적: 마스터 데이터 변경의 추적·감사 (누가, 언제, 무엇을, 어떻게 바꿨는지 기록)
417
417
 
418
418
  트리거 (부수효과 발동 조건):
419
- - 마스터 엔티티의 insert / update / delete 트랜잭션 commit
420
- - 적용 범위: [모델.품목], [모델.Location]
421
- - 적용 제외: 트랜잭션 모델 ([모델.재고], [모델.재고 스냅샷])
419
+ - 마스터 엔티티의 insert·update·delete 트랜잭션 commit 시점
420
+ - 적용 대상 모델: [모델.품목], [모델.Location]
421
+ - 적용 제외 모델 (트랜잭션 모델): [모델.재고], [모델.재고 스냅샷]
422
422
 
423
423
  관련 섹션: [기타.마스터 데이터 변경 이력], [모델.품목], [모델.Location], [모델.DataLog]
424
424
 
425
425
  #### 처리
426
426
 
427
- - 변경 전 값과 변경 후 캡처 (insert 시 변경 전 = null, delete 시 변경 후 = null)
428
- - [모델.DataLog] 에 행 적재 (테이블·키·전·후·작업자·시각)
427
+ - 변경 전 값과 변경 후 값을 캡처 (insert 시 변경 전 = null, delete 시 변경 후 = null)
428
+ - [모델.DataLog] 에 1행 적재 (테이블명·키·변경 전·변경 후·작업자·시각)
429
429
 
430
430
  #### 예외 처리
431
431
 
432
432
  - DataLog 적재 실패 시:
433
- - 위험: 변경 추적 누락
434
- - 대처: 트랜잭션은 정상 commit 유지, DataLog 적재 실패만 별도 큐로 적재 관리자 알림
435
- - 재시도 한계: 큐에서 5 지수 백오프 운영팀 알림
433
+ - 위험: 변경 이력 추적 누락
434
+ - 대처: 원본 마스터 트랜잭션은 정상 commit 유지하고, DataLog 적재 실패만 별도 큐에 적재한 관리자에게 알림
435
+ - 재시도 한계: 큐에서 지수 백오프로 5회까지 재시도운영팀에 알림
436
436
 
437
437
  #### 모델 매핑
438
438
 
@@ -449,14 +449,14 @@ Actor: 창고 관리자
449
449
 
450
450
  ### 7.1 용어 사전 [확정: 2026-04-01]
451
451
 
452
- - 박스: 외부에서 이미 바코드(품목+수량+박스번호)가 부착된 입고 단위
453
- - Location: 창고 내 적치 위치 ([공통 정의.Location 라벨])
454
- - ERP 통보: 입출고 발생 시 WMS ERP 단방향 알림
455
- - 활성 여부: 마스터 데이터의 소프트 삭제 플래그 (true = 정상, false = 삭제 처리됨). UI 의 "삭제/복구" 액션과 매핑. 마스터에 완전 삭제(DB 레코드 제거) 없음.
452
+ - 박스: 외부에서 이미 바코드(품목코드 + 수량 + 박스번호 합성)가 부착된 상태로 도착하는 입고 단위
453
+ - Location: 창고 내 적치 위치. 라벨 규격은 [공통 정의.Location 라벨] 참조
454
+ - ERP 통보: 입출고 발생 시 WMS 에서 ERP 로 보내는 단방향 알림
455
+ - 활성 여부: 마스터 데이터의 소프트 삭제 플래그 (true = 정상, false = 삭제 처리됨). UI 의 "삭제·복구" 액션과 매핑됨. 마스터 데이터는 DB 레코드를 물리적으로 삭제하지 않음
456
456
 
457
457
  ### 7.2 박스 바코드 형식 [OPEN: 2026-04-01]
458
458
 
459
- 분석 방법: 첨부B.pdf p.5 "박스 코드 체계" (외부 송장 시스템 규격) 분석. [모델.박스] 식별 키 구조와 직결 §8 박스 확정과 함께 검토.
459
+ 분석 방법: 첨부B.pdf p.5 "박스 코드 체계" (외부 송장 시스템 규격) 분석. [모델.박스] 비즈니스 키 구조와 직결되므로, [모델.박스] 확정과 함께 검토 필요.
460
460
 
461
461
  ### 7.3 Location 라벨 [확정: 2026-04-01]
462
462
 
@@ -477,12 +477,12 @@ Actor: 창고 관리자
477
477
 
478
478
  ### 7.4 화주 품목 자료 [확정: 2026-04-01]
479
479
 
480
- 화주(품목을 본 WMS 에 보관 위탁한 거래처)가 자기 ERP 에서 수시로 다운로드해 화주별 별도 파일로 전달한다. 신규 화주 등록 또는 화주 측 품목 마스터 변경 시점에 본 WMS 1회 일괄 업로드한다. 식별 키는 `화주코드 + SEQ` 2컬럼 합성.
480
+ 화주(품목을 본 WMS 에 보관 위탁한 거래처)가 자체 ERP 에서 수시로 다운로드한 뒤, 화주별로 별도 파일을 전달함. 신규 화주 등록 시점이나 화주 측 품목 마스터 변경 시점에 본 WMS 1회 일괄 업로드함. 식별 키는 `화주코드` + `SEQ` 2 컬럼의 합성값.
481
481
 
482
482
  | 컬럼 | 필수 | 설명 |
483
483
  | -------- | ---- | --------------------------------------------------- |
484
484
  | 화주코드 | O | 화주 ERP 의 품목 코드. 영문 대문자 + 숫자, 최대 8자 |
485
- | SEQ | O | 같은 화주코드 내 revision 일련번호. 숫자 3자리 |
485
+ | SEQ | O | 같은 화주코드 내 개정(revision) 일련번호. 숫자 3자리 |
486
486
  | 품목명 | O | 화주 측 명칭 |
487
487
  | 단위 | X | `EA` / `BOX` 등 |
488
488
 
@@ -503,7 +503,7 @@ Actor: 창고 관리자
503
503
 
504
504
  - 식별 키: ID (자동 부여)
505
505
  - 비즈니스 키: 코드 (사용자 부여, 수정 가능)
506
- - 유일성: 활성 품목 코드, 명칭 각각 유일
506
+ - 유일성 제약: 활성 품목 범위 내에서 코드, 명칭 각각 유일
507
507
 
508
508
  ### 8.2 박스 [확정: 2026-04-01]
509
509
 
@@ -520,8 +520,8 @@ Actor: 창고 관리자
520
520
 
521
521
  - 식별 키: ID (자동 부여)
522
522
  - 비즈니스 키: 박스번호
523
- - 박스 1 = 단일 품목
524
- - 유일성: 박스번호 유일
523
+ - 박스 1개는 단일 품목만 가짐
524
+ - 유일성 제약: 박스번호는 전체 박스에서 유일
525
525
 
526
526
  ### 8.3 Location [확정: 2026-04-01]
527
527
 
@@ -537,7 +537,7 @@ Actor: 창고 관리자
537
537
 
538
538
  - 식별 키: ID (자동 부여)
539
539
  - 비즈니스 키: 코드 (사용자 부여, 수정 가능)
540
- - 유일성: 활성 Location 코드 유일
540
+ - 유일성 제약: 활성 Location 범위 내에서 코드는 유일
541
541
 
542
542
  ### 8.4 재고 [확정: 2026-04-01]
543
543
 
@@ -552,8 +552,8 @@ Actor: 창고 관리자
552
552
  키/제약:
553
553
 
554
554
  - 식별 키: ID (자동 부여)
555
- - 박스 1개는 동시에 1개 Location 에만 존재 (= 박스-재고 1:1)
556
- - Location 1개에 박스 다중 가능
555
+ - 박스 1개는 동시에 1개 Location 에만 존재 (박스-재고 = 1:1)
556
+ - Location 1개에 박스 다수 적치 가능
557
557
 
558
558
  ### 8.5 재고 스냅샷 [확정: 2026-04-01]
559
559
 
@@ -569,7 +569,7 @@ Actor: 창고 관리자
569
569
  키/제약:
570
570
 
571
571
  - 식별 키: ID (자동 부여)
572
- - 비즈니스 키: (날짜, 박스) 조합 유일
572
+ - 비즈니스 키: (날짜, 박스) 조합이 유일
573
573
 
574
574
  ### 8.6 DataLog [확정: 2026-04-01]
575
575
 
@@ -588,7 +588,7 @@ Actor: 창고 관리자
588
588
  키/제약:
589
589
 
590
590
  - 식별 키: ID (자동 부여)
591
- - 인덱스: (테이블명, 키, 시각) — 특정 엔티티 변경 이력 조회용
591
+ - 인덱스: (테이블명, 키, 시각) — 특정 엔티티의 변경 이력 조회 용도
592
592
 
593
593
  ## 9. 외부 인터페이스
594
594
 
@@ -611,28 +611,28 @@ Actor: 창고 관리자
611
611
 
612
612
  #### 예외 처리
613
613
 
614
- - 호출 실패 (네트워크 오류, ERP 서버 일시 다운 등):
615
- - 위험: 단순 재시도 시 ERP 에 같은 박스가 2번 입고 등록될 수 있음 (첫 호출이 실제로는 ERP 에 도달했는데 응답만 못 받은 경우)
616
- - 방지 전제: ERP 박스번호를 키로 사용해 이미 받은 통보는 무시하도록 구성되어야
617
- - 대처: 위 전제 하에 지수 백오프로 재시도, 최대 5
618
- - 재시도 한계 초과: 관리자 알림 (이후 수동 확인 필요)
614
+ - 호출 실패 (네트워크 오류, ERP 서버 일시 다운 등):
615
+ - 위험: 단순 재시도 시 ERP 에 같은 박스가 2번 입고 등록될 수 있음 (예: 첫 호출이 ERP 에 도달했으나 응답만 못 받은 경우)
616
+ - 방지 전제: ERP 측이 박스번호를 키로 사용하여 이미 받은 통보를 무시하도록 구성되어 있어야
617
+ - 대처: 위 전제 하에 지수 백오프로 재시도, 최대 5회까지
618
+ - 재시도 한계 초과 시: 관리자에게 알림 발송 (이후 수동 확인 필요)
619
619
 
620
620
  ## 10. 본문 외 확정 사항
621
621
 
622
- - 2026-04-01 [제외]: 직원 관리 사원번호 컬럼 추가
623
- - 근거: 본 spec 범위 밖 인사 마스터 영역
624
- - 후속 처리: sd-dev
622
+ - 2026-04-01 [제외]: 직원 관리 화면에 사원번호 컬럼 추가
623
+ - 근거: 본 spec 범위 밖 (인사 마스터 영역)
624
+ - 후속 처리: sd-dev 스킬로 이관
625
625
  - 자료 위치: 회의록.md L42
626
626
 
627
- - 2026-04-01 [제외]: 재고 확인 화면 정렬 버그
628
- - 근거: 본 spec 범위 밖 운영 잔손
629
- - 후속 처리: 운영 잔손
627
+ - 2026-04-01 [제외]: 재고 확인 화면의 정렬 버그
628
+ - 근거: 본 spec 범위 밖 (운영 잔손 영역)
629
+ - 후속 처리: 운영 잔손 채널로 이관
630
630
  - 자료 위치: 이슈 #128
631
631
 
632
- - 2026-04-01: 출고 분석은 입고 끝나고 다음 단계
633
- - 근거: 사용자 결정 — 입고 검증 출고 진행이 안전
632
+ - 2026-04-01: 출고 분석은 입고 분석이 끝난 뒤 다음 단계에서 진행
633
+ - 근거: 사용자 결정 — 입고 검증을 먼저 완료해야 출고 진행이 안전
634
634
  - 자료 위치: 회의록.md L40-50
635
- - 영향: §2.2 출고 OPEN 상태 유지
635
+ - 영향: 업무 프로세스 출고(2.2 섹션) OPEN 상태 유지
636
636
 
637
637
  - 2026-04-05: 품목 마스터 sd-impl 완료 (구현 마커 부착)
638
- - 근거: 시연 검증 통과 (§4.1·§4.2)
638
+ - 근거: 시연 검증 통과 — 화면 품목 관리(4.1번 섹션), 품목 등록·편집(4.2번 섹션)