4.6 KiB
4.6 KiB
id, title, category, status, canonical_id, aliases, duplicate_of, source_trust_level, confidence_score, tags, raw_sources, last_reinforced, github_commit, inferred_by, tech_stack
| id | title | category | status | canonical_id | aliases | duplicate_of | source_trust_level | confidence_score | tags | raw_sources | last_reinforced | github_commit | inferred_by | tech_stack | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| wiki-2026-0508-g1nation-build-fix-report | G1nation Build Fix Report | 10_Wiki/Topics | needs_review | self | none | A | 0.92 |
|
2026-05-08 | pending | Claude Opus 4.7 (auto-normalize 2026-05-08) |
|
[Report] G1nation Extension Encoding & Engine Rebuilding
Date: 2026-04-24 Author: PD Kodari (AI) Status: COMPLETED & PACKAGED (v2.2.15)
1. 개요 (Overview)
ConnectAI에서 G1nation으로의 브랜딩 전환 이후 발생한 심각한 빌드 오류 및 런타임 불안정성을 해결하기 위한 긴급 수술을 집행함. 소스 코드 내 인코딩 오염과 코드 복제(Duplication)로 인해 npm run compile이 불가능한 상태였음.
2. 주요 결함 (Critical Issues)
- 인코딩 지뢰 (Encoding Corruption):
extension.ts내 한글 주석 및 UI 문자열이 UTF-8 형식을 벗어나 깨지면서 따옴표(') 인식을 방해함 ->Unterminated string literal에러 발생. - 좀비 코드 (Ghost Blocks): 함수 외부에 버려진 실행 코드와 닫는 중괄호(
})들이 산재하여 문법 파괴. - 엔진 중복 (Engine Duplication):
_executeActions함수가 두 군데 이상 중복 정의되어 로직 충돌 및 용량 비대화 초래. - 문법 오용:
execSync에.catch()를 사용하는 등 동기/비동기 혼선 발견.
3. 수술 과정 (Surgical Process)
총 20단계에 걸친 **PowerShell 레이저 수술(Line-by-line Patch)**을 통해 표준 replace 도구의 인코딩 한계를 극복함.
- v1~v10: 설정 메뉴(
_handleSettingsMenu) 및 브레인 메뉴(_handleBrainMenu)의 깨진 텍스트를 영문/표준 UTF-8로 전면 교체. - v11~v18: 중복된 코드 블록들을 찾아내어 삭제하고, 흩어진 액션 핸들러들을 하나로 통합.
- v19: 메인 엔진(
_executeActions)을 중복 없는 최신 구조로 리빌딩. - v20: 함수 외부에 잔존하던 '유령 코드'와 깨진 문자열 최종 소거.
4. 최종 결과 (Final Result)
- 빌드 성공:
esbuild컴파일 정상 통과 (30ms 내외). - 패키징 완료:
g1nation-2.2.15.vsix생성 완료. - 안정성 확보: UI 텍스트 영문화 및 표준화를 통해 향후 인코딩 문제 재발 가능성 차단.
5. 향후 과제 (Next Steps)
- 모듈화: 2,500라인이 넘는
extension.ts를ActionHandlers.ts,UIProvider.ts등으로 분리하여 유지보수성 향상 필요. - i18n 도입: 한글 UI 재도입 시 직접 하드코딩 대신 별도의 JSON 언어팩 사용 권장.
PD 코다리의 한마디: "조직이 시스템이다. 엔진이 깨끗해야 비행기가 뜬다!" 😎🐟
📌 한 줄 통찰 (The Karpathy Summary)
(TODO: 한 문장으로 핵심 통찰을 작성. "X는 Y 조건에서 Z 효과를 낸다" 구조 권장.)
📖 구조화된 지식 (Synthesized Content)
추출된 패턴:
(TODO)
세부 내용:
- (TODO)
🤖 LLM 활용 힌트 (How to Use This Knowledge)
언제 이 지식을 쓰는가:
- (TODO)
언제 쓰면 안 되는가:
- (TODO)
🧪 검증 상태 (Validation)
- 정보 상태: needs_review
- 출처 신뢰도: A
- 검토 이유: (P-Reinforce Phase 1 자동 정규화. 본문 검증 필요.)
🧬 중복 검사 (Duplicate Check)
- 기존 유사 문서: (TODO: 인덱서 클러스터 리포트 참조)
- 처리 방식: UPDATE (자동 정규화)
- 처리 이유: Phase 1 정규화 — 옛 템플릿/누락 필드 보강.
⚠️ 모순 및 업데이트 (Contradictions & Updates)
- 과거 데이터와의 충돌: 없음
- 정책 변화: 없음
🔗 지식 연결 (Graph)
- Parent: 10_Wiki/Topics
- Related: (TODO: 최소 2개)
- Opposite / Trade-off: (TODO)
- Raw Source: 직접 입력
🕓 변경 이력 (Changelog)
| 날짜 | 변경 내용 | 처리 방식 | 신뢰도 |
|---|---|---|---|
| 2026-05-08 | P-Reinforce Phase 1 정규화 (frontmatter + 헤더 표준화) | UPDATE | A |
💻 코드 패턴 (Code Patterns)
패턴 1: (TODO: 이 프로젝트 컨벤션 반영한 구조 스켈레톤)
# TODO
🤔 의사결정 기준 (Decision Criteria)
선택 A를 써야 할 때:
- (TODO)
선택 B를 써야 할 때:
- (TODO)
기본값:
(TODO)
❌ 안티패턴 (Anti-Patterns)
- [안티패턴]: (TODO: 무엇을 하면 안 되는가 + 이유 + 대신 무엇을)