Repository navigation
Conversation
…rations css(a, b) composing classes whose styles the build knows, bound to css() in the file or exported by another module, merges their atoms per property, selector, breakpoint and layer, conditions included, instead of joining classes whose winner the stylesheet order picked. vanilla-extract style([...]) passes each composed style as its own argument, keeping a style composed again later. Refs #688 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #688 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #688 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #688 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
…asurable Refs #688 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
…JSX spreads win Refs #688 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
…led order and JSX element className Refs #688 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #689 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
…uate shouldForwardProp at build time Refs #689 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
…ring Refs #689 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #691 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #690 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
… and conditional styles Refs #690 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
…h Emotion Refs #690 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #690 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
…ed parameters Refs #690 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #690 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
…mpiles Refs #684 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
…s3901/w24-types-rest
Refs #684 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #684 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Contributor
Changepacks@devup-ui/wasm@1.0.83 → 1.0.84 - bindings/devup-ui-wasm/package.jsonPatch
@devup-ui/bun-plugin@1.0.22 → 1.0.23 - packages/bun-plugin/package.jsonPatch
@devup-ui/components@0.1.60 → 0.1.61 - packages/components/package.jsonPatch
@devup-ui/eslint-plugin@1.0.22 → 1.0.23 - packages/eslint-plugin/package.jsonPatch
@devup-ui/next-plugin@1.0.90 → 1.0.91 - packages/next-plugin/package.jsonPatch
@devup-ui/plugin-utils@1.0.17 → 1.0.18 - packages/plugin-utils/package.jsonPatch
@devup-ui/react@1.0.44 → 1.0.45 - packages/react/package.jsonPatch
@devup-ui/reset-css@1.0.31 → 1.0.32 - packages/reset-css/package.jsonPatch
@devup-ui/rsbuild-plugin@1.0.67 → 1.0.68 - packages/rsbuild-plugin/package.jsonPatch
@devup-ui/vite-plugin@1.0.73 → 1.0.74 - packages/vite-plugin/package.jsonPatch
@devup-ui/webpack-plugin@1.0.71 → 1.0.72 - packages/webpack-plugin/package.jsonPatch
|
Refs #684 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #684 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #684 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #684 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Codecov Report✅ All modified and coverable lines are covered by tests.
... and 34 files with indirect coverage changes 🚀 New features to boost your workflow:
|
No conflicted files; preserve composition changes and main ESLint checks.
No conflicted files; combine updated parent and PR changes.
Merge updated parent PR 735 (9e59c52), containing main 11790be. Conflicted file: packages/eslint-plugin/src/rules/style-order-range/index.ts. Retain PR 763's report for a missing styleOrder value while keeping main/PR 735's scope restriction to recognized style components and supported utility arguments; canonical integer/string validation remains unchanged. Fresh WASM/root builds and targeted real ESLint rule tests pass. #733 squash was already marked with an unchanged-tree ours merge after exact original-head and preceding-main ancestry checks. Refs #686 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Restore the released package versions from main 11790be/#700 and remove three already-consumed changepacks accidentally retained when ours merge4473674c marked earlier main history integrated without its contents. Retain every StyleX/shorthand/lint feature and plugin-utils type-test/build commands, regenerating only the nine workspace version entries with bun install. This coherent release-baseline restoration prevents publishing older versions or replaying already-released changes; fresh WASM/root builds and exact manifest/feature assertions pass. Refs #684 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Restore pinned main 11790be's parked-forwarded CSS and post-restoration plugin pair, full vinext RSC fixture, both-mode CI job, root script and resolver lock after the unchanged-tree ours merge4473674c skipped #747 content. Preserve all #763 shorthand normalization, JSX-source, StyleX, type and lint intent. Local restored RSC e2e29/29 passed under6GiB; all packages built serially and Bun6071/0fail passed. Refs #763 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #688 #707 #776 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #688 #707 Keep the visitor unchanged at module scope so coverage analysis does not invent an uncovered nested declaration Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #688 #710 #707 Retain inherited captures for withComponent and as in JSX and TypeScript renderers Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #689 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #691 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #691 #695 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #690 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #690 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #690 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
…sition Refs #690 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #684 2026-10-15: 갱신된 부모 #730 b28816c2를 두 부모 병합으로 통합했습니다. package.json은 모든 타입 fixture를 검사하는 프로젝트 명령으로 합쳤고, styled-components 선언의 중복 re-export만 제거하면서 확장 가능한 테마와 브랜드 및 부모의 createTheme·정규 ClassNamesArg를 보존했습니다. 승인된 #712 타입 보정으로 theme 함수의 undefined outer, 함수형 ThemeConsumer, withTheme의 theme override/ref를 실제 부모 구현과 일치시켰습니다. 같은 새 타입 증명이 보정 전 13개 오류를 재현하고 보정 후 통과했으며, React 18/19의 실제 배포 dist 소비자 검사도 통과했습니다. 런타임·Rust·캡처·프로토콜 변경은 없습니다. 최신 main a6ecc12 반영은 코디네이터 지시에 따라 MAIN SETTLED 이후 전파 단계로 남겨 둡니다. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #682 #695 #688 #689 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #682 #695 #688 #689 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #682 #695 #688 #689 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #682 #695 #688 #689 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #682 #695 #688 #689 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #682 #689 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #684 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #684 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This was referenced Oct 16, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refs #684 (W24: TOOL-17, JSX-13, TOOL-07, W26/W33 타입 후속)
#738(
fix/types-match-build, #730 위의 스택)와 #735(fix/eslint-alias-rules, #733 포함)를 포함합니다. base는 Linux CI 검증을 위해main이며, 이 선행 스택이 먼저 병합되어야 합니다. 18개 dead CSS 이름의 타입은 #759의 빌드 계약을 반영하므로 #759도 먼저 병합되어야 합니다.#712는 작업 시작 시 OPEN이어서 지시대로 main을 추가 병합하지 않았고 TOOL-15는 제외했습니다. #758의
createThemeContract타입 후속은 반영하되 그 컴파일러 변경을 병합하지 않았습니다. #715(#758에 포함)는 attrs의 style 객체를 attribute text로 바꾸므로 이 PR과 #758 중 나중에 병합되는 쪽이 attrs 타입을 조정해야 합니다. #756과 이 PR도 styleOrder 코드가 겹치므로 나중에 병합하는 쪽에서 런타임 오류와 새 정적 값 계약을 함께 보존해야 합니다.요약
초기 hook 통과 커밋으로 PR을 연 뒤, 아래 항목을 다섯 논리 커밋으로 추가했습니다. 각 커밋의 lint/tarpaulin/Bun 훅을 통과했고, 검사한 디스크 트리와 stage한 전체 파일을 일치시켰습니다.
when/env처럼 이 base에 없는 API는 추가하지 않습니다.동작
항목별 base 확인
Vite/Next/Webpack/Rsbuild/Bun은 생성 시 같은 normalizer를 호출합니다. Next의 production cache 재사용보다 먼저 검증합니다. camelCase와 kebab-case, 기존
py등의 대상은 순서대로 정규화하며 custom property 이름은 대소문자를 보존합니다. Rust/WASM을 직접 사용하는 등록 경계도 잘못된 target을 거부하며 이전 registry를 유지합니다.정수 Number의
100.0,1e2,+'1\n',+'0x10'는 각각100/100/1/16으로 허용합니다. plain 문자열'100.0','1e2','1\n'는 거부합니다. 조건부 JSX/jsx-runtime order의 각 정적 branch도 같은 계약을 따릅니다. 내부0과 unlayered255는 명시적인 사용자 order로 허용하지 않습니다.StyleX의 class-string 합성도 실제 WASM으로 확인하여 props/attrs input에 허용했습니다. raw CSS 객체와 opaque StyleXStyles를 혼동하지 않고 외부 class input을 별도 타입으로 표현합니다. defineConsts의 number/boolean은 문자열 결과이며, flat 변수의 조건 객체와 부분 테마 override를 지원합니다.
새로 생기는 오류
devup-ui option shorthands["bgx"][0]: shorthand "bgx" cannot use "backgroundColour" at build time: its targets must be supported CSS properties, built-in aliases or custom properties.남는 한계
검증
최종 head:
d69f519392346c5b32fccf7af2fd4911b698d924. Linux CI 37351319043는 success입니다. publish/landing-next-e2e/vinext-rsc-css-e2e/benchmark 모두 성공, Rust 100.00% (11614/11614), Bun 6060 pass / 0 fail / aggregate 함수·라인100%, Codecov 업로드 성공입니다. 기존 Vite 개별 파일99.76% 표시와 LSP 제약은 별도로 남기며 CI gate와 새 줄 검증은 통과했습니다. 수정 후 Oracle delta gate는 APPROVE이며 추가 수정 요청 없음. 여섯 커밋 모두 전체 훅 통과, 작업 트리 깨끗함.이전 37343113128은 Rust coverage99.99% (11610/11611)에서 유일한 fallback 한 줄 때문에 실패했습니다. runtime member/call이 정적 값으로 오인되지 않는 실제 회귀로 해당 경로를 검증하며 제외 설정은 추가하지 않습니다. 최종 gate 검토에서 Emotion css prop의 중첩 css() 검증 우회와 metadata 숫자의 px 변환도 발견해
d69f5193에서 수정했습니다. 새 JSX/Emotion jsx-runtime·배열 합성·위치·유효 layer 집중 회귀20개, 재빌드 WASM QA, Rust1.99 clippy와 전체 훅을 통과했습니다.cargo fmt --all, Rust 1.99 strict clippy 통과.cargo test --workspace: 2,229개 통과 / 0 실패 (CSS558, allocation1, WASM36, extractor1483, integration3, sheet147, doctest1). 새 snapshot 변경 없음.WASM 재빌드와 루트 패키지 빌드 통과.
bun test: 6,052개 통과 / 0 실패 / 함수·라인 coverage100%.bun lint: 오류0, 기반의 forwardRef/use-prefix 경고2개만 유지.빌드한 dist를 별도 소비자 node_modules에 복사하여 React19 strict 검사를 통과했습니다. suppression 없는 부정 fixture의 실제 diagnostic은 target typo TS2820, 잘못된 order/dead prop TS2769, raw StyleX 객체 TS2353, numeric contract placeholder TS2322이며 의도한 줄만 실패했습니다.
다섯 커밋 모두 훅 통과:
11e3f1cc,72781be4,d7e7c631,809f8e52,89317347. 각 commit 당시 다른 변경은 고유 label/hash stash로 보관한 뒤 그 해시만 복원했습니다. 다른 worker의 stash를 적용·삭제하지 않았습니다. 최종 작업 트리는 깨끗합니다.source 타입 테스트: React의 전체 test:types, plugin-utils shorthand test:types 통과. 새 부정 타입 검사는 suppression 없는 assignability proof입니다.
모든 adapter 생성 경계의 집중 테스트4684개 통과; 최종 root suite와 재빌드된 WASM 확인은 아래 최종 결과로 대체합니다.
공유 style-order fixture를 lint와 extractor가 함께 읽고, 위치/원래 코드/원인/수정 방법을 검사합니다. JSX/jsx-runtime/css/styled/keyframes 경로를 비교합니다.
base WASM의 실제 비교: css/styled 조건부 order는
.a{color:blue}.b{color:green}, JSX/jsx-runtime은@layer o1과@layer o2를 생성. StyleX 두 호출은--a/--a,b/b를 반환하고.b{animation-duration:1s}.b{animation-duration:2s}를 출력합니다. root/subpath import는 create/props 호출을 그대로 남깁니다.수정 후 실제 public WASM 출력
같은 오류를 jsx-runtime/css/styled/keyframes 경로에서도 실제로 확인했습니다. Emotion css prop의 중첩 css()도
emotion-order-jsx.tsx:2:67및emotion-order-runtime.tsx:2:73에서 원래'100px'오류를 보고하고, 유효한+'0x10'은@layer o16{.b{color:red}}를 생성합니다. exported registerShorthands의 typo·형식 오류 이후에도 기존 insetX registry가 유지되어 위 responsive/hover CSS가 정상 생성됩니다. browser/server 프로세스는 시작하지 않았습니다.2026-10-08 main 11790bef를 병합하여 업데이트했습니다. 포함된 #733은 동일 트리 ours 병합으로 표시했습니다. bun.lock은 main에서 재생성했고, packages/bun-plugin/src/plugin.ts는 shorthand 검증과 main의 CSS 출력을 결합했으며, style-order-range/index.ts는 별칭 범위 제한과 누락 값 오류를 모두 보존했습니다.
2026-10-08 main 역전 방지 복원 (W44c)
이전 업데이트 문구의 ours 병합 설명을 정정합니다. 원래 #763 head
d69f5193에는 main의 #747 RSC CSS 수정(원래 구현5faaa628, main squash9788c959)과 #700 릴리스 기준a935315c의 내용이 아직 없었습니다.4473674c에서 #733b711ed1f를 unchanged-treeours로 병합하면서 그 부모인a935315c(#700)와9788c959(#747)도 내용 없이 이미 병합된 것으로 표시했고, 뒤의 main 병합은 이 누락을 자동 복구하지 못했습니다. 의도적인 revert가 아니라 이 최초 통합 커밋부터 발생한 누락입니다.origin/main...HEAD와origin/main HEAD의 전체 경로·커밋 의도를 대조한 감사에서 33개 우발적 역전 경로를 확인했습니다.4825e4be에서 9개 이미 출시된 패키지 버전과 소비 완료 changepack 3개의 부재를 복원했고, 이번baabf698f85d84f9c7feb3298f093199787a259d에서는 pinned main11790bef의 Vite parked-forwarded-CSS/후처리 restoration plugin 쌍, RSC manager가 추적하는 서버 page CSS 의존성, 전체apps/vinext-rsc-css-reprofixture,playwright.rsc-css.config.ts,test:e2e:rsc-cssscript 및 per-file/singleCss 양쪽을 실행하는vinext-rsc-css-e2eCI job을 그대로 복원했습니다. 기존importedCss.deleteforwarding workaround는 제거했으며bun install로 재생성한 lock graph도 main과 일치합니다. StyleX·shorthand 생성 경계·JSX import-source·타입·lint의 #763 의도와 나머지 204개 의도된 경로는 변경하지 않았습니다.로컬 RSC e2e는 CI를 unset하고 CARGO_BUILD_JOBS=2, 전체 자식 프로세스 6 GiB 메모리 watchdog 아래에서 한 번 실행하여 29개 모두 통과했습니다(peak 1.93 GiB, 종료 후 자식 프로세스 0개). 실제 훅도 CI unset·12 GiB watchdog으로 통과했으며(Bun 6,071 pass/0 fail, peak 3.60 GiB), rebase/amend/force-push 없이 ordinary commit을 정상 push했습니다. 최종 CI 37794943560는 정확한 head
baabf698f85d84f9c7feb3298f093199787a259d에서 success이고, RSC per-file/singleCss를 포함한 모든 check가 green이며 PR은 MERGEABLE/CLEAN입니다. #767은 #763 고유 커밋을 포함하지 않아 draftf01f04cb그대로 두었고 PR을 병합하지 않았습니다.W62d 최신 #738 및 main 통합 (2026-10-16)
녹색인 최신 #738
72293073f47146bfed41af4cb1bd049e93365eb7를 기존 headbaabf698에 실제 두 부모 merge575401fec821ae60064a0321fd12b8edc8362c47로 통합했습니다. maina6ecc125와 #735는 이미 포함되어 중복 merge를 하지 않았습니다. 과거 ours 병합의 내용 누락을 반복하지 않고, 복구된 #747 RSC CSS 처리·9개 출시 버전·lock·워크플로와 최신 부모의 CSS slot/capture/marker·theme/HOC·readonly ClassNames 계약을 보존했습니다.attrs.style객체 한계 설명을 현재 계약으로 정정합니다. 이미 main의 컴파일러가 HTML 속성용attrs.style을 문자열로 출력하므로, 결과 타입만string | undefined로 맞췄습니다. Reactprops.style은 숫자/문자열 CSS 변수 객체 그대로입니다. 기존 잘못된 객체 출력 가정은 이제 타입 오류가 될 수 있으며, 문자열 정확성 및 객체 거부를 새로 확인하고 나머지 부정 타입 검사는 변경하지 않았습니다. 새로운 컴파일러 거부 정책이나 스타일링 런타임은 추가하지 않았고, 원래 #763의 styleOrder·잘못된 target·dead prop 오류는 유지합니다.4,582개 통과 / 0개 실패, fmt·Rust 1.99 strict clippy, 스냅샷 후보 0개입니다. 새 부모 fixture의 등록 호출 2곳은Result == Ok(())확인으로 기계적으로 반영했습니다.6,145개 통과 / 0개 실패 / 함수·라인 100%, lint 오류 0개와 기존 경고 9개입니다. 실제 public dist의 8개 React fixture와 plugin-utils target 타입 검사가 React 타입 18.3.31·19.3.0 양쪽에서 모두 통과했습니다. 기존 upstream csstype-extra의skipLibCheck제약은 그대로 명시합니다.97.71% (20,015/20,484), Bun6,145/0/100%, 전체 자식 메모리 최대 4.898GB입니다. Windows 값을 Linux 100%로 주장하지 않으며 최종 새 head CI를 별도로 기록합니다. LSP는 Rust timeout/TypeScript 미설치로 확인 불가입니다.W62d 최종 CI
최종 head
575401fec821ae60064a0321fd12b8edc8362c47의 CI 38907604513이 전체 성공했습니다. Linux Rust100.00% (14,350/14,350), Bun6,145개 통과 / 0개 실패 / 함수·라인 100%, preload 회귀 8개 통과이며 publish·benchmark·Next landing·vinext RSC CSS의 4개 검증 job이 모두 성공했습니다. 실제 checkout016ddaa737befb154f0eeeb1e651769e8aefb07b의 전체 트리와 최종 merge 트리의 일치도 확인했습니다. 기존 컴파일러 거부 정책과 부정 타입 검사는 유지했고, 이미 문자열인 attrs 출력에 맞춘 정확한 결과 타입만 위와 같이 정정했습니다.