Merge pull request 'AA 역할 레거시 분석 smoke' (#6) from forge/runtime-role-matrix-live-20260714105818-v9-aa-001-attempt-2-run-404707bd57c4 into main
This commit is contained in:
commit
e04bfc8458
6 changed files with 135 additions and 0 deletions
|
|
@ -0,0 +1,3 @@
|
||||||
|
# runtime-role-matrix-live-20260714105818-v9-aa-001-attempt-2-run-404707bd57c4
|
||||||
|
|
||||||
|
Forge 이슈 작업 브랜치 `forge/runtime-role-matrix-live-20260714105818-v9-aa-001-attempt-2-run-404707bd57c4`.
|
||||||
68
docs/audit/role-aa-legacy-analysis.md
Normal file
68
docs/audit/role-aa-legacy-analysis.md
Normal file
|
|
@ -0,0 +1,68 @@
|
||||||
|
# AA 역할 레거시 전환 분석
|
||||||
|
|
||||||
|
**문서 버전**: v1.1
|
||||||
|
**작성일**: 2025-07-14
|
||||||
|
**대상 역할**: AA
|
||||||
|
**분석 목적**: 레거시 시스템 전환을 위한 입력 소스, 업무 규칙, 위험 영역, 증적 위치 정리
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. 입력 소스 참조 테이블
|
||||||
|
|
||||||
|
| ID | 소스 유형 | 파일 경로 | 설명 | 상태 |
|
||||||
|
|-----|----------|-----------|------|------|
|
||||||
|
| IN-001 | 설정 파일 | `scope/role-aa/config.yaml` | 역할 기본 설정 | 활성 |
|
||||||
|
| IN-002 | 스키마 | `scope/role-aa/schema.json` | 데이터 스키마 정의 | 활성 |
|
||||||
|
| IN-003 | 매핑 규칙 | `scope/role-aa/mapping-rules.yaml` | 필드 매핑 규칙 | 활성 |
|
||||||
|
| IN-004 | 의존성 정의 | `scope/role-aa/dependencies.yaml` | 외부 의존성 선언 | **비활성/미포함** |
|
||||||
|
| IN-005 | 검증 스크립트 | `scope/role-aa/validation.sql` | 데이터 검증 쿼리 | 활성 |
|
||||||
|
|
||||||
|
### 1.1 비활성 항목 사유 (IN-004)
|
||||||
|
|
||||||
|
- **참조 파일**: `scope/role-aa/dependencies.yaml`
|
||||||
|
- **비활성 사유**: 해당 파일이 현재 배포 배치에 포함되지 않음
|
||||||
|
- **대응 조치**: 참조 상태를 "비활성/미포함"으로 변경
|
||||||
|
- **후속 필요 작업**: 의존성 관리가 별도 패키지로 분리될 경우 해당 파일 생성 또는 경로 갱신 필요
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. 업무 규칙
|
||||||
|
|
||||||
|
| 규칙 ID | 규칙명 | 설명 | 적용 조건 |
|
||||||
|
|---------|--------|------|----------|
|
||||||
|
| BR-001 | 역할 활성화 | AA 역할은 명시적 활성화 명령 없이는 비활성 상태 | 기본값 |
|
||||||
|
| BR-002 | 데이터 검증 | 모든 입력 데이터는 schema.json 검증 통과 필요 | IN-002 활성 시 |
|
||||||
|
| BR-003 | 매핑 순서 | mapping-rules.yaml의 순서대로 필드 매핑 수행 | IN-003 활성 시 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. 위험 영역
|
||||||
|
|
||||||
|
| 위험 ID | 위험명 | 영향도 | 완화 조치 |
|
||||||
|
|---------|--------|--------|----------|
|
||||||
|
| RK-001 | 입력 소스 누락 | 높음 | IN-004 비활성 상태로 문서화, 배치 완료 후 재평가 |
|
||||||
|
| RK-002 | 검증 실패 | 중간 | validation.sql 사전 실행 |
|
||||||
|
| RK-003 | 매핑 불일치 | 중간 | mapping-rules.yaml 버전 관리 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. 증적 위치
|
||||||
|
|
||||||
|
| 증적 유형 | 위치 | 회수 방법 |
|
||||||
|
|-----------|------|----------|
|
||||||
|
| 설정 증적 | `scope/role-aa/config.yaml` | 파일 직접 참조 |
|
||||||
|
| 스키마 증적 | `scope/role-aa/schema.json` | JSON 파싱 |
|
||||||
|
| 검증 로그 | `logs/validation-*.log` | 로그 파일 분석 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. 감사 추적
|
||||||
|
|
||||||
|
| 일자 | 작업자 | 변경 내용 | 버전 |
|
||||||
|
|------|--------|----------|------|
|
||||||
|
| 2025-07-14 | AA | 초기 문서 작성 | v1.0 |
|
||||||
|
| 2025-07-14 | AA | IN-004 참조 무결성 수정 (비활성 처리) | v1.1 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**문서 종료**
|
||||||
6
scope/role-aa/config.yaml
Normal file
6
scope/role-aa/config.yaml
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
# AA 역할 기본 설정
|
||||||
|
role: aa
|
||||||
|
version: "1.0"
|
||||||
|
enabled: false
|
||||||
|
defaultTimeout: 300
|
||||||
|
retryCount: 3
|
||||||
13
scope/role-aa/mapping-rules.yaml
Normal file
13
scope/role-aa/mapping-rules.yaml
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
# AA 역할 필드 매핑 규칙
|
||||||
|
version: "1.0"
|
||||||
|
mappings:
|
||||||
|
- source: "userId"
|
||||||
|
target: "user_id"
|
||||||
|
transform: "snake_case"
|
||||||
|
- source: "roleName"
|
||||||
|
target: "role_name"
|
||||||
|
transform: "snake_case"
|
||||||
|
- source: "createdAt"
|
||||||
|
target: "created_at"
|
||||||
|
transform: "camel_to_snake"
|
||||||
|
order: sequential
|
||||||
28
scope/role-aa/schema.json
Normal file
28
scope/role-aa/schema.json
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||||
|
"title": "AA Role Schema",
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"roleId": {
|
||||||
|
"type": "string",
|
||||||
|
"pattern": "^[A-Z]{2}$"
|
||||||
|
},
|
||||||
|
"enabled": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"config": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"timeout": {
|
||||||
|
"type": "integer",
|
||||||
|
"minimum": 1
|
||||||
|
},
|
||||||
|
"retryCount": {
|
||||||
|
"type": "integer",
|
||||||
|
"minimum": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": ["roleId", "enabled"]
|
||||||
|
}
|
||||||
17
scope/role-aa/validation.sql
Normal file
17
scope/role-aa/validation.sql
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
-- AA 역할 데이터 검증 쿼리
|
||||||
|
-- 역할 활성화 상태 검증
|
||||||
|
SELECT COUNT(*) AS inactive_roles
|
||||||
|
FROM role_config
|
||||||
|
WHERE role_id = 'AA'
|
||||||
|
AND enabled = false;
|
||||||
|
|
||||||
|
-- 매핑 규칙 존재 확인
|
||||||
|
SELECT COUNT(*) AS mapping_count
|
||||||
|
FROM mapping_rules
|
||||||
|
WHERE role_id = 'AA';
|
||||||
|
|
||||||
|
-- 스키마 검증 (메타데이터 확인)
|
||||||
|
SELECT table_name, column_name
|
||||||
|
FROM information_schema.columns
|
||||||
|
WHERE table_schema = 'public'
|
||||||
|
AND table_name LIKE 'aa_%';
|
||||||
Loading…
Add table
Add a link
Reference in a new issue