2026-03-20

날짜는 UTC 기준으로 나눴습니다(9월 22일부터는 한국 시간 기준). 커밋은 커미터 시각(committer date), PR은 생성·병합 시각으로 분류했습니다. 목록은 2026-10-06 KST에 GitHub에서 다시 조회해 보강했습니다. 공개 저장소의 기본 브랜치 활동만 포함합니다.

요약 (AI 작성)

zntc는 오전에 break·continue 레이블 검증(#144)에 이어 정규식 검증 모듈을 새로 만들었습니다. 플래그 검사와 패턴 파서, 이름 있는 그룹과 역참조 검증(#145부터 #148까지)을 넣은 뒤, 정규식 AST와 유니코드 속성 검사, v 플래그 집합 연산, ES2025 중복 그룹 이름 허용까지 네 단계 PR(#158부터 #161까지)로 확장했습니다. 렉서에서는 숫자 구분자·hex 이스케이프·유니코드 식별자·legacy octal·bigint 리터럴 검증을 강화했고, 파서는 식을 패턴으로 다시 해석하는 cover grammar로 검증 경로를 옮기고(#155부터 #157까지, #173) Context를 u32에서 u8로 줄였습니다(#171). 같은 제목의 #170은 기능 브랜치에 병합된 것입니다. #field in obj 검사(#181), 클래스 식 데코레이터(#183), 식 뒤 /를 나눗셈으로 읽도록 한 토큰화 수정(#185)도 이 무렵 들어갔습니다.

저녁에는 남은 Test262 실패를 80개, 50개씩 고친 뒤(#189, #190) 23,384개 전부를 통과시켰고(#191), 오류 메시지를 oxc·swc 수준으로 다듬고(#192) CI에서 Test262 실패를 실패로 처리하게 했습니다(#194). 번들러 설계 문서와 테스트 전략도 함께 추가됐습니다. 밤에는 parser.zig를 oxc 구조의 모듈로 나누고(#195) 파싱·의미 분석 오류를 Diagnostic 하나로 합쳤으며(#196), 트리 셰이킹을 위한 심볼 참조 추적(#198)과 AST 문자열 테이블(#199)을 넣고 문서를 Phase 1부터 5까지 완료 상태로 갱신했습니다. 마지막으로 transpileFile에 Arena allocator를 도입한 #202가 main에 병합됐고, @panic("OOM")을 오류 전파로 바꾸는 #203, #204와 OOM 스트레스 테스트 #205는 이어지는 기능 브랜치에 병합돼 이날 main 커밋에는 들어오지 않았습니다.

hwpjs는 전날 연 CLI의 HWPX 자동 감지(#220)를 clippy 경고 전체 정리와 함께 병합하고, HWPX 데모 페이지와 데모 컴포넌트의 자동 감지(#221)를 추가했습니다. 오후에는 WASM 브라우저 빌드에 빠진 함수 export를 넣고(#222) 새 함수가 들어간 WASM 바이너리로 교체했으며(#224), 문서 빌드가 로컬 WASM 빌드물을 직접 참조하게 하려던 #223은 닫혔습니다.

cheolsu-proxy는 로드맵 문서를 내부 docs/로 옮기고(#302), next-themes의 InvalidCharacterError로 화면이 비던 문제(#303)와 트래픽 분석 응답 시간이 나노초 값을 밀리초로 표시하던 문제(#304)를 고쳤습니다. react-native-mcp에는 Snapshot과 Refs 패턴을 쓰는 rn-mcp CLI PR #125가 열렸습니다. 블로그 저장소에는 맞춤법 크론의 상태 갱신 커밋과 3월 20일 오늘의 커밋 요약 갱신이 올라왔습니다.

공개 커밋 142개, 해당일 생성 또는 병합된 PR 71개를 정리했습니다. PR 생성 70개·병합 68개는 같은 PR이 양쪽에 포함될 수 있습니다.

커밋

ohah/cheolsu-proxy

ohah/hwpjs

ohah/ohah.github.io

ohah/zntc

PR (해당일 생성/머지)

상태는 조회 시점 기준입니다. merged는 아래 대상 브랜치에 병합됐다는 뜻이며, 기능 브랜치 병합과 main 반영을 구분합니다. 같은 PR이 생성일과 병합일 양쪽 기록에 나타날 수 있습니다.

저장소PR해당일 활동상태대상 브랜치제목
ohah/cheolsu-proxy#304생성 · 병합mergedmainfix(desktop): 트래픽 분석 응답 시간이 나노초 단위로 잘못 표시되는 버그 수정
ohah/cheolsu-proxy#303생성 · 병합mergedmainfix(desktop): next-themes classList InvalidCharacterError로 인한 빈 화면 수정
ohah/cheolsu-proxy#302생성 · 병합mergedmaindocs: 로드맵 문서를 rspress에서 내부 문서(docs/)로 이동
ohah/hwpjs#224생성 · 병합mergedmainfix: WASM 바이너리 업데이트 (새 함수 포함)
ohah/hwpjs#223생성closedmainfix: documents 빌드에서 로컬 WASM 빌드물 직접 참조
ohah/hwpjs#222생성 · 병합mergedmainfix: WASM 브라우저 빌드 누락 함수 export 추가
ohah/hwpjs#221생성 · 병합mergedmainfeat: HWPX 데모 페이지 + HwpDemo 자동 감지
ohah/hwpjs#220병합mergedmainfeat: CLI에 HWPX 자동 감지 지원 추가
ohah/react-native-mcp#125생성mergedmainfeat: rn-mcp CLI with Snapshot + Refs pattern
ohah/zntc#205생성 · 병합merged기능 브랜치: feature/semantic-oom-errortest(core): add Arena integration tests and OOM stress tests
ohah/zntc#204생성 · 병합merged기능 브랜치: feature/scanner-oom-errorfix(semantic): replace @panic("OOM") with error propagation
ohah/zntc#203생성 · 병합merged기능 브랜치: feature/arena-allocator-transpilefix(lexer,parser): replace @panic("OOM") with error propagation
ohah/zntc#202생성 · 병합mergedmainfeat(core): add Arena allocator to transpileFile
ohah/zntc#201생성 · 병합mergedmaindocs: BACKLOG.md 정리 — 해결된 항목 제거
ohah/zntc#200생성 · 병합mergedmaindocs: Phase 1~5 완료 상태 + Test262 100% 반영
ohah/zntc#199생성 · 병합mergedmainfeat: add Ast string_table + Transformer pending_nodes
ohah/zntc#198생성 · 병합mergedmainfeat(semantic): add symbol reference tracking
ohah/zntc#197생성 · 병합mergedmainfix: annotate silent catch + unify @panic OOM messages
ohah/zntc#196생성 · 병합mergedmainrefactor: unify Diagnostic type + reserved word validation
ohah/zntc#195생성 · 병합mergedmainrefactor(parser): split parser.zig into oxc-style modules
ohah/zntc#194생성 · 병합mergedmainfix(ci): enforce test262 failures and enable parser conformance
ohah/zntc#193생성 · 병합mergedmainfeat: test quality infrastructure + BACKLOG fixes
ohah/zntc#192생성 · 병합mergedmainfeat(parser): improve error messages to oxc/swc quality level
ohah/zntc#191생성 · 병합mergedmainfeat(parser): Test262 100% — 23,384/23,384 passing
ohah/zntc#190생성 · 병합mergedmainfeat: fix 50 Test262 failures (99.9%) + bundler docs
ohah/zntc#189생성 · 병합mergedmainfeat: fix 80 Test262 failures + bundler architecture docs
ohah/zntc#188생성 · 병합mergedmainfix(parser): miscellaneous expression validation (re-applied)
ohah/zntc#187생성 · 병합mergedmainfix(parser): comprehensive arrow function validation (25 tests)
ohah/zntc#186생성closedmainfix(parser): miscellaneous expression validation (35 tests)
ohah/zntc#185생성 · 병합mergedmainfix(parser): division/regexp tokenization context after expression
ohah/zntc#184생성 · 병합mergedmainfix(parser): class body strict mode + escaped keyword validation
ohah/zntc#183생성 · 병합mergedmainfeat(parser): support decorators on class expressions
ohah/zntc#182생성 · 병합mergedmainfix(semantic): resolve escape sequences in private name comparison
ohah/zntc#181생성 · 병합mergedmainfeat(parser): support #field in obj private field presence check
ohah/zntc#180생성 · 병합mergedmainfix(parser): new.target in arrow + await in static initializer
ohah/zntc#179생성 · 병합mergedmainfeat(parser): strengthen for-in/of LHS and cover grammar validation
ohah/zntc#178생성 · 병합mergedmainfix(lexer): reject invalid bigint literals and identifier-after-number
ohah/zntc#177생성 · 병합mergedmainfix(lexer): reject invalid numeric literals per ECMAScript 12.8.3
ohah/zntc#176생성 · 병합mergedmainfix(parser): reject import.UNKNOWN and allow in inside import()
ohah/zntc#175생성 · 병합mergedmainfix(parser): reject meta_property as assignment target
ohah/zntc#174생성 · 병합mergedmainfeat(parser): cover grammar edge case validation
ohah/zntc#173생성 · 병합mergedmainfeat(parser): implement cover grammar AST node transformation
ohah/zntc#172생성 · 병합mergedmainfeat(parser): add context flags for static initializer and class heritage
ohah/zntc#171생성 · 병합mergedmainrefactor(parser): split Context from u32 to u8
ohah/zntc#170생성 · 병합merged기능 브랜치: feature/context-move-unused-flagsrefactor(parser): split Context from u32 to u8
ohah/zntc#169생성 · 병합mergedmainrefactor(parser): move unused Context flags to Parser fields
ohah/zntc#168생성 · 병합mergedmainfeat(parser): add assignment target AST tags and handlers
ohah/zntc#167생성 · 병합mergedmainfix(parser): ?? + && mixing detection + docs update
ohah/zntc#166생성 · 병합mergedmainfeat(semantic): duplicate parameter detection for functions and arrows
ohah/zntc#165생성 · 병합mergedmainfeat(lexer/parser): strict mode legacy octal detection
ohah/zntc#164생성 · 병합mergedmainfeat(semantic): add checker.zig with class + object early error checks
ohah/zntc#163생성 · 병합mergedmainfeat(semantic): expand visitor coverage for private name detection
ohah/zntc#162생성 · 병합mergedmainrefactor(regexp): resolve remaining /simplify issues
ohah/zntc#161생성 · 병합mergedmainfeat(regexp): 2-pass pre-parse + ES2025 duplicate named groups (PR 4/4)
ohah/zntc#160생성 · 병합mergedmainfeat(regexp): v-flag set operations + nested classes (PR 3/4)
ohah/zntc#159생성 · 병합mergedmainfeat(regexp): unicode property validation + codepoint/range checks (PR 2/4)
ohah/zntc#158생성 · 병합mergedmainfeat(regexp): add AST types and emit_ast activation (PR 1/4)
ohah/zntc#157생성 · 병합mergedmainrefactor(parser): remove dead validation functions (PR 3/3)
ohah/zntc#156생성 · 병합mergedmainfeat(parser): switch call sites to cover grammar (PR 2/3)
ohah/zntc#155생성 · 병합mergedmainfeat(parser): add cover grammar functions (PR 1/3)
ohah/zntc#154생성 · 병합mergedmainfeat: unicode tables + tagged template + module-code (+126건)
ohah/zntc#153생성 · 병합mergedmainfeat(lexer,parser): Unicode ID tables + tagged template escape
ohah/zntc#152생성 · 병합mergedmainfeat(semantic,parser): duplicate private method + arguments in class field
ohah/zntc#151생성 · 병합mergedmainfix(lexer): validate unicode escape codepoint in identifiers
ohah/zntc#150생성 · 병합mergedmainfix(lexer): validate hex escape length in string literals
ohah/zntc#149생성 · 병합mergedmainfix(lexer): reject numeric separator after leading zero
ohah/zntc#148생성 · 병합mergedmainfeat(regexp): named back reference validation
ohah/zntc#147생성 · 병합mergedmainfeat(regexp): named group name validation + modifier checks
ohah/zntc#146생성 · 병합mergedmainfeat(regexp): pattern parser with comptime emit_ast design
ohah/zntc#145생성 · 병합mergedmainfeat(regexp): regexp validator module + flags validation
ohah/zntc#144생성 · 병합mergedmainfeat(semantic): label validation for break/continue