← 목록
기타 2026-07-25 3KB 읽기 3분

요청: canvas-P3-라이브데이터

  • 날짜: 2026-07-25 09:37:31
  • 작업 경로: /Users/ef/crowny-canvas

요청 본문

P3 라이브 데이터 주입: 백엔드를 설계 수준으로 시드(김선경·CRD1240·결재3건·브리핑3항목·페이지트리), dc-런타임.js 라이브 주입(폴백), 검증

관련 산출

(클로드가 작업 결과를 이어 기록)


P3 완료 (2026-07-25)

백엔드 설계 데이터 시드 (.bak 백업 후)

  • 부팅: 서버.한선에 _설정값읽기(키,기본값) 헬퍼 추가(설정.psv latest-wins). _처리부팅이 사용자=김선경/역할=신제품기획팀 매니저/조직=크라우니 반환. 설정.psv에 권위행 append(온보딩 테스트행 오버라이드).
  • 원장: 원장_사용자_~446084944044221~.psv(=김선경 안전키) 시드 → 잔액 1240.
  • 결재함: 데이터/결재.psv 3건 시드(PR-2607-114 힌지 브래킷 금형 수정 ₩12,400,000 이지민 티·자동승인권고 / EX-2607-088 출장비 정산 ₩842,000 박은주 음·상신 / PR-2607-102 시제품 검증 장비 임차 승인됨).
  • 브리핑: 페이지.psv에 최근수정 todo 2건(기획서 v2 사양 확정·부품 단가 재산출 검토), 설정.psv schedule.1(09:30 PLM 사양 점검 대회의실 A) → 3항목.
  • 페이지트리: 회의록·CR-720 작업 DB·3F 오피스·지식 위키 보강.

라이브 주입 (앱/dc-런타임.js, 설계 DOM 구조·스타일 불변·폴백 우선)

  • 표시() 끝에 라이브주입(screen,label) — 사용자명(김선경/김서연 정확앵커)·CRD 잔액(정규식 "N CRD" 숫자부만)·결재(문서번호 매칭 게이트 API>=설계카드수)·브리핑(게이트: 라이브<설계=폴백).
  • fetch 실패·빈값·설계보다 빈약이면 미주입(설계 원본 유지).

발견·수리한 버그 2종 (근본원인)

  1. 브리핑 항상 빈배열: 브리핑_조립의 루프 내 변수 할일_json = 할일_json + ... 재선언이 블록스코프 새 변수 생성→외부 누산 유실→출력 "[]". 변수 제거·순수 재대입으로 수리. (할일 2건 입력에도 [] 출력하던 잠복버그, 시드 전엔 데이터가 없어 미발견)
  2. 원장 guest 오조회: 브라우저 fetch가 한글 쿼리 키 사용자도 percent-encode(%EC%82%AC%EC%9A%A9%EC%9E%90)→서버 _쿼리값이 키를 미디코드 비교→미스→기본 guest(잔액1500). 변수 k = URL디코드(부분(쌍,0,eq))로 수리. curl은 raw바이트라 우연통과했던 잠복버그.

검증(실측)

  • STRICT 컴파일 OK(서버.한선), node --check OK(dc-런타임.js), dc-런타임.한선 셀프테스트 55/55.
  • curl: 부팅=김선경/1240, 결재함=3건, 브리핑=3항목, 원장 raw키·인코딩키 둘 다 1240.
  • 헤드리스 렌더 #today·#approval·#모바일: 김선경·1,240 CRD·결재3건·브리핑 전부 리치, {{ }} 잔여 0(7화면 전수), 승인/반려 버튼 유지(P1/P2 회귀 없음).

잔여

  • 모바일(2a) 인사말 "서연님"은 설계 목업 고유값(정확앵커 아님)→안전상 미치환(설계 유지). 데스크탑은 "선경님"으로 일관.
  • 브리핑 todo 수정시각=시드시점 epoch → 24h 후 창(window) 벗어나면 할일 폴백(설계 유지). 일정(schedule.1)은 상시.