diff --git a/IMPACT.md b/IMPACT.md index 95b5491..4958cde 100644 --- a/IMPACT.md +++ b/IMPACT.md @@ -69,6 +69,7 @@ fixearly가 **실제 오픈소스에서 찾아낸 이슈**와 그 결과. 점수 | `채우기만 하고 읽지 않는 Map` | [Babylon.js · 26.1k★](https://github.com/BabylonJS/Babylon.js) | 쓰기만 하는 컬렉션 (set 만 하고 읽는 곳 0 — DFS 는 연결점의 소유 블록을 직접 따라간다) | [#18980](https://github.com/BabylonJS/Babylon.js/pull/18980) | ✅ merged | +1 | | `채우기만 하고 읽지 않는 Map 3개` | [cherry-studio · 52.4k★](https://github.com/CherryHQ/cherry-studio) | 쓰기만 하는 컬렉션 (set 만 하고 읽는 곳 0 — 생긴 뒤 한 번도 읽힌 적 없다) | [#21363](https://github.com/CherryHQ/cherry-studio/pull/21363) | ⚪ awaiting review | — | | `검증 에러가 dev 서버를 죽임` | [react-router · 56.6k★](https://github.com/remix-run/react-router) | 버려진 Promise (throw 하는 async 검증을 await 없이 불러 unhandled rejection 으로 프로세스 종료) | [#15591](https://github.com/remix-run/react-router/pull/15591) | ⚪ awaiting review | — | +| `리팩터 뒤 남은 조상 Set` | [pdf.js · 54k★](https://github.com/mozilla/pdf.js) | 쓰기만 하는 컬렉션 (2021 usehref 리팩터로 소비자 둘이 ancestors 로 바뀐 뒤 남은 Set) | [#22102](https://github.com/mozilla/pdf.js/pull/22102) | ⚪ awaiting review | — | ## 규칙 diff --git a/PR-QUEUE.md b/PR-QUEUE.md index 716a7c0..f743d04 100644 --- a/PR-QUEUE.md +++ b/PR-QUEUE.md @@ -338,13 +338,14 @@ CLA 는 봇 댓글(`@microsoft-github-policy-service agree`)뿐 · 이슈 없는 | PR | 축 | 상태 | 경과 / 외부 머지 중앙값 | |---|---|---|---| | [cherry-studio#21363](https://github.com/CherryHQ/cherry-studio/pull/21363) | 쓰기만 하는 컬렉션 | ⚪ 대기 | 오늘 / 보통 1일 | +| [pdf.js#22102](https://github.com/mozilla/pdf.js/pull/22102) | 쓰기만 하는 컬렉션 | ⚪ 대기 | 오늘 / 보통 1일 | | [n8n#40311](https://github.com/n8n-io/n8n/pull/40311) | O(n²) | ⚪ 대기 | 1일째 / 보통 2일 | | [react-router#15591](https://github.com/remix-run/react-router/pull/15591) | 버려진 Promise | ⚪ 대기 | 오늘 / 보통 4일 | | [strapi#27893](https://github.com/strapi/strapi/pull/27893) | 버려진 Promise | ⚪ 대기 | 5일째 / 보통 3일 | | [tailwindcss#20525](https://github.com/tailwindlabs/tailwindcss/pull/20525) | 버려진 Promise | ⚪ 대기 | 10일째 / 보통 1일 · 보류 | -| [astro#18149](https://github.com/withastro/astro/pull/18149) | O(n²) | ⚪ 대기 | 10일째 / 보통 2일 · 보류 | +| [astro#18149](https://github.com/withastro/astro/pull/18149) | O(n²) | ⚪ 대기 | 10일째 / 보통 3일 · 보류 | -**열린 것 6건(보류 2건 빼면 4건).** 판정 난 52건 중 머지 27 · 승인 0 · 닫힘 25. +**열린 것 7건(보류 2건 빼면 5건).** 판정 난 52건 중 머지 27 · 승인 0 · 닫힘 25. **2026-08-10 준비** — astro 후보를 손검증까지 끝내고 브랜치만 만들어 뒀다(하루 1건이라 @@ -780,11 +781,12 @@ changeset(`astro: patch`)을 같이 넣는다. 브랜치는 `fix/stack-trace-reg | vscode | 89% | 90% | 0.1일 | 8/9 | 표본 부족 | 판정 경험 있음 · CLA 는 봇 댓글로 서명(@microsoft-github-policy-service agree) · 이슈 연결 권장이지만 정리 PR 은 이슈 없이도 머지 사례(#334095) · 버그 PR 은 메인테이너가 이슈 먼저 요구할 수 있음 | | cherry-studio | 89% | 87% | 0.2일 | 8/9 | 표본 부족 | 열린 PR 있음 — 저장소당 1건 | | pnpm | 88% | 62% | 0.3일 | 7/8 | 표본 부족 | 판정 경험 있음 · AI 작성 PR 본문에 agent disclosure 필수 · 전체 저장소 대신 영향 패키지 테스트 실행 | -| openstatus | 86% | 86% | 1.5일 | 6/7 | 표본 부족 | 판정 경험 있음 | -| astro | 85% | 88% | 2.2일 | 11/13 | **1차 통과** | 열린 PR 있음 — 저장소당 1건 · 사용자에게 보이는 변화면 changeset 필요 — 내부 전용 변경은 changeset 없이 머지된다(#17430 refactor·#16734 chore 가 changeset 0) · AI 정책 없음 · **포크 PR 워크플로가 승인 게이트가 아니다**(2026-09-13 #17987 제출 직후 CI 가 바로 돌았다 — angular·nx 와 다르다) · **`Test (Smoke)` 는 `smoke/docs` 의존성을 pkg.pr.new 커밋 핀에서 받는다** — 그 빌드가 만료되면 `ERR_PNPM_FETCH_404` 로 죽는다(2026-09-13 #17987 에서 밟음). PR 내용과 무관하다 | | angular | 85% | 69% | 2.8일 | 11/13 | **1차 통과** | 판정 경험 있음 · CLA 서명 필요 — 2026-09-11 yoominho91 서명 완료(cla/google 통과) | +| grafana | 84% | 90% | 0.8일 | 21/25 | **1차 통과** | 판정 경험 있음 · 게이트 0 — 2026-06-22 부터 모든 커밋 서명 필수, 미서명 PR 은 닫는다(CONTRIBUTING, 에이전트 작성 PR 포함). CLA assistant 서명도 필요 | | langfuse | 83% | 88% | 0.2일 | 5/6 | 표본 부족 | 판정 경험 있음 | -| grafana | 83% | 90% | 0.8일 | 20/24 | **1차 통과** | 판정 경험 있음 · 게이트 0 — 2026-06-22 부터 모든 커밋 서명 필수, 미서명 PR 은 닫는다(CONTRIBUTING, 에이전트 작성 PR 포함). CLA assistant 서명도 필요 | +| pdf.js | 83% | 82% | 1.0일 | 5/6 | 표본 부족 | 열린 PR 있음 — 저장소당 1건 | +| openstatus | 83% | 83% | 2.5일 | 5/6 | 표본 부족 | 판정 경험 있음 | +| astro | 82% | 88% | 2.5일 | 9/11 | **1차 통과** | 열린 PR 있음 — 저장소당 1건 · 사용자에게 보이는 변화면 changeset 필요 — 내부 전용 변경은 changeset 없이 머지된다(#17430 refactor·#16734 chore 가 changeset 0) · AI 정책 없음 · **포크 PR 워크플로가 승인 게이트가 아니다**(2026-09-13 #17987 제출 직후 CI 가 바로 돌았다 — angular·nx 와 다르다) · **`Test (Smoke)` 는 `smoke/docs` 의존성을 pkg.pr.new 커밋 핀에서 받는다** — 그 빌드가 만료되면 `ERR_PNPM_FETCH_404` 로 죽는다(2026-09-13 #17987 에서 밟음). PR 내용과 무관하다 | | storybook | 82% | 72% | 3.9일 | 9/11 | 1차 통과 · 후순위(느림) | 판정 경험 있음 · 게이트 0 — danger 가 `ci:*`·`qa:*` 라벨을 요구하는데 메인테이너만 붙일 수 있다 (#35829 가 25일째 빨간불이라 접었다) · CONTRIBUTING 'Never let an LLM speak for you': 사람 개입 없는 PR 은 3일 뒤 자동 닫힘 | | terser | 79% | 72% | 5.5일 | 26/33 | 컷 | — | | postcss | 78% | 78% | 0.2일 | 28/36 | 컷 | — | @@ -794,7 +796,7 @@ changeset(`astro: patch`)을 같이 넣는다. 브랜치는 `fix/stack-trace-reg | immich | 75% | 44% | 1.0일 | 3/4 | 표본 부족 | 판정 경험 있음 · 게이트 0 — `changelog:*` 라벨이 메인테이너 전용 | | mongoose | 75% | 77% | 2.2일 | 15/20 | 컷 | 판정 경험 있음 | | react-router | 69% | 80% | 3.6일 | 20/29 | 컷 | 열린 PR 있음 — 저장소당 1건 | -| twenty | 67% | 71% | 0.7일 | 2/3 | 표본 부족 | 판정 경험 있음 | +| twenty | 67% | 73% | 0.7일 | 2/3 | 표본 부족 | 판정 경험 있음 | | next.js | 67% | 75% | 3.9일 | 8/12 | 컷 | 커밋 서명 필수 · 기여 가이드가 사소한 정리 PR 은 닫힐 가능성이 높다고 명시 · PR 템플릿: 외부 기여자 PR 설명은 사람이 직접 써야 함 | | outline | 67% | 67% | 6.2일 | 2/3 | 표본 부족 | 판정 경험 있음 · AI 정책 없음 · 수락률 38%(3/8)·중앙 5.9일 로 로테이션 컷 | | nx | 62% | 74% | 0.5일 | 8/13 | 컷 | 판정 경험 있음 · 열린 PR 있음 — 저장소당 1건 · PR 제목을 `scripts/validate-pr-title.js` 가 검증한다 · **포크 PR 의 워크플로는 메인테이너 승인이 있어야 돈다**(2026-09-12 확인: 네 워크플로 전부 `action_required`). 빨간불처럼 보여도 우리 코드가 깬 게 아니다 — 재푸시하면 승인만 다시 걸린다 | @@ -885,6 +887,8 @@ changeset(`astro: patch`)을 같이 넣는다. 브랜치는 `fix/stack-trace-reg | redux · zustand | 빈 catch 각 1 | **탈락**(2026-10-07). 다듬어진 라이브러리라 후보 자체가 없다 | | react-router | floating 3 · O(n²) 3 · 순차 await 2 | **#15591 제출**(floating). `validateSsrFalsePrerenderExports` 가 throw 하는 async 인데 await 없이 불려 dev 서버가 죽는다 — npm 8.4.0 으로 재현, 통합 테스트 수정 전 실패·후 통과. O(n²) 는 matches 수(작음) | | pixijs · trpc · sequelize | O(n²)·순차 await | **보류**(2026-10-07). pixijs loadDDS 순차 await 는 포맷 감지가 캐시라 첫 호출만 이득. sequelize `belongsToMany.has` 는 targets×결과 isEqual 이차지만 보통 n 이 작다 | +| pdf.js | 쓰기만 하는 컬렉션 1 · O(n²) 3 · for...in 1 | **#22102 제출**(newAncestors). 11573ddd1(2021-05 usehref) 이 소비자 둘을 ancestors 로 바꾼 뒤 선언만 남았다. evaluator for...in 은 glyphsWidths 가 객체라 정상 | +| styled-components · alpine · hls.js | O(n²)·빈 catch | **보류**(2026-10-07). alpine mutation 의 removed×added `.contains` 는 큰 리스트 교체에서만 커진다. graphql-js 는 EasyCLA 라 사용자 서명 필요 | ## 게이트 0 에서 막힌 곳 diff --git a/data/repo-avatars.json b/data/repo-avatars.json index 6998837..a4127dd 100644 --- a/data/repo-avatars.json +++ b/data/repo-avatars.json @@ -34,5 +34,6 @@ "orval-labs/orval": "data:image/png;base64,/9j/2wCEAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDIBCQkJDAsMGA0NGDIhHCEyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMv/AABEIACAAIAMBIgACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APfycDJ6VyupePdGthPBZ3S3V2mEAjUsiseBkjqM4zisr4p6tc2um2OlWztF/aEhWSXOAEGMqT2yWGfYGuLHhlrNpbe1mdpSN4aWEwsdjAEAEn5SSMN3K130MNTdP2tWVl/lu2a04czR0V34w8Z6TbO7QabqAVi7OiOCi+m3IPHrzjvXb+FvEMHibQoNQi2JKwxNCHDGJgSMH8sjPYivHrjUtY0y8D3Ekhcc7JOh9x6fhXc/DTR9pu9fXEKXyhDaoMKrAnLfQ8EDtuNKdCUaHNV5b9JR2flb8b7GtenCKvE6Pxdqmj6TpCza1GzwvIEQJHubcQenpwDzkVH4d0fQpNFFzptqyW94gIdiwk29uScj2xWvqml2es6dLYX0Ilt5RhlPUehB7EVW0HS5dE0uPTTP9oggysEjDD7c8K3YkdMjH0rnUoqno2peujRz82ljyDXJb22Md1f2sjLaXJhQ3ERUTryR1HJGOfqK9a8KoRoUU20oLj98qnqAQMfyqPVvDNt4hubeTVlDw27booEY4J77jxnOBxit1VCqFUAADAA7UV6lOtySUeVxuvLXX+tjWdVuHJ3P/9k=", "BabylonJS/Babylon.js": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAEnElEQVR4nMRXW0yT5x9+vgOWnr62UA/Qv0XFwF8zp8YxmFOcZB5wiMOtM+LmxRy67Q5dluiFmTfExAtDlrhMJsGLMVeH7RYXxqLgFlFwyoBljCFykAmVHi20/fjafl1aAik92XLInqQX7+/3vs/veQ9f3+elfT4f/kuQcxns6u7Id7S3FM2Fg5jNCriNhgxrXfU5Z8cdDQFAkL2+QaEpOy5QrehaUAE86xLZftKeHLupPwGPWzgjSVJuheboBea1Nz4DYJtfATxPjLU2ldr0l8/ydsv/QtOkWArZ3nfBbNkNUJQRwGkAVQC8cxbA9nXnWLQXK92DPa+EJUkKkvw9kBeVghJLQ7MdAMoBNM1KgMdqTrPqaiqcvzUdjnRYk9dshEJThkVp6ujsXi/GWpvqklev/TRpSXpfXAJ4jhPYb+jK7Q3aUz5uImxa9OJ0KN4+AtGLubEmBld3O6xXq+AeHgQompUW7DsvKzxQQQlF41EFjHd1brPVVl7ymp9mhilNFkFWeACygmKATopZ3PT153DcbgiLk1L5iOydjz9kXtr8w3QsuMOTX1vfHPrzaSbnDq5MQLx5B1RnvoRs51vPLe5HSsn7kBbs8x/I6ZjHAww/sqUN1P9SGtyXDh3scE7+FDIgbdMapB48BoF69XOLzpipSIwUTRkkWwthuVqFkeYHsNgA/2ILQ/tGI7E+A8wvbAHLKKIWsnV1w/ygLWrew8jBbimC2TpZPBLCVmAGgZvDk6E+WMyjWJauhlAoDsRZkwm9l2pgaLwVaCvzXkbW0Q8gUqUH2m5uAhaLEazLEeCIhZgCpuByjqO/twtyhRITzffRX3sFPDsxnTe13IP5fhvUJcVILSnCmN0aD20ACV1GNqsJAzr9jOJT8Hk8GKzTJ1Q8YQELgbi2IBKSaECZCpAkYDQDXOytnj8BJAHIUyY/U4KYjKlVwLMxBD61hPkSHbB0Vw4UyqTp4pj8r4JMTiFjf37CAhJeAX7Tq3Blr0PS3RugH/4Bvw5f5lpgezGolMULL8APn4QBt2M/POtykExSIFb9fzY0AcTcAnt9I7h/hqPm+WXLgZXZUfOcYRSjV3QxBcRcAffAEEyVX0GYswFMYQEoqSQm2RS8ThcsP/4M263bgJePX8DivFy98W7LXtYQdB37fHDd+x1sRxckr2+FZGsuCDqybh/Pw97cCvP39fCOO8LyixTykaXbt9UGx8IMiZfjBI+/05X3f6s9xbPhhoRSpoDZuxPCtVmB4y8SS0EQBJw9j2DU6iNuGUHTrLpk3/mVBw9U0OIYhiQYrMmc1nuppsLQGNmSCbIywRTvgkguh+nadTjaOiPyKPNydVlHj3wiUsVpyUJh+6s7p+eLi5X2vyOZUhIESQbugVCIM9SdWcfKylM3bWyMxR+3LR++2VTaW335LGcJt+XBoKUS06r3Dp1eXrTnIkFRc7flwfC4XKKBb7QnH1/Tn+DdMx8mBEW5VXt2X1h1+NCZRQwT95U4q6eZc8SQ8bCq+pyx+Y7G31ZsWN+Q/VHZccmKBX6ahcLS3pHvcbqYJZvzrs+WY04C5gP/BgAA//+cpNe7D6SiLgAAAABJRU5ErkJggg==", "CherryHQ/cherry-studio": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAEgElEQVR4nLRWy2sTXRQ/596ZTD/T0tIi1FpfVbEUbEM3FV8LRbpRhLpwI3YrlKL+BQoiFEpdVHGjCIILxYULEUQwG221iNJisVojsZHGF8TEPGYyM/eej7lT82hi008+hxCSmbm/3z2/33lcjQYH4W9e7K+iA4D2J4uIln4g/t8ERML78hhQhc9qcdSWSBK5Ui591O+8rovdu53GRiGlLETzhwREksgBcNra8kR5ISyiwOnTdadO6WfOuFQLvqZEAkAQ8RMnAv399sxM6tKl4PHjene3F9n377XAV0HgxQCA9fUAEOjpaRoZ0det84jjcev69Tqs7fJvJCLyxfE1sG7ccN69AwAfXeZy2bExzbIQkZRJ/vurJfBcJbKltIWwpRRSgmmmR0by09PqscxcvQqfP5My3H/HVv5XNXy5REs5QyRaWnhvL29tJduWkQi9epUeG4OhIbGw4L58yThn3d24dSsYhvzyxZme5smkxphWkbhaJbpNxAcGGo4eBc79+3UA7tev6StXMuPjSMQ2baofHtbWry+utG3z3j37/n1A1Bgr5eDnQ6GC7kIpo508+c+RI8DK1GP19XV79piTk9DY2HT+PG9pKdmX9IA6O2UgIGZnOSIrKfIiip+R1NVV199f1S40DN7d3TA0xILB4l0hQAipvgMHD9K2bYJIlu6sFEIQ6QcOFHdmWblw2J6dLeyUAAIdHUVh5ufNp0+FaZLjkOOA62r79ony6it6QCoNjM2bC3d+XrsmJiYQMXDokLZ9uzk5yVpbi+gfPqTOnWNE+b6++sFBTygi1t7u+sn9S6Iykz1mwygGFI8zVUr5x4+tqSk3mVwzMFB46n78yAEYYyIWI8vy97jMueUEqBoAb272/waPHcvcvMmbm4OHD4NhuLGYvbhYeLlu1y7rwQMRjxt793oEiIAov33D3xEgIkd0Z2b0HTuWIEIhvbNTZjKUzcpcTmtrsyIRcBzQdc+9YLDh7Nkfo6N6V5d3UxGIt2+9oEvStBgRB/AIHj0SiUSBU9Fy4Bw1zSuLRCLz8GFhib5hg97TQ0KQ65IQMpWSz57x8gZVIpmKQLcsc3RU/vy5pCkiMIaKQCwuYiSSv33bnpsrcrS3m+EwOY5MJp07d/R83quD6oXmsyFCKmU9eUKMYUuLp4YQyDlrarLCYfj0CYmkphm9vf4SmUi4d+/C8+fw4oWezXrdQsVdLQKFriHqjBnptLh1KzU87Lx+rTU3a2vX8oYGPRRyVR8M7NxZXJLNeu8jGozpFejV5gEiV4ajb9rcHPT1+U/W7N+vb9kCjOklXUjOz2tKW14BXS2CXxzM9wNRTkzIdLrM1VL0Hz/E1NQK6CvNZKaSSjPN3OXLXhZWXvl8bnxct232e/QVh77al9d737zJXLzoxmKlD91oNHPhAn//XmOMrzg3scbRUbnqf6Cjg23c6I3ShQWIRv2EqXR12VVr6CNqfpETyWgUolG/JL2JptKh5uFuFSc7BcQBSI14v2Xh6s6N/+XoqBrAqiDLr79+uv43AAD//y1VRqsr7s/FAAAAAElFTkSuQmCC", -"remix-run/react-router": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAEeUlEQVR4nIRWzWtdVRA/c85575E2phhE2kC1LdqkaqCLigtBkS4q2IWgG8FPiLhwJaKL1o9F0VX/Ay2VhNRW0j/BhYJQRK2t0bVtLGTRRNNCkt7cMyMzZ87HfTF4L729Oe+9+c38fvPljz75nDFgjDHAT5BbT/JfJp9sv4j4of/4SfmQH56Q6t/SNksUcQyRgpHiUbHXBaghySOhOA8MKEGk/4dhuuBsBoYBiuPplTx/kQyB+McmKjPAHxR61BiU34O6m5nRWx3g25NEUCMUzrEyHfkhSFQkc10AZUdP+cXrO0Sn1F8iBcyEJ8eGBSbIHxBlcmoARAJI/EJiEqAYrp025bgYpTqbKAFoTDGCbF6+A5GqJHsOIucU1WmT07LwkwD4yRpkh1NGKiUAAKbcnQSGRCWngvpoDMobJrEVgIqG+bdWL7CMAVAqsUNSykUiRMSAxmAg1SKyx3VAUGIHAxbEsnMRwAIkgORDJxhSgIABgmmJKBAZlFOUNEUU19TH6LC18MyzT+/ZMxYBjKlahsm5BjmEtbU7i7/9sXJ7hRwHw1QhUk5TSiFbicNaGBkZ+fTMqf5gsD0zd7pC286ev3Dui680CZLOLDIYm6slRjB1ZHJ9Y3N9c7Oq4+FMHQwG/UG/HHj3xsyr31xaWF3523DmkGgeNSAUcoCcZtPy8vKH751y3jnrwEYNVIv0bp6Yfvz1t1+rQVdvr969czcKLgKkNE1FYEUFzs5PPv946rGp/6Wlrj8imp/9GgOKedQYCFlkNknACsg1NnbfI5OP/kdj2OFqmmbx2uLChYUrP1wJoW1DQAxcXRwBwsSBKbbNqQPe9/v93vj4+MFDB5131rqYQusbGz3vZ96dmT463RU2XL54+dLcxY2NzebevaZpmi2+MASTKIJ9+w8DRADrfG/Q750+89ELL56sDc2dm5s/P++ce/Odt15+5SXojotff7p69rOzSzf/2hKA0LZSC1ogbvfY/bEBSj/gHH3/9Aejo6O1idkvZ2/dvNW27S8//rx0Y+nYU8d6/V7+dO/EvhMnn19b+2fx+u9tu8X8RPcFAx6cOGRSfljrd+3edfzEcSfksDRi4rtvv2+aRjsIwP4DD00eOawtPnWJgOHa1etLf96orbPfD+x9WCkCock6570IIDVMUpWpw1v5Rm5RuQ21QS4mB2sAmcmI7KgCxBrHEJygmqoTU2wlHKiURvo02gyS+4V6Q7lVxDQVNuRnBIgBWgaIJ2Xcq7YIJs/uTEVxPPW/iO7ZmlSXidUAqjYAmrws5bHTaRt5bykTJs1jDYL3IiSsnI+hxIYgJACksWlMPRKqiVbNL7M9CE8hZLtVKGJUbqrbP5TZl/afeo8rySMQMQLUTpc1NKb8qRtHZxYAdSnaBpBGv2rA7TruhSq0Lnp615O0Hv95H8j7UGGpXmE8YajYgKQoJDagGpT1FgsGcxydDazSwGgdJDZ0dcgTGKCMxx23a8o7zNCiVwBCUTLFEa1meXPPqEZ9YoqGlup6/eL73wAAAP//MDCs4nZsUIMAAAAASUVORK5CYII=" +"remix-run/react-router": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAEeUlEQVR4nIRWzWtdVRA/c85575E2phhE2kC1LdqkaqCLigtBkS4q2IWgG8FPiLhwJaKL1o9F0VX/Ay2VhNRW0j/BhYJQRK2t0bVtLGTRRNNCkt7cMyMzZ87HfTF4L729Oe+9+c38fvPljz75nDFgjDHAT5BbT/JfJp9sv4j4of/4SfmQH56Q6t/SNksUcQyRgpHiUbHXBaghySOhOA8MKEGk/4dhuuBsBoYBiuPplTx/kQyB+McmKjPAHxR61BiU34O6m5nRWx3g25NEUCMUzrEyHfkhSFQkc10AZUdP+cXrO0Sn1F8iBcyEJ8eGBSbIHxBlcmoARAJI/EJiEqAYrp025bgYpTqbKAFoTDGCbF6+A5GqJHsOIucU1WmT07LwkwD4yRpkh1NGKiUAAKbcnQSGRCWngvpoDMobJrEVgIqG+bdWL7CMAVAqsUNSykUiRMSAxmAg1SKyx3VAUGIHAxbEsnMRwAIkgORDJxhSgIABgmmJKBAZlFOUNEUU19TH6LC18MyzT+/ZMxYBjKlahsm5BjmEtbU7i7/9sXJ7hRwHw1QhUk5TSiFbicNaGBkZ+fTMqf5gsD0zd7pC286ev3Dui680CZLOLDIYm6slRjB1ZHJ9Y3N9c7Oq4+FMHQwG/UG/HHj3xsyr31xaWF3523DmkGgeNSAUcoCcZtPy8vKH751y3jnrwEYNVIv0bp6Yfvz1t1+rQVdvr969czcKLgKkNE1FYEUFzs5PPv946rGp/6Wlrj8imp/9GgOKedQYCFlkNknACsg1NnbfI5OP/kdj2OFqmmbx2uLChYUrP1wJoW1DQAxcXRwBwsSBKbbNqQPe9/v93vj4+MFDB5131rqYQusbGz3vZ96dmT463RU2XL54+dLcxY2NzebevaZpmi2+MASTKIJ9+w8DRADrfG/Q750+89ELL56sDc2dm5s/P++ce/Odt15+5SXojotff7p69rOzSzf/2hKA0LZSC1ogbvfY/bEBSj/gHH3/9Aejo6O1idkvZ2/dvNW27S8//rx0Y+nYU8d6/V7+dO/EvhMnn19b+2fx+u9tu8X8RPcFAx6cOGRSfljrd+3edfzEcSfksDRi4rtvv2+aRjsIwP4DD00eOawtPnWJgOHa1etLf96orbPfD+x9WCkCock6570IIDVMUpWpw1v5Rm5RuQ21QS4mB2sAmcmI7KgCxBrHEJygmqoTU2wlHKiURvo02gyS+4V6Q7lVxDQVNuRnBIgBWgaIJ2Xcq7YIJs/uTEVxPPW/iO7ZmlSXidUAqjYAmrws5bHTaRt5bykTJs1jDYL3IiSsnI+hxIYgJACksWlMPRKqiVbNL7M9CE8hZLtVKGJUbqrbP5TZl/afeo8rySMQMQLUTpc1NKb8qRtHZxYAdSnaBpBGv2rA7TruhSq0Lnp615O0Hv95H8j7UGGpXmE8YajYgKQoJDagGpT1FgsGcxydDazSwGgdJDZ0dcgTGKCMxx23a8o7zNCiVwBCUTLFEa1meXPPqEZ9YoqGlup6/eL73wAAAP//MDCs4nZsUIMAAAAASUVORK5CYII=", +"mozilla/pdf.js": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAABn0lEQVR4nOyUMU/bQBTH3905PsdOLTdN3aqdKnWp0m6tlEpVl1atYGPhC7CxsiAisvEB+AAMTAys7IyMKANiBAkkFClx5CSWzdl3hwJSFMAONkmEIuU/2e/+9k93/3dPsW0bpik81b/PAXPARKQkLfAS7lRfo66wau27iv8vHyzosWZzq02aIhtAUhR+o9jh/efbirBJ+FWNsSIkKcq8g2Fd/6KdjaK+13u7eDVc5+8Vt2rxz3HUTADkSeU8xA5HYf9VWDj4rQV/9ehLDiQopwx58eeTFkCPGV1tAkD0SemtmOwHBQzkLDJ2utqhTxp83B0MFJZVVtEAQDvwXm27SD79CTEMI3ZBmNhfKiBf6vveoIg8IQzMP5CoTIP/ef4GY1fgtkiMGAAljevoI3F232GHl5YbD9kaYj9p8Edn3ykQIJeRtdYiTsY2HZZUQRTuXclcneXqTJrYXe93kcyP2aYVrVMrpnE+E4BbXD0KRhiQnxh3KoB6EqqbThrnY83+NJ19QHLIoSQXEXZHzZk0SrzJk9LsZzAHvDzgJgAA//9bHIFnsWZ3IAAAAABJRU5ErkJggg==" } \ No newline at end of file diff --git a/data/repo-contributors.json b/data/repo-contributors.json index d5a2216..bab4c45 100644 --- a/data/repo-contributors.json +++ b/data/repo-contributors.json @@ -1,5 +1,5 @@ { - "generatedAt": "2026-10-07T12:38:36+00:00", + "generatedAt": "2026-10-07T12:49:22+00:00", "method": "GitHub REST contributors?per_page=1&anon=true; last-page count; commit authors, not unique humans", "repos": { "Automattic/mongoose": 1088, @@ -20,6 +20,7 @@ "medusajs/medusa": 586, "microsoft/vscode": 3258, "mikro-orm/mikro-orm": 347, + "mozilla/pdf.js": 536, "n8n-io/n8n": 811, "nocodb/nocodb": 355, "novuhq/novu": 537, diff --git a/data/repo-merge-times.json b/data/repo-merge-times.json index f18b99e..b86e19f 100644 --- a/data/repo-merge-times.json +++ b/data/repo-merge-times.json @@ -1,5 +1,5 @@ { - "generatedAt": "2026-10-07T12:40:05Z", + "generatedAt": "2026-10-07T12:50:47Z", "method": "latest 60 closed PRs; merged non-bot external contributors; medianDays is the one we judge by", "repos": { "Automattic/mongoose": { @@ -169,13 +169,13 @@ }, "grafana/grafana": { "medianDays": 0.8, - "averageDays": 9.9, + "averageDays": 9.7, "mergedExternal": 47, "acceptancePct": 90, "closedExternal": 52, - "driveByAcceptancePct": 83, - "driveByMerged": 20, - "driveByClosed": 24, + "driveByAcceptancePct": 84, + "driveByMerged": 21, + "driveByClosed": 25, "sampledClosed": 60 }, "immich-app/immich": { @@ -255,6 +255,17 @@ "driveByClosed": 8, "sampledClosed": 60 }, + "mozilla/pdf.js": { + "medianDays": 1.0, + "averageDays": 3.0, + "mergedExternal": 23, + "acceptancePct": 82, + "closedExternal": 28, + "driveByAcceptancePct": 83, + "driveByMerged": 5, + "driveByClosed": 6, + "sampledClosed": 60 + }, "n8n-io/n8n": { "medianDays": 1.5, "averageDays": 3.9, @@ -322,14 +333,14 @@ "sampledClosed": 60 }, "openstatusHQ/openstatus": { - "medianDays": 1.5, - "averageDays": 2.1, - "mergedExternal": 6, - "acceptancePct": 86, - "closedExternal": 7, - "driveByAcceptancePct": 86, - "driveByMerged": 6, - "driveByClosed": 7, + "medianDays": 2.5, + "averageDays": 2.4, + "mergedExternal": 5, + "acceptancePct": 83, + "closedExternal": 6, + "driveByAcceptancePct": 83, + "driveByMerged": 5, + "driveByClosed": 6, "sampledClosed": 60 }, "orval-labs/orval": { @@ -521,10 +532,10 @@ }, "twentyhq/twenty": { "medianDays": 0.7, - "averageDays": 1.1, - "mergedExternal": 10, - "acceptancePct": 71, - "closedExternal": 14, + "averageDays": 1.7, + "mergedExternal": 11, + "acceptancePct": 73, + "closedExternal": 15, "driveByAcceptancePct": 67, "driveByMerged": 2, "driveByClosed": 3, @@ -597,14 +608,14 @@ "sampledClosed": 60 }, "withastro/astro": { - "medianDays": 2.2, - "averageDays": 21.8, - "mergedExternal": 14, + "medianDays": 2.5, + "averageDays": 20.8, + "mergedExternal": 15, "acceptancePct": 88, - "closedExternal": 16, - "driveByAcceptancePct": 85, - "driveByMerged": 11, - "driveByClosed": 13, + "closedExternal": 17, + "driveByAcceptancePct": 82, + "driveByMerged": 9, + "driveByClosed": 11, "sampledClosed": 60 }, "yarnpkg/berry": { diff --git a/impact.json b/impact.json index 24ce48e..9d5ec2b 100644 --- a/impact.json +++ b/impact.json @@ -822,7 +822,17 @@ "pr": 15591, "status": "waiting", "createdAt": "2026-10-07T12:38:07Z" + }, + { + "title": "리팩터 뒤 남은 조상 Set", + "titleEn": "ancestor set left behind after a refactor", + "type": "쓰기만 하는 컬렉션 (2021 usehref 리팩터로 소비자 둘이 ancestors 로 바뀐 뒤 남은 Set)", + "repo": "mozilla/pdf.js", + "repoLabel": "pdf.js · 54k★", + "pr": 22102, + "status": "waiting", + "createdAt": "2026-10-07T12:48:49Z" } ], - "generatedAt": "2026-10-07T12:40:59.508Z" + "generatedAt": "2026-10-07T12:51:45.498Z" } diff --git a/index.html b/index.html index 0031492..56fd72b 100644 --- a/index.html +++ b/index.html @@ -681,12 +681,13 @@

직접 내본다

Submit it ourselves

+
pdf.js54kMozilla 의 PDF 뷰어 · 기여자 약 536명Mozilla PDF viewer · ~536 contributors리팩터 뒤 남은 조상 Setancestor set left behind after a refactorPR 생성PR opened오늘today / 보통 1일 / usually 1d수락 82%82% mergedPR 머지 · 아직 아무도 안 봄PR merge · not reviewed yet릴리즈 · 머지 후release · after merge
react-router56.6kReact 라우터 · 기여자 약 1,318명React router · ~1,318 contributors검증 에러가 dev 서버를 죽임export validation error kills the dev serverPR 생성PR opened오늘today / 보통 4일 / usually 4d수락 80%80% mergedPR 머지 · 아직 아무도 안 봄PR merge · not reviewed yet릴리즈 · 머지 후release · after merge
cherry-studio52.4k데스크톱 AI 클라이언트 · 기여자 약 478명desktop AI client · ~478 contributors채우기만 하고 읽지 않는 Map 3개three maps filled but never readPR 생성PR opened오늘today / 보통 1일 / usually 1d수락 87%87% mergedPR 머지 · 아직 아무도 안 봄PR merge · not reviewed yet릴리즈 · 머지 후release · after merge
n8n206.8k워크플로 자동화 · 기여자 약 811명workflow automation · ~811 contributors표현식 unique·차집합이 원시값 배열도 깊은 비교로 이중 순회expression unique and set operations deep-compare even primitive arrays pairwisePR 생성PR opened1일째day 1 / 보통 2일 / usually 2d수락 76%76% mergedPR 머지 · 아직 아무도 안 봄PR merge · not reviewed yet릴리즈 · 머지 후release · after merge
strapi73.3k헤드리스 CMS · 기여자 약 1,398명headless CMS · ~1,398 contributorstry/catch 안 릴리즈 정리를 await 안 함release cleanup not awaited inside its try/catchPR 생성PR opened5일째day 5 / 보통 3일 / usually 3d수락 45%45% mergedPR 머지 · 아직 아무도 안 봄PR merge · not reviewed yet릴리즈 · 머지 후release · after merge
tailwindcss97.8kCSS 유틸리티 프레임워크 · 기여자 약 376명utility-first CSS framework · ~376 contributorsVite 입력 CSS 의존성 기록 경합Vite input stylesheet dependency racePR 생성PR opened10일째day 10 / 보통 1일 / usually 1d수락 65%65% mergedPR 머지 · 보류PR merge · stalled릴리즈 · 머지 후release · after merge
-
astro63.1k웹 프레임워크 · 콘텐츠 사이트 · 기여자 약 1,245명web framework · ~1,245 contributorssitemap 청크 URL 분류 O(n²)quadratic sitemap chunk URL lookupsPR 생성PR opened10일째day 10 / 보통 2일 / usually 2d수락 88%88% mergedPR 머지 · 보류PR merge · stalled릴리즈 · 머지 후release · after merge
+
astro63.1k웹 프레임워크 · 콘텐츠 사이트 · 기여자 약 1,245명web framework · ~1,245 contributorssitemap 청크 URL 분류 O(n²)quadratic sitemap chunk URL lookupsPR 생성PR opened10일째day 10 / 보통 3일 / usually 3d수락 88%88% mergedPR 머지 · 보류PR merge · stalled릴리즈 · 머지 후release · after merge
Babylon.js26.1k웹 3D 엔진 · 기여자 약 801명web 3D engine · ~801 contributors채우기만 하고 읽지 않는 MapMap that is filled but never readPR 생성PR opened당일 머지merged same day / 보통 1일 / usually 1d수락 82%82% mergedPR 머지 #18980PR merged #18980릴리즈 대기awaiting release
mikro-orm9.2kTypeScript ORM · 기여자 약 347명TypeScript ORM · ~347 contributorsupsertMany 재조회 행을 엔티티마다 전부 비교upsertMany compares every reloaded row for every entityPR 생성PR opened당일 머지merged same day / 보통 1일 / usually 1d수락 100%100% mergedPR 머지 #8393PR merged #8393릴리즈 대기awaiting release
mikro-orm9.2kTypeScript ORM · 기여자 약 347명TypeScript ORM · ~347 contributorsM:N 소유 측 populate 가 부모마다 자식 전체를 다시 훑고 indexOf 로 정렬owning-side M:N populate rescans all children per owner and sorts with indexOfPR 생성PR opened당일 머지merged same day / 보통 1일 / usually 1d수락 100%100% mergedPR 머지 #8392PR merged #8392릴리즈 대기awaiting release
@@ -698,13 +699,13 @@

직접 내본다

Submit it ourselves

ghost55.5k퍼블리싱·뉴스레터 · 기여자 약 929명publishing & newsletters · ~929 contributors댓글 신고 이메일의 조회 3회 직렬three sequential lookups for comment report emailPR 생성PR opened머지까지 10일10d to merge / 보통 1일 / usually 1d수락 76%76% mergedPR 머지 #31019PR merged #31019릴리즈 대기awaiting release
react250.9kUI 라이브러리 · 컴파일러 · 기여자 약 2,020명UI library and compiler · ~2,020 contributorsReact 컴파일러 패스의 쓰기만 하는 컬렉션write-only collections in React Compiler passesPR 생성PR opened머지까지 2일2d to merge / 보통 4일 / usually 4d수락 15%15% mergedPR 머지 #37699PR merged #37699nightly 배포 · 안정판 대기nightly shipped · stable pending
angular101k웹 프레임워크 · 기여자 약 2,686명web framework · ~2,686 contributorssignal 입력 마이그레이션의 쓰기만 하는 Setwrite-only Set in signal input migrationPR 생성PR opened머지까지 2일2d to merge / 보통 3일 / usually 3d수락 69%69% mergedPR 머지 #70977PR merged #70977릴리즈 v22.2.1released v22.2.1
-
astro63.1k웹 프레임워크 · 콘텐츠 사이트 · 기여자 약 1,245명web framework · ~1,245 contributors빌드에서 쓰기만 하는 페이지 입력 집합write-only page input set in the buildPR 생성PR opened머지까지 4일4d to merge / 보통 2일 / usually 2d수락 88%88% mergedPR 머지 #17987PR merged #17987릴리즈 astro@7.3.4released astro@7.3.4
+
astro63.1k웹 프레임워크 · 콘텐츠 사이트 · 기여자 약 1,245명web framework · ~1,245 contributors빌드에서 쓰기만 하는 페이지 입력 집합write-only page input set in the buildPR 생성PR opened머지까지 4일4d to merge / 보통 3일 / usually 3d수락 88%88% mergedPR 머지 #17987PR merged #17987릴리즈 astro@7.3.4released astro@7.3.4
angular101k웹 프레임워크 · 기여자 약 2,686명web framework · ~2,686 contributors템플릿 파이프라인의 쓰기만 하는 컬렉션write-only collections in template pipeline phasesPR 생성PR opened머지까지 5일5d to merge / 보통 3일 / usually 3d수락 69%69% mergedPR 머지 #70690PR merged #70690릴리즈 v22.2.0released v22.2.0
rollup26.3kJavaScript 모듈 번들러 · 기여자 약 471명JavaScript module bundler · ~471 contributorswatch 재실행 결과를 안 기다림watcher rerun not awaitedPR 생성PR opened머지까지 9일9d to merge / 보통 9일 / usually 9d수락 76%76% mergedPR 머지 #6506PR merged #6506릴리즈 v4.63.3released v4.63.3
mongoose27.5kMongoDB ODM · 기여자 약 1,088명MongoDB object modelling · ~1,088 contributorsbulkSave 오류 문서 반복 매칭bulkSave repeated write-error matchingPR 생성PR opened머지까지 2일2d to merge / 보통 2일 / usually 2d수락 77%77% mergedPR 머지 #16474PR merged #16474릴리즈 9.9.4released 9.9.4
pnpm36.8kJavaScript 패키지 매니저 · 기여자 약 696명JavaScript package manager · ~696 contributors의존성 분할 안 미사용 Setunused linked dependency aliases SetPR 생성PR opened머지까지 2일2d to merge / 보통 1일 / usually 1d수락 62%62% mergedPR 머지 #14032PR merged #14032릴리즈 v11.23.0released v11.23.0
rollup26.3kJavaScript 모듈 번들러 · 기여자 약 471명JavaScript module bundler · ~471 contributors청크 렌더 안 미사용 Mapunused rendered module sources mapPR 생성PR opened당일 머지merged same day / 보통 9일 / usually 9d수락 76%76% mergedPR 머지 #6482PR merged #6482릴리즈 v4.63.0released v4.63.0
-
openstatus9.2k상태 페이지·업타임 모니터링 · 기여자 약 125명status pages & uptime monitoring · ~125 contributors페이지 monitor 검증 뒤 중복 조회duplicate monitor lookups after page validationPR 생성PR opened머지까지 10일10d to merge / 보통 2일 / usually 2d수락 86%86% mergedPR 머지 #2583PR merged #2583릴리즈 production@07d885areleased production@07d885a
+
openstatus9.2k상태 페이지·업타임 모니터링 · 기여자 약 125명status pages & uptime monitoring · ~125 contributors페이지 monitor 검증 뒤 중복 조회duplicate monitor lookups after page validationPR 생성PR opened머지까지 10일10d to merge / 보통 3일 / usually 3d수락 83%83% mergedPR 머지 #2583PR merged #2583릴리즈 production@07d885areleased production@07d885a
ghost55.5k퍼블리싱·뉴스레터 · 기여자 약 929명publishing & newsletters · ~929 contributorsmember 통계 안 미사용 Mapunused Map in member count historyPR 생성PR opened머지까지 2일2d to merge / 보통 1일 / usually 1d수락 76%76% mergedPR 머지 #29831PR merged #29831릴리즈 v6.57.1released v6.57.1
vite83.2k프런트엔드 빌드 도구 · 기여자 약 1,365명frontend build tool · ~1,365 contributorspure CSS 청크 선형 조회pure CSS chunk linear lookupPR 생성PR opened머지까지 2일2d to merge / 보통 13일 / usually 13d수락 28%28% mergedPR 머지 #23114PR merged #23114릴리즈 v8.2.1released v8.2.1
ghost55.5k퍼블리싱·뉴스레터 · 기여자 약 929명publishing & newsletters · ~929 contributorsgrowth stats 집계 3회 직렬growth stats 3 serial aggregatesPR 생성PR opened머지까지 3일3d to merge / 보통 1일 / usually 1d수락 76%76% mergedPR 머지 #29704PR merged #29704릴리즈 v6.56.0released v6.56.0
@@ -715,16 +716,16 @@

직접 내본다

Submit it ourselves

outline40.8k팀 위키·문서 · 기여자 약 263명team knowledge base · ~263 contributorsmarkdown import merge O(n²)PR 생성PR opened머지까지 5일5d to merge / 보통 6일 / usually 6d수락 67%67% mergedPR 머지 #13117PR merged #13117릴리즈 v1.10.0released v1.10.0
medusa36.6k커머스 백엔드 · 기여자 약 586명commerce backend · ~586 contributorstranslations batch match O(n²)PR 생성PR opened머지까지 10일10d to merge / 보통 3일 / usually 3d수락 29%29% mergedPR 머지 #16188PR merged #16188릴리즈 v2.19.0released v2.19.0
grafana77.1k관측·대시보드 · 기여자 약 3,142명observability dashboards · ~3,142 contributors히트맵 버킷 증분의 쓰기만 하는 Mapwrite-only decimals map in heatmap bucket increments닫힘closed당일same day / 보통 1일 / usually 1d수락 90%90% merged#133985우리가 접었다 — 게이트 0 을 안 읽었다: 모든 커밋 서명 필수인데 서명 키가 없었다. 브랜치를 되돌리자 GitHub 가 자동으로 닫았다we closed it — missed gate 0: every commit must be signed and we had no signing key; resetting the branch auto-closed the PR - openstatus9.2k상태 페이지·업타임 모니터링 · 기여자 약 125명status pages & uptime monitoring · ~125 contributors알림 목록의 모니터 관계 반복 검색repeated notification monitor association scans닫힘closed1일 만에in 1d / 보통 2일 / usually 2d수락 86%86% merged#2780메인테이너가 V1 API 폐기 예정이라고 밝혀 우리가 닫았다we closed it after the maintainer said the V1 API is deprecated + openstatus9.2k상태 페이지·업타임 모니터링 · 기여자 약 125명status pages & uptime monitoring · ~125 contributors알림 목록의 모니터 관계 반복 검색repeated notification monitor association scans닫힘closed1일 만에in 1d / 보통 3일 / usually 3d수락 83%83% merged#2780메인테이너가 V1 API 폐기 예정이라고 밝혀 우리가 닫았다we closed it after the maintainer said the V1 API is deprecated react250.9kUI 라이브러리 · 컴파일러 · 기여자 약 2,020명UI library and compiler · ~2,020 contributorsReact 컴파일러 패스의 쓰기만 하는 컬렉션write-only collections in React Compiler passes닫힘closed당일same day / 보통 4일 / usually 4d수락 15%15% merged#37698잘못된 GitHub 계정(yoominho91)으로 제출해 닫고 irontaek의 #37699로 교체했다closed after submission from the wrong GitHub account (yoominho91); replaced by irontaek's #37699 eslint27.6k자바스크립트 린터 · 기여자 약 1,253명JavaScript linter · ~1,253 contributorsno-duplicate-case 이전 case 재스캔no-duplicate-case rescans earlier cases닫힘closed당일same day / 보통 3일 / usually 3d수락 60%60% merged#21317AI 보조 PR 은 선행 이슈가 필요하다는 정책(게이트 0, 우리가 안 읽었다) · 메인테이너는 이득도 의심했다 — "린터는 보통 생성 코드를 안 훑는다"their AI policy requires a backing issue for AI-assisted PRs (a gate we had not read), and the maintainer doubted the benefit: linters usually do not run on generated code vscode193.6k코드 에디터 · 기여자 약 3,258명code editor · ~3,258 contributors툴 피커 안 미사용 Mapunused MCP server map in the tools picker닫힘closed11일 만에in 11d / 보통 1일 / usually 1d수락 90%90% merged#334230우리가 접었다 — 12일째 사람 리뷰 0(반응은 봇뿐), 09-12 핑에도 무응답. 슬롯을 회수했다we closed it — no human review in 12 days (bots only) and no reply to the 09-12 ping, so we reclaimed the slot - openstatus9.2k상태 페이지·업타임 모니터링 · 기여자 약 125명status pages & uptime monitoring · ~125 contributorsHono 보안 패치 · 의존성 점검Hono security patch · dependency audit닫힘closed27일 만에in 27d / 보통 2일 / usually 2d수락 86%86% merged#2620상위 #2751 의존성 업데이트로 Hono 4.13.8·node-server 2.1.1이 반영돼 보안 목표가 충족됐다. 이 PR은 미병합upstream #2751 updated Hono to 4.13.8 and node-server to 2.1.1, covering the security goal; this PR was not merged + openstatus9.2k상태 페이지·업타임 모니터링 · 기여자 약 125명status pages & uptime monitoring · ~125 contributorsHono 보안 패치 · 의존성 점검Hono security patch · dependency audit닫힘closed27일 만에in 27d / 보통 3일 / usually 3d수락 83%83% merged#2620상위 #2751 의존성 업데이트로 Hono 4.13.8·node-server 2.1.1이 반영돼 보안 목표가 충족됐다. 이 PR은 미병합upstream #2751 updated Hono to 4.13.8 and node-server to 2.1.1, covering the security goal; this PR was not merged budibase28.3k사내 도구 빌더 · 기여자 약 147명internal tools builder · ~147 contributorsstatic formula 갱신 enriched row 조회 O(n²)static formula enriched-row lookup O(n²)닫힘closed당일same day / 보통 1일 / usually 1d수락 68%68% merged#19555게이트 0 — 외부 PR 은 "작성자에게 배정된" 이슈를 참조해야 하는데 배정은 메인테이너만 한다gate 0 — external PRs must reference an issue assigned to the author, and only maintainers can assign ghost55.5k퍼블리싱·뉴스레터 · 기여자 약 929명publishing & newsletters · ~929 contributorspost relation 연결 반복 조회repeated post lookup while attaching import relations닫힘closed14일 만에in 14d / 보통 1일 / usually 1d수락 76%76% merged#30284우리가 접었다 — 중앙 1.8일인 곳에서 15일째 사람 반응 0. 09-01 에 핑도 보냈지만 답이 없었다we closed it — 15 days with zero human response in a repo whose median is 1.8 days, including a ping on Sep 1 that went unanswered n8n206.8k워크플로 자동화 · 기여자 약 811명workflow automation · ~811 contributorscredential 삭제 완료 전 명령 종료credential uninstall exits before deletions finish닫힘closed36일 만에in 36d / 보통 2일 / usually 2d수락 76%76% merged#37047승인 뒤 merge queue 의 CLA 검사가 PR 을 연 계정(yoominho91)을 미서명으로 잡았다. 같은 커밋으로 irontaek 이 #40103 을 다시 열었다approved, but the merge queue's CLA check flagged the opening account (yoominho91) as unsigned; reopened as #40103 from irontaek with the same commits nx29.4k모노레포 빌드 시스템 · 기여자 약 1,308명monorepo build system · ~1,308 contributorsgraph 명령 안 미사용 Mapunread task graph cache in the graph command닫힘closed34일 만에in 34d / 보통 1일 / usually 1d수락 74%74% merged#36633우리가 접었다 — 34일째 사람 리뷰 0(반응은 봇뿐), 09-12 핑에도 무응답. 슬롯을 회수했다we closed it — no human review in 34 days (bots only) and no reply to the 09-12 ping, so we reclaimed the slot - astro63.1k웹 프레임워크 · 콘텐츠 사이트 · 기여자 약 1,245명web framework · ~1,245 contributors스택 트레이스 절반 유실printed error stacks lose every other frame닫힘closed24일 만에in 24d / 보통 2일 / usually 2d수락 88%88% merged#17665우리가 접었다 — 중앙 2일인 곳에서 24일째 사람 반응 0. CI 는 통과 상태였다we closed it — 24 days with zero human response in a repo whose median is 2 days; CI was green + astro63.1k웹 프레임워크 · 콘텐츠 사이트 · 기여자 약 1,245명web framework · ~1,245 contributors스택 트레이스 절반 유실printed error stacks lose every other frame닫힘closed24일 만에in 24d / 보통 3일 / usually 3d수락 88%88% merged#17665우리가 접었다 — 중앙 2일인 곳에서 24일째 사람 반응 0. CI 는 통과 상태였다we closed it — 24 days with zero human response in a repo whose median is 2 days; CI was green storybook91.2kUI 컴포넌트 개발·문서화 · 기여자 약 2,795명UI component workshop · ~2,795 contributorsinvalidate() 안 미사용 Setunread invalidated Set in the story index닫힘closed25일 만에in 25d / 보통 4일 / usually 4d수락 72%72% merged#35829우리가 접었다 — Danger 가 `ci:*`·`qa:*` 라벨에서 막는데 그 라벨은 메인테이너만 붙일 수 있다 (게이트 0)we closed it — Danger blocks on `ci:*` and `qa:*` labels only a maintainer can add, so nothing was actionable from our side excalidraw133.6k화이트보드 · 손그림 다이어그램 · 기여자 약 378명virtual whiteboard · ~378 contributorsresize 핸들러 안 미사용 Mapunused Map in resize handler닫힘closed34일 만에in 34d / 보통 1일 / usually 1d수락 2%2% merged#11805우리가 접었다 — 중앙 1일인 곳에서 34일째 사람 반응 0. 이 저장소 외부 PR 수락률 18%we closed it — 34 days with zero human response in a repo whose median is 1 day; external acceptance here is 18% typeorm36.7kTypeScript ORM · 기여자 약 1,258명TypeScript ORM · ~1,258 contributorsloadTables 카탈로그 전량 재스캔loadTables full catalog rescan닫힘closed45일 만에in 45d / 보통 14일 / usually 14d수락 31%31% merged#12746우리가 접었다 — 46일째 사람 리뷰 0(반응은 봇뿐), 09-12 핑에도 무응답. 슬롯을 회수했다we closed it — no human review in 46 days (bots only) and no reply to the 09-12 ping, so we reclaimed the slot @@ -734,8 +735,8 @@

직접 내본다

Submit it ourselves

strapi73.3k헤드리스 CMS · 기여자 약 1,398명headless CMS · ~1,398 contributorsdoc-metadata localization O(n²)닫힘closed16일 만에in 16d / 보통 3일 / usually 3d수락 45%45% merged#27125우리가 접었다 — 중앙 2일인 곳에서 14일째 아무 반응이 없었다we closed it — 14 days with no response in a repo whose median is 2 days payload45.1k헤드리스 CMS · Next.js · 기여자 약 583명headless CMS · ~583 contributorsdataloader doc placement O(n²)닫힘closed16일 만에in 16d / 보통 1일 / usually 1d수락 79%79% merged#17469우리가 접었다 — 중앙 4일인 곳에서 14일째 아무 반응이 없었다we closed it — 14 days with no response in a repo whose median is 4 days cal.com48.9k일정 예약 · 기여자 약 981명scheduling · ~981 contributorslucky-user set rebuild in loop닫힘closed7일 만에in 7d / 보통 3일 / usually 3d수락 7%7% merged#29832우리가 접었다 — 같은 저장소에 2건이 열려 있어 큰 쪽(#29828)에 리뷰를 몰아줬다we closed it — two PRs open on one repo; we kept the bigger one (#29828) - twenty58k오픈소스 CRM · 기여자 약 768명open-source CRM · ~768 contributorsnested relations hydration O(n²)닫힘closed당일same day / 보통 1일 / usually 1d수락 71%71% merged#23232겹친 2건 중 나머지. 사유는 남지 않았다the other of the overlapping pair; no reason given - twenty58k오픈소스 CRM · 기여자 약 768명open-source CRM · ~768 contributorsview-widget-upsert O(n²)닫힘closed당일same day / 보통 1일 / usually 1d수락 71%71% merged#23231"redundant with #23232" — 같은 저장소에 겹치는 2건을 냈다"redundant with #23232" — two overlapping PRs in one repo + twenty58k오픈소스 CRM · 기여자 약 768명open-source CRM · ~768 contributorsnested relations hydration O(n²)닫힘closed당일same day / 보통 1일 / usually 1d수락 73%73% merged#23232겹친 2건 중 나머지. 사유는 남지 않았다the other of the overlapping pair; no reason given + twenty58k오픈소스 CRM · 기여자 약 768명open-source CRM · ~768 contributorsview-widget-upsert O(n²)닫힘closed당일same day / 보통 1일 / usually 1d수락 73%73% merged#23231"redundant with #23232" — 같은 저장소에 겹치는 2건을 냈다"redundant with #23232" — two overlapping PRs in one repo cal.com48.9k일정 예약 · 기여자 약 981명scheduling · ~981 contributorsbooking member diff O(n²)닫힘closed15일 만에in 15d / 보통 3일 / usually 3d수락 7%7% merged#29828우리가 접었다 — 외부 기여자는 `required` 잡이 항상 실패한다 (게이트 0). 이 저장소 수락률 10%we closed it — the `required` job always fails for external contributors; this repository merges 10% of outside PRs novu40.1k알림 인프라 · 기여자 약 537명notification infrastructure · ~537 contributorssync-agent findOne N+1닫힘closed17일 만에in 17d / 보통 1일 / usually 1d수락 89%89% merged#12074우리가 접었다 — 중앙 1일인 곳에서 15일째 사람 리뷰 0(승인은 봇). 슬롯을 회수했다we closed it — 15 days in a repo whose median is 1 day, with zero human review (the approval was a bot) immich115.7k셀프호스팅 사진 보관 · 기여자 약 1,019명self-hosted photo library · ~1,019 contributorsdeleteBulkMetadata N+1닫힘closed15일 만에in 15d / 보통 1일 / usually 1d수락 44%44% merged#30163우리가 접었다 — `changelog:*` 라벨은 메인테이너만 붙일 수 있어 우리 쪽에서 더 할 게 없었다 (게이트 0)we closed it — the required `changelog:*` label can only be added by a maintainer, so nothing was actionable from our side @@ -743,8 +744,8 @@

직접 내본다

Submit it ourselves

카드의 기여자 수는 기준 GitHub 커밋 작성자 집계다. 같은 사람의 여러 계정이나 봇이 각각 포함될 수 있다.

Contributor counts use GitHub commit authors as of . Multiple accounts for one person and bots may be counted separately.

-

머지됨 27 · 아무도 안 봄 4 · 보류 2 · 닫힘 25 — 전체 기록은 IMPACT.md. 상태는 GitHub 에서 자동 갱신된다. 기준선은 각 저장소의 최근 닫힌 PR 60건 중 외부 기여자 머지의 중앙값이다 — 평균은 묵은 몇 건이 통째로 끌고 간다(next.js 는 평균 10.2일인데 중앙값 3.9일). 초록불은 그 안, 빨간불은 초과, 보라불은 +7일을 넘긴 보류다. 옆의 수락률은 그 저장소가 최근 닫힌 외부 PR 을 얼마나 머지했는지다 — 늦은 게 우리 것만 밀린 건지, 원래 대부분 거절인 곳인지를 가른다. 보류는 GitHub 에 없는 상태다 — 닫히지도 머지되지도 않은 채 그 저장소의 평소 속도를 크게 지난 것을 우리가 따로 센다.

-

27 merged · 4 nobody has looked · 2 stalled · 25 closed — full log in IMPACT.md, refreshed from GitHub. The baseline is the median of external-contributor merges among each repository's latest 60 closed PRs — a mean gets dragged by a few stale PRs (next.js averages 10.2 days but its median is 3.9). Green is within it; red is over; violet is stalled — past it by 7 days. The percentage next to it is how many recently closed external PRs that repository merged — it separates "ours is being skipped" from "this repo turns most outsiders down". Stalled is not a GitHub state: it is neither merged nor closed, just well past how fast that repository usually moves, and we count it separately.

+

머지됨 27 · 아무도 안 봄 5 · 보류 2 · 닫힘 25 — 전체 기록은 IMPACT.md. 상태는 GitHub 에서 자동 갱신된다. 기준선은 각 저장소의 최근 닫힌 PR 60건 중 외부 기여자 머지의 중앙값이다 — 평균은 묵은 몇 건이 통째로 끌고 간다(next.js 는 평균 10.2일인데 중앙값 3.9일). 초록불은 그 안, 빨간불은 초과, 보라불은 +7일을 넘긴 보류다. 옆의 수락률은 그 저장소가 최근 닫힌 외부 PR 을 얼마나 머지했는지다 — 늦은 게 우리 것만 밀린 건지, 원래 대부분 거절인 곳인지를 가른다. 보류는 GitHub 에 없는 상태다 — 닫히지도 머지되지도 않은 채 그 저장소의 평소 속도를 크게 지난 것을 우리가 따로 센다.

+

27 merged · 5 nobody has looked · 2 stalled · 25 closed — full log in IMPACT.md, refreshed from GitHub. The baseline is the median of external-contributor merges among each repository's latest 60 closed PRs — a mean gets dragged by a few stale PRs (next.js averages 10.2 days but its median is 3.9). Green is within it; red is over; violet is stalled — past it by 7 days. The percentage next to it is how many recently closed external PRs that repository merged — it separates "ours is being skipped" from "this repo turns most outsiders down". Stalled is not a GitHub state: it is neither merged nor closed, just well past how fast that repository usually moves, and we count it separately.

diff --git a/tools/update-impact-cards.py b/tools/update-impact-cards.py index e282495..5da34f3 100644 --- a/tools/update-impact-cards.py +++ b/tools/update-impact-cards.py @@ -298,6 +298,7 @@ def delivery_timeline(f, key, pr_url, age_html): "BabylonJS/Babylon.js": ("웹 3D 엔진", "web 3D engine"), "CherryHQ/cherry-studio": ("데스크톱 AI 클라이언트", "desktop AI client"), "remix-run/react-router": ("React 라우터", "React router"), + "mozilla/pdf.js": ("Mozilla 의 PDF 뷰어", "Mozilla PDF viewer"), "outline/outline": ("팀 위키·문서", "team knowledge base"), "nocodb/nocodb": ("노코드 DB · Airtable 대안", "no-code database"), "novuhq/novu": ("알림 인프라", "notification infrastructure"),