jupiq

요약. jupiq: 자율 개선 회차 16회, 릴리즈 9건. 최근 릴리즈 v1.6.0 (자산 1개). 건강 B 14일: 릴리즈 9, 실패 0, 경고 1, 회귀 0

현황

저장소
https://github.com/hkjang/jupiq
마지막 회차
2026-09-12 18:58 KST — 🚀 릴리즈 merged PR #13, released v1.6.0
최근 릴리즈
v1.6.0 — released · 자산 1개 (이전 v1.5.0: 1개) 전체 릴리즈 →

회차 이력

일시프로젝트결과
2026-09-12 18:58jupiq배포 준비 완료 merged PR #13, released v1.6.0
17파일 +1638/−15 · 테스트 6 — docs: 관리자 가이드에 방문 추적 설정과 CSP 설명을 더한다
2026-09-11 04:56jupiq검토 대기 review held, PR open PR #12
41파일 +880/−10 · 테스트 없음 — docs: 화면 캡처가 들어간 사용자·관리자 가이드 정본을 추가한다
2026-09-10 20:08jupiq배포 준비 완료 merged PR #11, released v1.4.13
3파일 +90/−3 · 테스트 1 — fix: 연동 요청 경로를 두 번 인코딩하지 않게 한다
2026-09-10 14:09jupiq배포 준비 완료 merged PR #10, released v1.4.12
4파일 +120/−8 · 테스트 2 — fix: 오류 메시지 자르기가 한글 문자를 쪼개지 않게 한다
2026-09-09 15:49jupiq검토 대기 review held, PR open PR #9
7파일 +194/−44 · 테스트 4 — refactor: 프로메테우스 수집 주기가 GPU 기능을 한 번만 읽게 한다
2026-09-09 15:41jupiq실행 오류 hold: budget
2026-09-09 08:35jupiq배포 준비 완료 merged PR #8, released v1.4.10
4파일 +102/−25 · 테스트 1 — refactor: 호출자가 없는 parseTimeQuery를 제거한다
2026-09-09 01:28jupiq배포 준비 완료 merged PR #7, released v1.4.9
2파일 +78/−0 · 테스트 1 — fix: 큰 페이지 번호가 OFFSET을 음수로 뒤집지 않도록 pageBounds를 제한한다
2026-09-08 20:37jupiq배포 준비 완료 merged PR #6, released v1.4.8
2파일 +162/−2 · 테스트 1 — test: secure 패키지의 문자열 암복호화·파생키·토큰 생성을 검증한다
2026-09-07 10:02jupiq병합 완료 release-only, release skipped
2026-09-07 01:59jupiq검토 대기 review held, PR open PR #5
3파일 +150/−4 · 테스트 1 — fix: 허브 수집 goroutine에 동시 실행 상한과 종료 대기를 도입한다
2026-09-06 16:00jupiq병합 완료 merged PR #4, release blocked (secrets)
2파일 +169/−5 · 테스트 1 — fix: 응답 보안 헤더에 CSP 보강 지시자와 TLS 한정 HSTS를 추가한다
2026-09-05 04:17jupiq배포 준비 완료 merged PR #3, released v1.4.4
2026-09-04 08:40jupiq릴리즈 진행 중 merged PR #2, released v1.4.0, ASSETS MISSING
2026-09-03 23:04jupiq변경 없음 no change
2026-09-03 14:58jupiq배포 준비 완료 merged PR #1, released v1.3.0

비용·사용량

최근 30세션
시각프로젝트단계시간비용토큰 입력/출력종료
18:52jupiq릴리즈2분11$0.86511K / 7Ksuccess
18:49jupiqreview4분20$1.721.3M / 13Ksuccess
18:45jupiq개선22분97$11.1014.0M / 81Ksuccess
16:59jupiq릴리즈2분16$0.90688K / 6Ksuccess
04:56jupiqreview6분47$3.233.3M / 25Ksuccess
04:50jupiq개선18분131$11.1114.7M / 63Ksuccess
20:02jupiq릴리즈2분21$0.86744K / 6Ksuccess
19:59jupiqreview2분13$0.67296K / 10Ksuccess
19:56jupiq개선6분42$2.482.3M / 23Ksuccess
14:03jupiq릴리즈2분22$0.99885K / 6Ksuccess
13:59jupiqreview2분12$0.60331K / 9Ksuccess
13:57jupiq개선6분50$3.563.8M / 24Ksuccess
11:05jupiq릴리즈2분22$0.90692K / 7Ksuccess
15:48jupiq개선7분48$3.122.9M / 31Ksuccess
08:31jupiq릴리즈2분19$0.82655K / 6Ksuccess
08:27jupiqreview1분9$0.38162K / 5Ksuccess
08:25jupiq개선5분45$2.072.0M / 19Ksuccess
01:21jupiq릴리즈2분19$0.79605K / 6Ksuccess
01:16jupiqreview2분15$0.57276K / 7Ksuccess
01:14jupiq개선4분39$1.561.4M / 15Ksuccess
20:31jupiq릴리즈2분17$0.86673K / 5Ksuccess
20:27jupiqreview1분8$0.39202K / 4Ksuccess
20:25jupiq개선5분29$1.501.2M / 17Ksuccess
10:02jupiq릴리즈1분11$0.55274K / 5Ksuccess
01:58jupiqreview4분14$0.99540K / 14Ksuccess
01:55jupiq개선5분34$1.711.4M / 19Ksuccess
16:00jupiq릴리즈2분21$0.90756K / 5Ksuccess
15:58jupiqreview2분18$0.68400K / 8Ksuccess
15:55jupiq개선6분44$2.502.4M / 21Ksuccess

