From a3600071dd434b3d8306e928e5d2f138b67b09b2 Mon Sep 17 00:00:00 2001 From: jindongfu Date: Fri, 26 Jun 2026 16:43:48 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix(branding):=20dock=20F=20=E5=86=8D?= =?UTF-8?q?=E7=BC=A9=E4=B8=80=E6=A1=A3=20(0.82=20=E2=86=92=200.78)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Scott 反馈 macOS dock 里 F 仍偏大。把 inner content scale 从 0.82 降到 0.78(约 -5%),translate 同步重算保持视觉居中。 dock 圆角遮罩下留白更舒服,缩到 32/48 也仍有识别度。 - logo-forge-f.svg / -inverse.svg: scale 0.82 → 0.78 - regen 32/48/256 PNGs --- branding/logo-forge-f-256.png | Bin 6877 -> 12858 bytes branding/logo-forge-f-32.png | Bin 2631 -> 2548 bytes branding/logo-forge-f-48.png | Bin 3578 -> 3546 bytes branding/logo-forge-f-inverse.svg | 2 +- branding/logo-forge-f.svg | 4 ++-- 5 files changed, 3 insertions(+), 3 deletions(-) diff --git a/branding/logo-forge-f-256.png b/branding/logo-forge-f-256.png index 9942b025f7c5620765866dfc661410eb80a9134c..caf7e6d0b8d64ac4cf8f065c3ae715ed79171ed8 100644 GIT binary patch literal 12858 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 KR+WZbDGXWdXp)0WeLKbdu_QR)5 zQnp#zaNVLLQu!xjctds!+FXi;yMAnuW%5`bDCKh21zio`CJClhA zz-fmTL-npj*Oo-1G&O9c0+-#SkKDcx0X+8!p4wKg%Gb7OrAsN8!?W9*`pfnd9oVyQ z%1W_tfewOur8+gBT_;~6)Q?0|{bC8)Tm-kLyAaIW#18E%)%42%?E6T%~i`T4zD1Yg)HR!l0Ue?>Om#I40v5!&(z;o%1ed_gZ z2L*0!%aRUopemFA=Ka7G^?CT`_(0jgE)KvYw?iyZ=@PrfeZzYgZF8a65vIzsJ4^5I zaUuxo+~EU-@n(F`f{*2M`FwRjSi0Yif-!a(R8Ly0ZX`+^@Eh0r37bY!H&n+@QSK=! z`tacG)+zfm%MPk!s7ZF?lmR}&ttGwGfuO*akxeER)_!;cQg828Ypa`lDkX9P{HS!F z+PSghN6y)&>w&hzc30K1hwf;%c)A<3MvxcLrDJ{N-BKjGWQbG_7X^lL6=ZE%VxF#5 z2-~g0z_`oIXh$lkD@LD3Op?s*;#4TO)48w};zNUhXLIEXez-l+sn-z5j{=~KK{kh% z{a7Qd0Kl&;)?@bTN8|G3#!X3RB;>ksV*3X^;D74}FKgbJVMl@aQ+?kx4%K&i2v@bFZ_|SbkJ(BpeG>lJ#pZ^g^kpHxUN|apV%WxQC&sgR= zGAS+3jdLylfI=3*8&Pnm>veI&tM6ifCZ&I-BmTBHz_*!vT5jNS`gUQ67r*Ns7DCH- z{Bi{bEP^9##eD>Fu5kjP=KpudZmNM0FB*j^V5B4L&<$OJr6Bsfo>RRJ> zWH0`3zPQeh_YzShNe+bwL_ApRpz&N}9FQI6Wdq=5s{)W4bwNPtavh=R0nUjI4aruV1bF*8 zj52N6>GUZ4;A$k9W@|O!eoqc}NabAkQ64G2VRVQ5G(1&yr_6zFX*P+pBB7}Hs^ z30K@kVJ_5%Fu$Q}EHjJ>wHq@ z`-RU32+ZguT{?MZPU3R&t9UyRbqbCJzb32*kH9#IJ-OhL8|cLrWgJWh4+g23*m=L-e1mJy_4p~L%d@J zlsGJztZgpxbltyc^73I3P^@&49T+fo{jWWIZ{||~z#b6}5RER`jT7o>=*Mvb!)Fj* zYnhgm{s#`{I5t3j0o~rQ(*jU=`7UG-cpgir=`Z;+Oi(@x-HOKB@=&vqp93m|a-iaW zCEga$)Tvx+w5KQlaN|4-pPjjMG6u)O{N4Y$bxN7Q#M! zfzWy~Jg1JX!F3QijyG^Qk40zNenNG@k3)UOtnF9U(&^UwXSuOb$qBZDI*$J z2S<8dr%khgk#KR2_hO6c2HX|c-1MtT}i+A;4+bu&&oRuQs-Bq{P0-}bLm zt2ft^=eNF{rW7TNt0S4HP1E0fj84r=^8YhK`A1gupA$cqr@%mL{cx~%#H5z7m~Jow zS9w8q`N5q)QK}mvIcVnl@3!JcWL|eWjAC{odJ_0TdGi&s&qV=}A?Wi|=HFG+mN^Yof}Jz8~PMNMqO*d3rz4 z7mFz+@@k)?*Wf(+0uqD93fSY+YX;Hmv3q%8jfu4O!p_fjJ>%_*Ro_=X9p5fIqIX6Q zeqMSA4T}|o2+Y4e4YXg?J@=jZ>x$=V)suVo0c|ZD7?blI4IB93ghg;bubez!9N6$A zep;P_t~lV*_=o=HPs_k(PYj-cPt|(;TjGz~5>o7--uk*on= zd&mY1sOOCOzsVSDGSMA%;q?Lmiz)^5=ysgqv+K2Db;MdCwg8+qNumQTv#e=5<`Pl1 z`Aw)Ny)i_3X;gH-PrbQf7S(0oQ?Jaonf=|q6oov?jEk#-8PZt4RK#1=5$GV`Qy(8G zz@6lYF>7H%wBT}L{+ye^(;X|Vl&Zbk7SNs4)I4R2%7WwI6j=o;Op?Y3P6N3aNy)J^ zph{wEHRiL9Zb2>~rY3{lHd1GA|MvQ+<%r!6w8&WbO^ ztIcnvqtk?RS(+H^MQbV}qwM@JQK`*c{QfqO4`U#jy_$uaM^SuvW~k70huNxlT6c7G z{+D2vfhRS*PtvJ>Rt~!v-OK8XdGzDq+I%9Z7xo<5 z@n@zHv?a%ilKLcFgWx{4m6u^8btIu{H#^(BTx>6w3N+n+_`v+05*?kirt||@9;^55|q^gGReqE^cvRB^*%R_mtMidGy`Ps-vLD2%K(zN~CT3D(iULal4a$k<2%s3P+%e#?qA0< z|2jE$y}&%Q1()vX#YDFf3HC*|(eH>H-~%5N%*-u#*Hnz$CRryL`Jg)^i^exrg<3{^ z5j-GPoEu0ZHAf#}FS!;5t!JcLUkfQC=5N~{N6<&6VH;X(z{XDi7!yQ0DZp7hkX zvvgvT=o;S!rf-s#$hG!XO}k9K%W9OJmVA$FJ06%R~h0>RhUIb71j0BS{md}X*}uQ zH@u6ZijjJeVYWg$WbF&-Bdc)_$`D9|I^XEU!5wmgk*tw#LS+*U1-QgBxwr_qIpNK{ z_vevqCsrmL>MW^3dEbUtHm)F#Jz@5L+(O+Cle%70aC@rCRPLBES5<$Q?Tn;C$%V)F zC#C71)6!X6lrTymnaPW^ax{Cl(qSwB0xZprgKAM;=RoTu))8{w?0ay6exU z>KYNBGOql+UlAo8m%|yl6a_`!=2yYz9QvUb0gOXICerG&`#HpY@yAbN8Wx9@YzLu7 za@M-u@q2GF1jMUO!qrd5q!}y|N_Z7qsPh zC&@N4H|G5osTZ0IqMY&lzDaL1@b&F~uJWB`(wowiUO(2|!)Hc{ zc}sJrlH}PxF!e{XWhk&f4$7|T-HBOnOvr9Cp2q{|$*chN;+WfBhzl4$4CH4C5CL|=Z zrHH6_G9v35j0+a9UtdMD7mXLj#_BSWmM?Nn-qn+L7n&w@i7M0Y4pIyP%YIllIPPDA zKZ+KPVq|_jPoVy>HSxV3@cW}-gW8`>Db#CFdIq@kXzGCCG4$`ma5NDL6rdC$(Hhhf zovLb}Y+$@e0XS?9{zVbOHTHLsIYtxm;e-g@PYU2W_WYH4o;|FWnw*?wr$I4Qe^V+3 z<(PZyTN-~GU`rjL;H06H)w66XG}0hloz3Zwj~yo|?g$Y`i6jFpB`6(!>VxXny| zXAv4sAYe7lnq>z{D*jBQll4o|yIGpm$`dp2RIO$l1VdW%<(sYS*q~sk1ATw>r-PS& z_6M(%erDOvim^JaOl!AK2H$AV_suKX)YQkPGyNQAr(cb;H{t{U+D@)U>8`sbt?SVT z0v2K(^|a&MAi;JD`Y2ZZ7dDsl4_dS)!wlJ>1PH-U^zL=@&~K=na+Ycf;XHbN=r5?@ z{MQS^&TV!;km#}nr9$}o_BM0PthVC-Gykk{Lv`%!A}JdRb>!RMW_4{69fy_Ls@TV# z^yFP7b3%KU(o^-yA*lwW$_C8*s&3-zw^an?{RBd{fB$@u`$&&uv7*F#`J4?3Maqxo?i+T;&@ zACE&15Dp zk0{o$kGbO5a^};A79-VVr-q_#K+qHVglp%Ze9Nw${z2PM-C(=Lz?eKwuQ!A+52F!+ zVhv-`5dcb$D7 zPlI_QH@?A*cJ*|9$uVd%dp7#pr()Yi%xBqfe`^0MIw_6*->|e0))o)@D%YuD7(?tg zhW_KHwtMFTpy*OuX^S&_ocYV}pGrK7s!q!b43Gr)2f@a0o|yAj-yTu({HcO@`K>hK z#+}!P0T>LN7Jcuu9`%Y2lBO28a?|X>IVoX~L1yv_v;1Ojb^nyb+F$4%^Yd?ExKc@Z z9b+rj6vj|f>EH|Oe08c^cwo{Aq05%F9f(XJz()r8RKO>{p^LjVL?2>RPyeS7v@$?M!t!OOe?< z=CkgCo7lQPfpQ3bzumYJpH{(Yi;uF+2$(Wf&svB73w}=*E-+J@tbGGP{v zLk~Q!euAzbkO?|>Dah?gkh`wyb$6%&Csa>pDXD5Hsj1nhY3QnI=$_CxrmCu|sw!{n zZuCDGuzqe{n6Uqw!S3M57Q`U`_Y6T^Sogr7D_H;kn}-){L(UcChud5V3dDKny82g-w~k&Af2E=70f7v^RYbf^KD!;^QHApTKX9K zbA;92_(SsEkjAoJ|I#?fE6B$k`T>EK5)$VA?!M>!u6wvkOyH9w{%W0{7rsvYIgUJs LKKtgh%gz4+CIT-6 diff --git a/branding/logo-forge-f-32.png b/branding/logo-forge-f-32.png index 4a387688977a9155ed2dc41f9f6b5b8330c1354f..cf9485dc99966cb1e01fa408961ca6719f8e1e58 100644 GIT binary patch delta 2404 zcmV-q37huE6!a62VkHT1NLh0L00LM500LM5o5sGg00007bV*G`2kHhI2rD9H>^&-z z!3Z3GGB#8&I65>lIx{pYFfckWFds4YUH||9C3HntbYx+4WjbwdWNBu305UK#HZ3qV zEiyJ#FgQ9iGdeRgD=;uRFfeXxPT~Ln04Q`tSaf7zbY(hpX>Db5bYX3905UK#HZ3qV zEiyJ#FgQ9iGdeRgD=;uRFfciJZ#@720Lp29R9JL#c4sXD9It+I(j#W{cr=ec#Wo?y|aNpL zA}`7;FSDYYVS+Ud9Mq)8dT|=iVCRyLVB^I zxOH|EM>djZ|9y;U^-hi;9T_T$j1O9LTHz-al|GXR3N(KQw@E}nRA}DSnR#@T#Tmwb zGv8g3+&~C4fl`qWnzRK2S}`Ds9#m*7r8zzEw512xWm7614yFf-8iZ0gN?8jULLy7U zCJ3!0B!ogtC<3yH5G7PXLe^TckcN=lnf~#8H-@Xog;|Gg~n%0E*fR>o?RxteZb^nC%hW?3CjQr za+t|uJ~sK~drj_@c7rEsi$xnNzeyYyEIsodHaYntlU0Q6`idUm%XgX_7=4omwY6{$ zyyNhSGc3yFW&T!qo=HhqGr%*|x0jgQG~!n*4s3sGg)Ky_#V(TyGEI)Fm*xl08vn{v z|E>%7z;*rCp4L*I`k^%g{(aOk;C`z{ds*AiNF#1Qp>Q`Vw`0c+2*fQ!>7}c%&YA(9 zUA+l6@6wJP8|d9SO{ar;R1H-zpbTYKfuNkqUj^L;yHp3&1>8CAgYIKrepjEVbLw+Y z8`OVBwFT59HCa6iG|)hU&jxtu`oSD)6Kr~&`8@La@A@BlH`sIRyXB9S+Jj5107#p^BL`(%GoGu3SM3iM6v8`LKTR_RD~wjE#`G6otkU@Nr8*na_8^Y(@9 z+XB>4M;+k8<-Ov+22B>(Zd&z5BNeCP^ivQR5tto#6nZ4|92WL3@ayNF<(~(#n4W)n z3dpJAbrB6za?RuWHzEKB4$zDB0-X%*OYSoF-^cE$+V~po1 zU=yiqymcM7Z2G~a?qI}co=!OkMu}gpe;K3|7iHI`z$ej_4cDqcDsmX< zgR!F-t;c|CX@J8u9)`U#JobqZ&`Ey<{ioCOAUDV~kqhON&o3VbI#T~g-wnbp?84rf z22_d)F$~1j%Ci;4U=PfAH)S)}1C3lU9CiidPA}^W8&>46u6_?}!{ubL-iLlil1Drk zgNy{@K}h;|?VHJaA#h9JBd$M!zMwDaB)C*@$?wtx5JSZ#u>^49Z2CjrDh7YRRce8H z@n?|<6v$8HTtLe1av;bw`CH=($d8N2kn^4Fhz!uFw^b z-!VTZKNLt{GqFH0577z4F|kA34YHRElUr|JL`w{C;0HL^sOJIU>UZizAY7E|0ia6V zz1{1^Hx8{i~`mq0Ifg!q3CR7zM}R0mKY&X?>bAfk8O!OQtDWJR~!+IPSx zmV?BcFPrPVYM;)Ad-9{6ye9-6xbVQT0f|5#s;GvoXSNR577H0A8Kr-jm0*M$VMe!> z3%+v(bW=0kpMqZAz2Jx0P~T;Ob73Ti=zy?*9GF(5HtR=V@?Mq5{XiI(X}(DnQKXB& z;c(1${0|&s9h)5CU`#juV2p;MS%p=FFF?k&j9+HP-g)6IH=t3(h>5_UhV=TaAj+!p zD=I;VhEUgUpz6iC1C4(}pk_jYQZqoT6nzP$>93Yf)QLnx=cAp|gXcnUdhnj$eIU+@ zbK)d4e&&A1T>`{XMOAw=pj5mjLqPtuWaarQ6gT%0dKH~ z1?|ZIH@)Z&{6wXxFc6J3>%KS%!fCk0n@|~DkzRHjiff7wRXf49NhXWtYuJH48 zz7k2B=60aBQzkxH$k!+s@VwQ*&wQ#k%{%6;=gP17d#85ytncI$_)>{UAo@Ew< zJ!bvlds2VYN=oV#dZSJU%K0zVAYK;JMI2!Gl%i@aceW&Exi9!;c<(n>ymeOk zf97bD-;On$PCq|?&y5);Pn%pi*yR2NCU@$61L0ii2IZ{{?>M~JGvafeGdan+2-4Y} z?a9ius0gcqmA;I#uFKcVwK}S^>b+pKYcJcI6^F92jzt$uUOUaw(KO;FyI-@~`Trl0 W+QiLWIA@vw0000IMrA1Q=e_ki7r^2t!FkK~!ko)tPy871bTbKfjsx zc-dnTVgn=~!ZDbzB|xBfFs*HmOSD3uAP1v}M^UMjrH4iqE!J~zM-)+tpipg5(YCf_ z321^A7eEnNR3JbT)&L2Rmyq|~%-sHQ=OI4KNeI-W-+w-D-ha$pe&2iN&dmKuLPBC< zQWEXZ3i2IgC2QWfTC-rbW|ujdQJra13Le%xP@uWy_nI%?p}FyRM1dG_4R9q1nj@dk zoV80c^QlH!RN;cH9J%At`2N$CgEeQ**Ial?)5?!9VAM;R3#Mr%MmpA30&Yr;^fS;~ zb83a=bDdnr!hcgeJmO~puZ^g)?ZewEuK|)x7xMf;8S4>PyP+zNW)HmR~>-@u6 z3rZH|-`3w~6{15_dsU^{ z4{DWqQ9TQ?ga;S{?7=1))ZeMV-(-i*)ed&>6_}&VQRZ;S3T1tMNv# zkp+cghJXGF1{DrEIIt5~!=33)4cKvN4^IOP*ym-y^Xhr#fzRu6+8u=aUipXeQz0do zvOoFHU_5F(V$6gs8C!;Zc^r!R-gaQDK+RujN^0sr;w4U^n%`Wc0ZmG+P-|5wc)i}4 z-XXB`i&wWVx)!b

