aiportal-front-admin

요약. aiportal-front-admin: 자율 개선 회차 18회, 릴리즈 0건. 최근 릴리즈 없음. 건강 B 14일: 릴리즈 0, 실패 0, 경고 1, 회귀 0

현황

저장소
https://github.com/hkjang/aiportal-front-admin
마지막 회차
2026-09-10 19:12 KST — ✅ 머지 merged PR #16, release skipped
최근 릴리즈
skipped — skipped
사유
저장소에 릴리즈 이력이 전혀 없습니다: git 태그 0개(refs/tags 자체가 없음), GitHub Release 0개, CHANGELOG/릴리즈 노트 없음, .github/workflows 없음. 유일한 CI인 .gitlab-ci.yml은 main/develop 브랜치 푸시에 반응해 빌드 후 PVC 디렉터리로 복사할 뿐 버전·태그·산출물 발행을 하지 않습니다. 버전 필드는 package.json(0.0.0)과 upgrade/admin-v2/package.json(0.1.0)에 있으나 둘 다 private이며 git log -p 확인 결과 최초 커밋에 기록된 뒤 이후 15개 fix PR을 포함한 30여 커밋 동안 한 번도 증가한 적이 없어 릴리즈 관례로 볼 수 없습니다(docs/INDEX.md:168도 '실제 release 근거가 있을 때만 기록한다'고 명시). upgrade/admin-v2/deploy의 두 스크립트는 배포·오프라인 npm 캐시용이며 버전명 산출물을 만들지 않습니다. 따라서 첫 버전 번호와 태그 형식, 노트 위치를 새로 정하는 것은 사람의 몫이라 판단해 아무 커밋·태그도 만들지 않았고 작업 트리는 그대로 두었습니다.

회차 이력

일시프로젝트결과
2026-09-10 19:12aiportal-front-admin병합 완료 merged PR #16, release skipped
7파일 +417/−9 · 테스트 3 — fix(admin-v2): 재조회 중에도 정책·Overview 화면을 비우지 않는다
2026-09-10 11:18aiportal-front-admin검토 대기 guarded files, PR open PR #15
8파일 +339/−12 · 테스트 3 — fix(admin-v2): 세션이 만료되면 라우트 이동을 기다리지 않고 복구한다
2026-09-09 15:15aiportal-front-admin병합 완료 merged PR #14, release skipped
3파일 +199/−11 · 테스트 1 — fix(admin-v2): 목록의 날짜 값을 시간대와 형식에 흔들리지 않게 표시한다
2026-09-09 06:59aiportal-front-admin병합 완료 merged PR #13, release skipped
3파일 +143/−8 · 테스트 1 — fix(admin-v2): 보이지 않는 탭에서는 운영 현황 폴링을 멈춘다
2026-09-09 00:11aiportal-front-admin병합 완료 merged PR #12, release skipped
8파일 +167/−7 · 테스트 3 — fix(admin-v2): 총건수가 줄어 범위를 벗어난 페이지를 스스로 되짚게 한다
2026-09-08 20:20aiportal-front-admin병합 완료 resumed: merged PR #11
2026-09-08 15:57aiportal-front-admin병합 완료 merged PR #10, release skipped
2파일 +127/−1 · 테스트 1 — fix(admin-v2): 자동 갱신이 운영 현황 표를 주기마다 비우지 않게 한다
2026-09-07 08:45aiportal-front-admin병합 완료 merged PR #9, release skipped
9파일 +1044/−13 · 테스트 3 — fix(admin-v2): 딥링크 query가 바뀌면 화면 조건을 다시 맞춘다
2026-09-06 23:35aiportal-front-admin검증 실패 verify failed: 실행한 검증 명령이 없음 — 정책(verify) 또는 자동 감지 필요
3파일 +199/−11 · 테스트 1 — fix(admin-v2): 목록의 날짜 값을 시간대와 형식에 흔들리지 않게 표시한다
2026-09-06 01:47aiportal-front-admin검증 실패 verify failed: 실행한 검증 명령이 없음 — 정책(verify) 또는 자동 감지 필요
7파일 +219/−12 · 테스트 2 — fix(admin-v2): 세션이 만료되면 라우트 이동을 기다리지 않고 복구한다
2026-09-05 00:10aiportal-front-admin병합 완료 merged PR #8, release skipped
2026-09-04 05:30aiportal-front-admin병합 완료 merged PR #7, release skipped
2026-09-03 21:58aiportal-front-admin병합 완료 merged PR #6, release skipped
2026-09-03 13:35aiportal-front-admin병합 완료 merged PR #5, release skipped
2026-09-03 07:35aiportal-front-admin병합 완료 merged PR #4, release skipped
2026-09-03 01:47aiportal-front-admin병합 완료 merged PR #3, release skipped
2026-09-02 19:26aiportal-front-admin병합 완료 merged PR #2, release skipped
2026-09-02 13:24aiportal-front-admin병합 완료 merged PR #1, release skipped

