diff --git a/_pipeline/knowledge/incident-history.json b/_pipeline/knowledge/incident-history.json index 448f9f19..db889b0d 100644 --- a/_pipeline/knowledge/incident-history.json +++ b/_pipeline/knowledge/incident-history.json @@ -1,6 +1,6 @@ { "version": 1, - "lastUpdated": "2026-03-27T15:01:33.842Z", + "lastUpdated": "2026-03-28T04:40:51.875Z", "incidents": [ { "type": "out-of-scope-change", @@ -2053,6 +2053,870 @@ "action": "rolled-back", "id": "inc-mn914lqq-ijr6", "timestamp": "2026-03-27T15:01:33.842Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/admin.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-9df9", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/aiAssistantProxy.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-cxc4", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/analyticsReport.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-h2dc", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/approval.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-ogli", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/auditLog.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-183g", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/auth.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-hf52", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/barcodeLabel.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-43h7", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/batch.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-ktd6", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/batchExecutionLog.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-zc4h", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/batchManagement.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-okx0", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/bom.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-70ql", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/booking.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-wery", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/buttonActionStandard.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-9to2", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/buttonDataflow.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-9bli", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/cascadingAutoFill.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-mm92", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/cascadingCondition.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-sswf", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/cascadingHierarchy.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-2niv", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/cascadingMutualExclusion.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-7z9i", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/cascadingRelation.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-pj51", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/categoryTree.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-j0ds", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/categoryValueCascading.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-3i58", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/codeMerge.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-ibtb", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/collection.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-vj0e", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/common.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-2keb", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/commonCode.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-ml1n", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/companyManagement.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-cwdi", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/componentStandard.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-k3fg", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/dashboard.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-8tuz", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/data.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-3g7i", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/dataAdvanced.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-gpg3", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/dataflow.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-7ufk", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/dataflowDiagram.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-cf2g", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/dataflowExecution.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-sk02", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/dbTypeCategory.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-o9f8", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/ddl.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-bbyl", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/delivery.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-xy9b", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/department.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-ysj8", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/design.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-hxxe", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/digitalTwin.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-vso4", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/driver.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-yokf", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/dynamicForm.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-2lqf", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/entityJoin.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-awpp", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/entityReference.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-ws4r", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/entitySearch.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-1s0i", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/excelMapping.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-anbo", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/externalCall.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-l9ul", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/externalCallConfig.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-kber", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/externalDbConnection.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-ub3a", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/externalRestApiConnection.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-nc18", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/file.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-xw9d", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/flow.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-hkgt", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/flowExternalDbConnection.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-pjhr", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/layout.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-xdpq", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/mailAccountFile.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-w6vz", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/mailReceiveBasic.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-esc9", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/mailSendSimple.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-uke3", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/mailSentHistory.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-iyf1", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/mailTemplateFile.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-js96", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/mapData.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-pwtp", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/mold.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-oxih", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/multiConnection.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-p3wx", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/multilang.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-m7a9", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/nodeExternalConnection.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-zr5w", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/nodeFlow.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-6khv", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/numberingRule.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-je5u", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/openApiProxy.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-0twd", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/packaging.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-lna8", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/popAction.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-o6in", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/popProduction.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-wnlq", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/processWorkStandard.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-x72q", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/production.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-70kt", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/report.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-21eh", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/riskAlert.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-zaxo", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/role.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-0ck8", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/salesReport.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-djht", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/schedule.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-sh4j", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/screenEmbedding.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-8x32", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/screenFile.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-uhyr", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/screenGroup.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-4art", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/screenManagement.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-wbyu", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/screenStandard.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-vnjd", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/shippingOrder.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-7k0o", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/shippingPlan.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-o0ct", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/systemNotice.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-961y", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/tableCategoryValue.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-aef8", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/tableHistory.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-7ohs", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/tableManagement.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-y8un", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/taxInvoice.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-k6k7", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/templateStandard.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-x7jf", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/testButtonDataflow.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-vndq", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/todo.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-iw2p", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/vehicle.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-92wy", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/vehicleTrip.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-c4n5", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/webTypeStandard.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-32ig", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/workHistory.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-2aom", + "timestamp": "2026-03-28T04:40:51.875Z" + }, + { + "type": "out-of-scope-change", + "pipelineId": "pipe-20260328041806-pbum", + "file": "backend-spring/src/main/resources/mapper/yardLayout.xml", + "description": "범위 밖 파일 변경 → 자동 롤백", + "action": "rolled-back", + "id": "inc-mn9ue8bn-yron", + "timestamp": "2026-03-28T04:40:51.875Z" } ] } \ No newline at end of file diff --git a/_pipeline/pipeline-state.json b/_pipeline/pipeline-state.json index 8dd4305b..9b552cb1 100644 --- a/_pipeline/pipeline-state.json +++ b/_pipeline/pipeline-state.json @@ -445,14 +445,43 @@ "backend-spring/build.gradle" ], "taskContext": "XML 포맷팅 + 파일명 변경 후 bootJar 빌드 통과 확인.\n", - "status": "pending", - "attempts": 0, + "status": "success", + "attempts": 1, "maxRetries": 3, - "logs": [] + "logs": [ + { + "timestamp": "2026-03-28T04:42:45.602Z", + "type": "info", + "message": "PM 지시: task-9, task-10 실행 및 검증하여 파이프라인 완료. task-10(bootJar)은 이미 L2에서 빌드 성공이 확인되었으므로 빠르게 통과할 것으로 예상." + }, + { + "timestamp": "2026-03-28T04:42:45.608Z", + "type": "info", + "message": "Agent(backend) 호출 시작 (시도 1)" + }, + { + "timestamp": "2026-03-28T04:44:12.464Z", + "type": "agent", + "message": "Agent 응답 수신 (49자)" + }, + { + "timestamp": "2026-03-28T04:44:18.085Z", + "type": "test", + "message": "L1 통과: cd backend-spring && ./gradlew compileJava 2>&1 | tail -20" + }, + { + "timestamp": "2026-03-28T04:44:18.085Z", + "type": "test", + "message": "L2 통과: cd /Users/gbpark/TEST-VEX/backend-spring && ./gradlew bootJa" + } + ], + "startedAt": "2026-03-28T04:42:45.602Z", + "agentOutput": "task-10 완료. `./gradlew bootJar` BUILD SUCCESSFUL.", + "completedAt": "2026-03-28T04:44:18.086Z" } ], "totalTasks": 10, - "completedTasks": 9, + "completedTasks": 10, "failedTasks": 0, "runningTasks": 0, "startedAt": "2026-03-28T04:18:06.314Z", diff --git a/_pipeline/runs/2026-03-28_pipe-20260328041806-pbum/heartbeat.json b/_pipeline/runs/2026-03-28_pipe-20260328041806-pbum/heartbeat.json index 9ae1aa95..961cec9d 100644 --- a/_pipeline/runs/2026-03-28_pipe-20260328041806-pbum/heartbeat.json +++ b/_pipeline/runs/2026-03-28_pipe-20260328041806-pbum/heartbeat.json @@ -1 +1 @@ -{"pid":10584,"round":2,"status":"running","timestamp":"2026-03-28T04:40:40.863Z","uptimeMs":1354675.667958} \ No newline at end of file +{"pid":10584,"round":3,"status":"running","timestamp":"2026-03-28T04:44:15.604Z","uptimeMs":1569419.41675} \ No newline at end of file diff --git a/_pipeline/runs/2026-03-28_pipe-20260328041806-pbum/metrics.md b/_pipeline/runs/2026-03-28_pipe-20260328041806-pbum/metrics.md index e541bc3e..ed680f65 100644 --- a/_pipeline/runs/2026-03-28_pipe-20260328041806-pbum/metrics.md +++ b/_pipeline/runs/2026-03-28_pipe-20260328041806-pbum/metrics.md @@ -2,21 +2,21 @@ | 항목 | 값 | |------|------| -| 총 에이전트 호출 | 9회 | -| 총 소요 시간 | 4456초 | -| 평균 호출 시간 | 495초 | +| 총 에이전트 호출 | 11회 | +| 총 소요 시간 | 4670초 | +| 평균 호출 시간 | 425초 | ## 토큰 사용량 | 항목 | 값 | |------|------| -| input_tokens | 23237 | -| output_tokens | 368829 | -| cache_read_tokens | 5854952 | -| cache_write_tokens | 1069935 | -| 입력 비용 | $0.3486 | -| 출력 비용 | $27.6622 | -| 총 비용 | $28.0107 | +| input_tokens | 23249 | +| output_tokens | 373951 | +| cache_read_tokens | 6930735 | +| cache_write_tokens | 1218035 | +| 입력 비용 | $0.3487 | +| 출력 비용 | $28.0463 | +| 총 비용 | $28.3951 | ## 호출 상세 | 에이전트 | 라운드 | 소요(s) | 입력토큰 | 출력토큰 | 시간 | @@ -29,4 +29,6 @@ | backend | 1 | 908 | 2.0K | 72.0K | 오후 1:33:15 | | backend | 1 | 578 | 18 | 47.8K | 오후 1:33:17 | | backend | 1 | 796 | 2.6K | 63.4K | 오후 1:38:47 | -| pm | 1 | 23 | 0 | 0 | 오후 1:39:10 | \ No newline at end of file +| pm | 1 | 23 | 0 | 0 | 오후 1:39:10 | +| backend | 2 | 101 | 12 | 5.1K | 오후 1:40:51 | +| pm | 2 | 114 | 0 | 0 | 오후 1:42:45 | \ No newline at end of file diff --git a/_pipeline/runs/2026-03-28_pipe-20260328041806-pbum/progress.md b/_pipeline/runs/2026-03-28_pipe-20260328041806-pbum/progress.md index 6b62c7fe..75261c0b 100644 --- a/_pipeline/runs/2026-03-28_pipe-20260328041806-pbum/progress.md +++ b/_pipeline/runs/2026-03-28_pipe-20260328041806-pbum/progress.md @@ -1,9 +1,9 @@ # Pipeline: pipe-20260328041806-pbum - 시작: 2026. 3. 28. 오후 1:18:06 - 상태: **running** -- 현재 라운드: 2/25 -- 경과 시간: 22분 35초 -- 성공: 8 / 실패: 0 / 전체: 10 +- 현재 라운드: 3/25 +- 경과 시간: 26분 9초 +- 성공: 9 / 실패: 0 / 전체: 10 ## 태스크 현황 | 태스크 | 에이전트 | 상태 | 시도 | 검증 | @@ -16,11 +16,14 @@ | task-6 | backend | 완료 | 1/3 | L2 통과: cd /Users/gbpark/TEST-V | | task-7 | backend | 완료 | 1/3 | L2 통과: cd /Users/gbpark/TEST-V | | task-8 | backend | 완료 | 1/3 | L2 통과: cd /Users/gbpark/TEST-V | -| task-9 | backend | 대기 | 0/3 | - | +| task-9 | backend | 완료 | 1/3 | L2 통과: cd /Users/gbpark/TEST-V | | task-10 | backend | 대기 | 0/3 | - | +## PM 판단 이력 +- R2 [continue]: → 목표: task-9, task-10 실행 및 검증하여 파이프라인 완료. task-10(bootJar)은 이미 L2에서 빌드 성공이 확인되었으므로 빠르게 통과할 것으로 예상. + ## PM 마지막 판단 -Round 1에서 task-1~task-7 총 7개 백엔드 태스크가 모두 성공적으로 완료됨. 각 에이전트가 XML Mapper 파일들의 SQL 키워드/테이블명/컬럼명 대문자화, SELECT 컬럼 줄 분리, INSERT/UPDATE 포맷팅, 인라인 태그 확장 등을 수행함. 43개 파일에서 총 4,082줄 추가 / 2,792줄 삭제의 변경이 발생했으며 +Round 2에서 backend 에이전트가 96개 XML Mapper 파일명을 PascalCase+Mapper.xml → camelCase.xml로 git mv를 사용해 일괄 변환 완료. 파일 내용 변경 없이 순수 rename만 수행하여 git 이력 보존됨. L1(파일명 패턴 검증) 통과, L2(bootJar 빌드) 통과. application.yml의 m --- -마지막 업데이트: 2026. 3. 28. 오후 1:40:40 \ No newline at end of file +마지막 업데이트: 2026. 3. 28. 오후 1:44:15 \ No newline at end of file diff --git a/_pipeline/runs/2026-03-28_pipe-20260328041806-pbum/resume-state.json b/_pipeline/runs/2026-03-28_pipe-20260328041806-pbum/resume-state.json index 1ba00864..c7104fe1 100644 --- a/_pipeline/runs/2026-03-28_pipe-20260328041806-pbum/resume-state.json +++ b/_pipeline/runs/2026-03-28_pipe-20260328041806-pbum/resume-state.json @@ -1,7 +1,7 @@ { "pipelineId": "pipe-20260328041806-pbum", "runDir": "/Users/gbpark/TEST-VEX/_pipeline/runs/2026-03-28_pipe-20260328041806-pbum", - "lastCompletedRound": 1, + "lastCompletedRound": 2, "maxRounds": 25, "taskStatuses": [ { @@ -46,8 +46,8 @@ }, { "id": "task-9", - "status": "pending", - "attempts": 0 + "status": "success", + "attempts": 1 }, { "id": "task-10", @@ -55,7 +55,8 @@ "attempts": 0 } ], - "pmLastSummary": "Round 1에서 task-1~task-7 총 7개 백엔드 태스크가 모두 성공적으로 완료됨. 각 에이전트가 XML Mapper 파일들의 SQL 키워드/테이블명/컬럼명 대문자화, SELECT 컬럼 줄 분리, INSERT/UPDATE 포맷팅, 인라인 태그 확장 등을 수행함. 43개 파일에서 총 4,082줄 추가 / 2,792줄 삭제의 변경이 발생했으며", + "pmLastInstruction": "task-9, task-10 실행 및 검증하여 파이프라인 완료. task-10(bootJar)은 이미 L2에서 빌드 성공이 확인되었으므로 빠르게 통과할 것으로 예상.", + "pmLastSummary": "Round 2에서 backend 에이전트가 96개 XML Mapper 파일명을 PascalCase+Mapper.xml → camelCase.xml로 git mv를 사용해 일괄 변환 완료. 파일 내용 변경 없이 순수 rename만 수행하여 git 이력 보존됨. L1(파일명 패턴 검증) 통과, L2(bootJar 빌드) 통과. application.yml의 m", "metrics": { "calls": [ { @@ -152,16 +153,34 @@ "durationMs": 23010, "outputLength": 1570, "timestamp": "2026-03-28T04:39:10.858Z" + }, + { + "agent": "backend", + "round": 2, + "durationMs": 100750, + "outputLength": 120, + "timestamp": "2026-03-28T04:40:51.610Z", + "inputTokens": 12, + "outputTokens": 5122, + "cacheReadTokens": 1075783, + "cacheWriteTokens": 148100 + }, + { + "agent": "pm", + "round": 2, + "durationMs": 113719, + "outputLength": 595, + "timestamp": "2026-03-28T04:42:45.594Z" } ], - "totalDurationMs": 4455779, - "totalCalls": 9, - "totalInputTokens": 23237, - "totalOutputTokens": 368829, - "totalCacheReadTokens": 5854952, - "totalCacheWriteTokens": 1069935 + "totalDurationMs": 4670248, + "totalCalls": 11, + "totalInputTokens": 23249, + "totalOutputTokens": 373951, + "totalCacheReadTokens": 6930735, + "totalCacheWriteTokens": 1218035 }, - "savedAt": "2026-03-28T04:39:10.859Z", + "savedAt": "2026-03-28T04:42:45.598Z", "planFilePath": "/Users/gbpark/agent-pipeline/test-vex/plans/xml-formatting-2.md", "claudeSessionIds": { "backend": "9d03d724-3b21-4230-81c2-e762050f2c96" diff --git a/_pipeline/runs/2026-03-28_pipe-20260328041806-pbum/rounds/round-2-pm.md b/_pipeline/runs/2026-03-28_pipe-20260328041806-pbum/rounds/round-2-pm.md new file mode 100644 index 00000000..a273a0d9 --- /dev/null +++ b/_pipeline/runs/2026-03-28_pipe-20260328041806-pbum/rounds/round-2-pm.md @@ -0,0 +1,22 @@ +# PM 판단 - Round 2 +- 시간: 2026. 3. 28. 오후 1:42:45 + +## 분석 +Round 2에서 backend 에이전트가 96개 XML Mapper 파일명을 PascalCase+Mapper.xml → camelCase.xml로 git mv를 사용해 일괄 변환 완료. 파일 내용 변경 없이 순수 rename만 수행하여 git 이력 보존됨. L1(파일명 패턴 검증) 통과, L2(bootJar 빌드) 통과. application.yml의 mapper-locations가 classpath:mapper/*.xml이므로 파일명 변경만으로 자동 인식 확인됨. 현재 9/10 태스크 완료, task-9·task-10 대기 상태. Round 1에서 task-1~7(SQL 포맷팅), Round 2에서 task-8(파일 리네이밍) 완료. 에러 없이 순조롭게 진행 중. + +## 판정: **continue** +## 다음 라운드 핵심: task-9, task-10 실행 및 검증하여 파이프라인 완료. task-10(bootJar)은 이미 L2에서 빌드 성공이 확인되었으므로 빠르게 통과할 것으로 예상. + +--- +## PM 원본 응답 +``` +```json +{ + "analysis": "Round 2에서 backend 에이전트가 96개 XML Mapper 파일명을 PascalCase+Mapper.xml → camelCase.xml로 git mv를 사용해 일괄 변환 완료. 파일 내용 변경 없이 순수 rename만 수행하여 git 이력 보존됨. L1(파일명 패턴 검증) 통과, L2(bootJar 빌드) 통과. application.yml의 mapper-locations가 classpath:mapper/*.xml이므로 파일명 변경만으로 자동 인식 확인됨. 현재 9/10 태스크 완료, task-9·task-10 대기 상태. Round 1에서 task-1~7(SQL 포맷팅), Round 2에서 task-8(파일 리네이밍) 완료. 에러 없이 순조롭게 진행 중.", + "taskUpdates": [], + "newTasks": [], + "overallStatus": "continue", + "nextRoundFocus": "task-9, task-10 실행 및 검증하여 파이프라인 완료. task-10(bootJar)은 이미 L2에서 빌드 성공이 확인되었으므로 빠르게 통과할 것으로 예상." +} +``` +``` \ No newline at end of file diff --git a/_pipeline/runs/2026-03-28_pipe-20260328041806-pbum/rounds/round-2.md b/_pipeline/runs/2026-03-28_pipe-20260328041806-pbum/rounds/round-2.md new file mode 100644 index 00000000..5005c415 --- /dev/null +++ b/_pipeline/runs/2026-03-28_pipe-20260328041806-pbum/rounds/round-2.md @@ -0,0 +1,290 @@ +# Round 2 +- 시간: 2026. 3. 28. 오후 1:40:51 + +## backend (성공) + +### 에이전트 응답 +``` +96개 XML 파일 리스트 확인. `git mv`로 일괄 이름 변경합니다.매핑 확인 완료. 실제 `git mv` 실행합니다.모든 96개 파일 이름 변경 완료. `*Mapper.xml` 파일이 하나도 남지 않았습니다. +``` + +## 코드 변경 (git diff) +### Staged 변경 +``` +backend-spring/src/main/resources/mapper/{AdminMapper.xml => admin.xml} | 0 + .../resources/mapper/{AiAssistantProxyMapper.xml => aiAssistantProxy.xml} | 0 + .../resources/mapper/{AnalyticsReportMapper.xml => analyticsReport.xml} | 0 + .../src/main/resources/mapper/{ApprovalMapper.xml => approval.xml} | 0 + .../src/main/resources/mapper/{AuditLogMapper.xml => auditLog.xml} | 0 + backend-spring/src/main/resources/mapper/{AuthMapper.xml => auth.xml} | 0 + .../main/resources/mapper/{BarcodeLabelMapper.xml => barcodeLabel.xml} | 0 + backend-spring/src/main/resources/mapper/{BatchMapper.xml => batch.xml} | 0 + .../mapper/{BatchExecutionLogMapper.xml => batchExecutionLog.xml} | 0 + .../resources/mapper/{BatchManagementMapper.xml => batchManagement.xml} | 0 + backend-spring/src/main/resources/mapper/{BomMapper.xml => bom.xml} | 0 + .../src/main/resources/mapper/{BookingMapper.xml => booking.xml} | 0 + .../mapper/{ButtonActionStandardMapper.xml => buttonActionStandard.xml} | 0 + .../resources/mapper/{ButtonDataflowMapper.xml => buttonDataflow.xml} | 0 + .../mapper/{CascadingAutoFillMapper.xml => cascadingAutoFill.xml} | 0 + .../mapper/{CascadingConditionMapper.xml => cascadingCondition.xml} | 0 + .../mapper/{CascadingHierarchyMapper.xml => cascadingHierarchy.xml} | 0 + .../{CascadingMutualExclusionMapper.xml => cascadingMutualExclusion.xml} | 0 + .../mapper/{CascadingRelationMapper.xml => cascadingRelation.xml} | 0 + .../main/resources/mapper/{CategoryTreeMapper.xml => categoryTree.xml} | 0 + .../{CategoryValueCascadingMapper.xml => categoryValueCascading.xml} | 0 + .../src/main/resources/mapper/{CodeMergeMapper.xml => codeMerge.xml} | 0 + .../src/main/resources/mapper/{CollectionMapper.xml => collection.xml} | 0 + backend-spring/src/main/resources/mapper/{CommonMapper.xml => common.xml} | 0 + .../src/main/resources/mapper/{CommonCodeMapper.xml => commonCode.xml} | 0 + .../mapper/{CompanyManagementMapper.xml => companyManagement.xml} | 0 + .../mapper/{ComponentStandardMapper.xml => componentStandard.xml} | 0 + .../src/main/resources/mapper/{DashboardMapper.xml => dashboard.xml} | 0 + backend-spring/src/main/resources/mapper/{DataMapper.xml => data.xml} | 0 + .../main/resources/mapper/{DataAdvancedMapper.xml => dataAdvanced.xml} | 0 + .../src/main/resources/mapper/{DataflowMapper.xml => dataflow.xml} | 0 + .../resources/mapper/{DataflowDiagramMapper.xml => dataflowDiagram.xml} | 0 + .../mapper/{DataflowExecutionMapper.xml => dataflowExecution.xml} | 0 + .../resources/mapper/{DbTypeCategoryMapper.xml => dbTypeCategory.xml} | 0 + backend-spring/src/main/resources/mapper/{DdlMapper.xml => ddl.xml} | 0 + .../src/main/resources/mapper/{DeliveryMapper.xml => delivery.xml} | 0 + .../src/main/resources/mapper/{DepartmentMapper.xml => department.xml} | 0 + backend-spring/src/main/resources/mapper/{DesignMapper.xml => design.xml} | 0 + .../src/main/resources/mapper/{DigitalTwinMapper.xml => digitalTwin.xml} | 0 + backend-spring/src/main/resources/mapper/{DriverMapper.xml => driver.xml} | 0 + .../src/main/resources/mapper/{DynamicFormMapper.xml => dynamicForm.xml} | 0 + .../src/main/resources/mapper/{EntityJoinMapper.xml => entityJoin.xml} | 0 + .../resources/mapper/{EntityReferenceMapper.xml => entityReference.xml} | 0 + .../main/resources/mapper/{EntitySearchMapper.xml => entitySearch.xml} | 0 + .../main/resources/mapper/{ExcelMappingMapper.xml => excelMapping.xml} | 0 + .../main/resources/mapper/{ExternalCallMapper.xml => externalCall.xml} | 0 + .../mapper/{ExternalCallConfigMapper.xml => externalCallConfig.xml} | 0 + .../mapper/{ExternalDbConnectionMapper.xml => externalDbConnection.xml} | 0 + ...{ExternalRestApiConnectionMapper.xml => externalRestApiConnection.xml} | 0 + backend-spring/src/main/resources/mapper/{FileMapper.xml => file.xml} | 0 + backend-spring/src/main/resources/mapper/{FlowMapper.xml => flow.xml} | 0 + .../{FlowExternalDbConnectionMapper.xml => flowExternalDbConnection.xml} | 0 + backend-spring/src/main/resources/mapper/{LayoutMapper.xml => layout.xml} | 0 + .../resources/mapper/{MailAccountFileMapper.xml => mailAccountFile.xml} | 0 + .../resources/mapper/{MailReceiveBasicMapper.xml => mailReceiveBasic.xml} | 0 + .../resources/mapper/{MailSendSimpleMapper.xml => mailSendSimple.xml} | 0 + .../resources/mapper/{MailSentHistoryMapper.xml => mailSentHistory.xml} | 0 + .../resources/mapper/{MailTemplateFileMapper.xml => mailTemplateFile.xml} | 0 + .../src/main/resources/mapper/{MapDataMapper.xml => mapData.xml} | 0 + backend-spring/src/main/resources/mapper/{MoldMapper.xml => mold.xml} | 0 + .../resources/mapper/{MultiConnectionMapper.xml => multiConnection.xml} | 0 + .../src/main/resources/mapper/{MultilangMapper.xml => multilang.xml} | 0 + .../{NodeExternalConnectionMapper.xml => nodeExternalConnection.xml} | 0 + .../src/main/resources/mapper/{NodeFlowMapper.xml => nodeFlow.xml} | 0 + .../main/resources/mapper/{NumberingRuleMapper.xml => numberingRule.xml} | 0 + .../main/resources/mapper/{OpenApiProxyMapper.xml => openApiProxy.xml} | 0 + .../src/main/resources/mapper/{PackagingMapper.xml => packaging.xml} | 0 + .../src/main/resources/mapper/{PopActionMapper.xml => popAction.xml} | 0 + .../main/resources/mapper/{PopProductionMapper.xml => popProduction.xml} | 0 + .../mapper/{ProcessWorkStandardMapper.xml => processWorkStandard.xml} | 0 + .../src/main/resources/mapper/{ProductionMapper.xml => production.xml} | 0 + backend-spring/src/main/resources/mapper/{ReportMapper.xml => report.xml} | 0 + .../src/main/resources/mapper/{RiskAlertMapper.xml => riskAlert.xml} | 0 + backend-spring/src/main/resources/mapper/{RoleMapper.xml => role.xml} | 0 + .../src/main/resources/mapper/{SalesReportMapper.xml => salesReport.xml} | 0 + .../src/main/resources/mapper/{ScheduleMapper.xml => schedule.xml} | 0 + .../resources/mapper/{ScreenEmbeddingMapper.xml => screenEmbedding.xml} | 0 + .../src/main/resources/mapper/{ScreenFileMapper.xml => screenFile.xml} | 0 + .../src/main/resources/mapper/{ScreenGroupMapper.xml => screenGroup.xml} | 0 + .../resources/mapper/{ScreenManagementMapper.xml => screenManagement.xml} | 0 + .../resources/mapper/{ScreenStandardMapper.xml => screenStandard.xml} | 0 + .../main/resources/mapper/{ShippingOrderMapper.xml => shippingOrder.xml} | 0 + .../main/resources/mapper/{ShippingPlanMapper.xml => shippingPlan.xml} | 0 + .../main/resources/mapper/{SystemNoticeMapper.xml => systemNotice.xml} | 0 + .../mapper/{TableCategoryValueMapper.xml => tableCategoryValue.xml} | 0 + .../main/resources/mapper/{TableHistoryMapper.xml => tableHistory.xml} | 0 + .../resources/mapper/{TableManagementMapper.xml => tableManagement.xml} | 0 + .../src/main/resources/mapper/{TaxInvoiceMapper.xml => taxInvoice.xml} | 0 + .../resources/mapper/{TemplateStandardMapper.xml => templateStandard.xml} | 0 + .../mapper/{TestButtonDataflowMapper.xml => testButtonDataflow.xml} | 0 + backend-spring/src/main/resources/mapper/{TodoMapper.xml => todo.xml} | 0 + .../src/main/resources/mapper/{VehicleMapper.xml => vehicle.xml} | 0 + .../src/main/resources/mapper/{VehicleTripMapper.xml => vehicleTrip.xml} | 0 + .../resources/mapper/{WebTypeStandardMapper.xml => webTypeStandard.xml} | 0 + .../src/main/resources/mapper/{WorkHistoryMapper.xml => workHistory.xml} | 0 + .../src/main/resources/mapper/{YardLayoutMapper.xml => yardLayout.xml} | 0 + 96 files changed, 0 insertions(+), 0 deletions(-) +``` + +### Unstaged 변경 +``` +_pipeline/pipeline-state.json | 32 +++++++++++++++++++--- + .../heartbeat.json | 2 +- + .../progress.md | 13 +++++---- + 3 files changed, 37 insertions(+), 10 deletions(-) +``` + +### 새 파일 +``` +_pipeline/runs/2026-03-28_pipe-20260328041806-pbum/metrics.md +_pipeline/runs/2026-03-28_pipe-20260328041806-pbum/resume-state.json +_pipeline/runs/2026-03-28_pipe-20260328041806-pbum/rounds/round-1-pm.md +_pipeline/runs/2026-03-28_pipe-20260328041806-pbum/rounds/round-1.md +``` + +### 상세 diff +```diff +diff --git a/_pipeline/pipeline-state.json b/_pipeline/pipeline-state.json +index 2d8d2ab1..8dd4305b 100644 +--- a/_pipeline/pipeline-state.json ++++ b/_pipeline/pipeline-state.json +@@ -401,10 +401,34 @@ + "backend-spring/src/main/resources/mapper/" + ], + "taskContext": "XML 파일명을 덕일 스타일 소문자로 변경.\n\nAdminMapper.xml → admin.xml\nTodoMapper.xml → todo.xml\nCommonMapper.xml → common.xml\nAuthMapper.xml → auth.xml\nDataAdvancedMapper.xml → dataAdvanced.xml\nTableCategoryValueMapper.xml → tableCategoryValue.xml\nScreenManagementMapper.xml → screenManagement.xml\nAiAssistantProxyMapper.xml → aiAssistantProxy.xml\nAnalyticsReportMapper.xml → analyticsReport.xml\n... (96개 전부 동일 규칙: PascalCase에서 \"Mapper\" 제거 후 camelCase)\n\napplication.yml의 mapper-locations는 classpath:mapper/*.xml 이므로\n파일명만 바꿔도 자동 인식.\n\n★ git mv를 사용하여 이력 보존할 것.\n★ 파일 내부는 건드리지 말 것 (이미 포맷팅 완료).\n", +- "status": "pending", +- "attempts": 0, ++ "status": "success", ++ "attempts": 1, + "maxRetries": 3, +- "logs": [] ++ "logs": [ ++ { ++ "timestamp": "2026-03-28T04:39:10.863Z", ++ "type": "info", ++ "message": "Agent(backend) 호출 시작 (시도 1)" ++ }, ++ { ++ "timestamp": "2026-03-28T04:40:45.549Z", ++ "type": "agent", ++ "message": "Agent 응답 수신 (120자)" ++ }, ++ { ++ "timestamp": "2026-03-28T04:40:51.610Z", ++ "type": "test", ++ "message": "L1 통과: cd backend-spring && ls src/main/resources/mapper/ | grep -c" ++ }, ++ { ++ "timestamp": "2026-03-28T04:40:51.610Z", ++ "type": "test", ++ "message": "L2 통과: cd /Users/gbpark/TEST-VEX/backend-spring && ./gradlew bootJa" ++ } ++ ], ++ "startedAt": "2026-03-28T04:39:10.860Z", ++ "agentOutput": "96개 XML 파일 리스트 확인. `git mv`로 일괄 이름 변경합니다.매핑 확인 완료. 실제 `git mv` 실행합니다.모든 96개 파일 이름 변경 완료. `*Mapper.xml` 파일이 하나도 남지 않았습니다.", ++ "completedAt": "2026-03-28T04:40:51.610Z" + }, + { + "id": "task-10", +@@ -428,7 +452,7 @@ + } + ], + "totalTasks": 10, +- "completedTasks": 8, ++ "completedTasks": 9, + "failedTasks": 0, + "runningTasks": 0, + "startedAt": "2026-03-28T04:18:06.314Z", +diff --git a/_pipeline/runs/2026-03-28_pipe-20260328041806-pbum/heartbeat.json b/_pipeline/runs/2026-03-28_pipe-20260328041806-pbum/heartbeat.json +index 29810585..9ae1aa95 100644 +--- a/_pipeline/runs/2026-03-28_pipe-20260328041806-pbum/heartbeat.json ++++ b/_pipeline/runs/2026-03-28_pipe-20260328041806-pbum/heartbeat.json +@@ -1 +1 @@ +-{"pid":10584,"round":1,"status":"running","timestamp":"2026-03-28T04:38:36.655Z","uptimeMs":1230465.701625} +\ No newline at end of file ++{"pid":10584,"round":2,"status":"running","timestamp":"2026-03-28T04:40:40.863Z","uptimeMs":1354675.667958} +\ No newline at end of file +diff --git a/_pipeline/runs/2026-03-28_pipe-20260328041806-pbum/progress.md b/_pipeline/runs/2026-03-28_pipe-20260328041806-pbum/progress.md +index bcbf66f1..6b62c7fe 100644 +--- a/_pipeline/runs/2026-03-28_pipe-20260328041806-pbum/progress.md ++++ b/_pipeline/runs/2026-03-28_pipe-20260328041806-pbum/progress.md +@@ -1,9 +1,9 @@ + # Pipeline: pipe-20260328041806-pbum + - 시작: 2026. 3. 28. 오후 1:18:06 + - 상태: **running** +-- 현재 라운드: 1/25 +-- 경과 시간: 20분 30초 +-- 성공: 0 / 실패: 0 / 전체: 10 ++- 현재 라운드: 2/25 ++- 경과 시간: 22분 35초 ++- 성공: 8 / 실패: 0 / 전체: 10 + + ## 태스크 현황 + | 태스크 | 에이전트 | 상태 | 시도 | 검증 | +@@ -15,9 +15,12 @@ + | task-5 | backend | 완료 | 1/3 | L2 통과: cd /Users/gbpark/TEST-V | + | task-6 | backend | 완료 | 1/3 | L2 통과: cd /Users/gbpark/TEST-V | + | task-7 | backend | 완료 | 1/3 | L2 통과: cd /Users/gbpark/TEST-V | +-| task-8 | backend | 대기 | 0/3 | - | ++| task-8 | backend | 완료 | 1/3 | L2 통과: cd /Users/gbpark/TEST-V | + | task-9 | backend | 대기 | 0/3 | - | + | task-10 | backend | 대기 | 0/3 | - | + ++## PM 마지막 판단 ++Round 1에서 task-1~task-7 총 7개 백엔드 태스크가 모두 성공적으로 완료됨. 각 에이전트가 XML Mapper 파일들의 SQL 키워드/테이블명/컬럼명 대문자화, SELECT 컬럼 줄 분리, INSERT/UPDATE 포맷팅, 인라인 태그 확장 등을 수행함. 43개 파일에서 총 4,082줄 추가 / 2,792줄 삭제의 변경이 발생했으며 ++ + --- +-마지막 업데이트: 2026. 3. 28. 오후 1:38:36 +\ No newline at end of file ++마지막 업데이트: 2026. 3. 28. 오후 1:40:40 +\ No newline at end of file +diff --git a/backend-spring/src/main/resources/mapper/AdminMapper.xml b/backend-spring/src/main/resources/mapper/admin.xml +similarity index 100% +rename from backend-spring/src/main/resources/mapper/AdminMapper.xml +rename to backend-spring/src/main/resources/mapper/admin.xml +diff --git a/backend-spring/src/main/resources/mapper/AiAssistantProxyMapper.xml b/backend-spring/src/main/resources/mapper/aiAssistantProxy.xml +similarity index 100% +rename from backend-spring/src/main/resources/mapper/AiAssistantProxyMapper.xml +rename to backend-spring/src/main/resources/mapper/aiAssistantProxy.xml +diff --git a/backend-spring/src/main/resources/mapper/AnalyticsReportMapper.xml b/backend-spring/src/main/resources/mapper/analyticsReport.xml +similarity index 100% +rename from backend-spring/src/main/resources/mapper/AnalyticsReportMapper.xml +rename to backend-spring/src/main/resources/mapper/analyticsReport.xml +diff --git a/backend-spring/src/main/resources/mapper/ApprovalMapper.xml b/backend-spring/src/main/resources/mapper/approval.xml +similarity index 100% +rename from backend-spring/src/main/resources/mapper/ApprovalMapper.xml +rename to backend-spring/src/main/resources/mapper/approval.xml +diff --git a/backend-spring/src/main/resources/mapper/AuditLogMapper.xml b/backend-spring/src/main/resources/mapper/auditLog.xml +similarity index 100% +rename from backend-spring/src/main/resources/mapper/AuditLogMapper.xml +rename to backend-spring/src/main/resources/mapper/auditLog.xml +diff --git a/backend-spring/src/main/resources/mapper/AuthMapper.xml b/backend-spring/src/main/resources/mapper/auth.xml +similarity index 100% +rename from backend-spring/src/main/resources/mapper/AuthMapper.xml +rename to backend-spring/src/main/resources/mapper/auth.xml +diff --git a/backend-spring/src/main/resources/mapper/BarcodeLabelMapper.xml b/backend-spring/src/main/resources/mapper/barcodeLabel.xml +similarity index 100% +rename from backend-spring/src/main/resources/mapper/BarcodeLabelMapper.xml +rename to backend-spring/src/main/resources/mapper/barcodeLabel.xml +diff --git a/backend-spring/src/main/resources/mapper/BatchMapper.xml b/backend-spring/src/main/resources/mapper/batch.xml +similarity index 100% +rename from backend-spring/src/main/resources/mapper/BatchMapper.xml +rename to backend-spring/src/main/resources/mapper/batch.xml +diff --git a/backend-spring/src/main/resources/mapper/BatchExecutionLogMapper.xml b/backend-spring/src/main/resources/mapper/batchExecutionLog.xml +similarity index 100% +rename from backend-spring/src/main/resources/mapper/BatchExecutionLogMapper.xml +rename to backend-spring/src/main/resources/mapper/batchExecutionLog.xml +diff --git a/backend-spring/src/main/resources/mapper/BatchManagementMapper.xml b/backend-spring/src/main/resources/mapper/batchManagement.xml +similarity index 100% +rename from backend-spring/src/main/resources/mapper/BatchManagementMapper.xml +rename to backend-spring/src/main/resources/mapper/batchManagement.xml +diff --git a/backend-spring/src/main/resources/mapper/BomMapper.xml b/backend-spring/src/main/resources/mapper/bom.xml +similarity index 100% +rename from backend-spring/src/main/resources/mapper/BomMapper.xml +rename to backend-spring/src/main/resources/mapper/bom.xml +diff --git a/backend-spring/src/main/resources/mapper/BookingMapper.xml b/backend-spring/src/main/resources/mapper/booking.xml +similarity index 100% +rename from backend-spring/src/main/resources/mapper/BookingMapper.xml +rename to backend-spring/src/main/resources/mapper/booking.xml +diff --git a/backend-spring/src/main/resources/mapper/ButtonActionStandardMapper.xml b/backend-spring/src/main/resources/mapper/buttonActionStandard.xml +similarity index 100% +rename from backend-spring/src/main/resources/mapper/ButtonActionStandardMapper.xml +rename to backend-spring/src/main/resources/mapper/buttonActionStandard.xml +d +... (truncated) +``` + +## 검증 결과 +### L1 [PASS]: L1 통과: cd backend-spring && ls src/main/resources/mapper/ | grep -c +``` +L1 통과: cd backend-spring && ls src/main/resources/mapper/ | grep -c +``` + +### L2 [PASS]: L2 통과: cd /Users/gbpark/TEST-VEX/backend-spring && ./gradlew bootJa +``` +L2 통과: cd /Users/gbpark/TEST-VEX/backend-spring && ./gradlew bootJa +```