2026-07-29 — P0 보안 3결정 실행·운영배포(페페 결정: platform-auth 추천안 A+C·하위 2건 포함 / ops-secrets 비번회전 없이 git 평문 제거+gitignore 관리+C / response-policy B): 착수 전 API 호출자 전수조사로 poin-agent 데몬 2종은 이미 세션 로그인·print-agent는 /static뿐이고 door_sync_watch 하나만 무세션임을 확정 → 화이트리스트 대신 공유 토큰; A=비로그인 /api/ 401 + 데몬 경로 2개만 X-PFS-Agent-Token, secret_key→PFS_SECRET_KEY env(교체로 세션 1회 무효), 비번 pbkdf2+솔트 20만회·로그인 시 자동 승급(user.password varchar(1000) 확인으로 스키마 변경 불요, 실측 1건 승급); B=tracked 21파일 평문 제거→scripts/_db_config.py 로더(env→repo .env→.secrets→EC2 순), 8791 0.0.0.0→127.0.0.1+토큰(비번 회전은 미실시라 git 이력 값은 아직 유효); C=예외 문자열화 방어+RestResponse.status 매핑 추가만(호출부 그대로=동작 무변경); 배포 master 7ddfd50/6c4c1ef/d3fe28f/3955cbf → deploy-live 964e8f2, env 선행 주입(.bak-p0 백업); 검증=자체17+E2E13+UI9 (테스트·운영 각각) ALL PASS; 부수발견 PFS-D041 thousandSeparator 널가드(null 금액 한 건에 DataTables 렌더가 통째 중단돼 목록이 빈 화면 — 운영을 대조군으로 돌려 내 변경 무관을 먼저 가름)+캐시버스터; ⚠사고=검증이 운영 sync-poll 호출→8일째 대기 요청 claim, 조건부 UPDATE로 pending 원복하고 검증을 부작용 없는 sync-complete 빈 body로 교체; 로컬 상주 데몬 2종이 구버전으로 돌고 있어 재기동(netstat로 8791 바인딩 하향 확인) → projects/code-qa/session-2026-07-29-p0-security.md (code-qa-session-2026-07-29-p0-security)
2026-07-30 — P0 잔여 5파트 완료 + 운영배포(deploy-live 6698a3c, 파일 단위 선별 포워드 28파일): ①field-dispatch D005 배차사진 경로(재검수 SSM 실측 = 파일0·행0이라 마이그레이션 불필요, field_memo_dao 패턴 재사용) ②platform-auth D010 강등 세션 무효화(args 가 아니라 저장 전후 DB값 비교 — DAO 가 키 누락 시 is_super_admin='0' 기본세팅해 args 만 보면 강등을 놓친다)·D012 레거시 /api/user/* 쓰기 4종 무권한(일반 사용자가 총관리자 비번을 그 사람 user_id 로 초기화 = 계정 탈취) → admin_user 게이트 + 임시난수 비번, 조회 3종은 현장등록·멤버팝업이 써서 유지 / 부수 D042 user_no null·D043 remove_yn NULL 로 로그인 불가 계정 ③estimate-satellite D006 견적 위성 저장 비트랜잭션 delete+insert → DAO 트랜잭션(실패주입 rollback 실증, ⚠테스트 RDS 는 비-strict sql_mode 라 타입오류로는 실패 주입이 안 된다)·D007 원조 sub 유실 라우트 410 잠금·D044 410 이 실제로는 500(restplus 에 jsonify(...),status 반환 금지 — autosave 도 도입 때부터 그랬다) ④templates-xss-cache D035 DataTables 저장형 XSS 를 중앙 1곳(defaults.column.mRender)에서 차단(함수 data·render 지정 컬럼 제외로 회귀 0)·D036/D046 캐시버스터(XSS 수정 파일 자체에 버스터가 없으면 12시간 캐시로 전달이 안 된다 → 같은 커밋) ⑤platform-core D004 openpyxl 의존성 명시 / D003 커넥션 풀·D045 requirements 설치불가는 보류=페페 결정 대기; 검증 = 테스트 E2E 3종+UI 2종 → 운영 왕복·UI 회귀 ALL PASS, 검증 스크립트 5종 tracked; 🔑배포는 git worktree 로(같은 리포에서 서브에이전트가 돌 때 브랜치 전환은 그 커밋을 deploy-live 로 흘린다) → projects/code-qa/session-2026-07-30-p0-remaining-5parts.md (code-qa-session-2026-07-30-p0-remaining-5parts)