2026-03-21
날짜는 UTC 기준으로 나눴습니다(9월 22일부터는 한국 시간 기준). 커밋은 커미터 시각(committer date), PR은 생성·병합 시각으로 분류했습니다. 목록은 2026-10-06 KST에 GitHub에서 다시 조회해 보강했습니다. 공개 저장소의 기본 브랜치 활동만 포함합니다.
요약 (AI 작성)
zntc는 오전에 Zig를 0.14.0에서 0.15.2로 올리고 CI 버전도 맞췄습니다(#206). 이때 전날 기능 브랜치에 쌓아 둔 @panic("OOM")의 오류 전파 전환과 Arena 통합·OOM 스트레스 테스트 커밋이 main에 함께 들어왔고, 함수 선언의 타입 매개변수 파싱 수정(#207), Test262 러너와 테스트 헬퍼까지 Arena를 적용한 #208이 이어졌습니다. 이후 번들러 설계 결정(D064부터 D081까지)을 문서로 정리하고 모듈 번들러 구현을 시작했습니다.
번들러는 기본 타입과 import 스캐너(#209, #210), 상대·절대 경로와 node_modules·package.json을 다루는 resolver와 캐시·external 패턴(#211부터 #213까지), 양방향 간선을 가진 모듈 그래프와 순환 감지(#216), 단일 파일 emitter와 공개 API(#217, #218), CLI --bundle 모드(#219)로 첫 단계를 마쳤습니다. 오후에는 import·export 바인딩 스캐너와 모듈 간 심볼을 잇는 linker(#224), 이름 충돌 감지와 리네이밍(#226), 예약어 검사, 코드 생성까지 이어지는 symbol_ids 전달을 넣고 linker를 번들 파이프라인에 연결해(#231) scope hoisting을 완료로 표시했습니다. 밤에는 통합 테스트 120개를 추가하면서 버그 7개를 고친 #235(inline type import 지원, 비 minify 출력 간격 등 포함), 잘못된 입력에서 OOM이 나지 않도록 23개 파싱 루프에 진행 가드를 단 #236, 테스트 28개 추가와 .mts·.cts 해석 수정(#237)을 병합했고, Flow 지원 전략 분석을 문서에 남겼습니다.
cheolsu-proxy는 MCP 도구의 비즈니스 로직을 새 cheolsu_ops 크레이트로 세 단계에 걸쳐 옮기고(#305부터 #308까지), 이를 공유하는 CLI 크레이트를 추가했습니다(#309). CLI 바이너리는 cheolsu, TUI는 cheolsu-tui로 이름을 정리했고(#310), Claude 스킬 커맨드와 설치·제거 명령, 한영 CLI 문서, --version·--output json·셸 completion(#311부터 #313까지), 빠진 settings 서브커맨드(#314, #315)가 들어왔습니다. 저녁에는 TLS 핑거프린팅을 우회하려고 upstream 인증서의 키 타입과 클라이언트의 ClientHello를 그대로 따라 하는 미러링과 키 타입별 leaf 키 캐시(#316), 앱 시작 시 기본 패스스루 도메인 비활성화가 데몬에 반영되지 않던 문제 수정(#317)을 병합했습니다.
react-native-mcp는 Snapshot과 Refs 패턴의 rn-mcp CLI(#125)를 병합했습니다. 블로그 저장소에는 맞춤법 크론의 상태 갱신 커밋과 3월 21일 오늘의 커밋 요약 작성이 올라왔습니다.
공개 커밋 120개, 해당일 생성 또는 병합된 PR 46개를 정리했습니다. PR 생성 45개·병합 46개는 같은 PR이 양쪽에 포함될 수 있습니다.
커밋
ohah/cheolsu-proxy
- style: 마크다운 파일 포맷 수정
- refactor: 코드 리뷰 피드백 반영 및 기존 테스트 실패 수정
- test: 스토어 동기화 패턴 리팩토링 테스트 추가
- refactor: 스토어-데몬 동기화 패턴 통일
- fix: 앱 시작 시 기본 패스스루 도메인 비활성화 상태가 데몬에 반영되지 않는 버그 수정
- refactor: dead code 제거 및 코드 품질 개선
- perf: 키 타입별 leaf 키 캐시 도입으로 RSA 키 생성 비용 제거
- refactor: 키 생성 로직 중복 제거 및 dead code 정리
- feat(tls): 인증서 키 타입 미러링 및 ClientHello 미러링 구현
- docs: CLI 문서에 client-certificate, ssl-proxying-list 예시 추가
- fix(cli): 누락된 settings 서브커맨드 2개 추가
- feat(cli): --version, --output json, completion, daemon 연결 개선
- feat(cli): install-skills/uninstall-skills 커맨드 추가
- docs: rspress 문서에 CLI 가이드 추가 (한/영)
- feat: Claude 스킬 커맨드 + CLI 통합 테스트 추가
- fix: 빌드 스크립트에서 cheolsu → cheolsu-tui 바이너리 이름 반영
- refactor: CLI 바이너리를 cheolsu로, TUI를 cheolsu-tui로 통합
- docs: CLAUDE.md에 CLI 서브커맨드 가이드라인 추가
- feat(cli): MCP와 동일한 기능을 제공하는 CLI 크레이트 추가
- refactor: cheolsu_ops 통합 리뷰 반영 정리
- refactor(mcp): 나머지 도구 전체를 cheolsu_ops thin wrapper로 변환
- refactor: cheolsu_ops에 나머지 도구 모듈 7개 추가
- refactor(mcp): CRUD 도구 6개를 cheolsu_ops thin wrapper로 변환
- refactor: cheolsu_ops에 CRUD 도구 6개 모듈 추가
- refactor(mcp): settings 도구를 cheolsu_ops thin wrapper로 변환
- refactor: MCP/CLI 공유 비즈니스 로직을 위한 cheolsu_ops 크레이트 생성
ohah/ohah.github.io
- CRD: 340-gyeong-cha-jeong-ja 2026-03-22 8:00 AM self-update completed. All 26 .mdx files already [x] checked. Lint passed.
- docs: today-commit AI 요약 작성 (2026-03-21)
- CRD: 340-cha-gyeong-cha-jeong-ja - 2026-03-22 6:30 AM - All .mdx files already spell-checked, updated status only
- CRD: 2026-03-22 4:30 AM - 전체 대상 파일 재확인 (모든 .mdx 파일 이미 [x] 체크 완료)
- CRON: 340-cha-gyeong-cha-jeong-ja recheck 2026-03-22 4:00 AM - all .mdx files already [x] checked
- CRD 주기적 재확인 실행: 대상 파일 상태 갱신 (2026-03-22 2:30 AM)
- CRD: 340-cha-gyeong-cha-jeong-ja - 재확인 완료, 갱신
- CRD 재확인 (2026-03-22 12:28 AM): 모든 .mdx 파일이 이미 [x] 체크 완료, 수정할 파일 없음
- CRON: docs spellcheck reconfirmation - all 26 .mdx files already [x] checked
- docs: CRD 자기 갱신 (2026-03-21 10:00 PM)
- CRD 30분마다 실행: CRON_CRD_WRITE.md 상태 갱신 (9:30 PM)
- CRD 주기적 실행 요청: 전체 .mdx 파일 검사 완료 상태 재확인 (2026-03-21 20:30)
- CRON: 2026-03-21 8:00 PM - 재확인 (§7 모든 .mdx가 [x], 수정 대상 없음)
- CRD: Update CRON_CRD_WRITE.md status for 2026-03-21
- CRD: docs/index.mdx 검사 완료 (맞춤법 교정 필요 없음)
- CRD: 2026-03-21 5:30 PM - 전체 대상 26개 .mdx 파일 재확인. 모든 파일 체크 완료, 추가 수정 불필요. Lint 통과
- CRD: Update CRON_CRD_WRITE.md status at 2026-03-21 4:00 PM
- 2026-03-21 15:37 - CRD 주기적 실행 요청: docs/monthly-opensource/index.mdx 검사 완료. 맞춤법/띄어쓰기 교정 필요 없음. Lint 통과, CRON_CRD_WRITE.md 상태만 갱신 및 커밋。
- docs(CRON): 340-a CRD self-update completed. All mdx files [x] checked after lint
- Update: CRON_CRD_WRITE.md self-changed to [x]; CRD checklist reconfirmed
- CRD: 확인 완료 - 2026-03-21 1:00PM (Asia/Seoul). 모든 .mdx 파일 검사 완료 상태 재확인. 맞춤법 교정 필요 없음.
- CRD: 26개 .mdx 파일 모두 체크 완료 상태 재확인 (12:30) Lint 통과
- CRD: 30분마다 맞춤법 교정 주기적 재확인 - 2026-03-21 12:00 PM
- CRD: 2026-03-21 11:00 AM - all mdx files checked
- docs: CRD 주기적 실행 요청 - 모든 mdx 파일 검사 완료 상태 재확인 (2026-03-21 10:00 AM)
- CRD: 2026-03-21 9:30 AM 재확인 - 모든 mdx 파일 이미 체크 완료
- CRD: 모든 .mdx 파일 검사 완료 상태 재확인 (2026-03-21 09:00)
ohah/react-native-mcp
ohah/zntc
- docs: add Flow support strategy analysis to CLAUDE.md
- test(bundler): add 28 integration tests for untested features + fix .mts/.cts resolve
- fix(parser): add progress guards to 23 parsing loops to prevent OOM
- refactor: /simplify review — extract helpers, fix span bug, simplify keyword check
- fix(parser): JSX expression container error message consistency
- fix(parser): object method shorthand extra_data + JSX expression container OOM
- test(bundler): add 25 more tests + fix codegen call/new arg spacing
- fix(codegen): add spacing in non-minify mode for objects and arrays
- feat(parser): support inline type imports (import { type X })
- test(bundler): add 21 more integration tests (export, hoisting, TS, resolution, error)
- fix(parser,transformer): declare module string name + parameter property in methods
- test(bundler): add 99 integration tests + fix 3 bugs
- docs: mark linker (scope hoisting) as complete in CLAUDE.md
- fix(bundler): final simplify — remove dead code + errdefer + ownership docs
- fix(bundler): apply renames to declaration sites (binding_identifier)
- feat(bundler): wire linker into bundle pipeline + integration tests
- fix(bundler): propagate symbol_ids through Transformer
- feat(bundler): add symbol_ids + codegen linking metadata integration
- feat(bundler): add reserved name check to renamer
- fix(bundler): fix critical linker issues + add 4 missing tests
- feat(bundler): add name conflict detection and renaming
- fix(bundler): simplify review — shared spanKey + larger key buffer
- feat(bundler): add linker for cross-module symbol binding
- fix(bundler): wire binding scanner into graph.parseModule
- feat(bundler): add binding scanner for import/export detail extraction
- feat(bundler): preserve semantic analyzer data in Module for linker
- fix(ci): use RUNNER_TEMP for bundle integration test (Windows fix)
- docs: update CLAUDE.md — bundler Phase B1 complete
- fix(bundler): iterative DFS + add 8 missing tests
- feat(cli): add --bundle mode with external and platform options
- fix(bundler): fix diagnostic deep-copy errdefer leak + dupe message
- feat(bundler): add Bundler orchestrator with public API
- feat(bundler): add emitter for single file bundle generation
- feat(bundler): add module graph with DFS exec_index and cycle detection
- fix(bundler): fix 7 review issues (3 critical, 4 medium)
- feat(bundler): add Module struct with bidirectional edges
- feat(bundler): add resolve cache and external pattern matching
- feat(bundler): add resolver node_modules + package.json parsing
- feat(bundler): add resolver core for relative and absolute paths
- feat(bundler): add import scanner for AST import extraction
- feat(bundler): add foundational types for module bundler
- docs: add D081 resolver code structure decision
- docs: update D080 plugin dispatch to fn pointer + Rolldown pre-sort
- docs: add D080 bundler options spec + fix plugin hook strategy
- docs: add bundler decisions summary table (D056-D079)
- docs: update D078 to bidirectional adjacency list for HMR
- docs: add D078-D079 graph storage and import extraction decisions
- docs: add D076-D077 graph traversal and parallel parsing decisions
- docs: add bundler decisions D071-D075
- docs: add D070 module ID system decision
- docs: add D069 external option spec decision
- docs: add D068 CJS/ESM runtime helper decision
- docs: add bundler decisions D064-D067
- chore: gitignore check_inferred binary artifact
- feat(core): apply Arena allocator to test262 runner and test helpers
- fix(semantic): remove UB extern union access in import declaration
- fix(parser): use consistent extra format for all import declarations
- ci: update Zig version to 0.15.2 in all workflows
- docs: remove resolved backlog items (#57, #58)
- fix(parser): add type parameter parsing to function declarations
- style: run zig fmt on all source files
- chore: upgrade Zig 0.14.0 → 0.15.2
- docs: add test infrastructure backlog items
- test(core): add Arena integration tests and OOM stress tests
- fix(semantic): replace @panic("OOM") with error propagation
- fix(lexer,parser): replace @panic("OOM") with error propagation
PR (해당일 생성/머지)
상태는 조회 시점 기준입니다. merged는 아래 대상 브랜치에 병합됐다는 뜻이며, 기능 브랜치 병합과 main 반영을 구분합니다. 같은 PR이 생성일과 병합일 양쪽 기록에 나타날 수 있습니다.