비용·사용량

최근 30세션
시각프로젝트단계시간비용토큰 입력/출력종료
19:12aiportal-front-admin릴리즈1분13$0.48282K / 4Ksuccess
19:11aiportal-front-adminreview2분14$0.84540K / 9Ksuccess
19:08aiportal-front-admin개선8분62$4.354.8M / 34Ksuccess
11:17aiportal-front-admin개선5분30$2.021.7M / 19Ksuccess
15:15aiportal-front-admin릴리즈1분11$0.48252K / 5Ksuccess
15:13aiportal-front-adminreview2분13$0.67408K / 9Ksuccess
15:10aiportal-front-admin개선5분43$2.712.7M / 19Ksuccess
06:59aiportal-front-admin릴리즈1분13$0.50258K / 6Ksuccess
06:57aiportal-front-adminreview2분9$0.52264K / 6Ksuccess
06:55aiportal-front-admin개선5분36$1.881.7M / 18Ksuccess
00:11aiportal-front-admin릴리즈1분15$0.44259K / 4Ksuccess
00:09aiportal-front-adminreview2분10$0.69335K / 8Ksuccess
00:07aiportal-front-admin개선7분51$2.722.6M / 27Ksuccess
19:21aiportal-front-admin릴리즈1분11$0.44237K / 4Ksuccess
19:19aiportal-front-adminreview2분11$0.76401K / 8Ksuccess
19:17aiportal-front-admin개선7분58$2.672.3M / 30Ksuccess
15:57aiportal-front-admin릴리즈1분13$0.37193K / 4Ksuccess
15:56aiportal-front-adminreview1분9$0.44256K / 4Ksuccess
15:54aiportal-front-admin개선4분27$1.621.2M / 16Ksuccess
08:45aiportal-front-admin릴리즈1분12$0.46251K / 4Ksuccess
08:44aiportal-front-adminreview5분16$1.09628K / 14Ksuccess
08:38aiportal-front-admin개선7분56$3.623.8M / 33Ksuccess
23:35aiportal-front-admin개선5분39$1.781.4M / 22Ksuccess
01:47aiportal-front-admin개선7분56$3.283.2M / 30Ksuccess

아이디어 백로그 — 대기 7 / 전체 8

