From 0019b1c42e9cb30806474e6afa81c1340ba675a5 Mon Sep 17 00:00:00 2001 From: forge-bot Date: Tue, 14 Jul 2026 11:24:05 +0000 Subject: [PATCH] =?UTF-8?q?AA=20=EC=97=AD=ED=95=A0=20=EB=A0=88=EA=B1=B0?= =?UTF-8?q?=EC=8B=9C=20=EB=B6=84=EC=84=9D=20smoke=20(runtime-role-matrix-l?= =?UTF-8?q?ive-20260714112301-v11-aa-001)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- role-aa/audit/business-rules.json | 115 ++++++++++++++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 role-aa/audit/business-rules.json diff --git a/role-aa/audit/business-rules.json b/role-aa/audit/business-rules.json new file mode 100644 index 0000000..061bb6f --- /dev/null +++ b/role-aa/audit/business-rules.json @@ -0,0 +1,115 @@ +{ + "document_id": "role-aa-business-rules-v1", + "role": "AA", + "created_date": "2026-07-14", + "version": "v1", + "business_rules": [ + { + "id": "BR-001", + "name": "역할 식별", + "description": "AA 역할은 고유 ID로 식별된다", + "validation_criteria": [ + "ID != null", + "ID > 0", + "ID is unique" + ], + "test_cases": [ + { + "tc_id": "TC-BR001-01", + "input": "ID = null", + "expected": "ValidationError" + }, + { + "tc_id": "TC-BR001-02", + "input": "ID = 0", + "expected": "ValidationError" + }, + { + "tc_id": "TC-BR001-03", + "input": "ID = 1", + "expected": "Valid" + } + ] + }, + { + "id": "BR-002", + "name": "권한 검증", + "description": "AA 역할은 인가된 작업만 수행한다", + "validation_criteria": [ + "auth_token != null", + "auth_token is valid", + "auth_token not expired" + ], + "test_cases": [ + { + "tc_id": "TC-BR002-01", + "input": "auth_token = null", + "expected": "UnauthorizedError" + }, + { + "tc_id": "TC-BR002-02", + "input": "auth_token = expired_token", + "expected": "TokenExpiredError" + }, + { + "tc_id": "TC-BR002-03", + "input": "auth_token = valid_token", + "expected": "Authorized" + } + ] + }, + { + "id": "BR-003", + "name": "상태 관리", + "description": "AA 역할은 유효한 상태만 가진다", + "validation_criteria": [ + "state ∈ {ACTIVE, INACTIVE, SUSPENDED}" + ], + "test_cases": [ + { + "tc_id": "TC-BR003-01", + "input": "state = 'ACTIVE'", + "expected": "Valid" + }, + { + "tc_id": "TC-BR003-02", + "input": "state = 'INACTIVE'", + "expected": "Valid" + }, + { + "tc_id": "TC-BR003-03", + "input": "state = 'SUSPENDED'", + "expected": "Valid" + }, + { + "tc_id": "TC-BR003-04", + "input": "state = 'UNKNOWN'", + "expected": "ValidationError" + } + ] + }, + { + "id": "BR-004", + "name": "감사 로깅", + "description": "모든 작업은 감사 로그에 기록된다", + "validation_criteria": [ + "log_entry != null", + "log_entry.timestamp != null", + "log_entry.action != null", + "log_entry.actor != null" + ], + "test_cases": [ + { + "tc_id": "TC-BR004-01", + "input": "action without log", + "expected": "AuditLogCreated" + }, + { + "tc_id": "TC-BR004-02", + "input": "log_entry missing timestamp", + "expected": "ValidationError" + } + ] + } + ] +}