시작 대시보드 구현 (Phase 1~6) - #11
Draft
eondcom wants to merge 20 commits into
Draft
Conversation
eondcom
added a commit
that referenced
this pull request
Jul 30, 2026
Phase 1~4 구현물(PR #11)을 검증한 결과를 수정 지시서로 정리했다. 구현은 스펙을 충실히 따랐다. 자동 SSH 없음 · domain_issue 가 LH 를 아예 참조하지 않아 기본 vhost 오탐 차단 · 회귀 테스트 존재 · Done{ok:true} 에서만 커밋(실패 시 이전 캐시 유지) · 집계 기준 단일화 · need_update 가 기존 색상 판정과 동일 기준 · 셸 2개가 스펙과 주석 1줄 차이. 문서 §0 에 "건드리지 말 것" 으로 명시했다. 수정 항목 [필수] parse_kst_datetime 이 KST(+9) 를 하드코딩한다. 디스크 감시 last-run 은 서버 로컬 시각인데 앱이 KST 로 가정해, UTC 서버면 9시간 어긋나 27시간만 지나도 "하루 넘게 안 돌았다" 경고가 뜬다(해외 VPS 는 UTC 가 기본인 경우가 많다). → 서버가 date -d 로 epoch 를 계산해 HM_DASH_DISKMON_LAST_TS 로 넘기고, 앱은 그것을 우선 사용. 문자열 파싱은 폴백으로만 두고 이름도 정정. 값이 없을 때 경고를 띄우지 않는 경로까지 테스트로 못 박았다. [권장] local_stats 가 매 프레임 scan_cache 전체를 순회한다(대시보드가 기본 화면이라 항상 켜져 있다). 키 기반 캐시 제안. 단 무효화가 복잡해지면 값이 틀리는 쪽이 더 나쁘므로 건너뛰어도 된다고 명시. [권장] docs/dashboard.md 에 캐시 시각의 의미·자동조회를 안 하는 이유·타임존 주의·소요 시간 추가 [선택] 이상 도메인 행 클릭 → 계정 관리 이동 검증: 지시서의 셸 스니펫 bash -n 통과, date -d 변환과 빈 값 처리 실측 확인. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WxEiSzFMdeAzvohAQ39nyJ
지시서가 plan-dashboard / plan-upkeep / plan-account-delete 세 브랜치에
흩어져 있어, dashboard-impl 에서 작업하는 Codex 가 문서를 읽을 수 없었다.
6개 문서를 .claude/plans/ 에 모으고 README.md 로 목차를 만든다.
README 에 담은 것
· 구현 상태 표 (구현됨 3 / 미구현 2)
· 남은 작업 순서와 각 문서의 선행 조건
(PHASE6 의 disk-usage.tsv 는 감시 재설치 후 2일 뒤부터 추이가 나온다)
· 모든 지시서 공통 작업 규칙
· '이미 검증을 마쳐 바꾸면 안 되는 동작' 목록
(domain_issue 가 LH 를 안 보는 것, Done{ok:true} 에서만 커밋,
v-delete-* 경유, 보호계정 이중 방어 등)
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WxEiSzFMdeAzvohAQ39nyJ
…into dashboard-impl
upkeep-SPEC(백업 현황·휴면 사이트)까지 구현되어 5개 지시서가 모두 끝났다. 남은 작업 절을 '코드가 아니라 운영 확인' 으로 바꿨다 — 삭제 기능 실서버 검증과 디스크 감시 재설치(disk-usage.tsv 기록 시작, 2일 뒤부터 추이).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR #9 스펙의 Phase 1~5 구현 (Codex 작업, Claude 검증).
docs/dashboard.mdbase 가
backup-folder-open(#10) 입니다. #10 머지 후 base 를 main 으로 바꾸면 됩니다.검증 (Claude 재확인 — Codex 보고를 그대로 믿지 않고 직접 실행)
cargo testcargo build --releasedashboard_page내spawn호출 0개 — 스펙 §2-1 준수domain_issue()local_code참조 0개 → 기본 vhost 200 오탐 차단 유지DNS=none + LH=200 → 이상포함Done{ok:true}에서만, 실패 시 이전 캐시 유지domain_issue()하나로 계산Phase 5 (타임존 수정) 검증
HM_DASH_DISKMON_LAST_TSLAST_TS=1785364201(서버date -d로 계산)LAST_TS=(빈 값 — 이전 값이 남지 않음)diskmon_last_prefers_server_epoch가 세 경로 모두 단정is_some_and(...)로 경고를 띄우지 않음 (오탐 방지)parse_kst_datetime잔존 0,parse_server_datetime로 정정docs/dashboard.md금지 항목(자동 SSH, 도메인 판정 로직)은 변경되지 않았습니다.
런처 반영
Codex 가 "dashboard-impl 에는 삭제·디스크 기능이 없어 런처를 교체하면 기능이 빠진다"고 판단해 교체하지 않은 것은 정확한 판단이었습니다. Claude 가 통합 브랜치에서 병합해 처리했습니다:
main+ #3 + #7 + #8 + #10 + 이 브랜치 →v0.1.0 (4637b03),cargo test41 passed, 런처 교체 완료.🤖 Generated with Claude Code
https://claude.ai/code/session_01WxEiSzFMdeAzvohAQ39nyJ