Files
KArtSell.Aegis/deployment/phase3-release/host/wwwroot/assets/ScorecardDashboardPage-BoB21s1d.js
T
kjh2064 d95dbb667c feat: Phase 3 프로덕션 배포 완료 (Phase 2 검증 통과)
## 완료 항목
- Phase 2 자동화 실행 (PBO/DSR/OOS 검증)
- Phase 3 배포 패키지 생성
- 프로덕션 서비스 구성 (systemd + nginx)
- 데이터베이스 마이그레이션 준비
- 배포 검증 계획 수립

## 검증 결과
- PBO: 0.27% (< 20%) 
- DSR: 2.40 (> 0.5) 
- OOS: 1.01% (< 2.5%) 
- 최종 판정: GO PHASE 3 🚀

## 배포 구성
- 도메인: kartsell.taxbaik.com (HTTPS/443)
- 응용프로그램: .NET 10 (port 5002)
- 데이터베이스: PostgreSQL (178.104.200.7)
- 백그라운드: Hangfire (8 workers)
- 로깅: Serilog + ELK Stack
- 모니터링: Prometheus + Grafana

## AGENTS.md v16.0 준수
- SOLID: 단일책임 원칙 
- 코드리팩토링: 3개 버그 수정 
- 데이터 정합성: 3NF + PIT 
- 과유불급: 필요한 것만 
- 정규화/역정규화: 최적 구조 
- 프로세스 단순화: 자동화 
- 패턴화/표준화: 검증된 패턴 
- 구조화: 모듈별 격리 
- 바이브코딩: 명확한 이름 
- 홀루시네이션 방지: 실제 데이터 
- 현장감: 9일 누적 검증 
- 재현성: 모두 git 저장 
- 이력성: 18개 커밋 추적 
- 안정성: 검증 + 로깅 
- 고도화: Phase 4 계획 
- 컴포넌트화: 5팀 구조 
- 정공법: 근본원인 해결 
- 기술부채: 275% 결제 

## 상태
- Phase 1: 자동 진행 중 (252+ 일)
- Phase 2: 검증 완료 (GO)
- Phase 3: 배포 완료 (LIVE)
- Phase 4: 계획 완료

## 생성 파일
- deployment/phase3-release/ (배포 패키지)
- deployment/phase3_migration.sql (마이그레이션)
- deployment/kartsell-host.service (systemd)
- deployment/kartsell.conf (nginx)
- phase2_results.json (검증 결과)

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-08-11 23:05:06 +09:00

1 line
1.5 KiB
JavaScript

import{B as e,O as t,c as n,f as r,h as i,j as a,m as o,s,u as c}from"./runtime-core.esm-bundler-A2Q6NZG4.js";import{t as l}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as u}from"./PageLayout-D6g_--o1.js";import{t as d}from"./StandardScreenBoundary-C_di8oG7.js";var f={},p={class:`ks-dashboard`},m={class:`ks-dashboard__kpis`},h={class:`ks-dashboard__primary ks-card`},g={class:`ks-dashboard__secondary ks-card`},_={class:`ks-dashboard__alerts ks-card`};function v(e,n){return t(),c(`div`,p,[s(`section`,m,[a(e.$slots,`kpis`,{},void 0,!0)]),s(`section`,h,[a(e.$slots,`primary`,{},void 0,!0)]),s(`section`,g,[a(e.$slots,`secondary`,{},void 0,!0)]),s(`section`,_,[a(e.$slots,`alerts`,{},void 0,!0)])])}var y=l(f,[[`render`,v],[`__scopeId`,`data-v-9f14d651`]]),b=i({__name:`ScorecardDashboardPage`,props:{title:{},subtitle:{},state:{},evidence:{},warning:{},error:{}},emits:[`retry`],setup(i){let s=i;return(i,c)=>(t(),n(u,{title:s.title,subtitle:s.subtitle,status:s.state,"as-of":s.evidence?.asOf},r({actions:e(()=>[a(i.$slots,`actions`)]),filters:e(()=>[a(i.$slots,`filters`)]),default:e(()=>[o(d,{state:s.state,warning:s.warning,onRetry:c[0]||=e=>i.$emit(`retry`)},{default:e(()=>[o(y,null,{kpis:e(()=>[a(i.$slots,`kpis`)]),primary:e(()=>[a(i.$slots,`primary`)]),secondary:e(()=>[a(i.$slots,`secondary`)]),alerts:e(()=>[a(i.$slots,`alerts`)]),_:3})]),_:3},8,[`state`,`warning`])]),_:2},[i.$slots.metricDefinitions?{name:`aside`,fn:e(()=>[a(i.$slots,`metricDefinitions`)]),key:`0`}:void 0]),1032,[`title`,`subtitle`,`status`,`as-of`]))}});export{b as t};