아이디어 백로그 — 대기 10 / 전체 11

에이전트가 회차마다 재평가한다. 가치 높고 위험 낮은 대기 항목이 다음 회차 후보다.
아이디어가치/위험/크기상태메모갱신
internal/store 커버리지 중 DB 없이 테스트 가능한 순수 함수 경로 보강3/1/M대기settings.go의 buildLiveHubCards·gpuWasteAssessment·sessionSnapshotStale·topLiveUsers·summarizeLLMItems·buildLLMBreakdown·observedSuccessRate, metrics.go의 cloneMetricLabels·metricSafeLabels·finiteNonNegative·roundedMetricCount·podPhasePriority·selectPodCandidate·firstLabel, hubs.go의 managedUserRoles·safeJupyterServerSnapshot·numericJSONValue. 한 세션에 3~4개.2026-09-12
방문 추적 탭·차단 출처 카드 화면 캡처를 manifest에 추가하고 관리자 가이드 3.5절에 싣기3/1/S대기이번 회차는 Playwright 캡처 비용 때문에 생략. 캡처 조건은 analytics 설정 PUT(enabled, momento, 프록시) 한 번과 csp-report POST 한 번이면 카드에 항목이 보인다. 새 항목이 manifest·갤러리·홈 카운트(30→32)에 함께 들어가야 check-screenshots가 통과한다.2026-09-12
로그인 리미터 succeeded가 ip 키를 의도적으로 유지하는 동작에 대한 테스트·문서화2/1/S대기login_limiter.go:89-94의 의도가 코드에 없어 '버그'로 오해될 위험. login_limiter_test.go 케이스 하나와 주석 한 줄. 관리자 가이드 7.3절 임계값 명시는 완료.2026-09-12
internal/api 통합 테스트를 로컬에서 돌리는 방법 문서화와 make test-integration 타깃2/1/S대기JUPIQ_INTEGRATION_TEST_DSN 없으면 조용히 skip. postgres:16-alpine 컨테이너 + DSN 한 줄과 Makefile 타깃. 이번 회차에도 같은 방식으로 컨테이너를 띄워 검증했으므로 절차는 재확인됨.2026-09-12
auth/oidc.go가 RandomToken 오류를 무시하고 state·nonce·verifier를 만드는 부분 정리2/1/S대기oidc.go:109-111의 `_ :=`. 현재 도달 불가능하지만 오류를 올려 흐름을 중단시키는 편이 계약상 명확. 이번 회차의 trackedPage는 같은 상황에서 추적 없이 응답하도록 처리했다.2026-09-12
감사 로그 캡처가 캡처 스크립트 자신의 settings.update로 가득 차는 문제2/1/S대기capture-screenshots.mjs가 화면마다 PUT /settings를 하므로 audit.webp가 단조로움. 캡처 직전 무해한 작업을 섞거나 데모 fallback.2026-09-12
queryInt가 잘못된 page·page_size·limit을 조용히 기본값으로 바꾸는 부분을 400으로 돌려주기2/2/S대기helpers.go의 queryInt. 프런트엔드가 빈 문자열을 보내는 경로가 있으면 회귀이므로 web/src의 쿼리 조립을 먼저 확인.2026-09-12
쿼리로만 GPU로 분류되는 별칭 지표가 feature_enabled 없이 빈 목록을 받는 잔여 간극2/2/M대기정확히 고치려면 kind 필터로 걸러진 행의 존재를 알아야 해 조회가 하나 더 필요. 기본 지표 이름은 이미 덮이므로 비용 대비 가치를 먼저 따질 것.2026-09-12
가이드 캡처를 릴리스마다 자동으로 다시 찍는 절차2/2/M대기캡처 시점 버전을 manifest에 기록하고 check-screenshots가 VERSION과 비교해 경고하는 수준부터.2026-09-12
analyticsConfig가 index.html 요청마다 settings 한 행을 조회하는 것을 짧은 TTL 캐시로 줄이기2/2/S대기analytics_handlers.go의 analyticsConfig. 현재는 단일 PK 조회라 부담이 작고 설정 저장 즉시 반영이 장점이므로, 페이지 요청량이 문제가 될 때만. liveSnapshot 캐시와 같은 invalidate 패턴을 쓰면 즉시 반영을 유지할 수 있다.2026-09-12
관리자가 화면에서 방문 추적 스크립트를 붙일 수 있는 체계(캠페인 tracking-2026-09)4/2/M완료internal/analytics 신설, serveSPA nonce 주입과 정책 조립, momento 같은 오리진 프록시 기본, CSP 신고 수신·차단 출처 목록, 관리자 설정 '방문 추적' 탭, 설정 검증, OpenAPI, 관리자 가이드 3.5절과 PDF. 기본 꺼짐. 실제 기동해 curl로 전 흐름 확인.2026-09-12

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

2026-09-03

2026-09-04

2026-09-05

2026-09-07

2026-09-08

← 대시보드 · 교훈 모음