feat: WTM 멀티프로젝트 플랫폼 구축 (BE + FE 전체 구현)
Phase 0: wbx-spring-core 라이브러리 전환 - java-library 플러그인, WbxAutoConfiguration, Admin 조건부 활성화 - 루트 settings.gradle + build.gradle (멀티모듈) Phase 1: wtm-api 모듈 생성 - 23개 JPA Entity, 14개 Controller, 79개 API 엔드포인트 - Flyway V100~V107 MySQL 마이그레이션 - TimesheetRuleEngine, TimesheetApprovalHandler, P6WbsParser Phase 2: wtm-frontend (Vue 3 + PrimeVue 4) - 10개 도메인 모듈, 17개 View, 5개 서브컴포넌트 - 반응형 레이아웃 (AppLayout, AppSidebar, AppTopbar) - BaseCrudTable, BaseFormDialog, BasePageHeader 표준 컴포넌트 - JWT 인터셉터, 역할 기반 메뉴 필터링 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
이 Commit은 다음에 포함되어 있습니다:
@@ -0,0 +1,12 @@
|
||||
{"t":0,"agent":"a18f090","agent_type":"Explore","event":"agent_start","parent_mode":"none"}
|
||||
{"t":0,"agent":"a18f090","agent_type":"Explore","event":"agent_stop","success":true,"duration_ms":44564}
|
||||
{"t":0,"agent":"ad9b656","agent_type":"architect","event":"agent_start","parent_mode":"none"}
|
||||
{"t":0,"agent":"ad9b656","agent_type":"architect","event":"agent_stop","success":true,"duration_ms":169049}
|
||||
{"t":0,"agent":"ad7c101","agent_type":"architect","event":"agent_start","parent_mode":"none"}
|
||||
{"t":0,"agent":"ad7c101","agent_type":"architect","event":"agent_stop","success":true,"duration_ms":202690}
|
||||
{"t":0,"agent":"aeff378","agent_type":"critic","event":"agent_start","parent_mode":"none"}
|
||||
{"t":0,"agent":"aeff378","agent_type":"critic","event":"agent_stop","success":true,"duration_ms":175651}
|
||||
{"t":0,"agent":"a35d81f","agent_type":"general-purpose","event":"agent_start","parent_mode":"none"}
|
||||
{"t":0,"agent":"a66b53d","agent_type":"general-purpose","event":"agent_start","parent_mode":"none"}
|
||||
{"t":0,"agent":"a35d81f","agent_type":"general-purpose","event":"agent_stop","success":true,"duration_ms":105638}
|
||||
{"t":0,"agent":"a66b53d","agent_type":"general-purpose","event":"agent_stop","success":true,"duration_ms":411042}
|
||||
@@ -0,0 +1,62 @@
|
||||
{
|
||||
"agents": [
|
||||
{
|
||||
"agent_id": "a18f0906df8444921",
|
||||
"agent_type": "Explore",
|
||||
"started_at": "2026-03-25T09:57:59.104Z",
|
||||
"parent_mode": "none",
|
||||
"status": "completed",
|
||||
"completed_at": "2026-03-25T09:58:43.668Z",
|
||||
"duration_ms": 44564
|
||||
},
|
||||
{
|
||||
"agent_id": "ad9b65686f679467a",
|
||||
"agent_type": "oh-my-claudecode:architect",
|
||||
"started_at": "2026-03-25T10:12:41.765Z",
|
||||
"parent_mode": "none",
|
||||
"status": "completed",
|
||||
"completed_at": "2026-03-25T10:15:30.814Z",
|
||||
"duration_ms": 169049
|
||||
},
|
||||
{
|
||||
"agent_id": "ad7c101944473c52f",
|
||||
"agent_type": "oh-my-claudecode:architect",
|
||||
"started_at": "2026-03-25T10:20:25.037Z",
|
||||
"parent_mode": "none",
|
||||
"status": "completed",
|
||||
"completed_at": "2026-03-25T10:23:47.727Z",
|
||||
"duration_ms": 202690
|
||||
},
|
||||
{
|
||||
"agent_id": "aeff378642946b837",
|
||||
"agent_type": "oh-my-claudecode:critic",
|
||||
"started_at": "2026-03-25T10:32:26.548Z",
|
||||
"parent_mode": "none",
|
||||
"status": "completed",
|
||||
"completed_at": "2026-03-25T10:35:22.199Z",
|
||||
"duration_ms": 175651
|
||||
},
|
||||
{
|
||||
"agent_id": "a35d81fe5c1491345",
|
||||
"agent_type": "general-purpose",
|
||||
"started_at": "2026-03-25T10:54:19.348Z",
|
||||
"parent_mode": "none",
|
||||
"status": "completed",
|
||||
"completed_at": "2026-03-25T10:56:04.986Z",
|
||||
"duration_ms": 105638
|
||||
},
|
||||
{
|
||||
"agent_id": "a66b53d0c9bd248ef",
|
||||
"agent_type": "general-purpose",
|
||||
"started_at": "2026-03-25T10:54:45.602Z",
|
||||
"parent_mode": "none",
|
||||
"status": "completed",
|
||||
"completed_at": "2026-03-25T11:01:36.644Z",
|
||||
"duration_ms": 411042
|
||||
}
|
||||
],
|
||||
"total_spawned": 6,
|
||||
"total_completed": 6,
|
||||
"total_failed": 0,
|
||||
"last_updated": "2026-03-25T11:01:36.764Z"
|
||||
}
|
||||
새 Issue에서 참조
사용자 차단