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

CrownyAI 워드 앱 — 표준계약 리팩터 + 회귀 편입 (W-A)

개요

크라우니AI 벡터 워드가 시계·메모·할일·설정·북마크·파일·날씨 7앱과 동일한 "앱서비스_<앱>.한선 표준계약"에 합류했다. 07-12 인라인 이식(앱상주서버.한선 1445~2088줄, _v워드렌더/_워드이벤트적용 비표준 명명) 상태의 기술부채를 해소하고, 벡터게이트 회귀 스위트에 워드 케이스를 편입했다.

무엇을 했는지

  1. A1 파리티 diff: 원본 crowny-word/앱/워드벡터앱.한선(34함수) vs 인라인
섹션(33함수) 대조. _시작/확인/통합절차설명은 테스트전용으로 제외, _배열합치기는 서버 공용 합치기로 이미 치환됨을 확인. 다만 워드텍스트(상태)· 워드커서(상태)(상태에서 텍스트/커서 뽑는 접근자) 2개가 누락돼 있어 _워드텍스트/_워드커서로 신규 이식(순수 추가, 기존 동작 무영향 — 인라인 코드는 이미 상태파싱을 직접 호출해 왔음).
  1. A2 표준계약 리팩터: 워드 섹션 전체(함수 정의만)를
src/앱서비스_워드.한선(689줄, 45함수)로 추출. 표준 export _워드_벡터렌더(CVW,CVH)(내부적으로 기존 _v워드렌더 호출)· _워드_액션처리(액션)(내부적으로 기존 _워드이벤트적용 호출) 추가 — 내부 헬퍼 리네임은 최소화(회귀 안전). 모듈 상수 8개(_워드제목바H 등)는 top-level 변수였던 것을 파라미터없는 접근자 함수로 전환(표준계약의 "top-level 문 없이 함수만" 요건 충족 — 시계/메모 등 기존 7앱도 top-level 변수 0개였음을 확인 후 동일하게 맞춤). 앱상주서버.한선에는 가져오기 "앱서비스_워드.한선" 추가 + 디스패치 (_벡터처리)가 새 표준 함수를 호출하도록 축소(1445~2088줄 인라인 정의 제거, 총 644줄 삭제 → 짧은 안내 주석 3줄로 대체).
  1. 컴파일 게이트: hanseonc_high 재컴파일 exit 0·에러 0.
앱상주서버-wA.toau 1,801,884바이트 (베이스라인 1,793,428바이트 대비 +8,456바이트, +0.47% — 파리티 이식분+어댑터 2개+접근자 8개 증가분).
  1. A3 회귀 편입: native/벡터게이트.한선 _회귀모드()에 워드 케이스 3종
추가 — 벡터|워드|렌더|960|640→"CMD " 형식 확인, _워드KEY반영확인() (KEY|A 전송 후 렌더 응답 TEXT에 "A" 반영 확인), 벡터|워드|초기화(미정의 명령이 에러 없이 CMD로 우아하게 처리됨을 확인). 통과 판정 기준 8/8 → 11/11로 갱신. native/벡터게이트.shbackup_state/restore_state워드상태 추가(기존 터미널상태/입력상태/계산기상태와 동일 패턴).
  1. A4 실기동 종단 검증: 격리 포트(28950)로 crownyc run 기동 →
벡터|워드|렌더 초기 렌더 확인 → KEY|HKEY|i 연속 전송 → 이어진 렌더 응답 TEXT 20 44 15 26 26 26 Hi 로 실제 반영 확인 → CLICK|300|80 정상 CMD 응답 → /tmp/워드상태.psv 파일에 "Hi" 반영 확인 후 서버 정상 종료. 이어서 bash native/벡터게이트.sh 회귀(11/11 티) + 벡터게이트.sh 전체(회귀 11/11·rtt 티 p50=3ms·스트레스 티 드리프트 401→432ms) 전부 실측 PASS.

관련 파일

  • /Users/ef/CrownyBrowser/src/앱서비스_워드.한선 (신규, 689줄, 45함수)
  • /Users/ef/CrownyBrowser/src/앱상주서버.한선 (2346→1708줄, 워드 인라인 제거 +
가져오기 1줄 + 디스패치 2곳 수정)
  • /Users/ef/CrownyBrowser/native/벡터게이트.한선 (173→193줄, 회귀케이스 8→11)
  • /Users/ef/CrownyBrowser/native/벡터게이트.sh (backup/restore 대상에
워드상태 추가)
  • 백업: *.bak-표준계약-1784824643 (src/native 3파일)

잔여 이슈

  • 없음 — 컴파일·회귀·실기동 3게이트 전부 PASS. 다른 7앱과 완전 동일 규약
합류 완료(앱목록.psv·ObjC 파일은 이번 작업 범위 밖, 무수정).