에이전트가 회차마다 재평가한다. 가치 높고 위험 낮은 대기 항목이 다음 회차 후보다.
아이디어가치/위험/크기상태메모갱신
루트 앱의 crypto-js local tarball 의존성 제거로 clean install 복구4/4/M대기루트 package.json이 crypto-js를 file:crypto-js-4.2.0.tgz로 참조해 npm ci가 불가하다. admin-v2는 별도 package.json이라 영향이 없다(이번 세션에도 admin-v2 npm ci 정상 확인). 루트 앱은 테스트가 없어 회귀 검증 비용이 크다.2026-09-10
monitoringParser.toPod의 restarts NaN 노출2/1/S대기src/api/monitoring.ts:43이 Number(row.restarts ?? row.restartCount ?? restartSum)이라 kubectl 스타일 '3 (5d ago)' 문자열이 오면 NaN이 표 칸에 그대로 나온다(합계 MetricCard는 NaN이 falsy라 영향 없음). 선행 정수만 파싱하고 실패하면 0으로 떨어뜨린다. 순수 함수라 기존 monitoring.test.ts로 검증 가능. 2026-09-10 재확인 — 해당 줄 그대로 유효.2026-09-10
결과 0건인 탭을 누를 때마다 같은 조회를 되풀이2/1/S대기ContentAccessView.changeTab은 !rules.value.length / !menus.value.length, CatalogView는 !sharedApps.value.items.length, DirectoryView는 !users.value.items.length로 재조회를 판단해, 결과가 정말 0건인 조건에서는 탭을 오갈 때마다 같은 요청을 되풀이한다. 조회 완료 여부를 탭별 플래그로 기억하면 되고, 이미 있는 tabLoading·tabError 레코드 옆에 두면 자연스럽다. 2026-09-10 세 화면 모두 재확인.2026-09-10
컴포넌트 테스트가 mount한 wrapper를 정리하지 않는 누수2/1/S대기OperationsView·Overview·Policy 두 화면 테스트에는 afterEach 정리가 있지만 CatalogView·DirectoryView·ContentAccessView 테스트는 여전히 mount 후 unmount하지 않는다. 지금은 전역 이벤트를 듣는 화면이 OperationsView뿐이라 드러나지 않았을 뿐, 다른 화면이 document/window 구독을 추가하면 같은 방식으로 다음 테스트의 호출 횟수가 어긋난다. 여섯 파일에 같은 mounted 배열 패턴이 반복되므로 공용 mount 헬퍼로 모을 시점이 됐다.2026-09-10
AdvancedPolicyView가 snapshot.extensions를 v-model로 직접 변형2/2/S대기저장 실패 시 체크박스는 바뀐 상태로 남고 서버는 그대로라 화면과 서버가 어긋난다. form에 복사본을 두고 저장 성공 시에만 반영해야 한다. 2026-09-10에 AdvancedPolicyView.test.ts를 만들었으므로 이제 그 파일에 테스트를 붙이면 된다. 운영에서는 enablePolicyWrites가 false라 실사용 영향은 작다.2026-09-10
다른 탭에서 로그아웃해도 이 탭은 라우트를 옮길 때까지 복구하지 않음2/2/S대기session.ts 맨 아래 storage 이벤트 구독은 다른 탭이 auth·user를 지우면 state.user를 비우고 세대를 올리지만 만료 handler를 부르지 않는다. 만료(401)는 즉시 복구하는데 교차 탭 로그아웃은 다음 라우트 이동까지 방치된다. 다만 그 만료 handler를 만든 커밋 c1a4d7b가 아직 main에 없으므로(브랜치 auto/2026-09-10-1113), 그 PR이 병합된 뒤에 착수해야 한다. '로그아웃'과 '세션 소실'을 구분할 근거를 세우는 것이 실제 작업량.2026-09-10
toast가 수동으로 닫혀도 타이머가 남고 개수 제한이 없음1/1/S대기shared/notifications.ts의 notify가 항목마다 4.5초 setTimeout을 걸고 remove로 지워도 타이머를 정리하지 않는다. 연속 저장 시 toast가 쌓일 수 있다. 가치가 낮아 우선순위 하위.2026-09-10
정책·Overview 화면이 요청 순서를 관리하지 않고, 재조회할 때마다 화면 전체를 skeleton으로 되돌림3/1/M완료2026-09-10 구현. 보류 항목 두 개(createRequestGuard 미사용, 저장할 때마다 패널 전체 skeleton)가 같은 load() 하나의 문제라 함께 고쳤다. OverviewView·PolicyCenterView·AdvancedPolicyView에 initialLoading/refreshing 분리와 createRequestGuard를 적용하고 컴포넌트 테스트 8개를 새로 붙였다. 커밋 1709f01.2026-09-10

원장 (에이전트가 남긴 기록)

2026-09-02

2026-09-02

2026-09-03

2026-09-03

2026-09-03

2026-09-03

2026-09-04

2026-09-05

2026-09-06

2026-09-07

2026-09-08

2026-09-08

2026-09-09

2026-09-09

2026-09-09

2026-09-10

2026-09-10

← 대시보드 · 교훈 모음