cutover

요약. cutover: 자율 개선 회차 2회, 릴리즈 0건. 최근 릴리즈 없음. 건강 B 14일: 릴리즈 0, 실패 0, 경고 0, 회귀 0

현황

저장소
https://github.com/hkjang/cutover
마지막 회차
2026-09-12 15:28 KST — • 기타 CI no-ci, PR open PR #2

회차 이력

일시프로젝트결과
2026-09-12 15:28cutover검토 대기 CI no-ci, PR open PR #2
19파일 +2130/−6 · 테스트 3 — feat: 관리자가 화면에서 붙이는 방문 추적 스크립트 체계와 nonce 기반 CSP
2026-09-11 20:31cutover검토 대기 CI no-ci, PR open PR #1
24파일 +677/−192 · 테스트 1 — docs: 사용자·관리자 가이드를 실제 화면 캡처가 들어간 표준 형식으로 재작성하고 PDF 추가

비용·사용량

최근 30세션
시각프로젝트단계시간비용토큰 입력/출력종료
15:24cutoverreview5분28$1.861.6M / 15Ksuccess
15:19cutover개선21분90$7.547.5M / 85Ksuccess
20:26cutoverreview1분14$0.71498K / 6Ksuccess
20:25cutover개선14분63$5.405.0M / 56Ksuccess

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

에이전트가 회차마다 재평가한다. 가치 높고 위험 낮은 대기 항목이 다음 회차 후보다.
아이디어가치/위험/크기상태메모갱신
운영 빌드 관리자 세션 쿠키의 Secure 속성을 설정 가능하게 (HTTP 사내망 배포에서 관리자 로그인 불가)5/2/S대기lib/adminSession·login route 의 secure: NODE_ENV==='production' 때문에 Docker 이미지를 http://<LAN IP>:3000 으로 쓰면 브라우저가 쿠키를 버려 PUT 이 401. 2026-09-12 코드 재확인: 여전히 동일(app/api/auth/login/route.ts, session/route.ts). ADMIN_COOKIE_SECURE 환경 변수 또는 x-forwarded-proto 기반으로 제어하고 e2e 추가.2026-09-12
삭제·상태 전파의 하위 탐색을 ID 접두사 대신 parentId 기반으로 변경4/2/S대기lib/treeUtils deleteActivity 와 app/admin/page.tsx onStatusChange 가 id.startsWith(parent+'-') 로 하위를 찾는다. 2026-09-12 재확인: 여전히 동일. 업로드한 JSON 의 자식 ID 가 접두사를 따르지 않으면 삭제 시 고아가 남아 validateActivityImport 400 으로 조용히 실패.2026-09-12
관리자 콘솔 PUT 실패를 화면에 표시하고 삭제 확인창 중복 제거3/1/S대기ActivityTree 삭제 버튼과 admin page onDeleteActivity 가 각각 confirm 을 띄워 두 번 뜨고 두 번째는 루트 node.title 을 표시. PUT 응답(400/401)을 무시. 새 TrackingSettings 카드의 피드백 패턴(feedback state + details 목록)을 재사용하면 된다.2026-09-12
validateActivityImport 단위 테스트 추가 (node --test)3/1/S대기이번 회차에 `npm run test:unit`(node --test "lib/**/*.test.ts", Node 22 type stripping, tsconfig allowImportingTsExtensions) 이 생겼으므로 lib/activityData.test.ts 만 추가하면 된다. 단 activityData.ts 는 `@/` 없이 상대 import 이지만 node:fs 를 쓰므로 validateActivityImport 만 import 해 검증.2026-09-12
CSP 위반 신고를 Reporting-Endpoints/report-to 로도 받고 Report-Only 시험 모드 제공3/2/S대기report-uri 는 폐기 예정 지시어라 최신 브라우저에서도 아직 동작하지만, Reporting-Endpoints 헤더 + report-to 를 함께 보내면 안전하다. /api/csp-report 는 이미 두 형식 모두 파싱한다. 또 새 스니펫을 붙이기 전 Content-Security-Policy-Report-Only 로 먼저 시험하는 관리자 옵션은 위험 없이 막힌 출처를 모을 수 있다.2026-09-12
미사용 코드 정리: lib/s3.ts, amplify.yml, *_bak/*_local 파일, reset-visitor API2/1/S대기lib/s3.ts 는 어떤 라우트도 import 하지 않음(_bak 만). visitorCount 는 증가 코드가 없어 reset-visitor 도 의미 없음. 정리 시 README 아키텍처 그림의 S3 언급도 함께 수정.2026-09-12
관리자 가이드에 방문 추적 카드 실제 화면 캡처 추가2/1/S대기2026-09-11 회차의 캡처 스크립트(scripts/guide-screenshots)와 PDF 는 이 브랜치(main 기준)에 없다. 그 작업이 머지된 뒤 TrackingSettings 카드(막힌 출처 목록 포함) 캡처를 ADMIN_GUIDE 7장에 넣고 PDF 를 다시 굽는다.2026-09-12
관리자가 화면에서 붙이는 방문 추적 스크립트 체계와 nonce 기반 CSP (캠페인 tracking-2026-09)5/3/M완료proxy.ts 요청별 nonce CSP, lib/tracking(core/store/violations), /api/tracking·violations·csp-report, /momento/* 같은 오리진 프록시, 관리 화면 TrackingSettings 카드, 단위 25건·e2e 3건, ADMIN_GUIDE 7장. 기본 꺼짐. 운영 standalone 서버를 실제 Chrome 으로 검증.2026-09-12

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

2026-09-11

2026-09-12

← 대시보드 · 교훈 모음