Compare commits
8 commits
forge/runt
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 6ba55511c4 | |||
| e04bfc8458 | |||
| 724e41e56a | |||
| f420c5c364 | |||
| f7aac4a446 | |||
| ca998e5d7e | |||
| c4fb886f9f | |||
| 76dbbf81cf |
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