Commit Graph

66 Commits

Author SHA1 Message Date
DESKTOP-TKLFCPR\ython
95f41843c1 manual-deploy 2026-06-08 01:13 2026-06-08 01:13:41 +09:00
GUARDiA AutoDeploy
39051caf35 fix: 미구현 자가진단 마커 정리 — 개인정보처리방침 게시 + 테넌트 쿼터 storage_mb [auto-sync] 2026-06-08 00:20:56 +09:00
DESKTOP-TKLFCPR\ython
4b68523825 manual-deploy 2026-06-08 00:13 2026-06-08 00:13:45 +09:00
DESKTOP-TKLFCPR\ython
738afda78a manual-deploy 2026-06-07 21:13 2026-06-07 21:13:38 +09:00
GUARDiA AutoDeploy
206a55ad9c feat: jMeter 성능테스트 시나리오 자동작성 라우터(perf_scenario) 추가 [auto-sync] 2026-06-07 19:31:53 +09:00
DESKTOP-TKLFCPR\ython
ea0e7ef9b6 manual-deploy 2026-06-07 19:13 2026-06-07 19:13:43 +09:00
DESKTOP-TKLFCPR\ython
d14369a7e5 manual-deploy 2026-06-07 15:13 2026-06-07 15:13:59 +09:00
DESKTOP-TKLFCPR\ython
5407bf4780 manual-deploy 2026-06-07 11:13 2026-06-07 11:13:54 +09:00
GUARDiA AutoDeploy
7e92e1da09 fix: ITSM 라우터 15개 파일 git 추적 누락 복구 (Gitea 자동동기화 삭제 방지) [auto-sync] 2026-06-07 10:25:50 +09:00
GUARDiA AutoDeploy
73e30fb7c1 feat: ITSM 6세대 라우터 5종 동기화 + 홈페이지 6세대·AI엔터프라이즈생성기 반영 [auto-sync] 2026-06-07 10:18:12 +09:00
DESKTOP-TKLFCPR\ython
2b62703df9 manual-deploy 2026-06-07 08:13 2026-06-07 08:13:43 +09:00
DESKTOP-TKLFCPR\ython
9f2344604e manual-deploy 2026-06-07 04:13 2026-06-07 04:13:36 +09:00
GUARDiA AutoDeploy
9b52cc8941 feat: ITSM admin 통계 v2.1.0 + 홈페이지 Messenger 2세대 반영 + 하네스 신규 구성 [auto-sync] 2026-06-07 04:05:51 +09:00
GUARDiA AutoDeploy
49630640bc feat: Messenger 2세대 100개 기능 (#101~#200) 구현 + 93/93 테스트 통과 [auto-sync] 2026-06-07 03:53:03 +09:00
DESKTOP-TKLFCPR\ython
5a4aa87b72 manual-deploy 2026-06-07 00:13 2026-06-07 00:13:38 +09:00
DESKTOP-TKLFCPR\ython
20f6e23c4a manual-deploy 2026-06-06 18:13 2026-06-06 18:13:48 +09:00
GUARDiA AutoDeploy
70843489f3 feat(extend5): GUARDiA 5세대 확장 7개 라우터 구현 + 홈페이지 업데이트 [auto-sync] 2026-06-06 12:57:16 +09:00
DESKTOP-TKLFCPR\ython
bcc03839c7 manual-deploy 2026-06-06 08:13 2026-06-06 08:13:57 +09:00
GUARDiA AutoDeploy
7a52457fe7 feat(extend3): GUARDiA 3세대 확장 10개 영역 구현 완성 [auto-sync] 2026-06-04 19:05:35 +09:00
DESKTOP-TKLFCPR\ython
a8a5fc743e manual-deploy 2026-06-04 08:13 2026-06-04 08:13:41 +09:00
DESKTOP-TKLFCPR\ython
39df2d8cfa manual-deploy 2026-06-04 01:13 2026-06-04 01:13:44 +09:00
GUARDiA AutoDeploy
02c7b79715 feat(extend2): GUARDiA 2세대 확장 5개 영역 구현 완성 [auto-sync] 2026-06-04 01:11:01 +09:00
GUARDiA AutoDeploy
711abff529 feat(screenshots+fonts): 나눔고딕 통일 + 실제 화면 스크린샷 홈페이지 반영 [auto-sync] 2026-06-03 20:49:13 +09:00
DESKTOP-TKLFCPR\ython
cd9d456bcd manual-deploy 2026-06-03 20:13 2026-06-03 20:13:36 +09:00
DESKTOP-TKLFCPR\ython
9056892fcb manual-deploy 2026-06-03 16:13 2026-06-03 16:13:38 +09:00
GUARDiA AutoDeploy
7365e238a7 fix(cicd): Gitea URL HTTPS + 도메인으로 수정 (http IP:3000 → 400 에러) [auto-sync] 2026-06-03 15:15:25 +09:00
GUARDiA AutoDeploy
248aa39986 fix(cicd): Gitea URL HTTPS + 도메인으로 수정 (http IP:3000 → 400 에러) [auto-sync] 2026-06-03 15:14:25 +09:00
DESKTOP-TKLFCPR\ython
b18f032d2e manual-deploy 2026-06-03 15:13 2026-06-03 15:13:33 +09:00
GUARDiA AutoDeploy
a2e9be2042 feat(cicd): 자동 배포 완전 자동화 — 훅+스케줄러+수동+ITSM연동 [auto-sync] 2026-06-03 15:12:09 +09:00
GUARDiA AutoDeploy
0f8d98074a feat(parent): GUARDiA 부모 역할 4가지 구현 완성 [auto-sync] 2026-06-03 15:07:28 +09:00
DESKTOP-TKLFCPR\ython
031882732e sync: update from workspace (latest ITSM/CICD/DR changes) 2026-06-03 09:16:57 +09:00
DESKTOP-TKLFCPR\ython
7d092126eb sync: update from workspace (latest ITSM/CICD/DR changes) 2026-06-03 08:48:51 +09:00
DESKTOP-TKLFCPR\ython
5f3a0247b3 sync: update from workspace (latest ITSM/CICD/DR changes) 2026-06-03 08:04:03 +09:00
DESKTOP-TKLFCPR\ython
a3ec9d30df sync: update from workspace (latest ITSM/CICD/DR changes) 2026-06-02 20:52:19 +09:00
DESKTOP-TKLFCPR\ython
f00388b066 fix(enhance-v4): APK QR 버그 수정 + 웹메일 라우터 수정 2026-06-02 20:21:07 +09:00
DESKTOP-TKLFCPR\ython
1057915729 sync: update from workspace (latest ITSM/CICD/DR changes) 2026-06-02 19:49:59 +09:00
DESKTOP-TKLFCPR\ython
7eece4e49e sync: update from workspace (latest ITSM/CICD/DR changes) 2026-06-02 18:48:18 +09:00
DESKTOP-TKLFCPR\ython
de0cecf286 sync: update from workspace (latest ITSM/CICD/DR changes) 2026-06-02 06:25:04 +09:00
DESKTOP-TKLFCPR\ython
17d38343e6 sync: update from workspace (latest ITSM/CICD/DR changes) 2026-06-02 06:07:36 +09:00
DESKTOP-TKLFCPR\ython
5e987833e6 sync: update from workspace (latest ITSM/CICD/DR changes) 2026-06-01 19:59:36 +09:00
DESKTOP-TKLFCPRython
56cc905d9b feat(design): ITSM+Manager Variant style applied
ITSM (style.css):
- CSS tokens: indigo -> cyan(#00A0C8)+navy(#003366) palette
- Background: deeper navy (#001020, #001530, #001e3c)
- Sidebar active: cyan left bar + light bg (not full gradient)
- Buttons: solid cyan, rounded
- Logo icon: navy-to-cyan gradient

Manager (React):
- GNB: white header, navy branding, cyan badge
- Sidebar: white bg, cyan active border + light bg, navy text
- StatCard: cyan top bar, light blue icon box (screenshot9 pattern)
- AppLayout: navy page title

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 20:18:22 +09:00
DESKTOP-TKLFCPRython
034301d3f2 feat(design-harness): GUARDiA ITSM+Manager UI overhaul harness
Agents:
- itsm-ui-refactor: dark theme CSS token overhaul (navy+cyan)
- manager-ui-refactor: light theme React component styling

Skills:
- guardia-design-orchestrator: parallel pipeline orchestrator
- itsm-design-overhaul: style.css token/sidebar/card/button/table guide
- manager-design-overhaul: Sidebar/GNB/StatCard/DataTable/Dashboard guide

Reference: C:/GUARDiA/screenshot (Variant design, #003366/#005A8C/#00A0C8)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 19:50:58 +09:00
DESKTOP-TKLFCPRython
f3857e1a2c feat(design-harness): UI overhaul harness + /design bot command
Agents:
- ui-scout: Playwright MCP + Variant(variant.com/community) visual capture
- design-system-architect: unified design tokens (CSS vars / RN StyleSheet)
- component-refactor-engineer: per-system component refactoring
- visual-qa-tester: before/after screenshot comparison

Skills:
- ui-overhaul-orchestrator: E2E pipeline (capture->tokens->refactor->QA)
- playwright-visual-capture: Playwright MCP + Variant workflow
- design-token-system: tokens.css with Pretendard, 4px grid, brand colors
- component-refactor: Button/Card/Badge patterns for 4 systems

Bot: /design capture|variant|tokens|homepage|itsm|manager|app|qa|ab

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 18:15:13 +09:00
DESKTOP-TKLFCPRython
60e619a132 feat(messenger): natural language command parser (NL Command)
- core/nl_command.py: Ollama LLM + rule-based fallback
- POST /api/messenger/bot/nl: new NL endpoint
- /bot/command: NL fallback when no command matches
- 9/10 rule tests PASS

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 17:07:11 +09:00
DESKTOP-TKLFCPRython
9514379a96 feat(scraping): 웹 스크랩핑 봇 전체 구현 + 하네스 구성
[하네스]
- agents/scraping-bot.md: 스크랩 봇 에이전트
- skills/scraping-orchestrator/SKILL.md: E2E 워크플로우

[ITSM Backend]
- models.py: ScrapingTarget + ScrapingResult ORM + Pydantic 스키마
- core/scraping_engine.py: BeautifulSoup 기반 비동기 스크래퍼
- routers/scraping.py: 13개 API (타겟 CRUD + run + 게시/삭제/원복 + 통계)
- routers/messenger.py: !scrap 봇 명령어 6종 + scrap_published 이벤트
- main.py: scraping 라우터 등록

[Manager UI]
- ScrapingManager.tsx: 결과 목록/상세/게시/삭제/원복 + 타겟 관리
- Sidebar.tsx: 🕷️ 스크랩핑 봇 메뉴 추가
- App.tsx: /scraping 라우트 추가

[테스트 결과 - 전체 통과]
- T1 타겟 등록 OK
- T2 즉시 스크랩: zioinfo.co.kr → DRAFT
- T3 결과 목록 조회 OK
- T4 게시: DRAFT → PUBLISHED + 메신저 알림
- T5/T6/T7 두번째 스크랩 → 삭제 → 원복 OK
- T8 통계: draft:1, published:1, deleted:0
- T9 !scrap list 봇 명령어 OK
- T10 !scrap status 봇 명령어 OK

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 16:52:49 +09:00
DESKTOP-TKLFCPRython
7ebd242f68 feat(rpa): RPA 엔진 개선 — 스키마 필터링·라우터 스캔·영속 저장·크론 연동
[개선 내용]
1. 스키마 필터링: Out/Response/Data 제외 → Create/Update/In만 학습
   - 140개 스키마 → 73개 입력 스키마, 1357개 → 672개 규칙 (노이즈 제거)
2. 라우터 자동 스캔: routers/*.py AST 파싱 → 엔드포인트-스키마 정확 매핑
3. 영속 저장: rpa_rules.json → 서비스 재시작 시 자동 복구
4. 서비스 시작 자동 학습: 규칙 파일 없을 때 즉시 학습
5. APScheduler 연동: schedule(cron) 설정 시 자동 크론 등록/해제
6. /api/rpa/status: 시스템 현황 요약 엔드포인트 추가
7. /api/rpa/validations/schemas: 스키마별 필드 수 조회
8. /api/rpa/tasks/{id}/toggle: 작업 활성/비활성 토글

[테스트 결과 - 전체 통과]
- T1 RPA 상태: 73 endpoints, 672 rules, 자동 학습 확인
- T4 dry_run 정상: validation_errors=[] ✓
- T5 오류 감지: 4개 오류 정확 (title 필수·enum 2개·requested_by 필수)
- T6 작업 등록: APScheduler 크론 등록 포함
- T7 등록 작업 실행: DRY_RUN_OK ✓
- T8 이력 조회: status 필터 정상

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 16:19:52 +09:00
DESKTOP-TKLFCPRython
79973261b0 feat(rpa): GUARDiA ITSM RPA 봇 기능 구현 + 하네스 구성
[하네스]
- agents/validation-learner.md: 소스 AST 파싱 validation 학습 에이전트
- agents/rpa-bot.md: 학습 규칙 참조 자동화 실행 에이전트
- skills/rpa-orchestrator/SKILL.md: RPA E2E 워크플로우 스킬
- skills/rpa-validation/SKILL.md: 소스 기반 validation 학습 스킬

[구현]
- core/rpa_engine.py: ValidationLearner(AST 파서) + RPAValidator + RPAExecutor
- routers/rpa.py: 11개 API 엔드포인트
  POST /api/rpa/validations/learn   — models.py AST 파싱 → 1357개 규칙 학습
  GET  /api/rpa/validations         — 학습 규칙 조회 (119 endpoints)
  POST /api/rpa/tasks               — RPA 작업 등록
  POST /api/rpa/execute             — 즉시 실행 (validation + API 호출)
  GET  /api/rpa/executions          — 실행 이력

[테스트 결과]
- validation 학습: 140개 스키마 / 1357개 규칙 / 119개 엔드포인트
- WRONG_TYPE → enum 오류 감지 정확
- 필수 필드 누락 → validation 오류 상세 반환
- 실행 이력 조회 정상

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 16:10:41 +09:00
DESKTOP-TKLFCPRython
9e4932640a feat(autonomous): 자율 운영 자동처리 + 승인 게이트 시스템 구현
## 자동처리 엔진 (core/auto_processor.py)
위험도 평가 함수 assess_risk():
  LOW/MEDIUM → 즉시 자동 처리
  HIGH       → 승인 요청 발송 후 대기
  CRITICAL   → 관리자 승인 필수

자동 처리 항목:
  - SR 자동 분류·배정 (키워드/우선순위 추론)
  - INQUIRY SR → KB 검색 후 자동 답변 (신뢰도 75% 이상)
  - SLA 임박(30분) → 자동 에스컬레이션
  - 이상 감지(HIGH+) → 인시던트 자동 생성
  - 완료 SR → KB 아티클 초안 자동 생성

## 자율 운영 API (routers/autonomous.py)
  GET  /api/auto/status          오늘 자동처리 통계
  POST /api/auto/run             사이클 즉시 실행 (ADMIN)
  GET  /api/auto/queue           승인 대기 작업 목록
  POST /api/auto/queue           작업 등록 → 위험도 평가 후 분기
  POST /api/auto/approve/{id}    승인 (HIGH=ENGINEER+, CRITICAL=ADMIN)
  POST /api/auto/reject/{id}     거부
  GET  /api/auto/history         처리 이력

## 스케줄러 (core/scheduler.py)
  5분마다 _auto_processing_cycle() 실행
  - 신규 SR 자동 분류·배정
  - INQUIRY SR KB 자동 답변
  - SLA 에스컬레이션
  - 완료 SR KB 초안 생성

## 봇 명령어 (routers/messenger.py)
  /autoq              승인 대기 큐 조회
  /approve <ID> [의견] 승인
  /reject  <ID> [사유] 거부

## DB 모델 (models.py)
  AutoAction: 자동처리 이력 + 승인 큐
  AutoActionStatus: AUTO_DONE|PENDING_APPROVAL|APPROVED|REJECTED|EXPIRED

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 13:03:41 +09:00
DESKTOP-TKLFCPRython
16e063b8ed feat(bot): CI/CD 파이프라인 봇 명령어 4개 추가
## 신규 명령어
- /cicd [project]                  Jenkins + Gitea 전체 CI/CD 현황
- /jenkins <job> [build|status|log] Jenkins 빌드 트리거·상태·로그 조회
- /git <repo> [log|pr|branch]      Gitea 저장소 커밋·PR·브랜치 조회
- /release <project> [version]     릴리즈 배포 파이프라인 트리거

## 백엔드 헬퍼 함수
- _cmd_cicd_status()     Jenkins + Gitea 통합 현황
- _cmd_jenkins_status()  Jenkins 잡 상태/로그
- _cmd_jenkins_trigger() Jenkins 빌드 트리거 (백그라운드)
- _cmd_gitea_status()    Gitea 커밋/PR/브랜치 조회
- _cmd_release()         릴리즈 파이프라인 실행

## 환경변수
- JENKINS_API_TOKEN: Jenkins API 토큰 (Jenkins 초기 설정 후 발급)
- GITEA_API_TOKEN:   발급 완료 (ce25405940c3...)

## 테스트 결과
- /git guardia-itsm log      최근 커밋 조회
- /git guardia-itsm branch   브랜치 목록
- /cicd                      Gitea 정상, Jenkins 토큰 대기
- /jenkins                   Jenkins 초기 설정 완료 후 정상화

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 12:51:13 +09:00
DESKTOP-TKLFCPRython
75d92f2b90 refactor: 101.79.17.164 → zioinfo.co.kr 전체 도메인 변환 + Manager UI 배포
- 37개 파일 IP → zioinfo.co.kr 치환 (소스/매뉴얼/설정/하네스)
- Manager DrConsole/NetworkConsole/CsapConsole 빌드 + /var/www/manager/ 배포
- 테스트: Manager HTTP 200, ITSM 신규 API 7개 전체 200

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 10:09:17 +09:00