← 목록
AI 2026-07-24 4KB 읽기 4분

크라우니캔버스 — AI알림 무확인 ERP쓰기 + 예산테이블 헤더 성공위장 수리

개요

crowny-canvas(:9620) 에디터 화면(앱/화면/editor.js)에서 확증된 P0/P1 결함 2건을 근본 수리. 파일 소유권 범위: 앱/화면/editor.js (+동반 한선씨/에디터.한선).

무엇을 했는지

P0 — AI알림렌더 액션 버튼 무확인 ERP 쓰기 (CONFIRMED)

  • 결함: AI알림렌더의 액션 버튼이 확인필요: false를 하드코딩 → 슬래시메뉴 시드 콘텐츠(erp.update_price,
§3 쓰기 화이트리스트 포함)를 클릭 즉시, 확인 다이얼로그 없이 실행.
  • 수리: 씬버튼렌더(속성.확인필요 !== false)와 동일한 안전 기본값 패턴으로 통일 —
액션이 명시적으로 확인필요:false를 지정하지 않는 한 항상 CC.컴포넌트.확인다이얼로그를 거치도록 변경. 확인 다이얼로그 제목/본문/확인라벨도 실제 실행될 커맨드를 명시하도록 보강.

P1 — 예산 테이블(컬렉션뷰렌더) BlockShell 헤더 성공 위장 (CONFIRMED)

  • 결함: BlockShell 헤더가 라이브:true, 초전:12를 정적 하드코딩 → /api/컬렉션 라우트가 서버에
미배선(항상 404)이라 매번 목데이터 폴백으로 전환돼도 헤더는 영원히 "라이브·12초 전"으로 표시.
  • 수리: today.js의 카드() 팩토리 정직 패턴과 동일하게 BlockShell을 라이브:false로 먼저 생성 후,
fetch 결과에 따라 헤더(라이브점/끊김칩)를 사후 갱신하는 헤더반영()을 추가. 연결 판정은 컬렉션뷰_연결됐나(res)로 분리. 그리기()도 끊김 시 각주 텍스트를 "⚠ 연결 끊김 · 로컬 예시"로 바꿔 표(body)까지 정직하게 상태를 노출(성공 위장 금지, 00-작업계획서 §8 준수).

한선씨 동반 (파리티)

한선씨/에디터.한선에 두 수리의 순수 판정 로직 파리티 함수 추가:
  • 액션확인필요인가(명시확인필요) — 명시적 0(false)만 확인 생략, 그 외(미지정/true)는 항상 확인필요.
  • 컬렉션연결됐나(끊김플래그, 행개수) — 끊김 또는 행0개는 미연결.
자기테스트 6건 추가, STRICT 재컴파일 0경고 + 셀프테스트 46/46 PASS.

크라우니코드: lookup MISS 2건(신규 판정 로직) / learn 추가 2건.

검증

  • node --check 앱/화면/editor.js → 문법 정상.
  • CROWNY_STRICT=1 ./hanseonc_high 한선씨/에디터.한선 > /tmp/에디터.toau → 0경고, 13344 큐브.
  • 에디터_셀프테스트=1 ./crownyc run /tmp/에디터.toau → 46/46 PASS.
  • 라이브 :9620(LaunchAgent org.crowny.canvas) curl / → HTTP 200. curl /화면/editor.js로 받은
본문이 수정된 소스 파일과 byte-identical(정적서빙이 요청 시점에 파일을 직접 읽는 구조라 재기동 불요, 서버 파일 서버.한선 자체는 이번 수리와 무관해 미변경).

관련 파일

  • /Users/ef/crowny-canvas/앱/화면/editor.js
  • /Users/ef/crowny-canvas/한선씨/에디터.한선

잔여 이슈

  • 컬렉션뷰렌더 내 단가 인라인 셀 편집(단가입력.addEventListener('change', ...))도
CC.커맨드('nexus','erp.update_price', ..., {확인필요:false, ...})를 그대로 사용 중 — 이번 지시된 확증 결함 2건 범위 밖이라 미수정. 같은 계열(ERP 무확인 쓰기)이므로 후속 세션 검토 권고.
  • /api/컬렉션 자체가 서버(서버.한선)에 미배선(F4 트랙 미결선, 07-앱-계약.md §3에도 없음) —
화면단 정직화(이번 수리)와 별개로 F4 실배선은 잔여.
  • 작업 중 동일 파일(앱/화면/editor.js)에 대한 동시세션 편집이 여러 차례 감지됨(다른 세션이
같은 컬렉션뷰렌더 P1을 병행 수리 중이었던 것으로 보임) — 두 세션의 헬퍼(컬렉션뷰_연결됐나, 각주 정직화)를 병합해 단일 일관 구현으로 정리, 매 Edit 후 node --check로 무결성 재확인.