- deps.py: PULP_DEMO 설정을 Jinja 전역(demo_mode)으로 노출 → 모든
템플릿에서 참조 가능. 실연동 오인 방지(데모는 화면 확인 전용).
- health.html: 데모 모드일 때 연결 배지를 "데모 모드 · 가짜 데이터"
칩으로 표시.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- 버튼 위계 정리: 파란 틴트=동작(동기화/배포), ghost=네비/유틸(새로고침·이전·다음)
- 새로고침: ghost + 원형화살표 아이콘 + 컴팩트, 페이저: ghost + ◀/▶ 삼각형
- 검색창 가로 꽉(width 100%) + 얇게
- 헤더(th) 한글 라벨에 모노 폰트 안 먹게 td 로 한정 + 모노 스택에 한글 폴백
- 상태: '상태'+연결배지 한 줄 배치, '상태'='저장소' 글자 크기 통일, 배지 14px
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- list_repos: Pulp next 페이지 끝까지 순회 (첫-페이지-only 누락 수정)
- BFF 메모리 검색(이름)·정렬(이름/검증/버전/패키지/동기화)·페이지네이션(20/페이지)
- GET /repos/table 조각: 검색창은 표 밖(포커스 유지), 정렬헤더/페이저는 표 안,
hx-include 로 검색어·정렬상태 상호 전송
- 폰트 재조정: 데이터 셀 14px, 헤더 13px, 배지/액션버튼 14px (동기화 버튼 대비 균형)
- 버전 페이지 제목↔검증상세 마진, 데모 저장소 26개로 확장
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- JetBrains Mono(로컬 동봉) → 저장소명/버전/패키지수/시각 등 영문·숫자 데이터에 적용
- 동기화/배포 버튼 컴팩트(btn-sm) + 액션 셀 높이 고정(row-action)으로 행 점프 제거
- 표 행 높이/hover, 요약 카드 강조(동기화중=blue, GPG통과=mint) + hover, 버튼 누름 피드백
- 연결 상태 폴링 10s → 30s
- SVG favicon (Toss blue 라운드 사각 + 스냅샷 레이어)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- pulp_client: get_repo / sync_repo / get_task (비동기 task href 반환)
- POST /repos/{uuid}/sync: remote 확인 후 동기화 시작, 진행률 조각 반환
- GET /repos/{uuid}/progress: progress_reports 합산 → 바/퍼센트,
완료/실패 시 hx-trigger 제거로 폴링 중단
- task_store: uuid→task_href 메모리 추적 (단일 인스턴스), 대시보드 '동기화 중' 집계
- views.task_progress: state/done/total/percent + created_resources에서 새 vN
- 동기화는 안전 동작이라 확인 모달 없이 실행 (스펙 §5-1)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>