@kj2lhZK%jyfvra$e041Z$r0!}k+@Z!M(l(2?1V8_{)*d0Ly zRY*Btj502g42xdt*cm99e&4?~z_$j5qEw#x~yoPxCJgTSheTfT*if z9XOZ!Z$23Z_6z<;PL@F^CiIS#4D~PCdCuM7T%ihBeU=eTse%eB!8m4A8A%X#Q(S&r z0)Lo8%)w?qF!GFCqX!tX{R^ff*%U34Nz!4<1m(s#r|}b+a0(3IPvZyddkORNe!-kKNC{3T&}GcB0!dKn{KB z1ClGblFRu&Z7$dVhadqU#hK!i131OjN??^e%gO|6g;iv)DHven4E8xZR-M;eW6E4gB5x>HfhGs0>sDDnZ7{I2qgG-d;ol6aiHa zbR|PJfTOyX=3E1icVDkV;Ol+*8mk0GjZEu!;x0J$qlU5e0+4>pWhxLLKmb%HmUBDg znR&|xG(gW~*;&~MAUVeUk^{>UmQ8$fCd{+uO?hD#NI(J-0DSl^=KJaS8-EaFFJA#O z&5@=J&WHK$k6Z%5CvMEXu>xXjtHk~-6sO6(Oa`7Ik5u3^ABEq@0a#BKqk%usmDfR~ zs+Uv}c&a_KJ@t_3&75$B0dk%ETIxVG&_Dx7Vrv^ z{T>9L3w>=3f$};2>QEX4N1df=tevc!ovD?B-6^$UhA*}k{?LEHK_qqSJhdi zfK?Q_Ep$IHhgVqwG6@3%h`)Hjx6A+!9po}#v6}1r4$Oj*YhKL)Pwt*e{@E33pRJo4 zDuM|!O5ZxP752^dkGFmb#&jv+y0Z+J#xykpvQK2coc#)1sd~)qv40VmK^bMRv3OJY zrW=46EMqbdODwS$H~5wr5SF3`13@MQuWj%G3;f4UOaL|CUl@8DY8tAGjz0v)5^4{G zo&w`?HgfY><<~O;1!ZH(iq_o;rBS8tl*Iv;6C?<7n=F){fw|BeY z^jDyamRSIDy;#7d@_(TKQYoFKJ4mjyml!aTq_0@brpucRB{{R-%9B)A@ZPtL(98w2?;l^5{98T^@d%W`(aDQ@T`|6C3pgODLs%|}j z?oqeIj0HUEVSdxvVK%PFTcC;UWuP}5xdiMfj@K!H6-Uc2tG)+L&5wU7*5}WiSSaDVqS}%r+Fkk|>$J;gjn%iflQNt; z3#X9IsJ=P1{vRlu^K=8R@oUcO<{A)A8isRc;S>@vE`I~99YG5f9&tDM>zvel-hC-w zxjbT73MUQ2xwFF)+!K)>pjK-~)`&t8#}Om`XrbogeKhTzZfYz%(#}H7PrGSu+N>F$ zuGwk5W>j8lN7{%?jXL+%EiKY~aJ%NBPc(!7a<5PPFGJ)0MSbZqKmY&$C3HntbYx+4 zWjbSWWg%g7WdJfTGBzzRHZ3tRR53IszG&(ReIx;jXFfckWFb)9xBme*arg~IZbaQrRI%98b zZDnqB000P?g^o=M0x=AQ_nzWiU{qX*Tfuu|n#@?7CM7Kjp5AB=;41L)y&qgnyJ$yC zvL?Vt)y6NLh0L00LM500LM5o5sGg00007bV*G`2kHhI2rDBI>kYgB z001R)MObuXVRU6WV{&C-bY%cCFfukRFg7hRHdHV;Iy5snGc+qOFgh?WA2Ie`0000b zbVXQnWMOn=I&E)cX=ZrlIx{pYFbFU@FfeXxPU4f+3?F|o zHdHV;Iy5snGc+qOFgh?WIeBkA0002WX;fHrb9QGsV{dJ3Wo~o;0RR912$_YBJqp4= z5QTeB@k%WsAw>jR!Fx=0$7Ip$$nKzEmC{1-5<$UhNeXY_Y7SsEe{bIVuoAEA717X+ zE%N!I0C|hRnMr#NY?n}1H>pLW4QGER@eJC0XDeol;dXuB&#&&X#?U{9{_*Or(;_d* zEHAU7oMD1B4jj~_2t?%;&V$=38Au>s^G~6&2ZeSCf^~6EY8q7OoQevl{z7`Oqquc; z6h}6aX#ahTY4uKyARQShii{6hbXwsj7L`5#001UwR9JL#c4s@F5005KE4IzIE zok>JNRCwC$oOygy)fLCT_r00SB$H%FNvMXU3ZxQ>1S^7IX)R!JVNp>l#ag88N6R8= z{iLOox&jdp6cF6Nphf#ZgcgGf0m>q)6+vuhOh}Nhlr1D7lT0!*@AQv%U-&RBw*8o4 z1o{2*%YE0nP4&|Nm~&?^cO)zDdLoDuKer*E9p?2Y%Eo+C)qto4?n z_rl2)HuoCjRMa!T*<7a=>I#25^?hf=`{MmZ=P0zZLY+-1y=-ooZF9i^Jp&xC#@Sq( zaACwZ50XwV_Sc(q|1`ap-xlrFT-aP=gOE+h18u&&jh+G5%#5mdLGiJH`}E>9qqG5> z0O~x3LZLv$%Kh>HSpT#RTgSmVVjYtcU>&mlX&nRUB9}`ykV>iK#HoLFu|ez6dI^eQ z(HaaI5XcIQ2_(bg|9E2Lq<*k@{N`_O$pI5{jybK_#A>>F?iYqg*GNyRFJQ&i02ELlE5KdjKJI@mh4g3A$ERNfMx}Ag zI0%$bLJ1%U0>(|o4Mty>aNmT`#CPGjeRGG+TMe%LuDz~Z%`cwo%Xe`GtYtkPfNOz! zfjb{MEa>n|hrW>c`^?dq4?|>OWPW5q%$|MW7!T?GEXrT0R5k*Sas@4$L5?wuVH_mhl$e&-9dZuk9PJtaPp;=d&pjY>%Pq}Qr+{&h&ssXp4Gc!0mx8U zChvo4R6ka4L(LCshSdB4);+)OH|swF!)LTMVtC{jI|G1V0Twx23+hs)c-ED3=B~oe${^rQZ!=Xh2R~*(ZOjjt@ZTQPiKPR zHJ&gQ1Gj6B?_TcYW{^=bM*4#FwpC!Q1mh;-Mx*3QNf0*!IB*Qn4*Ljd5JLgfKrRE4 zSf|DS51IS9&0QD5eeBed4lLs^XDi zvOpHea=7?~izi-u84OuEq}!mjkhCPJThbIz{pd$usOnL*y7~@SocHE~OS-_(>yQ5I z=pVtzHaZy{CE<5B?u$Efwtzi(Z3Ri`zKwYjb zS6zS`8N>!~U+FG$?*WP^qBP!WKN|)BAE`i{^pOzYi{ym{0DhS-vjM*xl@#CzZSjBz z?@$30QA`yOve)o4!WqI!^Bzhm1~o^`QL}(K%;s58`RX*KWwT40aVeP-$ek}}19^7{Dt&reL$Z*d9y3kV%gh0DMQSC;k{Cnj^CvF3_ zvV~2+mE>?M5$g}h)SsM&P-g6^-9CGrjM&GIew6~h~^yP4d`fbnYA+ZgjJu5tP`^|o z)jjc6`zf5efmo0rK~OW)(`uT1_-X$alrs_Mm!7< z(f)mG{}p+T;B4#xrhb3QEO`=uy^H{m?NkHs3$Z_0eM}qXT>q5)|3WO|0Q-BITIMnx zFcNnqwFbB}GYbIYC9^BwEt{~fJ5WR6fp-9faBsZTa`q6rCFmHt*$pb$m}R^OynIR5 zjvWEo4!*P&Aai27RX|q9H#&6#<7Uqa&y^sR@;uMPTP9^<817_e76|ELfBOj{^tCz;S=oZMDZi^;9R-`IcGs z1#mvh`l&9z+H8M48yNaq%t`VJczb*HB-{_*c3o0%aXKVya_w~OfRe{QFFe#Ast4At zsv8JugL+Lp287RRFUdLQHM9Zh#@pq@$<6*K4{lr_xiUi*f%Skammsi*3XXvBQ`JEo z1XZq9s@Xszq39IB^B3VXZGg{O+ZVF-$6KVY7e3F`dw_qF=h}p?%@{n(2%TQs{Gv91 zlVI%Rxt_y^bYE@g1dV`B172LI4d7&U7gj_ysE@bA=LrI*7uQ^CbKy*#B^j!;FMO`O zpd0mG;N-bBrKx(jfd2=znv-oheAwo3uh?9g>txDDVT5ilOQ%&jd9F^nWpvix1w_Fa z@p@?w=uCh42iw~G(#uXoClHHD%5zfc@7J62q389DXvIfuDqmYf>p?5t8S#$d=kJZG zXPONS4GqB{qJOf$$>Q5$lao@vNgK*ZFmCfVn-j9nAdnMioNp(aXL>I^fSt|t{cqar zEH!_gYO|E-`U(2SI>JpOUmL>GhH$Ryqlx{W*<4C+z~&vgqlnI~Ouf}+pHA#HbKIMrA1Q=e_ki7r^3-(DwK~#9!?VNjfRK*#_e=}!y zvzr?Umk3yFB@_z^QAqGHEl5E`u$2NLN-GtWi-M)JO6>!cDzpj&tB6!Z5b9$^jmRYm zT0j#-!GOjpvU{d~%sF6|D%xy_1m1t%oquy?&gFaO^3CjgM-Ybi z_!cb^6A@NY)j#X}ljf`1Y99W$=03+Y|M2gc6V_=KD`;LArRn%E&4>DE-kPR)#ahj8 zr)u{4!^%6VtE;Mx9wlfWunlb+-msFP`sFTdt@#gIG!N;axmDF^9@rL8aCYNczK8cG znm1-?&Pdd}seg4?#wbgOfcWMbKjf#H=UT^qyt!cy*lb}}Sfl>o@`IWmTA=yqg_?t2 zD}z&7KfcEB&sYUcF??A5bJp-S!VHg3Q&I=b85=cEJYt>SZ*iThU(W7o>>8ic-8xYn zc7t=>;HN{h#b0W2=W3oYRr7VD?Tl6zWDl-Sjn#a6a(`35K{JEh<-}^rF4KJDCsqrv zy&8LPJppyPE1$==LTvqHdN<9(d=CA?b|+8qYR-2xkwu**=V8sa{K68z_Tx{W`FS-G zi3F9aa@98ASr)SdsH4s{3ji_15Ch!9B<=>$S#%bi0TUCm!B63=pG4O|endAZ!k` z>>jb1t6HbB)n;%MIC>bB&|+2Gl(?NBo{$UWe1G5}mCbH2OH@y_64WyGQVlpUBHHfe zGM5a9@Z+O?EP$*D$tNtn-ZY~|ZYM2Mc?Hj*->`ah};tjD2 zlz)r+cn#``&3hOPT+5s45D;Uvj0i!kVJ$9j`kcp{pF;BLjy*cIgQ#6m3!=6I={!sd zpzs42xyA~)5faK03R>)k;?i6(fZ*COE>)5R$nQq*~BX7nbfmQ z4>xqny!^8()9%pe+}IxrCdU2WGl? z#QX?CrKU970wy3pTtyOYpf?xbA@Yvz$to*x1Fw+DtH2VTW9k3MFA+#!4|~`Hs(+kz zlmn$mx<=kijUj-3;UZ=*8q^2JrygAl46S{q=0Om{LxaqGpabB8;B#uJnhHUeIbBTv z+TcEAV&4#yQ%(iQ-^odGJh%#6J6#`x*ewc00dR~ewDYY1#6GcC6oQx`XNzA0F;ox( zh*MSrzQ+PcP%nrlMFoi8ZvOL1KYut6J1;xX2aF+PieG|UBB~e+FF*BZviAa5_QbyQ zsuYk_Y!rh5M`Su%HHzEStq{FDdUW&%m^5?Z*1M-cmnXW8?Xnltbn`FfLx2+}PLKoT zNI44%Wnt0oiQt>|jb&mezK{tfw;LfchsC$}|$C^oYL zaN|aRx<&nrk#K0rq2xnH!SDAM`%^%y7OTYkvq=C!03YCGy>I|YGTtZzQ0@5~K(wL+ z!~&V)7yyn8M}K1u7%vJ#jDH235fZ@0JZAG3C>c|7N9hDOH0sckC5r$j4jh~uduFo< zCx|SuTC4*(QjU;AiPS{w3<~glgEbh-rE-aU8i>Vx;#_ULoQhgt2)|@d<3CmeJ?=9M zdud^x+NX*@U8*iqDWIZNjEV>4QPCXemZP>wjs!_p6?V?%V3-9@_~rL+lj8`FbzNny9IZ&1q&==+&)PQrZ|8 z`QwrA-V_UtjgGe*D}bK#pgq*Q6bcz@XG+e!o2G-Im#Uf^jUj--1TjMO zQhA^zq*o5P4C=N_SbJA71m}hhs5=3#hy}RezTge!1#rz{p?^Lq1H=`yqA#bNldEFh z<9&!(6#b9r&msDy=;xx}1+_peP?;yo8}p5!#-osuk@9)Uhmc*IeIO^jsm*>8jU#{p zQkYK`h;c28+VuxgVh<+X3aTvla&Qw+#bN}wThg8jz|%!|MJ5pB__vx3UqJ^9P-E0F zRS3b2!R+8R^ndE-SKlg*EM5ohP|+bsz?E0 z%JxD6MchnrliIu<8bbhy0QE1fVfmkY*&<9SpD6K}ABhBAH+Sau0sbk>!-(KHq@MMtdguYRRn9&A*!oFU85pIim|*~74v#`X zRsOIe8Go>B_J^s5uLL7ixW#z17xYa6j8-AF7gqgfb>*7pVQJ~IxBqn=ID(Fr4g(N$ zpb`RO0)uLAgQAk6i;EV5QDEd7TbtVKjV%Cxpaw5cEj)4(&|2PTWC5t{^Z*cpxE$mL z!{@jS9A7y0JLZ6~Ul?K=r*}hVGmBl|yV}>+*MAT4{CSssybXAXEo=cyiZOvQE@m>w zAIK_M0b-7rBOY#Qv!BG-I}`Tf#}8tiSSw!t2Dfqvi)e&3oJis9oe4J+oEM;pabAEX zMq>(KFC`p7Z$s**x&SD@Dga=R();kLt$(DxSBqq43XLa#;tR?Ezt~72K#Some*th| z&VNNc0OJ3dI2EW6(|8Opl`Ygcg~$tFZA&3R{gsIzC$}z0ss-p;p0XDp`Td_92k4rY zvJvFPt@7JE4|L{1HSR0r&k;o24OJDYk}8n5$`xWd94(F8-TGHhKDw?_CW6@|Frsb% z$V?e9a=^bh;rTX$KnCQU@+weY;-dycB7bowHhDK=gbUE%jaed2#NY&0Qw3G#-N^{&nV($yc;BoH3)h?oFh`M;`J!|sAc+4gJj z6=R9U4UAz58L;JnkGt-TgKg@Q1I6i3_E=@VY6Ef;cD4F+A#C|zN1uIVKrXq~pMT>~ zxSHB5XAaih(CSxoGVaERT{#LD4p0}V{%RsP2Rg!zz#6B<6O@hzL8+r z)m*JPbDkxD9ocOM7@vTzsh_x+AS_~jrg~wx8tWSf#8~X*JiZO=8gIvh_0_a+ndTQu?TkiLlz-dp@tl~D zS-T%U`dD-I9?e(YtJ!ly*o|z3&-F3G9$f7TZ5clBq~<5KYn~CW*>8;jcx2euJEAn% z-!gdIiU}FDO|u@2L6sdMm#jH|#%U=4*Yt z!}-5&)Ov&FVb`t}{yYR;UedHDmHi(d>YVCBbeReb&n z!M#6aON+)50000bbVXQnWMOn=I%9HWVRU5xGB7eWEig7MF)>szG&(ReIx;jXFfckW zFepf6N0GQ36)`bXF*G_bG&(XgD=;uRFfdsa-TRU0AAd11R53I>Xtc=mHWeJe zmL90YoJe)W4mUi-dyY)BE+rBmWe$%y=_)^>TLpQ!fWWy`>gkR--f_Bt*6%7c9&pJ# s;3lzx|2jt7y4efV$A+1j-~*vMQU;6|C~A}Q0W=B#07*qoM6N<$f{6b}%>V!Z diff --git a/branding/logo-forge-f-inverse.svg b/branding/logo-forge-f-inverse.svg index ed8bf7e..987836f 100644 --- a/branding/logo-forge-f-inverse.svg +++ b/branding/logo-forge-f-inverse.svg @@ -1,7 +1,7 @@ OpenForge — Forge F (inverse / light) - + diff --git a/branding/logo-forge-f.svg b/branding/logo-forge-f.svg index 64c066d..117d373 100644 --- a/branding/logo-forge-f.svg +++ b/branding/logo-forge-f.svg @@ -1,8 +1,8 @@ OpenForge — Forge F - - + + From 9c4483a979742fd66cba61cd42f429f278a578c0 Mon Sep 17 00:00:00 2001 From: jindongfu Date: Fri, 26 Jun 2026 17:05:44 +0800 Subject: [PATCH 2/2] chore(lint): ruff I001 auto-fix on acp_runtime + test_status_chip MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit main 上残留的 ruff lint 失败(PR #107 引入),在本 PR 里顺手清掉,让 CI 绿。 --- acp_runtime.py | 2 +- tests/test_status_chip.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/acp_runtime.py b/acp_runtime.py index a62f7e2..b4ab84d 100644 --- a/acp_runtime.py +++ b/acp_runtime.py @@ -11,7 +11,7 @@ import subprocess import threading -from agent_runtime import AgentError, clean, _killpg_safe +from agent_runtime import AgentError, _killpg_safe, clean ACP_AGENT_TIMEOUT = int(os.environ.get("OPENFORGE_ACP_AGENT_TIMEOUT", "240")) diff --git a/tests/test_status_chip.py b/tests/test_status_chip.py index 3f83f74..c629936 100644 --- a/tests/test_status_chip.py +++ b/tests/test_status_chip.py @@ -201,8 +201,8 @@ def test_cancel_endpoint_marks_chip_and_audits(store, monkeypatch): and a best-effort SIGTERM is sent to the bound subprocess group.""" import sys sys.modules.pop("server", None) - import server as srv import post_router + import server as srv t = _make_thread(store) chip = store.add_thread_post(