20 KiB
20 KiB
Round 1
- 시간: 2026. 3. 28. 오후 1:38:47
backend (성공)
에이전트 응답
7개 파일 모두 완료했습니다.
**적용된 변경 사항:**
| 파일 | 변경 내용 |
|------|-----------|
| ShippingPlanMapper.xml | `ON true` → `ON TRUE`, SELECT/FROM/WHERE/ORDER BY 사이 빈 줄 추가 |
| ShippingOrderMapper.xml | `json_agg` → `JSON_AGG`, `json_build_object` → `JSON_BUILD_OBJECT`, `ON true` → `ON TRUE`, 빈 줄 추가 |
| BookingMapper.xml | SELECT/FROM/WHERE/ORDER BY/SET/WHERE 사이 빈 줄 추가 |
| DriverMapper.xml | SELECT/FROM/WHERE/SET 사이 빈 줄 추가 |
| VehicleMapper.xml | SELECT/FROM/WHERE/SET 사이 빈 줄 추가 |
| VehicleTripMapper.xml | 모든 쿼리의 SELECT/FROM/WHERE/GROUP BY/ORDER BY/SET 사이 빈 줄 추가 |
| YardLayoutMapper.xml | SELECT/FROM/WHERE/SET 사이 빈 줄 추가 |
backend (성공)
에이전트 응답
소문자 SQL 키워드 잔존 없음 확인. 변경 요약:
**AnalyticsReportMapper.xml:**
- 타입 키워드 대문자화: `::date::text` → `::DATE::TEXT`, `::text` → `::TEXT`, `::numeric` → `::NUMERIC`, `AS numeric` → `AS NUMERIC`
- 줄 띄움 적용: 서브쿼리 내 `FROM ... GROUP BY ...`, `FROM ... ORDER BY ...`, `FROM ... WHERE ...` → 각 절 별도 줄로 분리
- `SELECT DISTINCT ON (user_id) user_id, user_name FROM user_info` → FROM 줄 분리
**PackagingMapper.xml:**
- `SELECT * FROM xxx` → `SELECT *` / `FROM xxx` 줄 분리 (4곳)
- 서브쿼리 DELETE 내 `SELECT pkg_code FROM pkg_unit WHERE ...` → 각 절 별도 줄 분리
**DeliveryMapper.xml:** 이미 SQL 키워드 전부 대문자, 줄 구분 완료 → 수정 불필요
backend (성공)
에이전트 응답
4개 XML 파일 포맷팅 완료:
| 파일 | 변경 내용 |
|------|-----------|
| **TaxInvoiceMapper.xml** | 테이블/컬럼명 소문자→대문자 (`tax_invoice`→`TAX_INVOICE` 등), 인라인 `<if>` 14개 줄 분리 |
| **BomMapper.xml** | `updateBom` `<set>` 블록 인라인 `<if>` 7개 줄 분리 |
| **ProductionMapper.xml** | `updateProduction` `<set>` 블록 인라인 `<if>` 10개 줄 분리 |
| **SalesReportMapper.xml** | 테이블/컬럼명/alias 대문자化 (`SOM`, `SOD`, `CM`, `II`, `SALES_ORDER_MNG` 등), `CAST AS NUMERIC` 등 |
done_when 조건 충족: **SQL 전부 대문자 + 줄 띄움** ✓
backend (성공)
에이전트 응답
포맷팅 완료했습니다.
## 변경 사항 요약
**WorkHistoryMapper.xml:**
- `::date` → `::DATE`, `::integer` → `::INTEGER`
- `is_on_time = true` → `is_on_time = TRUE`
- SELECT/FROM/WHERE/ORDER BY/GROUP BY 사이 빈 줄 추가
**MoldMapper.xml:**
- SELECT/FROM/WHERE/ORDER BY 사이 빈 줄 추가
- SET/WHERE 사이 빈 줄 추가
**DesignMapper.xml:**
- `json_agg` → `JSON_AGG`, `json_build_object` → `JSON_BUILD_OBJECT`
- `'[]'::json` → `'[]'::JSON`
- SELECT/FROM/WHERE/ORDER BY 사이 빈 줄 추가, SET/WHERE 사이 빈 줄 추가
**CollectionMapper.xml:**
- `::jsonb` → `::JSONB` (INSERT/UPDATE 내 2곳)
- SELECT/FROM/WHERE/ORDER BY 사이 빈 줄 추가, SET/WHERE 사이 빈 줄 추가
**PopActionMapper.xml, PopProductionMapper.xml, DataMapper.xml:** SQL 없음 → 변경 불필요
backend (성공)
에이전트 응답
3개 파일 모두 포맷팅 완료했습니다.
**변경 사항 요약:**
**ScreenManagementMapper.xml** (816줄 → 완전 포맷팅)
- 모든 SQL 키워드 대문자 (SELECT, FROM, WHERE, AND, INSERT INTO, UPDATE, SET, DELETE, ORDER BY, LIMIT, OFFSET, ON CONFLICT, RETURNING, NOW(), COALESCE, JSONB_ARRAY_LENGTH, PG_ADVISORY_XACT_LOCK 등)
- 모든 테이블명/컬럼명/별칭 대문자 (SCREEN_DEFINITIONS, SD, SMA, SL, SLV 등)
- SELECT 컬럼 한 줄에 하나, 쉼표 앞에 배치
- INSERT 컬럼/VALUES 한 줄에 하나
- UPDATE SET 한 줄에 하나, 쉼표 앞에 배치
- ON CONFLICT DO UPDATE SET도 동일 규칙 적용
- MyBatis `<set>` 동적 블록: 컬럼명 대문자, 구조 유지
- 불변 요소 유지: `#{param}` camelCase, `test=""` 변수명, 문자열 리터럴(`'D'`, `'Y'`, `'public'`, `'component'`, `'기본 레이어'` 등), JSON key 경로(`->>'zone_id'`, `->'components'`)
**ScreenStandardMapper.xml** - 동일 규칙 적용 (WEB_TYPE_STANDARDS, BUTTON_ACTION_STANDARDS 등)
**ScreenFileMapper.xml** - 동일 규칙 적용 (ATTACH_FILE_INFO, OBJID, SAVED_FILE_NAME 등)
backend (성공)
에이전트 응답
완료 메시지 전송 완료.
backend (성공)
에이전트 응답
포맷팅 완료. 변경 내역 요약:
| 파일 | 변경 내용 |
|------|-----------|
| **DigitalTwinMapper.xml** | 테이블/컬럼/별칭 대문자, SELECT 컬럼 줄 분리, INSERT/UPDATE/DELETE 포맷팅, `false→FALSE` |
| **DashboardMapper.xml** | `SELECT * FROM`→줄 분리, INSERT 컬럼/VALUES 줄 분리, SET 줄 분리 |
| **ReportMapper.xml** | 전체 컬럼 대문자, SELECT 컬럼 하나씩 줄 분리, INSERT/UPDATE/DELETE 포맷팅 |
| **BarcodeLabelMapper.xml** | 테이블/컬럼 대문자, SELECT/INSERT/UPDATE/DELETE 전체 포맷팅 |
| **ExcelMappingMapper.xml** | 테이블/컬럼 대문자, `ON CONFLICT` 컬럼 대문자, SELECT 줄 분리 |
| **MapDataMapper.xml** | SQL 없음 — 변경 불필요 |
| **RiskAlertMapper.xml** | 이미 포맷팅 완료 — 변경 불필요 |
backend (성공)
에이전트 응답
Task 2 완료. 요약:
| 파일 | 주요 변경 |
|------|-----------|
| `AuditLogMapper.xml` | SAL/CI/U 별칭, `::TIMESTAMPTZ`, `::JSONB`, `::INT` |
| `RoleMapper.xml` | ASU/UI/AM/ASM/MI 별칭, `updateRoleGroup` inline `<if>` 확장 |
| `ApprovalMapper.xml` | R/D/L/T/PS/U1/U2 별칭, 3개 `<set>` 블록 확장, `DATERANGE()`, `INFORMATION_SCHEMA.COLUMNS`, `::JSONB/::TEXT`, `TRUE/FALSE` |
이전 세션에서 완료된 5개 + 이번 3개 = **총 8개 파일** 포맷팅 완료. PM 완료 메시지 전송됨.
코드 변경 (git diff)
Unstaged 변경
_pipeline/knowledge/failure-patterns.json | 95 +-
_pipeline/mailbox/mcp-backend.json | 2 +-
_pipeline/pipeline-state.json | 501 +++-----
.../heartbeat.json | 2 +-
.../2026-03-27_pipe-20260327153425-pn5v/metrics.md | 12 +-
.../progress.md | 8 +-
.../resume-state.json | 44 +-
.../resources/mapper/AnalyticsReportMapper.xml | 111 +-
.../src/main/resources/mapper/ApprovalMapper.xml | 583 +++++----
.../src/main/resources/mapper/AuditLogMapper.xml | 132 +-
.../main/resources/mapper/BarcodeLabelMapper.xml | 171 ++-
.../src/main/resources/mapper/BomMapper.xml | 28 +-
.../src/main/resources/mapper/BookingMapper.xml | 11 +
.../mapper/CategoryValueCascadingMapper.xml | 6 +-
.../src/main/resources/mapper/CollectionMapper.xml | 24 +-
.../resources/mapper/CompanyManagementMapper.xml | 20 +-
.../src/main/resources/mapper/DashboardMapper.xml | 23 +-
.../src/main/resources/mapper/DepartmentMapper.xml | 180 +--
.../src/main/resources/mapper/DesignMapper.xml | 74 +-
.../main/resources/mapper/DigitalTwinMapper.xml | 241 ++--
.../src/main/resources/mapper/DriverMapper.xml | 30 +-
.../main/resources/mapper/ExcelMappingMapper.xml | 120 +-
.../src/main/resources/mapper/LayoutMapper.xml | 157 +--
.../src/main/resources/mapper/MoldMapper.xml | 45 +-
.../src/main/resources/mapper/PackagingMapper.xml | 24 +-
.../src/main/resources/mapper/ProductionMapper.xml | 76 +-
.../src/main/resources/mapper/ReportMapper.xml | 380 ++++--
.../src/main/resources/mapper/RoleMapper.xml | 99 +-
.../main/resources/mapper/SalesReportMapper.xml | 153 +--
.../resources/mapper/ScreenEmbeddingMapper.xml | 198 +--
.../src/main/resources/mapper/ScreenFileMapper.xml | 70 +-
.../main/resources/mapper/ScreenGroupMapper.xml | 1115 +++++++++--------
.../resources/mapper/ScreenManagementMapper.xml | 1312 ++++++++++++++------
.../main/resources/mapper/ScreenStandardMapper.xml | 54 +-
.../main/resources/mapper/ShippingOrderMapper.xml | 47 +-
.../main/resources/mapper/ShippingPlanMapper.xml | 12 +-
.../main/resources/mapper/SystemNoticeMapper.xml | 72 +-
.../src/main/resources/mapper/TaxInvoiceMapper.xml | 372 +++---
.../src/main/resources/mapper/VehicleMapper.xml | 24 +-
.../main/resources/mapper/VehicleTripMapper.xml | 77 +-
.../resources/mapper/WebTypeStandardMapper.xml | 88 +-
.../main/resources/mapper/WorkHistoryMapper.xml | 44 +-
.../src/main/resources/mapper/YardLayoutMapper.xml | 37 +-
43 files changed, 4082 insertions(+), 2792 deletions(-)
새 파일
_pipeline/runs/2026-03-27_pipe-20260327153425-pn5v/result.md
_pipeline/runs/2026-03-27_pipe-20260327153425-pn5v/rounds/round-3.md
_pipeline/runs/2026-03-28_pipe-20260328041806-pbum/heartbeat.json
_pipeline/runs/2026-03-28_pipe-20260328041806-pbum/plan.md
_pipeline/runs/2026-03-28_pipe-20260328041806-pbum/progress.md
상세 diff
diff --git a/_pipeline/knowledge/failure-patterns.json b/_pipeline/knowledge/failure-patterns.json
index 07e04e27..0be7514f 100644
--- a/_pipeline/knowledge/failure-patterns.json
+++ b/_pipeline/knowledge/failure-patterns.json
@@ -1,7 +1,7 @@
{
"version": 1,
- "lastUpdated": "2026-03-27T15:03:25.661Z",
- "totalRuns": 2,
+ "lastUpdated": "2026-03-27T20:12:58.287Z",
+ "totalRuns": 3,
"patterns": [
{
"id": "fp-zhbg8k",
@@ -1760,6 +1760,97 @@
"pipelineIds": [
"pipe-20260327131904-jedw"
]
+ },
+ {
+ "id": "sp-t390fp",
+ "agent": "backend",
+ "taskDescription": "CommonMapper + AdminMapper + AuthMapper XML 포맷팅",
+ "files": [],
+ "keyApproach": "- 에이전트: backend - 시도: 1회 - 검증 로그: - L1 통과: cd backend-spring && ./gradlew compileJava 2>&1 | tail -20 - L2 통과: cd /Users/gbpark/TEST-VEX/backend-spring && ./gradlew bootJa",
+ "occurrences": 1,
+ "firstSeen": "2026-03-27T20:12:58.287Z",
+ "lastSeen": "2026-03-27T20:12:58.287Z",
+ "pipelineIds": [
+ "pipe-20260327153425-pn5v"
+ ]
+ },
+ {
+ "id": "sp-geca3v",
+ "agent": "backend",
+ "taskDescription": "Table/Entity XML 포맷팅 (8개)",
+ "files": [],
+ "keyApproach": "- 에이전트: backend - 시도: 1회 - 검증 로그: - L1 통과: cd backend-spring && ./gradlew compileJava 2>&1 | tail -20 - L2 통과: cd /Users/gbpark/TEST-VEX/backend-spring && ./gradlew bootJa",
+ "occurrences": 1,
+ "firstSeen": "2026-03-27T20:12:58.287Z",
+ "lastSeen": "2026-03-27T20:12:58.287Z",
+ "pipelineIds": [
+ "pipe-20260327153425-pn5v"
+ ]
+ },
+ {
+ "id": "sp-tc7oez",
+ "agent": "backend",
+ "taskDescription": "Dataflow/Flow XML 포맷팅 (9개)",
+ "files": [],
+ "keyApproach": "- 에이전트: backend - 시도: 1회 - 검증 로그: - L1 통과: cd backend-spring && ./gradlew compileJava 2>&1 | tail -20 - L2 통과: cd /Users/gbpark/TEST-VEX/backend-spring && ./gradlew bootJa",
+ "occurrences": 1,
+ "firstSeen": "2026-03-27T20:12:58.287Z",
+ "lastSeen": "2026-03-27T20:12:58.287Z",
+ "pipelineIds": [
+ "pipe-20260327153425-pn5v"
+ ]
+ },
+ {
+ "id": "sp-afwrkh",
+ "agent": "backend",
+ "taskDescription": "CommonCode/Config XML 포맷팅 (7개)",
+ "files": [],
+ "keyApproach": "- 에이전트: backend - 시도: 1회 - 검증 로그: - L1 통과: cd backend-spring && ./gradlew compileJava 2>&1 | tail -20 - L2 통과: cd /Users/gbpark/TEST-VEX/backend-spring && ./gradlew bootJa",
+ "occurrences": 1,
+ "firstSeen": "2026-03-27T20:12:58.287Z",
+ "lastSeen": "2026-03-27T20:12:58.287Z",
+ "pipelineIds": [
+ "pipe-20260327153425-pn5v"
+ ]
+ },
+ {
+ "id": "sp-9fwgrf",
+ "agent": "backend",
+ "taskDescription": "External/Connection XML 포맷팅 (6개)",
+ "files": [],
+ "keyApproach": "- 에이전트: backend - 시도: 1회 - 검증 로그: - L1 통과: cd backend-spring && ./gradlew compileJava 2>&1 | tail -20 - L2 통과: cd /Users/gbpark/TEST-VEX/backend-spring && ./gradlew bootJa",
+ "occurrences": 1,
+ "firstSeen": "2026-03-27T20:12:58.287Z",
+ "lastSeen": "2026-03-27T20:12:58.287Z",
+ "pipelineIds": [
+ "pipe-20260327153425-pn5v"
+ ]
+ },
+ {
+ "id": "sp-i37j17",
+ "agent": "backend",
+ "taskDescription": "Batch/Schedule/기타 XML 포맷팅 (10개)",
+ "files": [],
+ "keyApproach": "- 에이전트: backend - 시도: 1회 - 검증 로그: - L1 통과: cd backend-spring && ./gradlew compileJava 2>&1 | tail -20 - L2 통과: cd /Users/gbpark/TEST-VEX/backend-spring && ./gradlew bootJa",
+ "occurrences": 1,
+ "firstSeen": "2026-03-27T20:12:58.287Z",
+ "lastSeen": "2026-03-27T20:12:58.287Z",
+ "pipelineIds": [
+ "pipe-20260327153425-pn5v"
+ ]
+ },
+ {
+ "id": "sp-h0hlek",
+ "agent": "backend",
+ "taskDescription": "Mail/Cascading XML 포맷팅 (11개)",
+ "files": [],
+ "keyApproach": "- 에이전트: backend - 시도: 1회 - 검증 로그: - L1 통과: cd backend-spring && ./gradlew compileJava 2>&1 | tail -20 - L2 통과: cd /Users/gbpark/TEST-VEX/backend-spring && ./gradlew bootJa",
+ "occurrences": 1,
+ "firstSeen": "2026-03-27T20:12:58.287Z",
+ "lastSeen": "2026-03-27T20:12:58.287Z",
+ "pipelineIds": [
+ "pipe-20260327153425-pn5v"
+ ]
}
]
}
\ No newline at end of file
diff --git a/_pipeline/mailbox/mcp-backend.json b/_pipeline/mailbox/mcp-backend.json
index 88c9c6a1..bd2e0239 100644
--- a/_pipeline/mailbox/mcp-backend.json
+++ b/_pipeline/mailbox/mcp-backend.json
@@ -6,7 +6,7 @@
"/Users/gbpark/agent-pipeline/engine/build/mcp/mailbox-stdio-bridge.js"
],
"env": {
- "MAILBOX_URL": "http://127.0.0.1:60440",
+ "MAILBOX_URL": "http://127.0.0.1:58370",
"MAILBOX_AGENT": "backend"
}
}
diff --git a/_pipeline/pipeline-state.json b/_pipeline/pipeline-state.json
index 86206539..2d8d2ab1 100644
--- a/_pipeline/pipeline-state.json
+++ b/_pipeline/pipeline-state.json
@@ -1,14 +1,14 @@
{
- "id": "pipe-20260327153425-pn5v",
+ "id": "pipe-20260328041806-pbum",
"status": "running",
"config": {
"maxRetries": 3,
"parallel": true,
- "timeout": "15m",
+ "timeout": "30m",
"workspacePath": "/Users/gbpark/TEST-VEX",
"designFirst": false,
"model": "sonnet",
- "maxConcurrent": 3,
+ "maxConcurrent": 5,
"skipLevels": [
"L3",
"L4",
@@ -19,471 +19,281 @@
"tasks": [
{
"id": "task-1",
- "name": "CommonMapper + AdminMapper + AuthMapper XML 포맷팅",
+ "name": "Screen/Layout XML 포맷팅 (3+4 분리)",
"agent": "backend",
- "description": "CommonMapper + AdminMapper + AuthMapper XML 포맷팅",
- "depends": [],
- "testCommand": "cd backend-spring && ./gradlew compileJava 2>&1 | tail -20",
- "doneWhen": "SQL 키워드/컬럼/테이블 전부 대문자, 컬럼별 줄 띄움",
- "files": [
- "backend-spring/src/main/resources/mapper/CommonMapper.xml",
- "backend-spring/src/main/resources/mapper/AdminMapper.xml",
- "backend-spring/src/main/resources/mapper/AuthMapper.xml"
- ],
- "taskContext": "XML 내부 SQL 쿼리를 덕일 스타일로 포맷팅. 기능 변경 없이 포맷만 변경.\n\n★ 규칙 1: 키워드 전부 대문자\nselect → SELECT, from → FROM, where → WHERE, and → AND, or → OR,\nleft join → LEFT JOIN, inner join → INNER JOIN, order by → ORDER BY,\ngroup by → GROUP BY, having → HAVING, insert into → INSERT INTO,\nupdate → UPDATE, set → SET, delete → DELETE, values → VALUES,\nas → AS, on → ON, in → IN, not → NOT, null → NULL,\nis → IS, like → LIKE, ilike → ILIKE, between → BETWEEN,\nexists → EXISTS, not exists → NOT EXISTS,\ncase → CASE, when → WHEN, then → THEN, else → ELSE, end → END,\nunion all → UNION ALL, with recursive → WITH RECURSIVE,\ncast → CAST, coalesce → COALESCE, count → COUNT, sum → SUM,\nmax → MAX, min → MIN, avg → AVG, distinct → DISTINCT,\nlimit → LIMIT, offset → OFFSET, asc → ASC, desc → DESC,\nnow() → NOW(), upper() → UPPER(), lower() → LOWER(),\nto_char() → TO_CHAR(), array[] → ARRAY[], lpad() → LPAD(),\ntrue → TRUE, false → FALSE\n\n★ 규칙 2: 컬럼명/테이블명/별칭 전부 대문자\nuser_id → USER_ID, company_code → COMPANY_CODE, menu_info → MENU_INFO,\nv → V, s → S, cm → CM, menu → MENU 등\n\n★ 규칙 3: SELECT 컬럼은 한 줄에 하나, 쉼표는 컬럼 앞에\n변경 전:\nSELECT id, title, description, status FROM todo_items WHERE 1=1\n\n변경 후:\nSELECT\n ID\n , TITLE\n , DESCRIPTION\n , STATUS\nFROM TODO_ITEMS\nWHERE 1=1\n\n★ 규칙 4: INSERT VALUES 한 줄에 하나\n변경 전:\nINSERT INTO table (col1, col2) VALUES (#{val1}, #{val2})\n\n변경 후:\nINSERT INTO TABLE (\n COL1\n , COL2\n) VALUES (\n #{val1}\n , #{val2}\n)\n\n★ 규칙 5: UPDATE SET 한 줄에 하나\n변경 전:\nUPDATE table SET col1 = #{val1}, col2 = #{val2} WHERE id = #{id}\n\n변경 후:\nUPDATE TABLE\nSET\n COL1 = #{val1}\n , COL2 = #{val2}\nWHERE ID = #{id}\n\n★ 규칙 6: JOIN/WHERE/ORDER BY 절 단위 줄 구분\n변경 전:\nFROM v_menu v LEFT JOIN company_mng cm ON v.company_code = cm.company_code WHERE v.status = 'active' ORDER BY v.seq\n\n변경 후:\nFROM V_MENU V\nLEFT JOIN COMPANY_MNG CM\n
... (truncated)
검증 결과
L1 [PASS]: L1 통과: cd backend-spring && ./gradlew compileJava 2>&1 | tail -20
L1 통과: cd backend-spring && ./gradlew compileJava 2>&1 | tail -20
L2 [PASS]: L2 통과: cd /Users/gbpark/TEST-VEX/backend-spring && ./gradlew bootJa
L2 통과: cd /Users/gbpark/TEST-VEX/backend-spring && ./gradlew bootJa
L1 [PASS]: L1 통과: cd backend-spring && ./gradlew compileJava 2>&1 | tail -20
L1 통과: cd backend-spring && ./gradlew compileJava 2>&1 | tail -20
L2 [PASS]: L2 통과: cd /Users/gbpark/TEST-VEX/backend-spring && ./gradlew bootJa
L2 통과: cd /Users/gbpark/TEST-VEX/backend-spring && ./gradlew bootJa
L1 [PASS]: L1 통과: cd backend-spring && ./gradlew compileJava 2>&1 | tail -20
L1 통과: cd backend-spring && ./gradlew compileJava 2>&1 | tail -20
L2 [PASS]: L2 통과: cd /Users/gbpark/TEST-VEX/backend-spring && ./gradlew bootJa
L2 통과: cd /Users/gbpark/TEST-VEX/backend-spring && ./gradlew bootJa
L1 [PASS]: L1 통과: cd backend-spring && ./gradlew compileJava 2>&1 | tail -20
L1 통과: cd backend-spring && ./gradlew compileJava 2>&1 | tail -20
L2 [PASS]: L2 통과: cd /Users/gbpark/TEST-VEX/backend-spring && ./gradlew bootJa
L2 통과: cd /Users/gbpark/TEST-VEX/backend-spring && ./gradlew bootJa
L1 [PASS]: L1 통과: cd backend-spring && ./gradlew compileJava 2>&1 | tail -20
L1 통과: cd backend-spring && ./gradlew compileJava 2>&1 | tail -20
L2 [PASS]: L2 통과: cd /Users/gbpark/TEST-VEX/backend-spring && ./gradlew bootJa
L2 통과: cd /Users/gbpark/TEST-VEX/backend-spring && ./gradlew bootJa
L1 [PASS]: L1 통과: cd backend-spring && ./gradlew compileJava 2>&1 | tail -20
L1 통과: cd backend-spring && ./gradlew compileJava 2>&1 | tail -20
L2 [PASS]: L2 통과: cd /Users/gbpark/TEST-VEX/backend-spring && ./gradlew bootJa
L2 통과: cd /Users/gbpark/TEST-VEX/backend-spring && ./gradlew bootJa
L1 [PASS]: L1 통과: cd backend-spring && ./gradlew compileJava 2>&1 | tail -20
L1 통과: cd backend-spring && ./gradlew compileJava 2>&1 | tail -20
L2 [PASS]: L2 통과: cd /Users/gbpark/TEST-VEX/backend-spring && ./gradlew bootJa
L2 통과: cd /Users/gbpark/TEST-VEX/backend-spring && ./gradlew bootJa
L1 [PASS]: L1 통과: cd backend-spring && ./gradlew compileJava 2>&1 | tail -20
L1 통과: cd backend-spring && ./gradlew compileJava 2>&1 | tail -20
L2 [PASS]: L2 통과: cd /Users/gbpark/TEST-VEX/backend-spring && ./gradlew bootJa
L2 통과: cd /Users/gbpark/TEST-VEX/backend-spring && ./gradlew bootJa