From 62058281fb8bfa4f3db25109f8affb2b6d092a79 Mon Sep 17 00:00:00 2001 From: agentman3334 Date: Sat, 8 Aug 2026 12:00:16 +0300 Subject: [PATCH 1/2] chore: add sdlc-agentic-pipeline.zip for Skill and Rule Center upload Package uses forward-slash paths for Linux-based platform compatibility. Excludes .arts/ and .merkle-snapshot.json runtime files. --- sdlc-agentic-pipeline.zip | Bin 0 -> 159766 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 sdlc-agentic-pipeline.zip diff --git a/sdlc-agentic-pipeline.zip b/sdlc-agentic-pipeline.zip new file mode 100644 index 0000000000000000000000000000000000000000..ead8c2b87713c4b16a2e91b2b068fe14a15698f6 GIT binary patch literal 159766 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 ^y$6pvMPvU#2lo^r^I7Qa;+g+8CmEd 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
wMruxCC?d$b(DU34Wk>7pMp7iT z2Bj@}8Lc^VfP;%nQR%*=$2y*0sM}$sHX$*Ik(D1XgXC+@4Wv!j?_~Ay&JT0JF0y4W zpSX=iVr@VqCFqT)zInrzs85<+$>}hUHcd<>TYBAfb`4>A?%cB0tI3%+3+OYvu1$-D zoB57?9X2Bo04WS%Rgq{}M~uBed!17B!Bus`QV^;2vlMed-`*w(#`N1a z>JVd2xENwa4B4sQbcCHb&%~#dvjqqlYi7O0)wxyaD<^Zxn9dJ%HN&p@RB1bRsP!~h zuU>9UL2qhQi>|H-)~iYv1P}i8C4fF!gNvR9d2Kpv*avpt zrM5j~PV%ZiJEZAlXgaFdUvZ>zn=RFKiay@-Aye@XEz7Bc^zumt(+2GR@UP=)q2g&W zHO4t-`#8l$8$KeWGnoyrktA%Rww8(ts%(GRo@); z9qkO=^}jzyUB=gJ!6*dPry~rVxs!~lAnm#4vVF`CF)7-d#c}K^x@)AX2~L%8queuv z_TO6psTUX)h{j_GrQ_6ba^mu8>>>Ikl`UEGb&B3 zpWCzW-vY3(Ak@u0Aaov1tuT8>n+fMVbR8hk&$wIr64rKtzZg5>TO%b@aPlq;HyfJ! zQ4luW9IMNN#SHI%0RB_5PEL-eeERjF0{;3?fAJLnjz(67|1W52Zb)NiZf9&|ZevX6 zU~FRSU~FS(>`3Qm?Br}mXXs$=WNxT$MdPaPU}J7$>iDZuH>+LRY>xf;rsKP{s{jeB zPAkeb(&Up~m`J!Hr;-eybw=9^W+xOyLXH@85ZkOk%!8jNyGnfGWGW)GPO|<%84D&f zoyod<&1RY{OB8lT2}>(sq*LhlqmD#EB~7OIi6)s*K?qG;PBPsDZ1zVqf2_FVMURi4A>4r7`OV4IksErxdV2Yu|uaX~+(9tK1Kckw~#e zIqK?M?@E_7ohGFr4vt5SR10wnDMo6sEnj@)(4L4GD*jF|XrB@%bx98UgAyfR?(Kkc zj28jg9LN{3W*JJKSGerGee#1rRG=_V;0L> z3Bwq9=Rj2V;kl;x4*nB|Z9#6vD(NVFA z*?Zm!c5D$0;%H9zqa%btZO&53^g1K2-l$$%%(y9}fu);OW_3LDpffUJo?sn@q)nYF zk3bL{GxBKYyWp~urQ397m;`xoz?a2zE^WGm`wFS+=KRh<|DI0ukn5B*Nmnyw=)Wj@ zK+5~t_09d?i+R@kZKof00)I9_Bg+z7eOEbEp(QQ$jPx9%j*n_$CX z*y&9p9LDwQX(v*z`uxJ8B)KW#F1uJl z+r#`nkk0N>zd;7Ng1boY)YF{H4wjp$`1ddYgIG9GCPx%bzmr73uYb8e1>~jD`Hzg< zz|OG=FyfO+_zH|W0!X6B0nc8fu4g`bA_rch>5g~WSwJDK>Lk58(Cq!OC8sVI=C2SAo3|faFmx2ref}sIR>ndE zDHyfGB~Nup$35(F(mZbIAyI`U%6fHWPr&dj^Rl|6aHMyr!u{f)?W>ipadBNP3d&lF zVALE0mMuxG<4WwMB#Y+j1KO_Pv+tMAW55DmiiBI`kqGgbRp1#jYe-ypO3ibG&7nvt zLC*W)SYY<4wF~)_q%u~`9&-P!Y>+dYHIae8w*uZ-rY^FCyfQDaA2uP~NmtN$^*fEpeQQrBhvka&6beFIUAc%^ZBnIK&5>bBicqw9{JbUHaN;_LH=U{TUIdm+*Jd_C z#~3pjPM51qwr%%A@T>6pixg%(x#}0UdJ5t*Bjm@5DWYM}A~t@fu%giYa`K6t4_{9G z@Kdt#3qU`+dFqHT!d}poVxMj)KhpO3B@3I3=iboH%<5+UJL9_YczkdIX9LAC?R#qNT8Kc&DiO+}!e{?jsd~ilgG&RURIF zg(@99{X8$`Mdpj$4lY}m)2+us&a>#Cd8Cby0^g)h!ep{_w9}u*x`3JD2*c+-T4*?a zAUjBt+6L^khA0)##fuR!VZMHD1rYKRi&<#tN1kkAN>kwWdIK)@U{N|PO3u;N8BfK& z=Z(rhSKZ78kL%}sw03o4#xEV8K~^RNXJ5DN0<^CnlLezb=(?b>NL$#QzZGH0JX?sU z7@P(flSw{#zoqOu<(8sQ*2dSR-rXh%(OBPdw8Dsvg8EX9=Os@YGs=W8#%l)wbw?6) zm#Edq9BA$9Um7D)&TsS3fTwV;&HB#FKF*BedEK>)31oep$rCL!L+P1@ZxWY^M8nK; zPX*J6B0eL<)aD*y%=M5O=r^hFXqw?A&%^acm@!#4z6+OAaVB5-ks)RdOqghU8k^|@ z0%L7}?{_UMiBxxK@d6>8P~Ws>L-T90+8 zXFYx;W!AJ|_d#-zROXgkNv}Mu+t?FRkSl&kAf?w0*;g_k^Bo4PJxNH5QpXEYjOa3M zX@@jts$-&wnMovLp?%YxW8I~ajha5*pCWNI^9m96)LcgT49wFF$~X*^t5(EOK=(i} zh7{;RgmVYs<3qgIqc4@?XB+8HBZUdZygCFgOUnJGLnefZ!Fz->X)cp8<&`dR(`?Gb zTTTAf#IqD^?ybS{@Q+fiY@kq9gjker@tqUTET92|l*dAsp(jG%VC?k+K?lgIzV9D! zwYOK7yLAT+J9thw_{PS=#)$q27#yxB%F%j;Prz7*+JeAR?2^n7a+`y0`!sH)uS2NV za+6qrFBN0g=$Ahf%?~@=$?!9#?Za?#@YsEhgJ3~%-l@v}7SFp_X~vs}gDp(FtD!Zu zNoF0Y)}t&Z0aCO?7X`l`2zOd)uR%GOk|h$3>OPpRnT%+~VMsCLe!E81H;-vW6oqa>|thT!Hk7*s+HU4PAFNW)GIC!-L%{_EV-E99h zyN}uSW(>+s)-+&KRn~cDZ?)CjFtD>D(_6W_A5Ar${oIgPh0K6kvV6Ut_uaWh z6PZ7XHk?1y+-sgc1ZPP$weChA&PR@{pN;O^?UmS@h`jA~S6ZM#rJ3JcLeO{x1JNf`yk6H)5 z1>(5gH)z)Q@Xoflz8t);7iIc#J;cF2%xj-!qNo4W5*{boAn8F|(|@3XA=|2~(`xE? z)=1ilWCQZ?Q#@Mb!LXJcTP=Cn7-K*yeUVrzGgiSfPJX%bh`ISb0G|xWOEOX(A}ox= zli;{o`xkNHF)F(t3UrD-LNr>=;gm_H*IWlNp|Q`8GRf)%+Nn89)m9H_9DzFHM0y6) zlk@TL_T_kcf@yv|^}*Ubk3FU8a!PukSk@{R%PjZ^Bq*(O~*F@I%t&FvO@l=}0@B2nXn(wks zI>#0LC+`#q03;*50K$E${uR+aDYcPE3v|8Zhx0CT_PTgun|h(PW{|f$_*^yGZdcpR zvUHM3>ccBVjuXhyk@dSFO4vPg)hZ)WWz39a`+p7-qnCdSg?>AHZzur(1poKLgtfDk zlR1r(t*sS}qp_8-p_93-4UL_ZzRmAYk*s0quql@CT??_DFMv}oH~~UF`ITg78kn-Q z-9QsAExyh9C<@?DsE!JeCl6rkGKuII);_pn7~4R$PS;ogaA#bJvyUJ*HZe8fYI09y zuTE0@VADvA$jTTmU*4bulSuz3J5%B0V2t;n_x$Ge`WBY7m|BP}*_?uuGF~Gn7)4*% zL`TO6y0~6(WV*#h7KU!vZ~sxi;&b`Hl7Xgy5_~HQ!jhE2r?!Z6V8b?Tj*xZ<2qZyh zXx*@4QXs^UA*InSzhQtZg=@BuSJ!*_L>pD(T%jbs$d)%?5gGAK9(A&g+&OE!K=+_6 zr-tGk&nX2A1P26=`}X#$y_amrA29wtkBbcvd{lIF*F$vIeU#2t7dN|$gM*#p9;q;kwRN`gexXuM)YHcb7i4N|aK_Ap z$?F6~gH{Pg>io!vRO%zWHKO?O;l%*Bnb+@t$y^z;NU3aWIV+H?=_0JIF%etL3je5u zN@LfKpGehcP_yvjuP?5wq!Rp5s5biNTmH{Nia&bDK6G)FMf3+_So0BdlK|3qa@o{=QfULy(u78zI=8DjbqVpS~etia_ceSG+U= z3zT#%RkYhiaw(w{QptPYpO03ELv%I-oIM?j43l7(m4gX7 zT1LdJIU$CRr(iZxR7w0j|iU zfFD{o_}T`A9BkYJEB6GN)1*+nFh$78D>e2e;yDgE+iMsAcknh{y3VYJhO8tg&J6Lc z_>?^ibCnep2;^*Wc><|0QPAwz_~EBOBi+5LH*TD;G^FB;$(mUxUK6D|jRjhEI+9~> z<&~+PawP>1%3+4u{Sj6>!+HPoL5iT6h9(}KxNZZZR7UEbp4Ygc67&>eSXq*=@Besl4IQ__mq2iqa32~#uDuhzBuSKRqLnZvB@AojS z6LP?L%{&Y<^D=CapN{?}`>HqpHtw2}qasJck6i zRM3~dOr9nnE*1(AZAVE9$frr-Hddtmfqx;3>f35nD&pip19x{l&ks8zc{^em%P2Ts zUSr;=h!I1NvVpdy|331UPqO10bTqbob*na!91|CoD66#3i87<<7Z?PQ>S7}(g4ex( zyP=1PFqU|PT{W!;r5T+oQL!n4S<=AVe|6h_Zp;WNR|q9b=HuxNYZUEOARLKmonPO2 zUk*-!{W1VTk$9B@!{kvaJF^hlY=VS0_I8L^vg*rKu5eY08>y*vwRbUjDb>= z5DO~5w2I{wh8bUmtDylkCNkt9lF^MB{zfb=d*KTF?2~Fgw1-er3k&f9KNBU-fMQq2 z;Q@q0Jm63qHc(Q5kiH{o$?;1(h<^YOM-%?!}f{3sJj+?O0Y3P6Dv`MT9u3pJ7gBjJU9u+3DUUal~&@J9@=ARYbmm5TtF@%iW zOw8J!xJ{M=u)qA1)56UV)1lF)L-m-fjNBvNDowJbGt&I4Q1_xom(yvWPYDE1g$&q= z^dsj{eqEiAA|DnfSBwuVz!Z?-I;s2#)9tc14jc?%^8jOz$3BE55!Rlm!$Ge@&x#Qn zq(VKX&a<3rNiez;N}{9)HIuL@vy?}{Zza|e;V}U{7aoE_OaW#?ONp`$UWf$4V_#TA z(>iYkE;|93;9K{qu)N&KZe#LK{l&Sj&9L?*zA43ukFa0g*wZ}=?e`j{@v zjpldV)bC(evl=FVF27;3Xx%z^G-@W1mSzbENv2$(#%}`Fhdu0W5H;im`q^&|W^{6g zdBH<7d2Q2p?AUr`t0cEs50%OZx}45J5Mu?yFzvseKZrvcUT*Fnz5+(7k{Aw6F$D+& z;u^+0(4Zp?9-9nTZrmhTg{OMXd~UAYP=difEf(C!8;euDU#4pspJq89mxww)LB(yj za!9>E>SDJUW|GtkS~-;OrBsY>En@c)II7s7w52U)%qM{5*dsx#&H^&>9ae(Q$z9T4 z06+#wWuZVKRFWO5S6|;iGee<_sd%3l1Q=Rk;hfkByF6FH5j9|Uj7s=xnnmzQW*-NQVozW64Y*ZK?R*Wd|4W; zjc<>qqwm+|@;e0V_^_Fs@5lGY&DHk-49&pvvYrz!wstQ!Z+Ew^>o>f_hY}K|HKq>R zFF;Vx0x-Y_pca(VT}|Ofn!g#vweZz@vTWZjg(NJToYt&KylgJdOeNV__hcJA;S{40 z#_^bY?AZ6C2d|5?a)@GFp4xz+1gdZ)G`7}~lHUIm^i&IM1)JGodd)xWM2N3pr3w^` z5fEc-o5T6viWEo5ic?_}jbK!bH7NN9f?>(F2w2Fxqu53ruAIibv?wL|=cA32kFU%3 z<@4Rix5v{Ww~^#wYO-@>ef0DE`yGd#2{lpeu$`Ty#rcAmC+PQQuk9@$LR}e}K7TbY zC4|MRCDVfjp=7%1o;JxC{d6p#D7a|=uq3H^uPBBxVeJxI>n^;Sh?^2~ zrxb%IG&)J-Og(%;nQRytw)~TK8D zIue27%bui6Z0EHESC?gS>@teAe6)PAbtmpEPMW+y*>Afud;67+2$4dWh8t7=2Br;m zb@wogAr~-E_8Q0b%B#_*nK+ngOJ%}Qu&Wf|VIF$r=gnxQkq*@HWC7X3A-jc||HU7_ zfhm+H546O~I9+U`oU_3uLbh|W2(H6>3-JjzZ^mpjtvF@I zFUX;KRReT(Pa3{7&KP?aH=wYZJP1Fvec|Rq!pyCbO4@EWIesCfJY-53f{?N7;P@%6 zIiKh|c`y3bE?f{jd}we7>rJ8#ppkooqVd($NV$UgCJOz65)pP86%ku^9iO7!%bIQEhA1yq_21EG zMyuMI`@U%DVw*#r4yPMkG zMLsYNbPbx!JM@HqPdn0iYQE1L?vb2)_-__ImD`O(bW3Mj<_STkFrAWO12-5c*RkoOeWxAH_9g_Q%e`q1HOM9sqmSFFZr|*&+Mht1w`RXU(>QR7yBa9X(j>$T z*A-E#+ndE>LrsJCeqx&Wc3n+?Rc5Ny~207PRL^FnY78cdc`zMY5TWfOl0Cej8!$voMNsRg5=X z;L05I$(u!4o~rE%hKM<*Pp882s(k}A{_a~Qo&gQ#LNjtjY*34QUbx`5quK#Jkmnc7 z_H3r;qr{wCFLq9wdEx6g+{^HJCYOM}@s#M#u$}H&?#1yi3syj z*fAA+f;2Fxph!6qr5Cn^L%K!UBZ2YJ*+u6k(nQRxdpuu^?wNDKkv!d>}Qk*#x8!;D}*SL5*IJE&lG4&nfw?1as<`Pg-6@H-EX3Bx8 zW?rWRa8El;+PeAmyJ~_V|KQt@AuU=kwk@8y&d#4{p(>sx?QX(O%U-Xrz}C!+wY0+C zx90j_&7!m(MoT9BO4sVT0o7VXW!W?gtn^OBhqi_ixmGkVTep5LMn5q&KS*WSXPmb^ zwlwmLth_(<2mkil8ASVV&&Ujk!p(F#5X4``)4uWkQ}N{NN<;6!0|21a0s!Fp-!CZ~ zjU8Of4UK7RZ47Mn9gKc8&;OP@xiCNtabNY1tEg|K| zizpjRQsU!*)z;G%R%1Z+9AHMU^T+@6_U7uw%V7X3p3Ym|$Onpdp-qii7>VQEIjctK z(fZ<-ZBEcQts=C%Lc zjvUk#V66T&tEwAb%Dr`xH)d#=HPXrtrWXMyZGWH(F7Ia-*$Ozd@@E|uz!FqGg|jYF z=~JXj9Oo1H1sdTXY1F;}byp0(#y-uB@CDF_?3vsC7@%m4vS!hZ=?>lp;lURg*7!g52EG>XL*Xui1~ z&U@dP3tud2uz}kim&qR|RSxmJ=hQQ3xVxLbeY(3FSf7k4((k&Os}q`v^ClY4J(&dn zg{d45AMwT`(3%Ken1c^7Fp?LuS+~6(wluoeCCdyz>Vw98Vf~_Zo`#H^LtX zrBHaJqvjAH#g;>s;+|s!{`E~bmWmH+({+IdTm}q~{HFZ#_n0AN_;R&)(;;Ys@DR+S zgIs-OV@+2W`0hsS1^_uH@4Jm*jvADl41m<0Fo|d`zN%5K#>P9o9}Mu2_YeO?tzCV@ z+V6pNYFhXuU-(o_t#f@>RLmdo@B+Q+)`DK-L^xd9%q#y0{Sw<$?`_Y$h!Lh zE39yp0ok*IzzD_xVtV&A(Iqgu@H_IyN(0Y%LjF4QARhZNhV3Cl;H6OzAUmUGi`c~! zc!>yn2~hPeknr!JMvay_o9wGVmU7Ex59`1kKL$#^QCZZ|H3oqO(Ga`F5LZF<)HEu9 zxyjZ>J>vq|;zg9;QO)^<0HD)S6(g$DsQ!XY*#I1VCUi?POLFEBQ26iH44RG(auqrP|*( z>{Pu}BZ2ETGmSZN28RJ~$x;2C8FZgsF-Xj=;{it)Ve5{}cdd8eHbHu#S^xvUcYc2N z8)OXVIZ9ADqP}Wn@_j$&)v5$;s{Y3wZ^(Af0s-X4aZVC^mfud$W`^S#e+yBkn@9x}(Q^<_;Cl786)23Mt!xw_~-8X?77w(;eb!AQE4*Ur+ z?Q!Jz2yLztB=9@r^|Cz~}4Z!M!Oz zw-7*S$iwOG>(+z)hw*b@1!jNI(21YhKm2dNV-0Mb_8xa(X$ryFYJEd;sIw+R-t{Kw z-@Q0uc(mM*4NjM{NEwIaL_=7^FCL4Y!j3!>4>SpRFImfa7KyNYC_Np`VJzHoSO*wC z^It%56%7*UTIRtrmVxLOIYoy&LLh1=Bx~)>6cfzdh!+x$A5t7iy|z* zVLOe1gcfl^P<_)cjV|RFW*||m9k@uSJOh&v{2=f_3Ky=#K(x^=L5bC?R2uN0Q9`l7 zcyO|3Of8{d7?a#!b%mYzZ#_ehZZhHxndd?ZxG=E%2`m{9mkd`(bWQsU>J+~7Mq|a$ z&KNupWM<~w9nhmep|wS&Q!3L4IzoaiKQl23H4(I}_1r*35R9G$|dXdcA?=BSDS03O4HkgIkBL z`Lr9@m5QqcWtGJ z+wG!>p(|Afj+K*`^T1}T^<+FN1Xr|=&9O_Wx&R(+Y#FtX41(Ee{r`?j@q;6;HQP*q zkuGWbf4ubS9FgWlCNpI3x9dPyCO(1vR=XyWe~O)*O!$eJ6^6se*AC zO=jqHeSk)q($gRZx`lqJ*$Aoed;E+R&Z6ihrQs=;^vpUPl}l|aaEN#(z&<9Dab;z5 zZdJsQD8~24&FRjLpCA9vj=t>72@ty$msL*=0>x=?v(Y*;foyp`JvoIqY_#&agOlT@ z5hpOi$+jhT_NStsU|$$10&iaiRO}?Cp;&r!!|FN`yJ^|RqSoa4S1zd zuoF*Tf5o8(EXS|;6w@HXVx$Pr{I0!Ei;9aD|K3bcA8_8+UWe;X!3K4F0tF6D2Pu5o z-Rag_Vgzkr(v?z!@jyMM++K+|zzRicX91Bs9D+1rev9x?(|NbquVKeO4WvU(OWB~v zRA#}T5jW<3S=_^KoO!Yyd}8F^cQ5Me@YsgZaB~1~Myfd^j~(8rG-sgJ^cpJo^EC5p z_kmVfPVnpF(v^Sy2-US~r4Z;uAZ6%5`e6ug;8I*73By0w`_h$tK)L~I&i18m&(E4I z^Yw!K4Sdd9MkLYr(AA3hXvz3S3s()3(-N)vrizsAl2WFns<{gUdjy`2o6JY=Lp1-Osx?o>~Z#&ZC_qu_@z7XWu)) zW77JE`S%F6gdE_l4bMw3-}JB<9V7IqGg(vtg`mcjx?7Z5=i8|bCQ!JeagcJy81qNB zz@W!OExvE5Iz|-!o937BdN1C*H;h~a^YSHZJqHX@U8?3v&#HiP$F~ee+gpb5>HhLm zUOt=NB&T__2xBfW6s^^vrsv{8N|tyQzZal5LX;@FL}< z(?l}Fx&rSKf?FLlG)y@sCrW}BnIi9FW+78?M5UKzVK%b-1&xSVAabrn=--X6EGG?; z{Y;0O(;jb}`>C$?BNu>v9NDzOZ-m6O5}QC-Rt~UM>SoPho!fl)CnLN0U-h)Q2NSrV z2RTn0&av9E6Jd1#W$=qQcXH)k6=2eK=%(2CHoX2&1li<^oN0Jr{4kT;ZW`qkgK3@7 z2+3ulk@|k|j6uPV(CZi}U`|>N@J%v%orO1|d%4o>lMku>eN1bDO%toL@bQ-%~+WtMbUg;|*=$RmucmL9MFVXcj_nn^Ans{K%dW$bQjpZk|Au z8N#^QMZIp4ehpLF2`AR_(qFv0(w+bvSy^Q+3BM#D=ZSb4AQQXuldj~lQ zHj|jS3)$t7Zjqq(+O}Ks)Du&O-m!Ew`I64_V0bo!-}UaWOxUN`0er>{UW=uKVfY)w zJ_-#~LuK2!^+qa?ax77+McfowYBmz!2hAQtC|dxz#1G~M!ggoYPND{`=b<9R7RUf} z{xkpsr+nb;d=_V^#ENz^qil?($gf&WH&Ne&QDnllCJn$4MnK(Qt?b`(7+20T(h9j% zZ25J$$H!v?iB%hfroj=^@fw{{MjxRx{q%0?Lkd=1MAHN5-M+}+`Az$Stynki`+jJ6 zKtlB$V>5RN*1e%vqq069rK;&%-l0}vG34oPmr>x6C?v`pz!^Ftxc@MT2QnVMS<^dD zFHmc;X^;|v_8(mS@mbQCx_xQpO)ZCk#%~$cjKo+GV~@8?IXAeAafF-fc6Y9pg;{Rg zj13b@)d%p43U!6@rP2UDVsmax7wW*=$@<(dQm_p46g`!Vc)5POk1GCCu>+K3PM<$8 zt1`Q?U-P1BoDGSVoDIzBucDlt*E!enD;}lSmr`e@WVwP4vCeZ2GKtCY;6)z3vkz$EhT1=Hfzvp-+oq)N`Q;rnBKg;_!1s5{OViY(U?FtY zL(A>4>M2t|2)~B%H3wDQAd!wSIjDuHJvUsPGKHS?uX0w|kju=FyDa70xW?w~T#giu zNUfhUmIwN;^$=}$Y!i6_!8EtSrD9MOBMyQN>s+ePfNGYEB0;A;Y}ZLdZ_7U~u=SF6 zBx+whC|8F{Kd&W2(y9_VXamw$Q%vdQqu7afRw${8^TVYm)u@Bhv}N}1$?#<%Of??D zzQ#C*Z@?eoPmX)%KosLoaTJL4#2w)schE?wJt$Z&8DA#@fTD@SC>vv>FI;laqL{j$I2YX zh8a>iNmI&)v#EdHYUPJ>Kipk($G00Vf*sMzp+o1~GQO!7?Kq|AHd~RxllLDFoSb-b z`m%L(yb>WfcbW>z_?_{ZrIWkkDBzql7n3wMv?K`ce!95x%;HyFP$psI29} zP<~8GDWFVui9hd3p~(C_nndnT#NwGrVcn+qfst_L7Kg<)cL`EMF;1E?olWf&Wz6lp z@#h_q#j4=4Vw*Dr8tSTlqdZxO?bYPbIjOkl9qqekVXWo=jt!UIXU-Zsg5|k(*Hd1g6M#7ie2e%a7jdO~etL^6?I?Vq#@yDfE?&zz!>z z(Evu22y9_ODF)*?k0Fne#}-SQaWEKBh0kU&l+m_s{tlKG0hGF`P#SM52F=2=HRu(1 zb(dy5usIekfN8^lLrbB1ZH^cWVOYpaBg$wu5QDhFRZQ-gA*74Ie%BP_Z7oO8c{}|4 z-y_wD8&|$J;7+>NyENE0RF-~o18fh%Vef=knCLcx;X{GBzA@K|EF$S-YGhBRJg`V~xSkyBg!S@)>671tYCibpI*c&zx{UqI+)~cn3%~~9m zbi?ke!1yjY@^cy_y(aO0>i(cWECp4^9MVGmXbd>J@ro;+UH82;1o-I;wBvL=UHcC@ zz^HpR&Pq)*7zDtnRmdUYMp*wYAJsJu0w zC=}^7=T^fUXmiOrq4IDN!};tsBdCeQ!u>PQ!PYIg;viGvOtdp=Zjy;IvLULM0+s8X zG*Ll|%mCpQ+9_;m5-OK78I=p_Ity};aDHjyfI#pH<+_NRN0tZA?{J=>6(7;|%Kv&% zLo&rl+IH_MC8figQc%nnOritBPXX<<_dAmaXXrgV(EX9_5!hh=X_f7tf(gAY-VdS^ zswyBT4xfzIexN}Grvb`W3uoUUaFQ+alL*qbQbwV@fmKbSn~F~+$Q4?i9=)`C5B`JU z2t5#up+K37|9Q_TZNODO>#DA1PCCiKb~!#X*@n=K*xH{PE6e^ogU*&0u&|oS4Q6ss zNJ2&k-w(;6e)McKJs$O2pS*4f_$`g)nxe`{c^fTZb(#a^+#~;!uJ@zS(KlEh^cSTy z!8i2R(fn8;kb%3GCworB#PK;2^Z+WcMVqHbe7)^ZJ(ta7V;5)WXNgtsu{-~CBaeqU z!ti($y3L&C)gz?lo|T@wqGtuz?b_ad)zI6TQ+k%4Y6Fy_E7fLCt9aWFU0=oUN zGnrmf;5fIcH%}sBz00wqgoL4zmN;bK}AS*?6Htc zM0nJ9t^BD)Q~IA&ht91<2{B`E<&Xx4f(7+cHhdpXsG(mSWL4dQzL6OWXCQGkLL-|s z4GF3tcp8SUg z*5H&(ufdsqY8Fmzug^itaJ^3vf-;c9;8w0LpK#qc{sn(q=*b8 z8ed{QJau=s5C9ysymbQGMVGh+*VG13$)QK7GC+I6tZw$Y1C)Q$#Xs7xqhY%cSkD3` zPi%mDZH5oZmu=O!K7|wmd9W$eFne9>zGAU~w>4h75xg*m4U4Wubi+V;T@&1^Ui}LP zyOc5UaNW~i-js`jKLeu>?xs0laO7--i=gi%X5g(*4lw3QfyMOpDD2D7v+#o07m#(Q zS8GMI*9ZF&v*WaLrLPds!DafFs!_YqJAo3)3mhB<>paio^T5ahockomhjK#o#N_My zJUSWZNhCU_do2hpv(4w}kb5PUZK(UUgr!kZio(&YV$G9eEAYgmIrZ3}a%crcrNO_D^^hXz~_qSk&>6uAILdj4gW@_mB!C5g)nLCodv(9@Cs^JTdB>j4)h3t zX^qo^0zK_57hm6N#OAkf`;rDoue(h|$k5PLyY_016l{iUsO*NDs@12E$+_3j@rw++ zV2J84XSs;RR9{m5p1iKcZtw3lpz#>my!!nX6k|mt3`>zRG7{6Ad=Fl$aKFP9I!Z0~ zq}5I3Bs^-dJTOjYD?_8?F)cgMQQDg8nI~76D*d#UF}=^P@8Byph(7Wtk7qEWzi&cN zpnCqq@|FiLa1CI3Q&(L{JboS*LXYvma3$2QWy^bvJ!QFbsQ*`BrsldjP+?2-+KuX6 zUmn?2*Oyl1Y3B8zqeV$4Q8Y%j@=k!N0t|={Y6;ZqCzh~5p#wo%@*4hJ0FHRUl3-Yn z)v=!{p)>%XfT4Q`@neEtL~8XT8uXLddBEH2Q>~Q2aD*zrgh(<153Ydvb}msEqR=QkKqx3>RR(_+G$b0rZTqP!Mhf5YY-u$CU)eL!-Me`6oSKQ}ry*WNrZy$yo?rUb z-^A;QE|@xynNH^_D+1BZwAQE=rq`<2$#oCX+O6}Hx8mU@((;In1qCK35{HAO#@{)? zD=A>rww^h4^wW>sAh=5@ELQa4W1i90$5LV*dY5`yIeC|Vj!Ys$9CWn+L3_{o4MRH- z8-&kpJ@KMy*vAR=wZKa*AtB6@KsMiG&_`QGHg}HjOJtP5Vcp&-IRI4c%@zj~uoknD zaUOHgE^#cQVunPW>u;z)3o}Xk)qo%gW>Zs`kW@XWgq$=q!-47ui!VPt9!n5pAIQ-& z?#{L$U9-4e^A<{oUNxw{_;48pQHK%!b-yj9LMm+#SSp-v1?Y>H4?6+1UU<^v&O|fH zgjpzIB2c%QF&Iyjv$54jV%&`sZ?s0Z;51dJJrFuF0dKEc4Z?q+n#FH}IEq)}yhR3;hL*O; z3m4q4SRT^vhh+0irm$`XYPNI{wIQ z1=F%jR+mL*_*Ro8lMTW}^v4quSEYMX@`-3s7~A@6t-~S#HO-95t_*ig{BZp&WDjx| znFf zQvN*5H;A3U@9M*ut`!iKKj*?ykzG)NH2{Ucg;Rq(kgHioyv3QRzgI$a-B0mBPa&Kb zWYvZQ4djw>Oo-AJ5Br6(5$Na@qcgidYXd_h;TzYE9gi}?QiE`TLbr~rpLk6 z6&k$m(ObsBEp{j@ib7(Jq?3jC3bTm+V4k*;wE_i&4JS%DnS!^p^;_6p{z>I^4Ij+J zBT8y!xp(o9ogFhe>jaWwm31XyN?{y!ptI^qM{W&3jf&mzUiZ8?spHc^o4=?+*Q$b# zo)5e}qDbXS*+X*l8MY!qe{*kC;>^57D}x4gk$SPg`elix2fipolxXN!}|_ zqXwP7_`?fjD!NScLY;+Fb-qSLPPnq7O%&)^6KFQi$&NuH!G}}NyydH7%Un3oa&1Lw zzk{?F3V1xv>@2>Pwuq%m!SEM3`B=)lD^kXOJAZsc$3;x_(Wgz5x@Q;vrT!=EQp9>w zc0BT9;Q6+%fX)0wGf-lWN<%GFg3xF%HyUCwWo6x?T+t9h*X&=H;YBO@#Hi19{er^q zQ1j}(Y%Gau4n|(uh8K^jE?ahp3oDt!tm7&kTiSVRR>+fZb5zV9?4Db6?q9u4KjRC? zFk|W+&(YlFK=wPl>iKe`lu(j`m@)nwpCv=L@;a21bCunkQ>9DkAEw})2EWAiE<<5ezNHd`hO!Y3@NmgB+GHA2 z?&jw2xpo^U{UJKvM6AA;y4W>8`YXuIpsU8PCD%o(!*u9hnp0BQWxTk=VV0#XJI)HP z*YUz&=5o*QpQl7jPv$Bv3=oj;Kg7T2|MHY@aIo?GZxbhHdIx8wQmwCl&;;b4-GE&q zL0Ba0Oj)NZd;}}s%ES0z?>KzTURZ><#hQ`Skqm>jt|kDfUmm~c59J)@Um6$l^dowz zNvWF{AmntOW|qD;{qGlppYMyAXLZ)Mr_0Z$Bh#iH@CJjlUxQ>7MUq1IDGF-JM~`rq zX{Rv8{4)0;7)EI&y5gd)16nqg!ZN773GKhY?&+l#6>m31sT&unyNF(uNuv<5oDUS8 z63LVSdL=JIa@w*tL=%C{=iS`d2w(z-R{FzY+FNyS_RwN^bs%&TQ({R~ND~;;QmD(9 zhCxH?^9&N0l*h*0r%c!4%ZTyhkeC$p3<@)|5$|l6q)4XGs$@nw`3!(h`oeatOKrV%iXpP z=LNB2mThM*UaLc<(QgH_9C;CV4`%qOlA~Wq59L9#?R#%2Q{{ZTJPViB&iLdTw6BCP z`Vr{b92#&UfWGBDe~mY4&wr9*xg_idd;6cAZ%>8fWoOOGUriWQQ%u;My`>eUG^2Q1Xrh z?ovfvzfTaETwJ8Ft_KkSoqAX_qB>CedKEW)@OqOZVhnbIe0 zTK=FSZ;^9755CBDuwZ3@PD8{UQKE5!|1Au3 zNwEZ5coyF%EwBkiGBXX!X+uAIm_@!Iyw2xx)IPq-AxSoc5|fS%e;!-N!uYkF?e}gi zB5w5bX{Gkb!1L;u&?bO$lgjF8gP*x1D=&Hk7}*d|MM0g9@Ob9eiONx1(xRW$ET3GOEL32}F+SU}cjS+Q~$$|8TiVG*cs6)uhR4%els} z)&>+ZjpYoJMshJlR&zw=ESWwon8QT5V=t$uo8sFctdmpumxzbOQ^Z5;U%v|9$>3_uDO8`Ul*$$^ZjCuFUMpWIFISJ&zgZgrcA9vp!Nqy@nCRJgk_lK zShRcvWoduo@?I#sT8PPjC!Z$!TuQFf`|LG`QV%Mly+r!7>=9$I$$tFigF@BVnRU>O zAbHHY{X79RTTozpm3TzKO<|Fp2uOuWUPLS2-D4@BH-gHoS&K_$`?2TBck3i*+^91z z9(Lsf-NGezF}QH`9eNIBY{3h2Xjaq|F}khP@@{Y~gV-A237XiT6d4h*U^A&HC4g`h zFUM03HsEOt6-Nw*r^azE=g0fYeTFe6FZP&|bhe&lSu9^1M^2W+kU3q}FH$GT@#n8E z+ZNhv+Te2HlN|--6M162v?oHF1dC)j_tja)j_kI|;+E=yn!@&|gotyuqzdS?*Qp7Y zg7oG4ysjqRmiTDjzSV@M9RPl*sX!GKNMyEy>L4{(ln%6mMY$Le?hBLI(%vV`IijsMd#=&K$)=sI;$IHf_KVpgR~AKBUsB#zsT4W zl#V`KW41oqok6K%rOW=ZE4U?L%lD=H9Y2mZYtHlK^x{Mm$HxVuYAswj___y^VdwO> zJuH1=oBNkd!ro%@#=<*-p!ZBnY0~PSbZ1}8U~iEUc8N^1t!G|7pDQ)oItVF}TzEv; z&^$RH6GU%&FeW`yPdYIZ=V`i{ny(pRuYYBxn!nT>RbXe`a^fT!I3)AfKNW)cB&Q>Q zSgIEfL+zTz)ty>1Z3!S@CynZ+)HQz^i9n-e2FLs*bQ|kU*8E~Tp2K8b_W3gpj2J_x zM?}{_J4|I87Zq9I?j?8KH7xrDD^zxfd@lsc4G>DE`nBP@?FDd#*xBJ z$I9Qf9OlpbRhl;gYQzpn`**Hv6fRWkU5Df*9ybv){yZIC9KC)h34EWHXmH*7*_M^B zdIq<3_FeX4jxJP5e-Ph?%LG))Zd^_e;Pc@)VCTXM@Toif5&QpT8rwaSP`2l%?(u}n zt%K;-tIlwJyAFmw_cLB2#RD`Lp?T0Jmg=_`)C?XK_I^;QRhHnmhARXcBqI5X`VI?Z z*W73A_6+?GP;&?-XhdTMft95|1n?hMkJip|-i_AhwX`7EDj%4=@%74ElM7IF7_ zJ$ZPvCDhD|P$sgVD9P5_U!f<+@5@hoE z7SW(h?U#9+YcwefKU7-Gq<3i;rp02NY_Nei@%6;nXo>L^?OMB>6 zB=F?9;SKgOEx0VbUS~;3j=O35wBi>#{PFPlN3~Yp;#V<8fz}r4VDmu?gB;>2560Zp z2vsXOW%P`<+T}{X{&MTUEZMf}Fn$hj-6Ik!#0$4s ztz9fGaF5ly4a-X>Y&fNqX)o^Y(MZ1w8BMJ7oO;iz`iA)p=xqMt*Qc>4y@q^hw?KZ? zy{L~&5KOUd*jxp)uDLHkx$3g)C1!MjXxAp(e6ZQXl z`E<4{{Xf7iag1;K{u>8jNVZ?mE;%h?g|W)*u_#zi+@VKq$ZK_iks`mWqK0M?+`xur zn{OHwT2KGnGM7-5Mzg^M6XadE*9`?@QiLW^IOpXxJQAD~YG2*p?=ggErP+MyMht7v z8b#+stAamWu=q@8f&c=-fPTUqCKm7j7!N6n#KXKs)I@dAup~n!uwN>~^Gp>yd8ECj zGIdTJ^W~rkmqPbBXth{U;~Bcnr3nmkkBkb#2M8W8w7NCY+a*X_Y*QKllt@jx7#nba z9D82tQF#zWN4$;L3~JsgTA`@}*S9aP5KZ(*l$g-@ZN2PZr=-))!0>DmBm4^T=jrY) zUNefM z5!oh}fh8#gFv)@SvAg4Cm*;OE;e}n7QtQYlsFxQHxYb*bPpq7D{CvFjFGw+_?Oo7M zqv%v13*JnhEVvIA06LbGQVDX%8&Y1h_sg`k&Qgh_QC2gYK6ri54dbV4L)PabBU{NN zX!aZI?7oXX!-?L9PWyFJFJx=o9ln;qJVD_z#G_sn{49XT^+;2d15rucTn$)rOyMz1n`D6L~ctx1jbfYcUg%!(ihM5su zOspN8i_@kdXuxig^kQCDE-H6!{`FD4#Nh}cJfD(w2kb-bf#1K9bppG{to`1vJ`b$i z{J1{MK0Tva;vq1?C1feuS%4@|Ui11-^(!>N1*3;U;{IJprf$9=#xmjZ0U8EI^m|fP-_VBQ(#;pFIyG>WFah zbT%AuoC_jkqoYxM9ZT5W`iL4!Z?LRhg3P9jUqEVZdOR3Ys%`qGtu47&k1Y$jt8r$d43u4E z#rgcl{}c%jk9_SPdGHwJ)WvPHl zgj(}%QG0x87Fi*FO}jGA5=u5Zj~GsYQ8p#47Rlwswo)zelT^JOz@&pN58{gPIxtIF5K62g<*dfe7t z0hYb%6m%RjTeIuA&N)VmDK$S1_!J7b`JluOX2qNzZK#iJ8*kPu?DKDzbSCldmg3{! ze4lrIYW6)rMk?iET?>B6ubZK#?^ci2xsm3e9htTG>9)j{(JD^#En3b)0iJj0#=o-X zBLRYZ6x=xr7XzRL#Xe}~7g}E!Qi&xR%_IChU0r#=y?EQiQPJM1%#v9T1cd0FlGoBE z$r`PSMqO0>K762gXx9uqS1u2^-go_@(bD7K0Si5A#GJa+)MJE zh&{FGP9mYR(1#FD&RG19?%9Pf0nZDxCQsJk#_8pt6Kt5%$DNEVA$)NZ^{o<6txv#3=X=|;>9 zZl=Pru<#K>_C76})&tD|g>8-+D9*5*ef~r^v`G@5;2dm1J5K=mfucB8kfbMWjCr|% zW`(`!(b}+O6x~I^-bJ9Lk^oHa&TE~u(M&l?2`b+1k57Qltpj%v2{L_0M@}YA&Yrh| zZWw+ke_6M_P1oVFJL@>N5&7hXD6)dk@iSpYARl5Ll>qiDP{!=ysV zjBIdZ2RTn5^LM+s=lK!KN5fViH3>hlMzYQo3|~~5m(v%5qq=@wk!Ca?U?lLnEg_PP zHQrsJ-9|erztvDRKK^vVJK$HfWoYGQr#=~&o!Lp%(W*1be1f%$&7$O7_m9RYL%H`a zK1Z2-0XEY_8e1M$S0{dA+F^?z9Z-X0TIe?D(eGJF|CH^iwUe`XLYmK-eD7 zRo9fg78<|+9y_2z9$p9cm5$e%O;T}PsVo!uTn%x?TNSfEvjasdTGM|C4Q&+dJto$l z>5ki={Aopha_1R%t(L#)488WVgc<0)Ac*4m6pc5<1Nz!W3|sI8HwqHbLxqWkB8=hW z_({k=;veMYzeR1{IinX#C_q4GiaP0xs`kjAqrYd!v_aeV!pd zd#?TVoww9?!CWn0bFelUw{x-YzzQcwT?fHu0Z$-t>)d;7J(SOwb(pZ7k7;7xfUXkg ztQ$t>9z;Li#xB$TVlJo9#l#F; zM$3AVRwH63Jf?xtrF^Luv&|k!ft=4EV;fX^ zn71CrYtqAkYn6o?MOJ03{epQZdnTO)c`K?71A-@yV7DR(tEMl`Sy+0S_D|kg;2~GS zklSkJ(iaoi@DUZ{Ar1$afX8pyEO0Z#?9TKy=U~Ag6Khs^g{x>dL{n!i#icA0*vtu0 z1%yedf8jMxThbXGiudw}M9`7s?frA$4TbiVAmi?Wm$J4K7{E@!`XCX05^<7xA?q|m zgc6{}5d&z4i$j6LOE#)I0{1otapq7S`kNi%EQNTE3PZI~8_^m9obco2>*(dZ7gvk# z)|Zc8(VVKJ#a#x9Q`-#=KrEX9|U~X83n6oCN$0o7k%Cm04_f>C;5YGI;Zj{m|z{w(!KdGXVpMkChkveY&jGdt%t z=_9Mak~tAg>O;v|K73yRP6oyloqoAF%J9Y;DV6BX&^+fc@`a%bIdXxR(XrGa=g@W` z(738tK||rA3U#vGn#_n2cy0*RQKO12X(66@KV8cKIZeD`ip0i&5^kD@lUh6tb3+0A zwSTqC&TsjFoQhbW_f)8Q_kHfT)uIbd=WA%4IoabLn@7gD&u^woCRSR>8Lg`Iw7jb$ z+jy;g*>#SA15;m#dwQ>h&HN(}rv$OOnL8hucMF*vjNZ8^99U|+!nV{Jx>(gIM3Yw4 z9WHcRq4Sui7N-iD?W*J(yVVF-wn`J4WsUP~>S4@Ef1fv5&m^y9KH8xMKTy|KDy*10 zt$(xZukUlDm%`#Wo|_Q%U=c{Yt#DO;&aNC;qcD9JehE3iZfYlc;-A|F4H}pL44&Ou}Qj6+T+pDjKV-E*cUJstm3`r40EZ@3*^L_FBF=w+Q@k3PRItFTpI0+e! zM}OrL+qO_&er#C=hPtwzi5G^PQ+vq62?v+&1Ef5}S&GG-^K&(S7q=B2fijtT`tb6x zb8ubtu zny zrnufCLgdT%nfP!O-jE%t9Jm?CLjvEztvFLuX9CT?P)bV}L3G3Iu#4?|ZGB4S{$8;i zP~Xl*ydJTRN1pybjWeQ5lk^q=;mlI=9k4>=dosLAA)mS%hS@RXSr$yEv`$e|upfLI zx|vCe{Mmn$BE?V3Z^rRy?^r7Rvb+~m6S>JV3ssr>cFqxd+)+i~P&aTNm&LO8RROcM4LL{$iE8uMj%|Lfu?p@&5g~O7s*~qLbutDWRzU$Hy>8HmVeGrA8xRl$Z zt5SXx%Tg2q3vBPd4=|=&tl2#&CWplCZqe)w{%Jqm{AZ5AlSM=(C^p-w`)8WWWDS+l znb7Z$&1|3KVg~IX>7dSO7dN6m5}_76Tu3IjG<<>+ql|poE6lsSVwihixRZo2+dPB0 zSgFS*=g=DKnXP)j+4v>&$j+=hIy)VML#s;wDTHR3B-$)&4G%zNCvAO^B>o+y$de#0 zZWAG&NqJr05DPx`mNV~mLyMwHJ58#1yP>SaHTui*J)J`Gjj)xcsz)4l346;qBGZU| z5AV`%m6IW3S1#gXS(PSL+3udtR*dx1DdkpEKeNfpF=F@!@{L@rhrk0r(&YU z5tEYqj@E>s0!b{nV(^3!qf7w4#0VNp|D~u27DiZ?+#W$1DF7G3#F|l)xf&YmaxLVz zwT0;s(sru+fWVjw&P#_brkt~T>tLxudGYeT3tx~M5(0%WIx<;zTBI!*vt|4& z8T7*M5@q_%3g(P6Dc-!r+V21z%)A@jz89@oRz}-`l55FL-RIimlbkjjvs8%A1o-$G zwcwB#(S0=<7R0!~8;CT@G3TIwdwe>{TZv!NJ*Kqmx0FJ&UojRH+ssJc>nQFVn4R<5 zx>f?7Cy?W&`|K4LA{nm*Vv~W$fLwk<+aL)XvsFQB_1~L^3{=q?6KYDO66>G13c}Gq zp9odG(vCdSK_o*O7L64IsL^Rp0IWZ$?9#^icv`pE0<9U4D;(93b2@O<83H-3M_re$ z!jlH2mFs~a4A%422h^W6W^-uEcVxhl(zS_mBnkiR$$ftchYNHSWARFITb8eC2Ngw1 z^o)!djB>Dw5Y3#N)@|F!5qUxg&CnGvZvAL8b>PY#q(n5vrUm0$n3WCAiS!}B$P_$v zp?A0UMtjgxUwb&~B})`#3Mq@HMa)OOVTQoJSVtK~eA0*Hk2CsOtCv+iKZ3xQ4!mYB zTYPe=&A$bxD%oMYqbw>3;*ttBRMiioLvP;d_#Yy@IHkMlCts(BGv)CCC*j%Q4+ zLEyp7Lm2u(1-?)HOJ~K;o2B2*P{EDvMc8X8#0<-h$1BHD82ae!g>kTKXR8)Q8SYn^?)iK4njfbSZNi%Fwir$4v5k>qug)8cqhg8c z)}Qr-Y}wzd7y+@RllI_z4M`C@z!FDGsPr~xo13I|8|W8XS>LC_+u;>QCBcj+s6JrCdS5~=4` z5&hx?k?t?A`VVoleSFaj3dT?+UUS7Pm+(Eu5HY(WrDLEvVN=B|d;fx9V-6erC_#r= zpjP(l6b0cMZs8Dbp(a?};}cbqqX|`VRY&t)hja|)=q0EGw-ryK-7gata|}5a@+$Za z3gh2t7;v4WIEyeg*^sXQEr=UFc5#Q$2MObJ_X$f%_VPb;GvDGZ3t60s3ePDK2>dI* z9ynmw{VmCH#ZuH_eEHoBjxeT|Ec+Q1Zg7V*SYS;JjSwTL?mf)t|5iaM!D98N&OC^U9=MRk@3Ty z16w}Iqyo5r+(-sY?E(4ZQB%>(d}%-}JyGo(-I;;wIG@qFh*k_}(%OSJLCqkyDg;k< zP^@a@E$P5=#=geHQf3sTw5Qv?qB$KV&T9XXJi9)Ca@FL0`wPnrpDmYp$D7vjSaenYHx+QjV_LnpfSR z;@aITWGVBb@b;9J=RrR4t|@R@sJc*cL(V%_FBVS#jDYz~6K13F#&>)l;ij@(aj<$a z+;ddT?zf|b>KP!??febxs0vsNq*#(#)&?euj*V_h0?m^B<}N^ zx1-jf{6!Q+tXLo$B8Y&l{1^J66mQ~eSFh*0Dv91igW`2f zw})Wr(0w-6`&EFdOZ*}SLs9p_F)J#Ri;^#zme*^#tONVAoEknly?&3b-Mi{9@Kw z(g+svnleV~?7juk>akR7v1sW5)?aZj*L{QPW5}sN^f>MK&E>Ec`D!DOJXiK1mqLzM z_S*3dHkU=GMYw-?Arz|rP#lIG5p`)gihqg6du+yM#U$vqDZIbTe2JaDI+hypUS7Eo zMw|<3UTD$pG(X+3a8r)e7o}NSqm;{g%amfL7%rwNPSml@O{|;!^ZY%G@ckf_|Dx=i zfL7io@O5R)Bo^S@9Mq!>$P5E%afPZ zaThZ?V{&Z?d5@)fwKc8lBy%m0S#<`)i(8c1OX?^-iR``qrgh%dsMrg1!=f*_RH3I@ ze$7c6kH~_34x^KC&b%a={sD++)nzZeRtq)3E!q}@w(`*KacXK2jRb4zp|{+KQU3Fw z>Z0siaTraxrIe4+fo2{9UK+GxY|p|y7=JSsUiLHqBVn0!)$y!ly-Zg=)pb?;l0xG* zXA-5)TpKr@5&+eaXAroOxt6yKay?kB*l#dmW5iwXDFeSRHhvk0yPismUsVy`M;8j6 zlH089W;Oh?Dh%%8;7@ixeCR(CH0`xR=GSF3ga5GWclxD>Nrzh1)~B;y<8D3ohm;u# z7qv;pxT&pD4~GpJ3fJwLt3s>VbbY#UU;++H&`-c3d$BI;wqy|+W;bp;xU5a$R~+fc z%BF|B`-E-seFcv!syQRPr+cQC`-`>d{2HaB2|sE*yix%71x=gIxEz(9{j$C9XD>z&2y<*;pF-7F-rCHQzv@G zq1MsvE|90THf8bU&e#DJ_3)iAj!_Tww8E&scH|_66u$FJKL#pPawbWA3nbATN_!?10z zg%=N^3XNp>6+$xdTcad)3Z>NUXes|Z;^YKe2niie~mHrh;lMsU>Q2$ zpTcL2Y{yydYlaguEAm!_=?OWUr4_$oiRr{)7g`PFe`K{wq{tg(d#^IJ&$D7%d;&I} zGOx2q=0Cq|T=7;f*;+Bk=GTPaXzI;Yly#opzVQb%O}*K{7drNfN>w7QYpDQ^jiye8 zsLy)0vpaHk=99Y^NDGa;m25gb35gX%hcl zA%B^a@GUY1cc4^2g3nDW#Szos(<|i!AME1F?RGc~pTENA8@tv%-uv?oua@SA1fx=! z5`*R>n9F+EWDr_q z3JB_zY9W&#BW&B`>RGLrr1|sTOs&d$+BW=Q0RTRJowu3)cY2wT1&xvMf2d^J znqGFBqDViz{Jn$ONxDUnO4_MX6KIKBtL?WA zc~_>cX>tm(Sxx~5zaW}gV`Jmv+jNj8NVh=eY8VxraSu9udV|c_Cd21Ll-L{mjQ8)H zLge6`7NeBFU0*EJ{>ndB8|}l}Y-p=ZSJYcXN(;?nGRJd;nykLtu#Y%R1Yx~CjM^J4 zhTc#MZ3u{n%pHjX#?}UrsSX%D)%9SM%f4;$i4dE_#x)$bk4XtS`3I98LfHC~Hz6t& zO^Ct%jqJ&r>~DP&557lKTR8@9)-be%=pl)JIwZ=~O4Mo_w#PhZPXOfni+64tMbY(b zFuDD6n3Mg=RJ#JT)eqJK%46ElOSgNg;B{te3wqv=!hrt1)2S#w(hvm>BeV@+x_MHS z;N<((mKw{G1Gc5I#Q`=1a(!s}U>4IyM?bJ1_zt64nTC&5s&rA!m#W2Ntf8F+7egIa z+|4a$WLArj8!Im6;{D#&7M7OJo`7q~WJ_K6RiB0s@m^g$a2MrJLaSzeFrX2wQ&!2* zJ~SK=q!8XdVCG$_7@O2nWBX;qTx>$rj^#y?*Y?h3|6LbwK6(oQf8h+c6{COocu#YIkGiAGA}XHBq>_FKDk4av6V>K;Qg7&>S0iJMDC0s&(BsF<|$t z@7$~kwm1A6=iAJtcb#`#$-D3OEIDsq!Yvu|Voyl!?^`EK&g7%9nk;EQl^heoIT-us zlMDKwRf&$di8V=6qMKWu#KXMT)$_B+p@nqrk44KX8E|A&?7tGJ(_s)~@?j+W7FjCE z10Ya^CKf{z0-D5uR>iVVnB6;H=GGP#nM#a=Lnz2Yi@ye)~h$iEP82 zSf!Y_b-D=j{q5%=h&uLXhbccP#|gGxC{cGB)(2tIn?^2QMu?hqbJ@^W|vV88Bo^wxgmv z?3_K;abGOXm#yvRXVKz+A_;4}VpGAMMQLlE?H}U(7~f+;zX8YByZxQ4%wtqe%&qH$ zAL zlMX4CBRIjrvw+NI4F@TTrbt#b&Wfk$Cyu%`b4QY@m#U_JdcdTfv!D($Nf0WvlvoB# z9tXCNqzdQmx1HDqg`)xs_LO6y*2HiF;i0>Oa6)5q2FiTl19QHlJC`T7TAjG?R)iV2 zLf{lw$hRQokXa)k4g&qs1Xz6gJjE={TJrtBIpt^@wkPlu>iNuaz1vhlsD5t}9ka6` z(<%eeLggRJl}Awxjw< z0}awEu3^D=p*QlnN`&cGN-QuNhoSW`g|b^>CRGAuAJrFH+Dqd{(Ye%wc{p zPS?-mcvfG9NOlLJ6TQM7v#xd5FOFlWs!W{hoVU(Km5w3UYSM3n z)vSxOzWSvS5B-PVrnET1?9ppI`1KUK=YW(G)|pjyk|B!c{O_um<;FP5g2_+e3qbtG zL}ZcX>XzWaa(&wfIl7arT{*% zE#8B)^5S=?gbGt^Zfxl$a3ekTKIXhIQ58FOj^kgsEKidp##-tx%xn2Gx%#qFa(rN` zl9M`?+^uWdTY01BpiTY340@DOw1Q=Q^f8Rn$q(AVU&14j0$RLN<1(M*B}6ymJJp__ zoU+Kz0u#}K5ENITP*xM%7Yq1S+d_H1IoA2bqgnw~IOjw^nyF2|j45t9cd&tW$>i8S zl2qGkD^_7rs0GQ?6P3rz5`BDCC(sX+jya}^v!}JJwIZ=f0q10fU^Q*g;iaOMy~Z7X zp@_H<=8nHWIIotH&an8xVopMCwZ2;;HSWik3w1aSgX_pA2AA`_Vni2-FsGPpA>p?K zuP>ja^b+_@AxJV6x9ehlbzz4YK=}6`!arN!yv>`Qt6CBWbMOL3q=cZ>%abV`=wn~-x+JDA4o11%`B|} zGj2b0r~^xx(hO0rqUlr}r)V+D7GMjV7}It7XD(qD%kpbPPG`q3Y?5k*>A)KExea0n z+-(6CSNL3S#%;5*&QmTJeCxs^MBv!&E?N*z=GQr#!MWhvTPA3lRYvrGRu#eB)RvV4Qe#7~;?J|F2ydJBB z{X!6(J>(o%b+#JNUtF68ura>9c9e02R~D*(1XPIj%?>Qec}mMsyXhr2pFYrVUql(7 z`7?>Hg9hwFKQRo#XwrJzORdn8spb;Z4jQNG%xU`K>>cEx~Qn=sPTRc@NYRfGOdlgJ^?fl z=|E$U*Fm{a8INQe3&V18E6Yy~iUIzk=uujgZ=L7>a`Nx_N&YLaHj>itM|DcWiM{L{ zzC$B*a3285_!GH+rylvu22MYG?Kv>WLvB}mIIIw!b1njgiARd-wecA5Ws7(yHjcA_Ht7$Fp97J;*5xQkv z#Mj$GPyX)bP~|0$!?xXT#dnJ=_RbNE5fyK&4O=D!Bkm4vHgbRX*S((B;P>?g5-Yb! zyV(*10^JLb&uogr^6Fr0t)s3Ztr;Xmy(WvN+D6RI6Ed1Pg4M(0?OD*~ovM3x=9}c4L_w2ra679AG=*hl-jG+=#Ohy*0eaLAEBNf(ErMNcE;|^Fo6O9{J{JVgIWJS?`dM|O7ov5 z+TTO9>f|ryiLwno#-~kyjfq;^jROTV*AM% z%#S9`k+DVgmUUWwaExFplG#W#HWV8~F}6pM3TZZRChW*EbC~##XgUT_q(W@BiCVvI zpL$;sJ^-Cd9Xglv!%}!7g@+;`Y==?bVX7I7c-I|Ja1e}i-v!=u5L;oOwtd3^bih2f z+JGG6etbi1QZp%eSkj>T{#(r+@3c=jQhgt&Dg+&=G|m=6F`wh98x6Bofb+4QNu)NN zt#Fj91jK8)&9-sQ80KmXLc{zlJKlCJvw#|#EZ)zr(wGxu6*5%cZ}$(JQqQC0liY9} zZZD;H@lO)AzqDqmiV=VoX1!^Bf+c*A;7iiy?e0&X>LUmvW+U~c5-L(pQgMrV>x;%REr}1xbe_~Wmij-EScq} z+-<%`osAv{A9|YcY%U3^P8e$vv`|om51>gwiF@o4bqhGG zpGZnkI?CdUVcUR@+r{WSZMX$5KK@7t>G#`dH%K zL^MHbdh7DGR+K(@-81h4jp(~FcN))Bmzd?M`eY~TSK|#=qX>(J|K4w(t0mWPToJh6 ze_5gZs_upBJXx4wQm1^47zx2;=H2m=CakmavEO%ltwM6)KRY?5SO1e91YnDQ zo}iC$F)$x8Z&5dG`!mN;gD_>;DCi5g(LdUFT%L@2;1%;|-86Gz#%6ewcfm08`sOzt z$)h^*&*->we#z%0Rp98o(bJz+0e;;wN&Z(Voo-3E1$`Fa8$w>x@uXFtbN&9&tOYfQ zw`=Y%+P5e1+Ve9wmNhDH<-M0InmAs7JI~%Tt%=%2cl3iNK3KFE*oK?(-#Bn7!lW}c zhybDr;R^gS++yk^0#+XE%)=}y4{znhbmpJEow;~pe_`Yg`n37Y91mKvZpowCS=KVk zL=C_qr=n7++mHL+rgY}K_m?RBMbPpsdZ;Y3yMxX!gsUb{j}B{Mlm%;au~IWpR^ zUfV3|TVm94j-7JqSdIK?M@_clW?F;MFyi4*w`1AdVF%l38I@qKzAHRk+uzb^GQ94z zB<%bhp^IM&NBa=2$ndCZXm;egidbB)Pnra0-Fn34W`gJx$hLEUh!fmBnLyQwHz4?vweK?{W=(!5;B-t|H1DZps9XbhvtWq|eQZRb1mH z=V8_9#mma|aYfjgM=im1UPZo4@_KY`HM!O1f7X%Bi~pXlC^@z@>1}(2(3sCb*GH3u zNFq+a+JxL!Kf>6B#~A&y1i9Gm$20=QZJ6zY{hc0$_5=K1?_%p&6p)DD^>DG@_3;0Z zW&D5MzD{&DM)tpKTpRg1DXB)&DT)pdFd^M6=`F{r5d3T&;SmWX9b*Xw zop>&_g#hS0_9?9A+$mPVJxYsgmmyMr++PU20|;>9XcV0^4h58P)Lye;qy%m;(zL|w zV-y)tC1Ge%j1(W{nqaWIgIMH*{)Vun$buV*nu-0GpWyLjswq+IAN&b)%AW>@f zvu%Y~H4WsY6P$73Qgiyv>w=t-Dpg*{5?`nUaWpdgg+R=!pAL?kbE5u&u)vH0V9 z0!byLDv_7mJ1I-*D5P1g*n(n z2lIimGs67N840E(f=lybmOe*K>bNc|C7pFv&AuW)7sBbGf$1ag# z&L-^3^6MUfe$?n*2KTUCDskf`5BXMVAsX|DbExC}&R(l}pyX=!H$Z*@#U9tNcl2|X zt)k+Eh7_$HvTT)3Uy|+nrgrDD)0ET4VNF-7 zO;{(ffML)73AFO*YJaF9W4N;~r1&Jc7b50PZ>)Ued3ab94|^Ns@@;-Y|JM?y$(WZj z`z>!>od2~0#BX{3mbj6liL(=}rBk!UrQ@PF+CMqeTYJ+;L8LXtDdYG3c=-_p#!%_( z6kG}@3bEA9da?#h;%20-{{OdA895m?P z-$g!uW=Rbk(y5RDezQg?bPg44FWVS;>&CiEyRe z$8Nt|Ska(*wu=c$e-a(R*MgFrnJ9r3ql8yscQ2c6ruDeQi8_mfwuc^h`D zXg@A59?TxTd+)PkpkuEHOTQn+O#5gr&}_aJ$WevVl9~JbJ?Z|g+Rf2VgB{h_ z4^7Ec%%Sw(UCb)J+>R%{Z?ycPhaKGa{`^q{uS?7i2FSf@&iCec?oV*v&!dIc6zgSeA*^%O7vqAmt z{-XGU31Lm=^8i;Sh*4!U>~RUc^@euXhfEG>OmDNjdTm^?5?q)+Z*+YC+(Q(c=Uy0t zQrgt?vha~GxFFma4+L5JMp7fgpi=5&Jn#&?;eyex`l_P*i>orEO_h{h!V(zhOjCe^ zNr&(z;%@Y%M<|C_QZ_@}iHG&VgdbYHYkO#GP<`itAB$&D+?j*nvW@tUhG4G2Fa5Q$ zptk(1-#fzF!QM{k_s}sfalL{}5CE)L6#F+(Edsc(?s`p$4$ZoLlZwN$WNSQgEd^`* zU8DVQCnhlpRJmNjZ%O-Yn&MS8lLWk^+WZ4+zX5&_eNYAYSHX6v>iv|{Y9dJOmtzA< z9&da5K?rK$4bfNqus!~=;2YPjDlZqDR%$AZ+jC*$_fQQ$CL$@MPpVY62snUQ&xOz{ zQchiV&C#S4CCXIhYuW@-LeF?&56>+xh1Dy6Lp({%<(-H1(Zc^Oz_DSSS3m>%#8X3{ zZ+I=|E5<^4q}FpELl);S{@dp)gC%Dh9J~D7abHsD2{G-j*ToWI7I?5yO3=b6`kOiK zKbOe_(gwLg!nR*!=c2tGi|L~T?UB}Wd)V86+8GDF`}`$v`&_T~Y0qVcIfC7|`*7BR zy!UdYGHBb?mSy$pFurVmEM0E!?dGPO;|H_2Jj8l}YhY&~D;bEDB=g3Vm?GY?Ls~$Y z`CY~r!PaN%PoqJkJZv`@Jqgl26zkcupyQB0kl}O@wa=JO>k$xL?aFivp_ny z;zR}>g(m%OeOxxykD_V}i56?cK3qdTkrBheb9#?T3}A_XyS7O;C~YAm5IcbY(-p`z z2F~^iCFI-LfX22)5XHJp>u{?qo7I8H{IWS7q4hN-8!}A5Lje5^Exp5{<_cW>e z+6XZ_d0~=HzQ%KHQxrM`TU9-7OKo0}yBrxOsJv4qDb_Z`m<*|ws}v#SWupW@Fj|L3 z7jcv@v(V@~=B9P_Fw`m{HU;5I-n8z1I>!r+ZEQ{_WzyVC1|XDO?O?}c(t7jNa&9>-=tFkIL=h!3Ee{V-`V=abMe{adI#+yr<7@>A+D_YRb z-w33%gVF8h$r|dBysz0Qu0VIvq%Vt4RwCdoL34C&AMC^Q5WO=mdH||oHw0S~B>pAB z+kk+J>$n4{EVWV2JEd=&B#GhsM@AxLOeMG~4&>$KMgMd?Rw?%&r?_B(Vr2u(D&t_K zIq$7_szYYJm)i?YuXl&ByHV@rh{5ST*CKCq8p?dK&~*ZAiVCU270FFw*grS!x&V4mQ!Iy9vkr3xmAA;Jn=DH;p%_ybOC%7yQM5i(^dD zQY-fs{+l*?1STTdMAGM{{5Gf65A#;j#MC@I_i<`)lM>6Ze99b(x73a&-6S4h z`6W8cJ;r`LO?+*(5~x9>T@Iu5Ve|TAHT{7}`tTL(yLs2Hi#mXqhuzOWJWdn-8?yJw(m5ns$6!rTviO&_qzj}Z@r@h!)6>;!!)(r z?qmKV+1jtayy_EwYA*O+E@DU7KON-oL&?5Yif_vKB0MsfxoFZ^^7zH{_yH|oMkdxDON*IQT4XV@yCh}!!{I8$Dy#OO4qV>u+1ja8Gr3QpA& zFr9VxP1X%9w@++Y_Ny4LQ5|YBcGom>N&9^0qZSKw#DD*-du!$P0qv&)0Pu+h0ATvx z;SWku64KKD5#{A$le8(Cc;Y5<#-}`oY}OzX@Ae17@QKk75&Q;Ifks!9+LMC+Pk*LErz3*>@DFK=ohvf%7rH<89>$a=C% zqip2otD+WNrS+n*Nj-hxsfogxiBi_7iDews$LM_s4c21vNwfF8iOt0FA1zY}TU}m1 z8%r&n&55ds37lSDmYC|Ssrh@dYePlJ+_)X6y`0Es)xk z6EZ8>c0{Fh&nz~UX65yw`p0Xs;vb96@!>IqxzFJMv|8PWHy;nmwHmH zSs5HNmkUdq(Cfhyhv7=ig&6LzDjXS7PS%%xljZ>30l13V-TAGav zG=90LD^oJMv`O55qP*EMG9Pp5Emqnb)?Uw&Ga)j6^2};|87rw<$)^8!rrt`cF2%?w zZYVWY-_u;5PjwaUZ)O!1)XPvB%alDw0Rr28#shkD%!o1jAHo**wcCS98BM=8O!Um_#IZ9HRJFyZ`ePU9I z7#@ITw*%p=G0>b?JN)Q?%(i=9L1(|J@BE|ZeNdj&p=x`(r!2SQ9NSGMj+aYRW>qom z{4%mk7Dzli_S?-<(%6~_2QKcdo^wH{NyleC2jX(j2eQrmno%%p5t zsa`0*lT)FGdZ;b#7@=FOCyQE?;+0I^-_6dq*{V?D_W75nlL{yZF_1QluHZkW%(@cy z1>cXQXp!bxv11@;_IE-eR6tI~J$P3A#4eA?kRs5s?wVK-rjWp}4##Wa8+$!4;F643_^j<*5T}9DNNg-TixFq2r<7Xt6Sg|rYph6*ceNG`A z2V%HCM(Q|4_^shwrfrO3?^lGcv(nvF|!q~lT4e~AZ0#~UOUVTSay%o_@$awq9#ZKQler;Pmc+&sLNi6 zmQl|M6im#NV;0Xr9fXr;9lk}o1*07;(AJ&_s4O~COSdrIOH=BYJ|+)MskH3F{WF4AE#(1?uw|%}BAU1)+0{f7+!j#BGS^wWcBhj7ey(C_kFMZChhG&;j<5wPSJEm1Nk%U6N(o-9X5wgwx!Y09v zP)|i2Vjy1kcZd@pCpHXrei5qM%SXV_ zsS|v}3NRdpe{b)mM*B zJcLbUU`VbT2RCL5rZ?ye%q^~LdAY@~MS3zTkeTngqR`(}t4G-ZegIyjwqlB^6Faxa zb~fK4uw=KvnL^^_5 zCXwa_8l{Zu(}-@Hi($_ao7Fbcfwn26?L3>%kknB2DWH(t^lmHtM@vX+5zq{oqM3{; zn(oM)VvPj6K5xHZi>Rf^Y7^8(AIe1{^GM<~TUlIsn*UWD*~r3bRll+Pc+eXG0=K^GB zYMgr{xgbi@7$trh2d3(1V2%k#7RM`oU}fJjEsh4U>&Eefxh;ljlvwNjD?xnq>Yq0w;oZUtZK)2a)MqN z*qpUvV1*K3MPd`#qP@Rrl>cItsg?QYp$o5|RQ`BFfQAT87OHVB8p}ur;cEErd{mrk zF6P<9(PUZKku%YJrJ6%L6~|vjF-r64GyOIhtcSjIs0H;|A~oPA7AEyN6qLm^@FT); zRNh!)J+eA6kFZ%ND9(mKPH|1cdT=JPY@D_Q^?E+twV{qR1_bOQ>KlsJtPX} z@JJ{MMH?yqQmh-oIe(D5F*{up^SxHqV&qi^9yNqQtHrm{*rJF{6T_H@SHQ3_?RAhc zeKj|rmO_8NB(nhA@^3QmQHMB`L3W+w3j7xMwE-f=^fLF;!_IC{kp0hU!COxX$R9n6x+#} zF60?DARy7T;7X$QSYoG2TVN9_uEOTgsUFy?zwRJ^gnphQ$SJ1YACF_B85Pf}&PEu( zgbKJ7ni0M3;go(QThw#EGG}*#ESqLPX`$I16(l0DKqL*_SAd$#jI;~H0yTdV`MQ^G z9or1~^zgFr^bPNutf+l_v!X_?2Zt2nc79r8(}WU0FrlWLQ*|Im`J6(j&n|;@aa-YF zgNzoN$52r@y#Wf6ye03`G!hA==X}XTk3Dr5+mtFMtOs_qDN(NCoW(nd=(esEA5{zC7qYgO{ls1L_D7#P>p6*gGsB8V#Ejv!!rSpw)?-99Z6=a^(Cpp?`Ydav4 z06!{8Yfku(tV`cB8S;C(`&eGzOdI9<{_W{M2FLYyhm8$x9iQ#%PM=@0gZ&y&r4vZ# z8T7#1ytUj%oYiIGY6A#Qqvx1+c)5-wBGA1aWV1m(659&ZZwQ(=Lo2u8HfoqzG6jyR zg;T|hs*qXE{gD-asF6`C&<33r9R7C75_%C^YDO&YxRn*f#iEaxLs^Uuuv*tOqF>QN zx}1<5*z9YKm__UBKdB0ZGSi>;oRK6N(XC1hFBtF{%pPhP7r0lzNPCPX?~~%Gjdo{o zT?z$Le^_|>wo1%IY_FHySFE^Ca~9c#q0;iGXd!phuXWiyQ+x{#K+}A=Jn=m(0)jX_ zNxg;8)QH@^oMBbNS7^Upm)3+HTkQK0$VN?Px;l7>tki}{^%7yVPc2cKet#Y*3=vHk z6#Gj=Xg%0OR$tqkPIV!mCp_3gb+KA zzz0|lY#UWz6D5uhgvaQQa9@qNyU-V}aH0iv)GwX1>yYuQF|v_wE|*ux?n6Z1E7eZl!Q&uVT3qZXqayS%bR085e|@gfg07n z3qCVuLo8Gg0su@0fEkNv&mYIZO$eVFC#YDCn+CS;S#+=K;NhmJ1SK{MI6ta(Ysf(` zW~nhu;Lfs&m4nO-59sG4Q0pZllOc|tq9-rHiBKM%U6T5|73Ou(&^C{j85L|nqLHe` zd$xMZrewi>n~ik^x*Ul{Zh6Ph$;$LwtBC%KLENd?Z)KLMzX@I6!?|WH?&1nh%Fc>N z{sIyzSO6BR9z8=xN~ha`Cv-Vz$N>+kD#2DFSb=|L4wLA67 z{_)$}FDFzIGh_kT`lruFeZ#_fY6mna@z_E<<4CS2@)QSgB#E$o}VHa zWCr1(A1!ZHE+)>A;|j|Qjy;uWX$k+@toTF4mOzjyc`_A?7L^{q!)aEQ2(Hz4Wn!7> zkggtLbt5w6vU1f`?Wd`Yyf4hR`N(#$!X7l+BL@I9u%MKts*X2Ew&B_9G?D?5GAmMX z7dmI1vZ|YG_~dbwW^N|b1SSivyX=Ha?{Lq8j0UdJUacbx&Cb`@VVm#19(z6s6ajgc z8S=A?j;sv>Z_~hFq|cIDs$q0Cg|tALdZTYM6StGL|vrEQoG$m*mV0OwB6 zn!KdYpr!lGgU)rPq9Oz_-Xie+{l&zq*#i>zy~)2X)Y1uaO@&}mY?`2D-54m#o6B4_ zfL0M21*fk=ogBf<(vW6coU#S`FK#vzlJJ5BA<2cmcNnT`j4N6D-ydHclht_Wc&v$2 zcaJqk3nMR}5h>XSe#8SoM;Ne100?KL^h^qe9EwYiM8;o=3?3V-5-dp6ZpIO%)F z^63ThnFgDisIkV!1SLHSSU#dH1xIkg5u?($=B%J}*7eA*OP00)$WP(5?&|P3bwqDG zw|1RVDJTStx}&I(|Dntj*>Q(e9*=ms7?GnbT3UB(S{JnZ)(}9t)VXS ztoE{42)X@{My|sCd=B(!LAw&m;|E+m3?@Q}sWw@~_xY$utEB1$ob4r;6_i$i2m)L% z;)nSz8|dMYXE9!9k?sk0%>GOmY-eHi=~eq$zn+2?mc~oUT>Dt)DpZxpgK6BmcwYk< z(>zGzB0}Di%-M+`lks;e=NQD6K@fk%Na|?IZ`*86m}5w1yy5gWhjzO@-b<6%dUJc; zSU*m-xjypL2Yn1xLBAK{nzj>XQjVaJ!Qr4aap46w0emh>wz~ev>gSJ`-u(L~`@2JQ z7syR31r(J^ZKfUZ>plzFI|qJEKJL-H&HN8|w^yd z>}RUuM4;ii_h)AH1Io+6{=k<)KkgV)Vrhu9{mJ{Ve{Lg~;gv@z9)x{zh!>JXd|(f~ z6lU|eLx1l3EF2@u*d=NKPzh+Aon5ODvth(!j-Kw+!~xMl-4ROeAke%l)|dh)op?r_ zf_A>Ctb@pF+*HUG#i+_c#TFr)eiT;X2lh@xR@@t^QSk%RtrJm(Wxl?7987j5oOi59<~30nb`zN1;gAuBV-vzOW@Oc7+5Sl6w{0e5s=WWAe} z_Yy9(J+{@?NXOP+9Vtc+*JB5&Jc|lK8HZu>sXjb3T3Eh(gK>9|O!Em}L)I6+i8mr- z;BhK|ltr!~4fFw%?lT6nyA6oCh`$VXdP|BI8xnzieT<8AlTI^(h|9B{`dE=dhR$Ow zCqGhIwoVY}sx|C@{6}3*G(-5j<*>6y7#tAYE8M17jG3PkLl`G~=3NgRR&2*<<)wjJP$kPAyDpY^xnm?RlwYj>Jp0d5~kL3>27O?h-e zLdg_wBb2hNd1yzL)-J5^I5{_?kmNYJ3)}!_b(ce9olK zL6G3pTmit)Bn@e6q%%J#IU8V^nSY3T`IhR22$=l@lw}Rxp*~J2G!bqi;8gB&Y3`cD zVf?FBj9`Os2tTwH9GBl{J@2~7Kn<+&Jvr?6@ZMM+6ao9dcf$9b&SuGNv0SRCoXJ+& zk$;|vw3+lz-ZDWTGImqDcT(@k7H@8%moffTY-4p1xthj<5cP=N>AU-X0JA9hp?@KG zrCfoH6Om6r*h98ZD}Yke#;<{jI;hHHPuxwO^{MuQf7DwH5i`0nGXsnX=BOQ(uiC!z zuVG{FZ=d4Jsj#qLDpK;#B{=!>XNO#WTx^1a4nkI^Lo{eHcTXiKhpq`^MAaiD%z+t& z5dO`YWNgKyJFGV5a3sMS?AO2?Jb2xMz^)&M^+8H6tN9RawzTQ>NC zz$%harK*IHm$JfaDv&d>@VVn};@@i~*86J#(A+Eu8zJ~4{MgbO(zvmB#VN%>0Mr+t z;~lZrNeOP~aN|ZMApA&Hu9#UF??rA`ISO=V%MBs*c@hJVCnIo$(*IC4ByNapAw7Y& zPt}HNZ2~4t_M-1&feE)44InNwTuSP*CXA>$Qd|Kxo`(~DPY0eA?($Cd^rwdP4kxp3)%|25gmj`TTs4F4`9TOf1P0#qwID`#5C{F=OFbe{tRy#+%0=djw<_d* z2yS2gRNbS8zaZil^&jcgLGEDU0djwG>>9a4crHi>0Xn#10T~-5kCmg0w|Q1Ri9T}`hBo|l|Eo?Za!H4q28rTgnomITb z#8Fzpd-_zt^3ILdRg9YL1*%aNXS~=n<^e0WuQ=IV+@DerKaORm45OiIr$uIsVw z{@#H}9t=u{-rnUZfkQCt=;?Lrtd1|^6-$T{>{4nOpZ*)leazDYx*_Jdvd#^n0iLy5 zAaPGBRBybNkj?yi>K<^u62UNi1k7=*Y_8DKgW=o zki&GW^kHQ892%cDsmvY$)$L)wPRDKGn3K&n(LiV?j+>oW6XAI}-P20%V*xR@als}; z2Y}VFCu#^F%_yGbSD#*}rU)%dnh=>#`XY$m@%`kL;9nSb`Pf@xB3(RcAt=E1qaqR5 zt}DEYdVhS`iq_c<5o-j09R11*Q*wggg~?@PTu(mTOz~j$<7U}a8$bEoY|qYYWSNH> z+LS7|qds7&SG4ypoPY5d&{)q#R0NVKLeI?%i__&L4)mCXgTOy!9VN>hO-x+CtFjrT z>4%nEv^4~rJ-{dzMgF!L^@wHjddZ58>)e31Kln!1g}Qm|M_G-Ou>|1cla1#_31<|L|Bm3>k%|3rNF(1gxz7{o?xKCp;O)v_`&l|OyQ^!@vF(_#@_R?8E8KO4#v z|6&)N_Rm-i=hhnRoNk#-TOKop0DE^JpEsd7Tk-M_T^W19o%$mA(??bSmAqHDp!ImPtWiar`8l&(gdyju%s1+3XX*L-hFj%5I4e zYe72x=&sr0i{L$;Q~b#d!F=}<)1U$`-e~nnpG#KAwX)3i| z_#8}f8ApMijF=(ypmQJWI4as1IQlN;4&Rw?2A(^ldxX<`bXv}M0OVtrk-*kU@AKui zQ+XNW=bDpvY?YJdnb%WVjU&=b@%s>Tu&?x|L3x3Oz)3xa`w+(K9Ba#!}q@Gg|N5< z@T#YYRX?7e)yJOY1G}KUuSnNK?WbnWpZOUT!a}&zJ?lPu{qi}%?d6=^{DTya#PXVY zrEELpOOT_OHsd`*X0ZUI(ip6Ui)CQ{0888uBg~2V&8z!79l_Q=kwfDsW0&t7vT|f! ze;{&r*B$phbeW#sgvLSfaRM&IEe;so&I5*A#7-8=^4t8G>@Mkwo9g>ku7iXxA+X4e zw!+nGKWBkLPLO2Dq%AsZ*l;-=-MMt$|03h|RW0pl_^TvZO<`6T<2p-fo=f17SZI<+ zI4uj%Qm{fo@$hej+dF`xB0bErd2|rBKrebphYoN7-UhF8ClP9v-gjS+l+$pbNwH57 zjwyQ6#Q?O{6!qN3|(b+t^H+C~*XA!n}Sws~~9}$$`M^AEeZsc2IU)ER? z(dQ-$<_|Ewm#5PJ$slbV+7r8putG{1lL7Sbllrf?8t~^qAwdDY;5`f`VN7MGcPt_@ z{MIogT6{|iwar7A-`Vr(or6e0@DDK<=}Ca0JD5lB{nEw>x0Xr~2z@#e=~~xS>R!>) z_?!cc%O6h7c(-0E^jlF&yUP@sMT3?XD)WNAKd+#EmgR$qMu$= zh zMwbSJ_nXOO z+cZYQM1tQ@Jo*2qcbyyO>JlYXI2f4hHCGw0i$?&pDj%byFQEo(5TRAmC&4n$CSKl6 zuCEITB)soKi1fHc_Ae)_9%x#m)MOHfp?^SQIeFCJk@JHS5NDm)>Tg>E zEUJwk@P_fruRiKNQOh3IG=a&qrm=ubvVf57?U2WeN`cBA*jLOKUcq&3de@T5wY$dy zJh!;((0Qz`t}heUdgtcFttCzIsjoLG5oDv=qCgz~&40iRq2b$LZ}zD1fpLi_W-kH10aYHJ5AqlJ^4G<9aE`S_N10O6c??1Y1gpta|ty0n`$UvL8)!`sG zl{VM?iXzE$T$7u zT(6gYxfMmqS^x7hQ4D{5B&#ci74Iq+46g#%o_VC?W^8b#3BFRE){JRIX?lo&*Z3`~ zmRA*h78k@MBMnR=bZO6x2SXTiGXOjm-?pseOpcqICyFk=qAnoYx^m=KGpIjNL=30y zRKlkGBE|I;3y-52uYH%kW=AXQJ8cq0;T%h`e;BwKu!Y#$~@DczwsQ%jr;amS@@(j+27kMlh$*N`x%XH@(>|bf1Gax*ZLp_WL9$gYpQdlT|othys(du zYbR(yc?vF&O zwLAUReD~*q^ba)WAo4w_oDVmiNQG>>%C}knD@?YusF-JgjQQ!`lfBBcWY&_+s23^K z5LR2*bg%-HnYj7sw>?|<*me-idPl=KmAOT(2VQ7|bOrfk98a_tR7Y&!I2D1k1Okzw zU1)B@Es<*Od^U=ee^TbN21Rj7t|CvpjHeBh`aVFHq2pBtQsnXk24AashP8?0Z)RB` zLlKUNmyw6vAzO+2du7-yS5jod1oL>Gyy0u_oY!qfl{lXTVef74a%eZEsrK#1e z2sB;ALJk@0YG!s{j#B$?@J}L+LBAPKd%_X9yc4Jff0H8N?pLcXU zQr*kxI1EnA1PH8&nb3YoqBj-u^rFl98CpUQt@mW z;=hQpblo6{!;Ra79Vk+H7xZ5!#skhDnz>NLQfzp& z-8kB3x`OFOC3r9d2U=_@WA$}7exRP0L*o)0ecpuQ9_|hC?T@~e6I{Hq%Cdo6oM7gL zJKVhy3LFDUSL~U26C%PD@^GGr6=|8|SS_|gXwL&_24*(CY=~Z_&U)NW>~J5NkSCSUm`5-Mp#e=o_!(Y^&VP-bGPaUot6j<(gYq2*GzZ zf&H?(!$$@YA$oej4?5jY@EYQ&?m4UEgp9`L;3*S@XKu`?c7MGl-}QA@#TLVkp*7pk ze1jeU-$7IkuL%ztplV(Tys|PvCwd~fEwd%MT=7MU#>mldL#Y6~Z|0%$r*^^i3$93Qij|5s%CJ1ydEL%LHdmtwkCbf`0YoxW0 z$=^7|bMrEBUfx>z7B(OI_iX3{LXo4qRWhS}9F^Q^WZlpO7OQEeIRvVnJ;xR7L2>Y2 zM;b~s(mLgL^#^)r3b$TkCReoOWO(bRoVqUWs4VK%x0k z+p#9_C9!pwd-X{%o0>tV);iC;Pu1@9WpUpgOVjMqzc4Jmr0R}{l7Zh#fEPVAh`=1Q ztZ@`^j`G<_vPKv7Hgtrs?mXNJEOTE}G7<9~xYURvN*356J+G}mUaxv}zy0O0!}o)! zJNx9=>-H^%FQj<*8F;m!U5Y!Qk4~hxU6*wc`S%=x-X^Yg5(lgYQjVYf73UMc$y!EF z)L0`g5fKm{cf!q}>xJ96P{dL}neB6Qdnk~6YveVOR%V|9x0MgibF^{wI zNVn|ioE}4>QvuSm5qL>v*Yd*@+PMTYO+dVo8UqI!AO~z;t=s*Tm;qV`rrVht3n#(Z zX39c<6~;JOctRNlBO*!jN6%%);hj$p+N2do6OT1E=7N-t0qKvdYKg|eE3 zU~zHkAf`35__uEHIGfPdM+v!(Ar=yF$GYQY{79YE4-bGspr+)&2!drm%rl9%x~7F( zeQO#{7<$DMaqJhh?whJX%Dv4M*W-xje$^8}Ika~B`2}rCOjqTAK{U&1bhtk;0EN#K zlL-A(@ik`e9DnVDkN}-+5TbFql=hmTQlr-sDgMZCi*NIGyH?M@jU%jaHi%W-8$+E% z0GlBAx~T2rO91dvJ5~>Nzw9$tb0e=8im~P$u9O6^o6k^wa{g{Ody1au&boM=^_hnD z)eFNC711l~j5(hE&W6h$1yZwiYtf&YQjY(DqvH8n>l9FXYh(N>DKWmtUL(j{BPq}4`I{j!!)u~ZI< zl7Ef_{*XmPdTa5JfmptNbX3zP@;XvN(sfcqxL7+xOHSs4d*P9lFSCtbH?^ z!mY!A4oBrAvCjsjf921cqc0CUa+$R<1O#@ zGwmC#VOO)iLWYT?hI7zsIe+p}I6 z7BCp^0w-SB(eWU77&cNl(ZEku9Xffu4<*6`D&_To&(x?nT z#z>MZQX@Rfn#NbW5|<`yE^XcSDWzNvOEkesxIEfZDj`pdPv)|z=lO5gn_Co=ykGB+ zaQZYZ+tLQKWz<1FXnWRFsO$F9%b0AwR^}}^NH~5Mdx?PGkhXy%t-Yh2 zrHPR<-S64n#L?Np#7QMyPHKoBVdOT%Hw+YhMIJd49bTqDvRXu3(i*Wl*u^c;HtUAw zgB;^ePu5zpXLbg=ov$5?WTjBaJ-~FY0QQ{P<@M!F#W>#ri5`kj26>h>BVLAXY-ge3 zr#!X%=;JGm&WT8BUF!Kirw$#na}o1-3ox?p!YhbGG35%23WbeYhD=zlQA9vkM&vieQKGVGd&q|1!@lQ-!QoRMlVWV~W0GJU)Uz$XzB zyBcQz8Fx3Gm6}3(&cL(ait^q1^ODvLYXOWOlJ0OGN(uN$=3>hhtE%J+3zV8tM`O!O zDvP1+31XK|%tUY3uo$F7AouDI~G^eQM_5;sSe#bjw>;B=`+Fm(LsGQR5m z?Y1PJ6(JJkr@A1qyF?M_n^#|nGb{V=3o%Q;(fG7(+`_r63t3h2+M zp;?i7k=#jo9m9Qj$cs}&8ktQSKqs1n&^3XNK9P!Vs+(vId`ra@56_&*cf(_HqeJ>= z`-7Ew(fD7cBq_~-g-oCY4rWe89c|lrG7;4WJJ|})hmNSaoWJMTa2`R=5Q-bwg(W0g zw>f5o39M~og*CJI4#>kJIDgeW=(|aRLq`%2UCBqumCol;CAr{0p?91IzN9L6Htrfj z7c#A;dB%33e5^~-GUV+wY`P3EkpFQa(UzAxZ<*6j{5FW+ycT5f-7PNmHd?@ce_v9I zI~Eu6xzr~;ZR=w=4Kmp7+#b$x^Zs@>d7RUdQw69!;RKbija8& z`X7vURnMX8*Les8C>k`HN~*R-kqRvHzU^62i9C%!LKun=P{nr{4Q^BldY z{fV{+CN?&koK(ihKCr0lsJ5qWD6vJ7Zf3$sDMZ9fSkS;eL5zX-9PtN;9sT%weB_5t zpKWwc#5m1}sz&(R1e*>1|A))bLlLwL0sue^4FDkd-xT@(EFez*>(a>D&dKCIYT0X4 zZGMqS2w!&nZW!}m#=ts?sz~f;NJWt}T2RIl@xx>?3K&+7lr=&Qm^TZt7f@$}o>|{# zI-UW#1x@(>8gW?oCD;6Ca(uWSPiC~fA5ZnX2p$8?B84mBr{|6l5zH_80tU5ofVkHb5NWH;gX&Ql?ae>m16jh!cDeJT~DLl>v#(xGZKcuWHfF=v)o z=a2xwL6uArB;4;9Mwo7fb+;dVcC+y5Vl9JcO?@5IYGTSjYn`DUz*ycgHR4+5wstC@5!S_+b`H9SrI{hQaT%F8iuL_%Gf(s zKr11gkOpG?3l!%&z;a(WwMzEB!=Fm*&kYZ$hgtM_Y%5L2v`C8C%2KGtu7Iyg-cB|FFR zIA#iFjJY?0Y{I+i*3e<^E&ZV_5j+N(>n}<;aGM6MC{LY_MA>B2+7q#A&ZpfEVL2j| z7D1lQk;)-4PXK{XEN2FR8VxM%;>J38X6Gqo{Mzw29i0EtTYS47yS}-?z7Hjh1Jn(A zwPeLB!)rH#Pyh2WP_=Nu{O_S%RCeu^^`ZOaAbtMm7_wmO@8j7Khh*gysqA_0jmsv* z5`S&X02^5+Xxv`e#>5!>?W~zYm)h4|uiCOxFn=pJuJjB5ZAed`2GDZu@;Cms)~(iz z{nGiXG_?FkhJ3$at?JI}O!lt)#30eK2q`D!~dod>40S0<6;fbPemUsJl!;K^i4f<}n9!I@pZUFYl6g{xEFZY3fwI0Vnq2 zlDUBw7ShZj+S6O@7gmx+MUUzpRddRv9@g>o0UtFwt5Y-;cuDhukHh@fFA8E+KrNte zPTnO%PY7Imm}t~dRgWzCCH{T+@`L}8B+#wc#H~Wa|3ZKJXPwu6l4VQf>wgJza z<_J1r1r1MRGtG1C22M^N83Mv{e=rwr;MozmlNICXp30#$v<;t2^VmTU_0onkp#b6h+BlKD&>kcO221t z3A2mKMQos^+RdY5j?L7@<$V_M_<;rB2EVJ&=ZCSm2m0g=+ZWlyJ)$asz-}fbRN@fe zlql(nn$=r{ufTx7&iOpl-{zT6H-kzl3~}#ZJVig}lMUU!UQX(umw^AaB5kOC-5NGb zN=Fl7dylhT*-y@!b*Z%9Mw8-k(iJu3R=$_h7a|{x`ek@Bwf4UP<}&7hD9V1tvl0pb zK;nN+Je|yIRIhChL{YxthPk(Lf?ZUxH-n2U1e3&R;)5eYAP(8GuAyYE0LiSZ>&&v_ zO2vJ``3&-k-FU#Hldfx%i9|3>Z+M;l%<>M6Qgfq5_{<1pg|ykrj5KR+03ed{B$uKK z2Wl8Xk+CczQG8A#L&>_rXfai8~qk$_ovY*uvXqP#x)K;PP$ASWfmf;bB z0OII4W6!*J^le(g%kHIuQ6k&V1fI!et7l>kS)ZNE{PWT zMa`SSm+mEI5au)>M@{-e4Op0mNN*6I$feV2hzoHZ>~jRx1W&L)g7P52Fg$bfRUl6_ zj(^S^REBc%;ODeqs|SD5O+|T&B2#{blfFzxE$@mmPhMt5jdU-=E)_hf8Wn1w3e3`zObo~kuJj>LmQ+ba9rL%(LS(zG>XyNwBS|J zm|?~UT8K3Ii3BDZ1NsdD(hKP^B-7c_wJTv~uK}JS^C*`i7C+X9dlSGm{92W28tk|R zk5q{83m|-eyxfD9D8G0mMKe|8O}gw|HLrHE%`|cXs@-%k`^Z{{yg(pPL<~WMHDNq& zgtsLFy0)(yX_-Zm4n;akurN~P>USpL=ISs@bFx<~XR(TID(;9okM(OM^{xsUM zDG6M&Uu^hkCb^erXF-QEwDdAS44~Y>0(}23TbxS9Ua*{XlODIOH@?H#QhfVQPD80tzvY{`m&0HFHeCTvS zhZs^lia8VcHwkIn#|!D`Z#l^$aX4hfPDFY3Bt-@w+Cq!Y_abCeC$z#7Ehf#vuh z)VAha_49L5)xzl0C_9Oh;7v@-)Zg`vx^>-kYB*JzHM$jKX;K#(bpl zg?gqYpK!g@Nv0?Vb-)&I_=eq)qYnK&(_5-_m>X~DF_ojQG2o*~U<(@fi6ZfHu@i~D zplU#4RSSGW0*app?K7sE4ynmYz8Z_b&w{=qHaTORIpd~97-0cA?Q!?ZqAQqKtL~Ef zegOaZUo6PPk)DeP?XNo==-eqQY?=l%#<$)%(QRPmt0>14-gjyI|A z=j{PP>Ijc(KB z8B%{YlyFET4lss@16P|h^IG<&av3jofH#JTY%f;ilMudcecsntmke_&3?*~REJhiM zqs$O0@o~KWAn6V~HIhtkGuB(O%gfeeHc~W=@_tcq< zoG3YZ*m-o;nu=JOthfP}`FxAXZxCm~5Nm3a0gfYCiL8kQ?atT(aqhF$ZkcwowMN9m zL)nPuV#{>{mSjHL#A_UBh1h#m(d>lu;zyN%a>$+NN-l7We-=Qmlcq;(*0)jBBR+Z8 zDNt%0PU+r3ytc(ZNub|Z0=gOmx(R#b~qRTq2Um_zOE{8y4wpYjHhC{}Og4iRn zy^E8C@@JR_GH=~GrI#DS)vJhgKK~XiAsA782Z-K8IVG^iKr~CLgf(nip>4fgleKW9 zU=?4041kneVphINAxNf1_qjBiUD~vIBx#!X%(rQBXlj86QS0vB72G@u8ldqAj z+owu)d`}ftbBJP>t!I^PAWbU2m_{(JY6EXNi5`KGI+Wgyf#FrS6>LvQ7;J3Mm`hhi zCE_qFszabL02cxpin+5xMc#w1NvMa!MRVkb#@%)*!NSE5b6|uc_q%;oZ*N%km7k*G zmoQf+o{JYRO=*rljA{L!^0hYKS<6mhpx9-dOC^8N$kq+wX34v2vU|!>*3jmnMO`-A z@eIG-n!AeJHy-{hFTz?JBdR8inQtaWpFqx%mI@?+*kSh!DFnrhM`g>YHG;fc-o=&} zFtC4z+#o`Aub5u}@34mu?rwYJRcaOGP5c5618EVCL%_^#Eh>6L6zoz%sS0|?g%$?e zE1D23Yfyp;w%_nzV_*_8tU^;h_(#JF0>V9dxn zXH{5j!7d7^H3JL)HtPcNd+5$9{4EyPjJ-In4qePcNzIy{aC(!StcF_dR}|qi1;ysB zl@ZJP8@Q2P+O*WGvhW3_rYson286<21>y^o9=KhWRdQD~DSV-=w#65Dazvz1zrZHN zxfJrKU&6bPipWf?V&OY_$$I}>IA1hr=s<8o1Y%2N07QKq?1aYApB8rey|r*`0DZlW z3Lp6}godx8ZiE>~?wXsLG+kEtR5`A+V8+TcdX~K>)=4Kv*%(n74Y~H$y+tvI-X;>u z?p%DJCXHmsy3?$wS$f3xWV&`B#rXZpB6Fp;JR5i4cGt5Ds)+>`# zJz{qdMUdpj`EF9d27!V z5?Z+i7hocV7B846sA>^-P%L$>`gfR5LK=7TIhs-f%L3mp&pyw1?hT21K5I!taQZl# z`Sigj&*R^4xUji2&K&LY=Jt0vD_#s&4VSc#AD|N@umXGZ;fNw~tnkbsG|zH}a|Z(4t22BF zqo`MCsBoN@zJua=_QvI?_92BbSU~^lxt9Cd~bWPgA1PK+3r6qorc$cI2|%=p2Uexe|{Tj zE!OXw%zo3gth%diJ9vSJh4El{3Qf_xJ(kkmcpLRXGfFX8G=vae*v%x~{l{EBkB;-_ zu#fy{K93G02|%Qn0jNZ3CG*w{IToR*C;7}*EZE!61e$zL|AfLp274|(ESrw+esRqR zseJb(;WqAjC@?gWW}@oFm-NGjJ4hTYV8uUxyg;EL0nttmywZ^#ORp}=5&}>l_2I!J zYlDneYLHbtM`$XPcK0~Pp0!vLjWlcdKU56FKUh(CJNavs}x zcZ;^>{;1I%dvh9$y`Llt?4MHR^DPFbc(~;C@l;!gy;;d{mw!2y-=9wr$Kd~3dj1x$ z)*MKw(xHY62taokF43G|qQ`>TS&8A-{Q-iHmH zbu?g&}a0dKvi0V#RW=hBzENfp5F=+M|=BvJsK32+Ux7D~4= zQRUx&3f$_Fr_v>fI!z&JN}}n&hr%XdPTgR5hiS_fh$bi!2TNsKQGB2kdZD{c3I@Qt zp(J~eeq2@xB{t@;)*d#CvQy!I56Htg;r0B@PHIY`0p%~@|Dr!%Rwqp*Az?=yVMlsi z16QY1P)XuIMG_amR>3z~a04Olb-b`dIbE+R_rp3~{O!mREC*L{$wIV!Pku4fKo@5d z&G0xwo(?C2+nNZrDM{G^p<935w(%mk*&4Qq{(QaqY@<}CTD5A4akdU$-Li@91^%*{ zlkaM|=5FOqH8z)LaBT)mEVn@q`f-wVyfECBriWcUI;2tg5ZwzU?30R5)psL z-WqTVN#l45wdCyQFF09z?)8M9uoODwpL-y%$E9j*TMkbZ<<(P?`DPSdZ$`%n7y<$S zz!LfYiL&KnWnpdYL~rP5U}5XzZ0Bh6i$13Re<@oznmTsaW2ipp`9BQ$_%ztsR5Jf6 ziV=;aBtS?~u_sugTm3`3gd7XEb7p31&08tv%f9^!`|A6OPq#8O=u9SU6T?V|+-|q# zoaTClXr|!cEp;-GS?yYCd`>qeSEh!72H(0{WXyDY3d!tr>UzC=e2P5nl-nA0XJ!Ul zM9)2o9#+m~cd%PruX833cAph#?{<4xeJf9TXrX zI@VO_7^GwSw6#_Jx6|obO1HyG3iq^>uhM!$U{tC3Xk@3Qq(I#bseuRhmrC z3ZE_m2hW7%?S2RS>}_4!NfZ5Y(Rh>1g$|i3=VLS}IuNL-@xJr$A)=Rx4SJsL&XpyXDU$&65P}zhUc(|7wQWG;?u*2-4aw=+rFnBFs z*)z!fb_KbWT*y4)G5V<8i>)&emR1Vwy9&$Fxmt4eGs14Rn`fq%x2^5%;ckDkG*yM& zezvn6(!A!<`{33}Q)aonL01|>J+1t%O^;Sfb5vwrOCnJAI`ub^hM}aX1S157QNkfu zI1aT8x9|;WAA0f-adTz~HVGpy8I2RPOy~3b;G-?5PpfIkMga@{l}_1cV@tjFydrug zq5Q5Near})pu)FcHecmM(k;hAgUxZgM2&s6!m0uIr%D$~oGU7VZ9fbBwG_8nP0Fm* zgJdMs&hd(;&;^%w_qY+w3ldE zN+ysa!G+SxPgJc2_H$$PC|g8xCVl%+`O62rl>Y>KKId*($-Ob1ST`P$76ibSaNVp8PVE;rT)%I6Fk-{UW`U@#x%APkLWt z-$9Obtc>YMy$LA5SCU*c0`xA{wym`bO{5%Ci&=~BxogrotKP0aWmRs6MjH#ItD}x$ zO<}`}!rQ%*<}A5QENxGQlbZ%cXnp?X67z@<>c8)#l%FpQy$K4y8R!`qr!r2}!y@-b zt-AV5Z^Z7jMytu5i&w3d(FFo`kXb1WTBXZ)CO@%*oUeIh5x?a#1umz;3YqCtZodRQ z2)Y|GgPXlXi?}}TuZbCiwyvP6IS}xY2>vy|jx&s<%r4t(mXYwJ8_3%%{s*7gH32=s z`^v>okluZ?TFqh6#o|?yK1bqkG4e{Q&~ZyA1Ew{^I?$q)D8>M*3!%ER``sl0Rk0<7 zKgA$itB0X>gd*T%KX_|Q#H%dTGq1UdCm^rTf+%Ddc;7y!9SE0E2I1j>MD82-dYiOh zI&`z;78V_6YOM1o+K=(BPg>6JQ|w&Z@Sdg-&sY_?sSF{$HWak`kZjc*95f}elIdl& za*y()QQTD{)tZ|AAs$}3)S&^`=dhzp1)|$DVB0Ux+BT(o^~BjIj_W}ZIQ;K?f8f@A z%W4Bp_F(}B0A)e)u!F|%K8}Trk1S%Cy!cJA3O$@9#6E3T=}xA~%8s<-?!p!s(~x8) zvh1J-rjukD2(X48>+mzH<0u5>;;X`9~-*M+NEj3MET-23>@l58c!f4 z;$M^A`RJ#?&Cb{Jn7v|S^(P1<$lFMyVUE2iYC!Ae2oLu0%axGnG8UD$c zZUVg075($y!QQBe=O+hR#Y~2`xGMX1bLFF|H(|0Weqed5$G=~)EJ@++3~w3@3OhMdVF7H6e*qu|Q}`3< zKkN-)VOORLVTo5mmEfMoCUA^LLP_wZG$B3=yhUrn$|4(oKs3^e0a*F*JAnZ}V}N+$ z-j0A{8BbkkykRR+c_qU2S;qEqWNN)q;wR=8aY(OLuTZG?A zEUt-ipW#s=+a)Lwxr0>dcC-9A+Om1PM(djTACoV;dWsb81oI`t@biu2C@(y+HGA5t z7;;*#riE%`C)^{>7iwjbQCHFjxe=)9DtoVJ-m5}x^2I>q9=^8hy6>ilnYCt1Es1tO zRRVyyW}^c%32gdzOML!n>FewF-IY)4UyWnkZ#%QSBHtZ|RHPZe)$if?cflpwg|4m0 zaha;}G7-S|X&oB-{tas4lJ#NzS3J$*MAjmGgeQxDK6_R&rSIZ7@n8Uh+c`oqP?`q@ zFL7C+Igy@CRwH1Dk+z>i?9G&ks0{^!o@172(JlY+`MiRxSMU@(p@J(@Y05D&~EsKJ5B2Xt# zuoux?=Fx>6n>4%_!a!CC7x{*#M9vXhIvu_9G6IM-YSUDY!=5g^369V7ekNgIO*hk0 zJ6eC>vL-M<|1gW!NuL5))l(H>YI>nn6y*~)v@g)vE!Z|7ENniMwv+4g^`O||({|ts zcxvL_0JJqE#ah*W>B@XH3$c*`qn0&L`?r+(jUqF7p4pp~!$SQhzfE2IUq=GxZlxuXTZNR$aU}=QhW-1`koTW~6VW^d^^W*aeZl-PjfE zfRF6f>PV<19bhV!jCg5D|NSt9ngF_hmKo1}`@srSs24Jk6CNU1nELIc4PFGw8x`nz zM{-g$+kzmGCs2vx+QzDLLw?(vpsQ}RUdF$%XJr+4w$;XE2=_KNlZe>9_z*bsvTH%; zl}IcDE##(w4x;Lr;HhZ9&Mgw-q{oUmxq-%fa?1bwDATrmLjMZ@;Pbtl4n{3vnAIUaU@MTw`KjYhnYcZ|Nf}~5z!2iCw_Mn zP-YvE?ny9l+#{5_@e+*7lPu&VbU8Z$EM@2{Db71a4?!+>82<8Rg|7Gp1B-aHBFIf) zLIOV7h(q9>Q8%Ijw>~S878~Mu&;S7m_!@Vo!!Sz33q7FYwq!ZakUiEarc>%i5b-UA@n8qi-{2xOJv zQ+6aCvnwuT?G(>a`YE)523_f=PHY%bZMzJ3k)Mv+PK#`v;0S?lF@dl{N!Fb%7SIa$ zn{UI9&d=v|6ddv=ml9xwnGkwIlM)l!dRd-LCGg5JZBW1yfOes zvCzirQ<&1@+pNyjHdCe71FJ2<#i^bEvPy#m^sdZW)M)WZt{`_?NsWF3WZ(6Tmt^t2nB81oJq z(v=R;qF2_A1AN46i$vX`zgcd4>rCV*pha`t&xL4|4l*@8H)c^9&4kEPOLK|rb4HQY zA#z7a?=&{#Y~j5LucK9CwTEBGaDmUqx^Gr&h1nI_3)I|MIzp`!37_~)41nkTVdC3F z71f+ux2!yNl>{_orVW>Y>kH_t>*K+#R41>#L-Kx42hJIx zAhf;Q@1%_Wv8fsMP_a;=r&%owyMmJpnO)(!z@{&EW#(A&B6`TuVH5e=2?SX?LnGUs zWl$eCCKCkYh>tSvyYlj^t2a9cgQ`QE<9@l&3>an5xuxL9Kiv)~sq5zrTGN&l*|T{j z-Q)LxwZh?G*F?P&dQdGvB)=&m_z{-I{P{+s17c!*ICAzNIgg$k`?p-%ca`0EMU`Gl zN5m1cE_@+h<%wzZnkK^Zf+m1Ei#SYHO>!g1eSZ$h27XST!5VCO>p~v0A6*>9 zJqnxdABo0L%!^#_(WN-_acMA0V|0W3*d9H$>VyN-B!N3sFX&K-e2uPNrP+d0UXR-$ z#jF-#Rt!trJuZ=eFmJmk52AIvl$``!0auE&nNt!41J$?UQ`%tJL7Jc)wraCh==x1U zFw$u&Mlps9)8aiX=@Xzd4Q^!?B%qRlFzciX%c(O(99NQFoV%CZ*}GKpL(}2&W#FO1aAZvk;p%N@w%Z zFv~$9KgxtQcKDD@>fc1I*pdAO#ttg&lhCg5W>Vl;gt3p=0tq8enhrf_@B*hsp^!~p zt=BF7zDp)CEfYk-D`xfTG;QanmQP0_g6dYL%MncvP!dceoWvUV@N&AFih=n~pyAk8vBgR&w*t%Vtp+@EFsn zw?i__!INSxGMMCowN~I03qgnT!NVj2m>~2aOv|$et^qhF!|@x|w-KQ8nOWp1m*j&* zo$qE^PkH~d#-DsCYoO}I%I2qL%0(s|9SlSSeVXw;#Af((iwHLF zh)~~r+`hh_2X8zOQSy1UUP}Hx=A=SF*_{SfRausFeRPV zF%qQgEa4T#N;o8jUf`ItFWMHs>UJe5ABQP`R-~VO7V7tV~ZuM&j1^P9F zO8svw3ID$f1}A$HBU)oSBNrQ!Utg%BiK~T)o5}y};LwWbx8 z5(-G|dhZjCuDHdr-jR;~@m=R32f90b?i|`n#}06MsH>m8p=Ey@wAOl_@L(h`xyHY& zl6HAEDHUm5NaUI(Ag)E9;Xp4YTYNd8$GVAUFGR+(j@X})O9Sp!=mMjdAMLk0^%nHv z{{H^WoHMaZ$-7DIq#FCJPYVYhQ3Xe`j(fi$e?5P%0FIgRvat}_GXcA>jxOQhQ)^;Y zF9mS3ZJ}G?FyBWYZ_a7R+_oPXvX}OjPuI7v_xx)_8C#nG>A zgxOQzJ5U>c@|2>a^aG(fepTfRcaQ>dI&%dv^=c3QB}0!>4X#*TQ?*rAFONF4&3Mun zT2bb?mHBDTuM*nU^PD=-6+9%9p(sGs;TnNz=Lj^;!xW-on00G>LE`lq4k{btM>IID z;Qla;9T?f0vD?BaE&0ZG(h4jLPz)j;)=F-Kb^YZ3i?eSC(}V}NEZgQ+wr$(CZQJTX zmu=g&x@_CFZOp%!#mw&BW!8D#UJ8@g3HG$0@xw*P3G|Jh8tTe-Ly+0vOf z*f|>6TRGVOH^$RCm-e{hDL)Q6Dgoq8Z^@yny>$f~*mFvYr9VesmC~#_eZWl`({->(Pu#b5e4vAaYU1k|* z88lOEa_lXyxBsQTcRSNKRP~eIyIb44?i5Qm4y@K{n-6alUsq;SMH{rEOQg~F*h}wn zEYfCZjHCQZG`7~&GASiUe8DtGSAf+?-^hs5clR+;xw4VAeOn#zmcPy#SY|$`dBwuY ztO{jg>jh*L6{XlbR8%l61j;Rx$EGfdXGP-k#$clA2KR3cT%RBA~!VFva};_;w6VQON(#Wf(O!a9>6$IPff zku<@dQ95wNx&izbeVem{VG(u)^B@^i994XPOjuT}@4zr2-*exO6-un7tW<(_-w zf%9kdbhaf(^TKrDNNPEA2=a3kLRm|h$C*8^)7j;1%+aAmGT+mp=ezU z;2^L^-Oh?>v8M5n_69~~NQUX<*a2*!Ios9~F8AY9G#gJ&enE;9YHF%4m>Gneu>w|S z()kE!PEvDW%cZ&X5tz6kh&V=6eO(@?SW;6vl`b+{aEr-RTxqA{xhH-luXq-aO*sDF zw&G0TGzfkZbtxr*%LLWVc{DBu_bcf!#cjeMCtvtK!MA@^`V^bqiIL!ZUH^vWqaR+_ zv@v70ydPECG?<6U`t}BSs!P$S$Agu*Eo+0kURK@iq-&*a8rEcAhq@bSaMlau89( zZH$dEU0oZOPU;{tO%WCgDm@QGEBxFYY`-rX?EJ%HL5NnscxFblKww5380tV32n0d& zx8yau1C=jk)?e#B66G}4B0!ktfm5%V+N9&&gy^V5+DK_)2UvL~PJx2zq;d@wyiKY; zXrB@3M$BxQu@2m4|K!~rW~ zq!*x0tyfj05wNFHFp+1vMrnnaGYTrwi8en>-eQqg1QaO$C(4c9c;?WA^j6&ia+e4^ zz-A+XL%LrV9w@$_8_9RwgYM7n-Y2cJ5=i_9S-D$aa21bFv`i=7f*ac3R|7TRThD41 zVEfahQ75y>b3>I8G}pYS|8G>zXViet`|HRkPlo;XDU*6MQcN#xv`Fd3P#G3dmdr(B zw)XnNirMS!EbsSicjsmz#v-JTKD?;FfiQZ32<>wof+`jee5Vl-{`+#gYA_*CWXRe! zE@APbw-hRUE71TOdC45~?H-b7X^F};!l>Vd#wQ{rs0MiXmip2$1MqgT!7`-)LFv%Y zzqg^ z3Yd#A((?z4-?tu#$P8;sl+$+Mhby?DMk@HPzBV2va6@qQ#E_OcymK`CX-$5hygH1^ zRQD_O$m174LXd#_{>&-UE4{Kag-yzCF%VZ&bhb!1@vTD@XB3F!Z635sl>hk(LsQTg zW+0j#u{87#oKaAR+l0tXba08kz;mQOY}nW8&V&m2X7{iIsBJ&6uC8_mHdMjg85*)h zGaH1)Yd^<_^isX4k3ISj8VShQaVQZ5k`))^Ree=f9no5j0i{4}IhTg57FSM8#D%>o zgmH<|xlHC}H;M;^jGm(2GDED@p%KitByczb9T>FPI3q0OUUK2-42u1#z^$KW6*ot< z70hwzg52^KoiK96+Adpy)?;)tGZl(Xyau|KYC4a8wn{_yc9t#edy?FepB-X@#CUB14%$!eF&{2?e{` z+0u~>0;Hh10o{3^LRxZeB6(JNazUZuxn~A26DRUdjFo96wI!Ylc<7*ic9KPkL(J4= z+k{~fe-I!|h?ui2*c3aeuGUP;EiNH}?@pEmGFho{!S2P;a2rGn(av+`K!kMxqaWCY zJwira2+<5CIe)%{3j+57nA91VnBL$Y3`fPkQo*HszrW9!NrODV!E|Kz-M(*5P-x3q z5sVP5gJ_^7!|ENyajP}f1m-qugOj~#x>pb+L*wDvW5f>Its`%n4nC(dV&NH4O|O@T zaw(=zoY3jYqR^K~`y?Y5WGW%yeC%)~2QYV9LK{{Y4%O)nwl5Wtp%t!A^;*UWUxVa4 zvatrtuA23Am^`5GzqX^&0)BqJf;ZzA6rj+;HW_dGfvQUOv@^x`;W+Eo<|R+`olA3m zCa?C+&UCnC%x89WuK<}icyQdZ)@(!Czp3Jz0|TJ{PH|Hv67=A3GcDbhs58HEPS+2b zT-sgG8o0LJG4tf_oJS!t{8^nPL{g-~FSyxzhU%i4Uu9-FSx<=;Xj%^liBl!7jHPV| z$#5QD8@HjZ+LZ$=n&j+&CjXX1ID;k`xv6~XSFKTqQS}GzJ2Xz9+tIB_rO9A8t*)d( zAQ(vY_T=2XaNXC}Q1kGB8H8YxCCcb1T*?#(+&EWC2`<`KTczTm>_Z)66%yEX)P377 zieqVQpczs>%0Po)HnDT&i`v251f4DV}{ zm4e>tz&e^q3DyNKw@b18e0nu_z0Jr|F-{jLJee%`qKE}Hy71K5X}i$Axr%PJug4i6-^-b0if+fcJIodwredU0UCRQ&Fgd@SgLsZJ;Jk2YhzShf`OhOv#O{m&?^*%( zUwC2Kg_0YJ#|2q{P4)eqviinKj|egRIynCGY>NX8^b)-_)Uh{;7YJ8Jr-}MJ0Txxt zcg}lM4ikUv(nVsNd!YEov8(b?9UkEQr#gJwlL#9Hr5LD$+!KVxCh&u0$;p+f++|1g zz`07%>tQi}CKbcbF)(=nSLH{sjOy-8cq#>C9CV&Hs&m4JylY4P|Ln{Ennj7^1D-1&|H>~0ge=9unLAj1{&^e zSvo<>r|n#F)fBWaIhTSy%0+lcD`i(PZDw^SrH0A%l{ynX&^&P^TLiu{_L6-{PEJ; z@?GHxo2V1t(8vD$PDk+URHYnJ2^&}l7T5G)8GZ=CRw`6OjV>w2vUxs<^jnI1!Rg8 zUYm;;`5#-x?OP)6vWL8Ex}^t52*&d>M%fjmjpRxXcgnnwdX*69336fcI&+u zUgL89bbxz916#^;M?=eHtIzVhT8lQ;ZwFa6gylWrm)MBhw58Swv z^2SMr(S9aeD~SeAgPa3_txKmsL}V->aqUX#grs)%HwKN?5w9P~5htkRosdr0J`j?B zWs3x=pqeH#0I^b9(tSWWL7lZ(%)N;~A-?+gu;Ppv`1WKxw@_g#&bg|AwU9(#p^)02 zF=WS2o23K$_##Tmhyg7f@k>Ar1jBt5*;)?x8&{zrS8Sy8Iqm1(o5?%EmcKYMg?+u7 z^(5kr8mbeoc3S6ef-L5@PkfA$<{G0XVh5P0qv1>rq-ERqp@Y_ZC1Vo7f=G$oduNho z2tN!mN4$e{(?Pf0>6>*fv*@2Q$mwI(wi0YUWfLNKc}5R>24*>vE?s=G_uCjohxj97 z3Trm^N6Du7?-XSea{k_l7G<+`Mi$tjQM(i*2s`6-3uNFA^RTjUL+>Tp+j zyTN$Papcp*mHEm{zWkSQsB=>u}3UDItE3vDlI z$e0&Qia1(e(*})lU+7I!b*o?HJ)(_S5Mx{3O`?Wl{cBfBvOrJiSN1VTd+(1PyYCO? zHS?evH_*Sz2jkp0r&3SF6-#_^#f#VForaT_8_?EKv%1v67Z~HQ!ow@5<(Z&|8BrnU zX|c~wwF+bcF>C?lkKE8^VEMY4K=@-6>r{j>ckS!lOT?$>4EaYoI=Pb5MSg!;DNwV% zI@<|yVeMJ~_I!$6MO{vPudWMGj;L0qkKdS^DB+RG&9GN3^v9n|*KGzm4D!vwFg06y zGy;X2EmWQm_W*`&_8A^N-(kaBm9x^jv4>&d+$d%LS5;HhV0wHN)eZCW$M?(EGe zMRW|fp%xqOwv1R^vRPZ>HcZzGMD@7_aLNNkmm?x*WHmSoAapg7G}DJbJPSeLirWQ9 z=lxi=NXcp<;Xq!>9M6Bmn88CFDbmE*9=F|UALB!L%6E5vrTo`7WPVBy8=ZrGUhlSJ z83u{7*=DyrBjf9N0mBD56;P#vk>KkI?w^vv-y7L0yRMUA<_j4;!Av-z`M>%Rs3w zv*zz9M=!E(@ky!q_urqFMBCE@t{)mZ8}W*_6Ynb4mD3iPN~8>@(p#a#FD-|~gX^BM zgZ=vbYqzUD@M#-N1m@ouKTdb44UXA32nFp)ZSp)JW?r}!_9?^gp2i1H1Cl~8(7@CZ zO*z{Y75TqZn63G@2;uuO|JzXP6NJ+e=6sPN;bkCQo-q0*?S< z0JY3-zs}s-*RTwfRfnLN92uC^rJu{0`JZ1GiI?>g&}`=s#`2>O@E&6%F#eRU{+d>M zUjJFU(Y`IOd8f-v5qd9*?O3YS-UAi}CXkEs^f(!>6eKh&UzRMhyb=Tds)h}#7XBSZ zm;a)*+g;-N%h+W&rp=*ny%T~3F=@=$8O|;UCizw?YOl6Rf9@ZSkB^7D+TcL!4B^^( z@3E6zh3tE(V9vA%h`$?GQbY|8g_=#u zXBW5XR3Cbm_LDmqb~T+TY!uSUn@JHK>yl#`=9v@N=9wZ&DWOnNIdKQDi|@lCBF;YZ zoGRk~K3VbW`SoNK5N?MO1bi7~|3kg%=Mg@{mtxugOLt22=iDgkb#W?ISI!JOI&{uM zN*zM{4O zY3$4*Qnfz4{cOs%*!-TWCdef{P7m!QtvGPtbAcQyIL3L9Tt+ILFnbr9519!u=$jXE zA_FO4D6S~kCbaR)_!+hk2xTOrnkVEoFqgSM7J?4u5bP$(P8CBkq>_E(_1C|{$O-Gf zO>z!l3A0%lf)grjtaOqLMlv0W=bZ_(aT{UHuR|DGUS)t-f8I6I3B=Fpi6>iu*HwWD zWSWCCLWHQ)ki?4kiKC(=DQ9=ywo~9IpTAdR))HTUJNpON8-AY!6anFj6=ZxpRb1pK zRuFGC>GJMfp+!Yh4EL;u!VnqBsE6pH<7QWavX^2C@i3eSru;NP@@C#&oM4DR+b=gr zBp{2nmOO2>$?T;HNj4r{3$N^q3l)=V#`}^qI#^UeWX=kx?lGZZ0{ZOC?DAn&7t*Fw zl`aXmJNjDLO7q_Pj+>^Y_=t%PpElK}w@07<;{Z>uXr zKJ5WX%%6(eWqKPMY>-pH&uFYCQrsvs3I7n=AAKyAa0kM&F{Hm=*66Vnl_7RG-=7|Gi zapMz>4}fC8(cp?YiHbx1?Hq=NTE}K=Y&zcAm-vY=He7ttkkz9|; zlfqg6t9*mv10$>)M5S~SE`SV6s)VA#n=Z(_3A-q=gzg3K^c*#qO=6C0wu|>>XD|wq zQ|^>CRQ!f!1%jKE-vN z{AO={%VKFcq#9JN-A5X0DGb(2>~pdrIc1%COT1XjDqB(I#PXa<@$euY5;_Q-#ZACAFYPMLCzWzIv; zTUY@|C$`MLXx^+N`KI|402Q?hD0m+i;!yWv)UhYy(`?lTCy}z9%CHXyNFhlVNHDW9 z&;Vv9$l6WK1;fUy-_G4$r}A0H-q6V+PqM_8Hm!O;E5Ecb6)1-_C zVMF2kpVY1s4;rk1v@^}<@T40v4;U8@S>O$AcMcQ^VHy2v37k$M_>Q<^z4Fyj)p*>lPc`>Us5W*?Hlt zbc>F+>Z5&;Ot_dQFCN2`MCwE=DxZXXb-f0g2XXsW9G~ObDO*yX?8^P9UP1@5Oi9}a zSDxD@^UbhOeLMS;=tPZzh8gA(pB(BvS&AqH?5#UOf21@$!2TZD&bE+Cw?buKQ~wl; zp~MTa96T5abpLsSB_3YhfM>cJn%}%aRc#>~b%}m$H|NQx(Rs_tIhkgqEM)+8!UQ*d z7zwAY*+0T+qC)jJ3*G zAl@G@kZgRe^x%@&PQKUr^CD<0S*AuBsiM@SgfUv*8c3?Ke+;XY(C#dGKaZ36|J_0w zNmZNc12g0)X1^9e`nyIM4b@;C2smz);N{GnSRs=J7j?Uw;#wc70~HM#Iy-s>HFFLc zO#uZa@_Yx?M%qChP6T;|;$C=a^{BzQrI02Rfkkg+`}0>W&)>r5u?Jh=vUb3qU)km( zeP!ZhUBkZXIgtoUD7;1u>Fq^>LAxkBlwys$G`Vz=H+EX5o~ZfBEVGg4u)uQg?+lzp zdrR`>etLJx!?u~8$?0mj52fFqoYGXU1?>I&wE5Jey|x`6CHGUtKg_b&7JpRpkQdVS z=MbVV$6a5%{J)`*WZhx0?f+8fE@KpYxn9(aDFSGDr$C(v8}*jpF}|7IB^Sq}RnD2J z$eY2dGLJ4^aDenczplL9S-SMpP$bsI|K5G;cu%8n=3<^%uF8UrWRW$-xi# zN=0O{jBLwN%_)D)2LA&8zw|M{;FD|`3J53}0|Fz7b#?LJ?C<`0e-MV> zG&pX00+s#aLU|WHUQFTa<945xwOKX!KDtO?f4Z77#}Q6C^zxdaKMv1A)BggaZ;gD* z^iHWd(iTl2PDxvmX~t~O$hlmf9yJ#6HpyTKTK*QqaNk?mY5tg2i$RVtakOIGn!bpv1*;XXZw4m%RRSh+h!YHgKMXwlb$U8 zM&~qxy_PLhSy`yAcUGVD=1h{3mpSPIz$9dPV|#YHJ}a=Oa%Qhw6-i6VhPN=+0$}mJ zSZQ7_MA)O=rO_hP)Y%=JzrK#X7T51FV%&4pHD_+!U|LKpxUehsp2Oe(t4hD;wI?!F zn%j%Gr}aYuWehsE$KAM8o>}mVgNMZO5=s$IF@E7j+6M+t*~v}u3Ql5N?3TeuHJ8_lLVs~GI+E|#v-0jJcr_Ly!` z*+-C_Sp}gCvUzy`SBgP;!D#cv&syETuQF>a*vf1=SfDYoKoIg+&s4j?qVIzvOM-r` zdpv!cg0^_3NReBnVgPg8thyD(=ia{@wu+saJhbm0P#M|@FpZ}_?AGnPJ|zZ5ZreBI z-Mi`enVs3EO2@8%tf>kd+6JRvq$pgS-EaRA#EYF!QIU)gD@rw|!ows$(`98tFk&ms z1;uMMG9J5v{6y1in?4`PuWejgl1?Xm4FPMN$wS|B;|-Gt9E1y?##iW63{26`T1 zI)mV^b`)55@;;rVZpJiRfwPQr{ib__o}@$k!JNgN7v(-RkH$cF8lNs^TRWc>@9M*| zZpnkNnfy&hgC1ra)BhfjpjTKk%Z@03sU8Lg#hx)kXnO6Q@7z*UhJ1ycB?Yx~%3`^E}}Y!yvSkVR~02 zb|79HWH!Ue!|ND)Tqskz;c$)H)3lrVN0_?xX@e{ayhK{*p2`vr1s02L!IvPLM%GH4 zX-hI>p7iGJ?Bm?l?m~;kvVgS01|eCYh2n7c)WVe#O*J>cxO5+6SY&mADnpy*2#@65 zL+h%~pCRSH2)#~*@<*F4D13_7|Jj0eK|B_{9ol3Nk$YMQTv4O8yHiNRSvxEZ+LW!f zr1Rs3MFo8oB^s&vt|5mWA*~nJ!yl>eW~}3b_lqF6@cuR%AeypQ%vKt<*&an;b?BNG z;@p|`5u(h7e+Kv=f*_z-@1fww`CH}{!M^v@rqFpA`Pszfd=5PtN_*ovB z3{$^eYnWW8iO%4^$aXj22-T5Q*u6lkEz;Wf0hlfeF`L!&Q94Ou`&!7Kh(cD%wR%@Y z7ht`i>hQ4b?Ly`>%R#QRJ?Zjv>5BX4Q!=gfJM=Wq4y%aM5ZIsGC|Y^_0_^|Yp(%h1 z!UIHRZv+R<2RHX~9*j54B;dCowth%vrJ0Ovj6C%c1^6~)-5x6BNUQ#s)}{1<=CyL!))5gnIc#(tN4kEhsiq7{(Ike#@ERz@Lpl1+d^B*=OW2-t2HQjTO{dA^u7N)RlX zw`BbQ>2ty}>7;R&vz_iL9J>(?4IUYy$>iND<8w46k#dG^TC=b}e1$tpH zUHf!fBg+Y&5l_O)d4}YBc_@{lm!AzVo)s8yG2kVLrx4p4?VtV($&-%*ifMYkkh|SG z+Ec4~Jsfej`3ye{S&6HQMbMV0LqOmem2l9Ty6~T%`hJtK`v}y5MEE7#_Wq+V%HqN7<$o`F* z>oPTYY!Q?NgUaWmEmg_%_Qx7A@n~u=Q8#d_1qS*2W!OjCSjN?aZ`V3UEie*~xzYdU z-SXUm&=w#O&Inhv)TI!T?avwW5VIQ2chxO5BnT!)Beiz+MUUfOUa-%YPJ~_876j)R zCQ)2kFuu=1d?c+1{K)m<@)}8^OzfzKo({bX!eSf)?vZfXEhq`%7|=xY`8Sdgt+CIH z0+e_D=#Ht35oHHK+zbknptTk(w!81y+qjSR>nc?qXoPL9$Iy6#&?aA!TN-aTVkUho zH9vq;$?)Davws$_&PwVL^SVg*&Kq+pC3-8xAa}Ur7Q0qSqGBo`jsZT$S{O`Qu+9n7 z^x4B_gTBOM-!;Vv)*MEt9mt!*h2b>~8;C7Zzy(g>L|EA9QihnTWdsIzb1%)hU(gm8$t(Ml=rkDk zYhiD8rtz3Ai{9W^G8-e77H(u|8H^(afJ;_5iKCn}NL1z&$<0pzyitPxw$3I+-anZZ z`5JLc-M-Q}ghQ$N6@~1L9{(@l`VxokJv7C9R2%E!8?sn5y%{h zisBp|ckfr)px6|!@80+$)C;LGnH9z)3Gg|}2LhEJzpUZV8B;AeOiBhxQ|1;@tu5Hq zP%JhTq%Bd)m(E{Od}5X&c<#j1FVfFjjHXIYA}kIWwXELc_^WcXxPp5Z{=gdOG=4n! zxj)@Q2pTG4A*mPA?FpRzI#0HFFgu}z1S(bBOK6BQ>Y`{MNM`k$Bg*7R3G^-#zeu%~ zh~^6M?vquON+II-6x}|MTsTI&ZtG9SUS;LGN&uIpAW#*W;UVbZga5XACoG_wyIpNx zLkJWyDI`P>uX{x2WZ3h*&pYEB?uyNp*(&6~$a$T&iE1q*!*~yrE*u{GbR{~z<4&^dCd+r5M260dRK(k zT@H@Gk=e`=)9Hq38cNX0N)T+h0&}Q!MK&+{Xu8I8*>eleAkfbV0U2)5leP2C!0``H z*BHqul=(QFRf=$V%8EJN>{!AAk|5TH1B}bCmYIiXxZ7t%T)sbmvT#u3&58n z!TWr$`9=P}rz(mhd(VaPOE|S|G6XsZ?f91G(V?$DXkUl>Ww5#BM&9FDr%`i31xI_n zZR@a8uyC~c$<#!#bpuuuVLmX!`p6eVm5;*3LR2osz=ojnRR@f^kT2>d6*l z4vKWkJ_IN9nR-A6iMdits#1tbv-#TZuQwY`zfc)6@ll_<0c}vP9F~Dv9(JTkh zJ14?nv&?_{(Gr?T$Mhe8>p#86Yi?R#jAGg+LuibnEO;K?PiqY>D8E8x;)rhv^9`18 zg+1`+Ew*$IV%KAwH(i!danH3`+$nc7ihli0pDDP8e?5>12o!H8u9_c?cq4PskbSlw zK`OP53Zan8kz|*Ma+FRs$8nW_RvB+T$6{XK5%nrX#SC%8@It)ou?=0cWyI;hlGzrF zf9HBNWAJQcm=!LB6t)rHSpbq*N9&*nC-UHPNuhH4bj}Sz9BOR>pmZhBQ4@1iV6+g{ zs|arggN&eyG%hxb_lip{o9`c_HRhPl=E1@Fv)ziewau;rdKXCC{jY1q8u?^7C-+xW zyXJfQeI$_$2z`!v{da7YD2nHii>w|%qMAfX)yOr)RZb*LGW+PhIsRjxM?8uW@6(qNG$PBrb%$PRW0 zPeAno+YDnpV0}E#dG|nz$|BS}tT+76jib1)__8ZZ;lprZt9EtOs)cQ+;DSgBwSsFr z3MQ~7J>f0*j6`Ah8iMByN za+;TL5TrMnAKYykuCA}`W4ZWec) zL#m#ln}BgS!kH#h1l0ZuS4Y9f&)xWvVC~0PC1x5&33uNm&9&xM7bE^}wW1v?Q=FKP zX!+E=eh+1Qcf)z9S}H}WUR6u~ZhBOA{Z*_Y+GhBNqzpwZGl=8yHpbFH4h@P_MPRC& zi3OQf>`wA$kX;k(Z+9qEGhs2Gh!W>R5Hfc~TPg0!9tOCLhCC#ng?bR8Qgp!K`BKMA zdt+$(dY|fc$JB_w@NWMAZg7$@{ERtG-F~-Vj*U&xRCTa@W&h3d`21Y=#r=BZm# zXQ!L~Yez&wt1z>R$Ij=uUBcR=xGeWw2Ww^KQA&sB9N*x$Rz~T*XfN3e_(|m$nSwg9 z2~`r0DsC_o0z&^3Gmr}?7GImi>n-I{SHH3NNI{;N&*cWBE`=8Nj?QSUy4kK^QBTjN z2xYI=_x=M~4HD;)65n9`FgNF_;VdmiHEKd&sFHB~TYDQ|m`5T zG1q(kT0WS^2F;MtkNH0(?j^GTC+ve4lW|5rmf_S8AtBfV7OX)b3?z^BBbc8%!q5qJ z&;}GZ`%3t4!Rz-$FoRgAW%`v`5E;O8L+FMZU0}`1F~wTSS}i{03M{+y&{LN-{#=|w zm_BG4wvn=r9BX&Lfv z8OGnEl>Me-2-aqveofMc@9ZI`X!ku3B zF@@6y!b*MACgBS2ObeT-+r-UuO-APd3mb>|#m0PeR#x#$%dku59D?gHy33K{w80_y zRCgwQYV2z`D=k^r+6mYhKvW4QX6wg@yMczq^=-ktA1<|i$S~$Q@|H-L_p!iGUPaIo zmXP z4sUMNoAZdP6up&C8g$SFI2su^Y?h(+i!3az zKRB`f@}TzcTL$~r|IoFk!nI7qN5nLdYMz6y?>R9EANpa4w%Her?4nW21)9{+^kJ!j zp}0=UBib#2Y!oTs@QIcvE1iquavfx1ya3tw{=i_bkT(TwEeVkc8#q7b&5LT$^C0mC z3IZF7ZTMq+W}3a<@q;>qhNBW@N#!12o?$e&7CS8F|8(t zCLgHg-nF>n^&FETDEgU`bAk7RX&e;@xaIJTCOZNB_pXL;;S{Wr0{%l^r^(`_PKXY!6*cJQFizaPUA+#EzelCY6{|THSNb3n~ucHal`qclM00DxTgx$-e^Fa z4L$X@z^y#Nq}ptk!0OoIb!*v#>Fe zi|VS>y*|?#f1EwQGTHHF9YhayYphnw)%0UAE%SPf&fb?~0e8^Yyaoo31dV#P;Q769 z4Z^#RnsR6pT(1Q*Fb4KUa>wdqa!0YD!>qG4cq9($i#=yIVcMRSvAV*W+$7w3wi>J< z9xpd}Mg~Dux$q#s;;WerCaY_E-CBL8_1;EJZPm&Mb*(VgAk^+ynK?Eudn}tZGeeX>UaYT$@|_%$Ay0J>D8z*FtvMnB zxb&L+@@*bSQB6%_UfAY~)dlB%)GxuW5!+XQjq=j9DKGnw0N+@q!={BlaIr zO+ffF+!|wc3w{r$Y+(sz*wn~E{K5|gNKxXbGl9xxc%6u8`TqTvh>|MysqR$oj9{0# zXQ_cFN6Wu@xj48fxVE;enV#@1G+(^=H^NNoMADEQzm;tn|4-3FN8)gBXWemzsiG;A zpw_LuhDCu9w|{oij2B!;Km2K=hGnPM$S?$#v8QRYa`Vy=LyOIr#_^ z*xf6h=OT*`tGNG$t2Wf;SmU_@%xl9^e@u#2-+#QJZGu!xn zzxcS*F_R3riJy!{J7ZwFH^@jW6uZ^S^9vMU8_+<7O=VkKCmf;2pa=A)B8)JMYV_6w zZGsx)e{o8^mqhe~(9m~Z<3s2yG?|e`qY0OLrBvnq9=r^Nn_&rW^hK!}Tb^D?^$@Gd z*|(>b+%g=xFENs-i?GTDe>xV3Rxp^5TRam=y`|(^D#ma21dJuyi>G)p4)m)=ZyMMq zZJAwj%vb*$c%g=vWb%p}Qsq#HCN1s|k|<)f!H6@>clHk&@m)SdwH`BKkh_Ww+;_3O zc>DC=-t`$k-rg~zOr!Y?|c2Fbtmcw zqwdYUJR7i?lrwHR(!uJl<*N(MovT1>?>e!ig2f!c22Z8!X`opj=$G~|=HSku!@cuz zA)Nn)o(iBI=bybDa=}#hrTjaw>=~q@@L>O#-^_c_C_4gt(V0(EqaU6K53oertpV}MNoHdXu~R0 znlD^rIxh7;G?*f()mSNqrbQ;|8Mn{-P6Dle86KIfk6?eDL>oThMKV1kt4H8f>?bVM zY9p}o&0am}?=JoZfd{P*x3nw_v&CcT)z;Ok;mEM>dD+_^zyr-(5yOXWmb7WcTr@m? z!#dUtjK>h}N_x~{%}vjL9xi;vpl(6q1=OHRle*MO3x}+uR(SQQB1o_7LRadn9O%Za z9g7YAbKYI$d?wq}ylNg9Vc#W9=YT0Jy%-zx8*?c6XAdhwNy;qyeSh6JckqP8FeVhZ z^2^xm73ZO(tI-vEU~5=fmqVYCgn~m;P-~x^yLXHW6P1Y%2~_<>3Bv0N?T>QgCh-IO z8KE(ihciMq)U=qiGhaq>c6z3Fdv+=yXp6qswx}aQUKxd?ns59C;2HsKQ1Ug1U6sZV z!RkP_vpGpS|BUN}vbs2N7nVSZj-|?_l`?yJ+fmr+yq$ux^oCTPnIT6XZxm&c(Q{N( znXd^FDnJxUwMfz1g}})gwwuPzBZqQ{WOBpU+DB(r4B7&&7_O++!Y(p8N!?=!R^`R^ zCYC1{*VN7!GP6kd>7yd;`iy?`jPv7=^z9R8T%72G^@v<%^r+mMCqH?flH48fk82bh zrswr(=$MA*BA4)NglXb3PcBDMPe`b*BwaBbkXBQNtZm5^x1A*398hIt?ZZps$KY3utZznIK9RmPv|g$a655Yba_MM zR!5XwxL{L(^OStc_?3K8@JVc3s--JO8kLivV+V4~%Z}lZ{36pV$0qLuLCUyC z5U(;D-O>W2RL~P7|IWjB>mQ-UL-O7y?st4B?=>aD%I@#^(+@$6fyWMF^>Er^$Q`CA zlOhpiyG0CQko+wr7OfPPpqctVt(|vN6w9`Uhb%b=A_$T>g1`_YBN+sVB2hBK5Cmpm zhBP2SkRT$$NR9?F2$CgAMnHn(90WlmE1*PQd%WjyoQv=3dADcHTHXKD*Sl)huBz^? z{fjeb2%G=fG4+mro`Xbs25MaINV9jZEV$XTi$zx<|bV zk=0i@)u@{5q?{=NNZroG+DE3bXTzM;5;=~>nMq6ur`Q=|2H$C1Wuw#^m}9DJjLh(O zQ+;cF#qhJ_9Z8r=tj|ks14oaG3$Gc}6~JU6F=}3f9|J#-QkKnGpHk>_@7d{$D7h;I zBJQ##;)x`QPZB=5SXg`ocbPfkI+QSysOvMh$GUu?F^AK@=<01DFAbrp&1ZXPx8bV+ zg!wKOxBNS>r>YeD8-~x+YsxC$O+yYBsU)NMM5SFVQy!J~=}4%NmG-vZWeWC0_Jy`N zQATvjcD}#9IKMmmiR0l`Tu^nI3YbIA1Dxx0?$)+=of# zcPOS)zsR2vfH^&1x3*hm&pZ%MyX7geR8HT=`P573`lljme_5S)tj0njH|V7{&k^fC z%)VrKMq7ov-w&qkRG3`3#?0H%2=r zd_UbpR%|W9W`(Y`q+PsiwHIwfo!4}VmRmaLG1VJye(KeR&CPd9yCHHtMqKYl`u521 zMOu5}2Xe_~t3o3Yx#;|-pmp&)_~p$9%6N3)QPhtRn^&E8^SBJ}r@1ukt17j^QaW4w z$mIyKVG~!#nhhj)+6If=&)qM!VWBa#8WCcZQP{|{dXep9gE{nu+jq}`z5IAZ)2rB9ndDNBJ;2R=B=Bjwe_ zEbF^N2&aeK=&<1;#xsf}ggmOCdsvE{Xr0~ATb6a~Sp*eWO6|s~W~|2CAfd_rxc-V! z)WB8ifvSyz*bVSfV{Ac@!qbrmt1weJ+NjlCL9!<_s+6W-p^np!neR5SXWGx~ThV*p z)=HHjmi6RYtrTN!-_pO@8_nlan$J(<+hW$a$+{;{3im?F9Zf=~*_X!w@lnyPpK=!JRL@J~#jkngGC+Wky+^gV7 z0#Ej_Ot75TDf5jqlo|^m`rfT8d0Y>*6)m5iiE@m|gma~i`+44bK8vO+d#g8+J{-n7 zqC$SA)K*}`b^%lpnW2XbyOEl3cqb%wG0@sZ3oox@S=XcawPx%lmfKF6==hgm`%6rb zOD04&^L(6MU5PTpE3#`a6Szbb^;r*i-G#a~Q+S7omNmu~%&x<_yF+Ay93>AkO;(gP zthet760cn338L}7i1qcx#U3rIvv04Yk*;GuBkRxF+2As_NtBlv^Bc-k@LCW-#L8Vb z&{&N?i>c7|fe42LgXmv&*PQy;Y0v)LOv@s)-rVf6MV>A*r$+pJMr^S-itv{vUV=q& zpfT=JAK6TbJdyzP8~#nCjCT%CKYN&kStFJG~bc}hn7lI@NT(e}~{NtB!GfemC2l8{)^Fxz0>KP3hY_Ddi$J9 zB?PxCM&(S)cI>0qq3c%FIH(JG$#FDFKcl!GbyIM#@Vw@-6uAOqDcw~beC@l!n+zt z%+wiE(js>ToUzT%28%-O7@6PBoN&o(q-%_M98-`~hE2)Icpi-pt*Wf7t|7_XLCam6 z&44_eX!yviBQhi$VVHozKU!?u6LUT%C4%P{9aiVFJUhJvXBr<$la|T39bV>XQ4*v+ zk&|28MfsWiKraCI*6mvXR^Zx^YU*YhC%z|*YC#VkEr`tMx6m^Veb|0RDet|daL!L+ z)jbK2@wtg8R_;=~7SB@~6t7~y6Ss|T8h3Y|-u=jV=<;*ez3^hR0buq=M6N{y{na_S(P5qihGoWW)E zKUop1IQ#)87#{Z3 zDhJK5MVhF(zQF3fLsqNhGbw@h#OyIjze?pJjws>M%ieiE79lYwrKiCUow!7Z{ls$n zvWH6Ced%7O+1w9qG5vb|CZ7|XvCDH=0p_AAS%=ouD^rVn%`}J0OkZ)Ef+$!BDa=~< zm?KP6=gr!QA;S9Uy17AeIMB8LV>m+-uWrAJez}SE{w^|hRoCLS2YcOTW1aK*TT89k zlJwj7KDa{KW+lD1H+KG*R)tAidST~QZB?5r{cLe~tbE*ie{0MQmD?fgf$SW$5KFCD zt6e>UW#*s~dfX%C8j@gNWh`@~Z0L;AZ15(pK^BC)#~+_q7F0R7bk12ufd8Z>3-mCnTRO zE&u39sQ4{7gx(e25or z4i#UHX{wBTCh{d$MH@#`{8Kh3uY&;dqV_9`yPS6(COJTyW6-i%+v1WErGuftOQveU z@sIJ>_n$WyEikC+%d!xsuzp$zC#_^;sV2R?E<~(sw4Pm?H&kpzf2ix$svI+y_|i|- zhs3wboI?UcPSLVd!JsPk#{E zmZ3sTJvTjEDU6AiXUnVFX)SN~YFtl_C06&@*2H-RzRBo5y1slGZ3FKTkiMA6(ZID5 zu5ZxUg6hKwD9iRTQNHvk@3P>>f=Yc~&A>uM@SCxnw;#^1EkAJZ>mCQW(Z#3kQA?A* zdF}E78t3ogzlJDC#AS2xJ_4_{1-Exnh78S-soxOJo>M)4kc&Tfx>v1!_ErqRB zcAk!_`YEb9$qWe!DN}0B7VX=$r|bGE*DfVZSHMfu2p^%&KTaw3Wh?3EnCMN9)LPzO z;aFhxAuC8OHcxJp$!*N8u`63QFoP5@Mw)icn}aE`?yYEaaohx%BaB0r^lS6v#3l8E z^4_{?g?LZfiFK??ULQ9DWjYvhbM#uVakSatNYycPuc=-fww_?J$OQ{|Im}5{_dyw@ zMqjKBN_LDNJSoF{;oD>Ms0u+_d?>(Uo> z{V9}W>fCy3&Z>^$x>;6vkUg@q+tH$bcEn&my4|8@y#dz;&DJ$;$`*4t{o`lr%tKqz zxPVZN9UxRA_fMx^aOdOMSB$4rSSpOka$M?9Vjkx&{KP|S^}oB?lM2@qtm^cw3mkt zSa}&xciDS}7l&!frb8mKT6ztMx<5-tn1{ey*TK2_%JHz2L-|%|CBNPM7U&mv0M@Wx z_9-0w4Z+8@ENw;>HPaykVO(8oQB;DB^BtBTS*cT0p3P?H5|zgp#e_{Wx`(IzdcF|U z#n7SK@;9`0UcY_#Au8cUz|m@3^tprQwtLdaP9EA<7QKmk*jmJz!FYP-=6VV56yHr= zj@EVi&{&@l0H40VW_(l0PL!)7{-`4!F;PJuaMmmBQrqX7_wLS>ScZE5qZ8M7aaD8O zy2)Pk9rp0LCUeonhBVeMUT14a0(;11&NCex^jmrKdj}4ry4b128AsdFxf#V@4YEWp zKab4g;L0`3^BPDWm?5ux99-=x8eSalW{^!t&Hc`85nG z1HB7F9#!Z$-JAD+o9k_cf7sxlPmQcoE(((3l{T=E*`ouiEM?V zsnA#J+3a^*a+W>n>xCzUMu4o-^_u;{`?hprt)T_;Rm&s?Z(#^1h;N>LQMqj? zr1FXIG%}@RQuOIMQ6K7}!alCM*4ys>ib;qASZ@r>BXO&!>XjHQC7-au$jRZ%XEHWw ze&H8-!OE}^xrVKv?+kUche5$QN^*)CNs0$!^UQQ1J zT{gCs^{p&bM?I@KO{T2m~1Ox1$dJ>l`af zhyxU6{ZmQ|SlurM$mbkQ`91&ZF^1It*C`OVHS{>E^PeW3VA0%@4ckb-6oMKMNc0#4 zoE?SyI?EdB4tGZW)SzVcv)4ZWyAe$#zkh0f%$ckIbqLV^oGf{*p-6jM*iTU!`M~@F z5ZsCYVv_hV2ROSh@*5}w9On9eH4(|CeQi152nn2+;fiAE*D=mcKegk$Gbqj<=rcid znC(If#P0vt<^Sc;u27^akkb2Sjena1lB5Mhzh$HE`8kg3YXukUmmx?yO9a#!4EO-l z5e{q{{f^_cvP42paJZP5DDEx5Ff70@z#aZ}q_O=16A5*7a|S~Y_P`JYBs%u6M8E*C zG~@}Owq+WKBH#&YK=4)g8wLbg0sk_{$<5K#p4Sx)cLdfIjzDMtaw_uzsYt#hR>llM zk~Q&XtAO~=XYzgD?J+Y-_LqU*o*mmmpuBLH72FbG4cK-9NlOP3*aIYe_aMY{@(hb# zApMn11&Dao*5*j0ow)-P#pjH|G$_0_VfY*%buSONh~lv|z*(pD?_r#s9Z?vyi2Nq> zj7eM>8PvZIY+Vkd#cVSb_+-7i0dwK)VMxN+dZ;2)R76A%#KhC)W zTwt2w*h7tb7jVEUfCGNpVt#xyr~Vem3G!{h?&|tyA3kYh=S_H{WeZTu7%*Ku>&b7C z017~YAfT>DUyMhuRKNm(Hi7?-(a2-sw*bKG z$MR2+hMPb%;&VoPi@2`#(0{WCzPyz&12ho|m`MBxJU8`wKxc$Kpbzm^LZ+Xt1{`ZI z1P^Qr>JQw6#s3=j-y=sz zDyfJx(APqNzV@TJSu6hq?01#r6U@cbb3V3MVw^)Dm#uL(`VKOn( zfgCesxc?FJf0Kh?k}!AF9+PZ@{t@YTe=Q~o^IiQh%0ug)p?-XGkIBP)IDO39G5m+T bzdx$hR>K39_aM+k;Fkrg`i#u5fvf)k3U4LN literal 0 HcmV?d00001 From 5348f1d83bbadcccda8e1151d7940de2648bbe05 Mon Sep 17 00:00:00 2001 From: agentman3334 Date: Thu, 13 Aug 2026 15:43:51 +0300 Subject: [PATCH 2/2] fix(sdlc-pipeline): persistent Azure PAT auth, Figma-to-Code entry, Azure/GitHub/Jira coexistence, Azure state safety, SDD ownership split, brainstorming rename Azure DevOps PAT - persistent user-level auth - service-onboarding.md: set PAT via user-level env var ([System.Environment]::SetEnvironmentVariable "User" / ~/.bashrc), added env-var verify step; config output now says user-level env var - pm-agent.md: prerequisite check now tests AZURE_DEVOPS_EXT_PAT first and only asks the user once if missing; dropped az devops login (CLI auto-reads the env var); MCP credential note updated - backend-agent.md / frontend-agent.md / devops-agent.md / developer-agent-base.md / pipeline.md / config-reference.md / multi-tool-selection-plan.md / skill-registry.json: PAT documented as user-level env var shared across agents/sessions - env-template.env: PAT user-level comment + set commands; added AZURE_DEVOPS_ASSIGNED_TO (work-item assignment email, Azure only) Azure DevOps + GitHub/Jira coexistence (was mutually exclusive) - pipeline.md / devops-agent.md / developer-agent-base.md / code-reviewer-agent.md / multi-tool-selection-plan.md: mutual exclusion removed - agents route by platform; PRs created and CI/CD run on both platforms when both selected - skill-registry.json: azure-devops-cli description now says "can coexist with GitHub + Jira" Azure DevOps state safety + mandatory handoff comments - critical-warnings.md: added WARN-AZURE-BASIC-STATES (state names differ by process template, use --state flag, never suppress stderr, verify returned state), WARN-HANDOFF-COMMENTS (mandatory discussion comments at every handoff point), WARN-STATE-TRANSITION-BEFORE-CODE (Active/Doing before writing code) - branch-strategy.md: state-mapping warning for Agile vs Basic process templates - pipeline.md: MANDATORY @agent: discussion comments on work items (creation, review, SDD-complete); transition to In Progress before coding - devops-agent.md: --state Doing for Basic template, az boards work-item update --discussion commands - tester-agent.md: Azure DevOps comment command -> az boards work-item update --id --discussion; spec.md naming; typo fixes (requriement -> requirement) Figma-to-Code flow - pm-agent as entry point - SKILL.md / pipeline.md / figma-design-agent.md / multi-tool-selection-plan.md / sdlc-e2e-diagram.md: Step 0.F now runs PM -> figma-design-agent -> PM (pm-agent creates requirement.md, hands off Figma URL + node-id, updates requirement.md + creates tasks.md after diff confirmation, then pushes work items); diff baseline changed from SDD docs to requirement.md; Step 0.DA skipped entirely when 0.F ran (no design.md created in Figma flow) SDD ownership split (pm-agent: requirement.md + tasks.md; architect: design.md only) - skill-registry.json: managing-design-document granted to architect only - multi-tool-selection-plan.md / pipeline.md: SDD files created in strict order (requirement.md by pm -> design.md by architect -> tasks.md by pm); SDD setup moved from Step 2 into Step 1 - developer-agent-base.md: architect is SOLE creator of SDD files; developer agents only read them - backend-agent.md / frontend-agent.md / pm-agent.md: removed creating-sdd-directory/managing-design-document permissions; pm-agent delegates design.md to architect-agent Spec doc naming alignment - backend-agent.md / frontend-agent.md / code-reviewer-agent.md / tester-agent.md: requirement.md/task.md references -> spec.md/tasks.md; typo fixes (requriement -> requirement) Brainstorming skill renamed to sdlc-brainstorming - skills/brainstorming/ -> skills/sdlc-brainstorming/ (directory + SKILL.md -> sdlc-SKILL.md, name field brainstorming -> sdlc-brainstorming) - SKILL.md / pm-agent.md / architect-agent.md / figma-design-agent.md / pipeline.md / multi-tool-selection-plan.md / service-onboarding.md / sdlc-e2e-diagram.md: all `brainstorming` skill references -> `sdlc-brainstorming` Tool-selection auto-install + CI/CD pipeline file deferral - apply-tool-selections.ps1 / apply-tool-selections.sh: auto-install selected install-type skills via skill-installer installer.js - multi-tool-selection-plan.md: ci-cd.yml / azure-pipelines.yml generated at Step 6 (not onboarding); user chooses which pipeline file when both GitHub + Azure DevOps selected Onboarding polish - service-onboarding.md: "Ask via question tool" for all onboarding prompts; SonarCloud Azure service connection note (only if Azure Pipelines used externally) - code-reviewer-agent.md: removed dedicated report-to-comment block (covered by WARN-HANDOFF-COMMENTS) Postman skill template renamed - references/templates/SKILL.md -> references/templates/postman-skill.md (name: postman, unchanged content) Packaging - sdlc-agentic-pipeline.zip: rebuilt with all above changes (45 files, root-level sdlc-agentic-pipeline/ dir, forward-slash paths, raw DEFLATE) --- sdlc-agentic-pipeline.zip | Bin 159766 -> 169549 bytes skills/sdlc-agentic-pipeline/SKILL.md | 51 +++--- .../references/agents/architect-agent.md | 20 ++- .../references/agents/backend-agent.md | 6 +- .../references/agents/code-reviewer-agent.md | 26 +-- .../references/agents/devops-agent.md | 64 ++++---- .../references/agents/figma-design-agent.md | 139 ++++++++++------ .../references/agents/frontend-agent.md | 4 +- .../references/agents/pm-agent.md | 92 ++++++++--- .../agents/shared/developer-agent-base.md | 145 ++++++++--------- .../references/agents/tester-agent.md | 8 +- .../references/branch-strategy.md | 5 + .../references/config-reference.md | 11 +- .../references/pipeline.md | 148 ++++++++++-------- .../references/sdlc-e2e-diagram.md | 41 +++-- .../references/setup/critical-warnings.md | 92 ++++++++++- .../setup/multi-tool-selection-plan.md | 24 +-- .../references/setup/service-onboarding.md | 141 ++++++++++------- .../references/skill-registry.json | 6 +- .../templates/apply-tool-selections.ps1 | 53 ++++++- .../templates/apply-tool-selections.sh | 43 +++++ .../references/templates/env-template.env | 10 +- .../templates/{SKILL.md => postman-skill.md} | 0 .../scripts/frame-template.html | 0 .../scripts/helper.js | 0 .../scripts/server.cjs | 0 .../scripts/start-server.sh | 0 .../scripts/stop-server.sh | 0 .../sdlc-SKILL.md} | 4 +- .../spec-document-reviewer-prompt.md | 0 .../visual-companion.md | 0 31 files changed, 726 insertions(+), 407 deletions(-) rename skills/sdlc-agentic-pipeline/references/templates/{SKILL.md => postman-skill.md} (100%) rename skills/sdlc-agentic-pipeline/skills/{brainstorming => sdlc-brainstorming}/scripts/frame-template.html (100%) rename skills/sdlc-agentic-pipeline/skills/{brainstorming => sdlc-brainstorming}/scripts/helper.js (100%) rename skills/sdlc-agentic-pipeline/skills/{brainstorming => sdlc-brainstorming}/scripts/server.cjs (100%) rename skills/sdlc-agentic-pipeline/skills/{brainstorming => sdlc-brainstorming}/scripts/start-server.sh (100%) rename skills/sdlc-agentic-pipeline/skills/{brainstorming => sdlc-brainstorming}/scripts/stop-server.sh (100%) rename skills/sdlc-agentic-pipeline/skills/{brainstorming/SKILL.md => sdlc-brainstorming/sdlc-SKILL.md} (99%) rename skills/sdlc-agentic-pipeline/skills/{brainstorming => sdlc-brainstorming}/spec-document-reviewer-prompt.md (100%) rename skills/sdlc-agentic-pipeline/skills/{brainstorming => sdlc-brainstorming}/visual-companion.md (100%) diff --git a/sdlc-agentic-pipeline.zip b/sdlc-agentic-pipeline.zip index ead8c2b87713c4b16a2e91b2b068fe14a15698f6..1587658812e4ac7495137e72565cea23d615cfa2 100644 GIT binary patch literal 169549 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

e!ACHW)x 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 ^y$6pvMPvU#2lo^r^I7Qa;+g+8CmEd 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

wMruxCC?d$b(DU34Wk>7pMp7iT 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 bzdx$hR>K39_aM+k;Fkrg`i#u5fvf)k3U4LN diff --git a/skills/sdlc-agentic-pipeline/SKILL.md b/skills/sdlc-agentic-pipeline/SKILL.md index 450c45d..5c81c4c 100644 --- a/skills/sdlc-agentic-pipeline/SKILL.md +++ b/skills/sdlc-agentic-pipeline/SKILL.md @@ -20,8 +20,8 @@ read Figma data through `figma-extract.md` and the updated SDD docs. | Step | Agent(s) | Action | |------|----------|--------| | 0 | PM + Frontend/Backend/DevOps | Onboarding: auto-provision agents, tool selection | -| 0.DA | Architect | Design phase: classify task, DDD/SDD/TDD (reads figma-extract.md) | -| 0.F | Figma Design | (Optional, pre-Step 0.DA) Figma-vs-SDD diff, update SDD docs | +| 0.DA | Architect | Design phase: classify task, DDD/SDD/TDD (**SKIPPED if Step 0.F ran** — no design.md created) | +| 0.F | PM → Figma Design | (Optional, pre-Step 0.DA) User provides raw req + Figma URL → pm-agent creates requirement.md → figma-design-agent (extract + diff vs requirement.md) → pm-agent updates requirement.md+tasks.md → pm-agent (task breakdown + Azure push) | | 1 | PM | Requirement breakdown, PRD, batch Jira tasks | | 1b | Frontend/Backend | Requirement review (parallel via Jira async) | | 2 | PM + Developer | Sprint start + SDD setup | @@ -45,7 +45,7 @@ read Figma data through `figma-extract.md` and the updated SDD docs. | Agent | File | Steps | |-------|------|-------| -| PM | `references/agents/pm-agent.md` | 0, 1, 1b, 2, 5, 7, 8, 9 | +| PM | `references/agents/pm-agent.md` | 0, 0.F, 1, 1b, 2, 5, 7, 8, 9 | | Backend | `references/agents/backend-agent.md` | 0, 1b, 2, 3, 5, 7, 9 | | Frontend | `references/agents/frontend-agent.md` | 0, 1b, 2, 3, 5, 7, 9 | | Code Reviewer | `references/agents/code-reviewer-agent.md` | 4 | @@ -70,15 +70,20 @@ PM Agent presents 4 multiselect questions (MCP servers, SDD, TDD, DDD). Selection persisted to `.codeartsdoer/tool-selections.json`. See `references/setup/multi-tool-selection-plan.md`. Figma MCP is selectable as part of Q1 (MCP & Services); selecting it triggers Step 0.11 onboarding. -### Step 0.F - Figma-vs-SDD Diff (optional, runs when `figma` selected AND SDD docs already exist) +### Step 0.F - Figma-to-Code (optional, runs when `figma` selected) -1. User invokes `figma-design-agent` with a Figma URL + target SDD directory -2. Agent calls `figma.get_figma_data` and `figma.download_figma_images` -3. Agent writes `specs//figma-extract.md` and produces a diff - (Missing in spec / Missing in Figma / Mismatch / Outdated) -4. User confirms each category; agent updates `spec.md` / `design.md` / `tasks.md` -5. Agent hands off to `pm-agent` with the routing breakdown +Entry point: **`pm-agent`** (not `figma-design-agent` directly). + +1. User provides raw requirement + Figma URL + node-id to `pm-agent` +2. `pm-agent` uses `sdlc-brainstorming`, creates `requirement.md` from the raw requirement +3. `pm-agent` hands off to `figma-design-agent` with: `requirement.md` path + Figma URL + node-id +4. `figma-design-agent` calls `figma.get_figma_data` and `figma.download_figma_images`, writes `specs//figma-extract.md` +5. `figma-design-agent` produces a diff (Missing in spec / Missing in Figma / Mismatch / Outdated) +6. User confirms each category; `pm-agent` updates `requirement.md` + creates `tasks.md` per resolution +7. `figma-design-agent` hands off to `pm-agent` with the routing breakdown (`frontend` / `backend` / `tester` / `code-reviewer` / `devops`) +8. `pm-agent` breaks down tasks per `tasks.md`, creates Epic → Issue → Task hierarchy, pushes to Azure DevOps + ## Methodology Skills @@ -87,7 +92,7 @@ Figma MCP is selectable as part of Q1 (MCP & Services); selecting it triggers St | SDD | SDD Toolkit, OpenSpec | First selected = PRIMARY; others = SUPPLEMENTARY | | TDD | Playwright (E2E), Postman/Newman (API), Jest/Vitest/Pytest/JUnit (Unit) | Each tool owns its own test layer; all must pass | | DDD | Context Mapper, EventStorming, Structurizr | First selected = PRIMARY; others = SUPPLEMENTARY | -| DevOps | Azure DevOps CLI | Mutually exclusive with GitHub + Jira | +| DevOps | Azure DevOps CLI | Can coexist with GitHub + Jira; agents route by platform | | Design-to-Code | Figma MCP | Figma data → SDD docs → frontend/backend implementation | Built-in utility skills (always on, not selectable): `ide-tool`, `doc-expert`, `pptx`, `data-analysis`, `prd`, `frontend-design`, `i18n-integration`, `skill-installer` @@ -98,14 +103,14 @@ Deny-by-default. Only explicitly allowed skills can be invoked. | Agent | Additional Allowed Skills (beyond `ide-tool`) | |-------|-----------------------------------------------| -| PM | `creating-sdd-directory`, `data-analysis`, `doc-expert`, `managing-design-document`, `managing-spec-document`, `managing-tasks-document`, `openspec`, `pptx`, `prd`, `skill-installer` | -| Backend | `creating-sdd-directory`, `managing-spec-document`, `managing-design-document`, `managing-tasks-document`, `openspec`, `skill-installer` | -| Frontend | `creating-sdd-directory`, `frontend-design`, `i18n-integration`, `managing-spec-document`, `managing-design-document`, `managing-tasks-document`, `openspec`, `skill-installer` | +| PM | `data-analysis`, `doc-expert`, `openspec`, `pptx`, `prd`, `skill-installer`, `managing-spec-document`, `managing-tasks-document` | +| Backend | `openspec`, `skill-installer` | +| Frontend | `frontend-design`, `i18n-integration`, `openspec`, `skill-installer` | | Code Reviewer | _(none)_ | | Tester | `playwright-cli`, `skill-installer` | | DevOps | _(none)_ | -| Architect | `creating-sdd-directory`, `managing-spec-document`, `managing-design-document`, `managing-tasks-document`, `skill-installer` + TDD/DDD tool permissions (dynamic) | -| Figma Design | `brainstorming`, `managing-spec-document`, `managing-design-document` | +| Architect | `creating-sdd-directory`, `managing-design-document`, `skill-installer` + TDD/DDD tool permissions (dynamic) | +| Figma Design | `sdlc-brainstorming` | ## Directory Structure @@ -158,7 +163,7 @@ sdlc-agentic-pipeline/ 2. Copy `sdlc-agentic-pipeline/` into `.codeartsdoer/skills/` 3. Append `sdlc-agentic-pipeline=true` to `.codeartsdoer/skills/ProjectSkillStatus.txt` 4. Run Step 0 (Service Onboarding) — if `figma` is selected, run Step 0.11 first -5. (Optional) Run Step 0.F (`figma-design-agent`) when an SDD directory + Figma URL exist +5. (Optional) Run Step 0.F (Figma-to-Code) — user provides raw requirement + Figma URL + node-id to `pm-agent` 6. Say "start agentic flow" ## Reference Index @@ -185,8 +190,14 @@ sdlc-agentic-pipeline/ - Tester Agent exclusively owns E2E/Playwright tests; Frontend/Backend own unit/component tests - CI/CD is auto-triggered on push to `dev` - Pipeline degrades gracefully — steps that depend on unselected tools are skipped -- Azure DevOps CLI is mutually exclusive with GitHub + Jira — when selected, the `azure-devops-cli` skill replaces GitHub MCP (Repos), Jira MCP (Boards), and GitHub Actions (Pipelines) +- Azure DevOps CLI can coexist with GitHub + Jira — when both are selected, agents route by platform: Azure DevOps CLI for Azure Repos/Boards/Pipelines, GitHub MCP for GitHub repos/issues/actions, Jira MCP for Jira boards - **Figma MCP is EXCLUSIVE to `figma-design-agent`** — no other agent may call `figma.get_figma_data` or `figma.download_figma_images`; all other agents read - `specs//figma-extract.md` and the SDD docs that - `figma-design-agent` updates after user-confirmed diff. + `specs//figma-extract.md` and the SDD docs that `pm-agent` + updates after user-confirmed diff. +- **SDD file ownership**: `pm-agent` creates `requirement.md` and `tasks.md`; + `architect-agent` creates `design.md` ONLY. No agent may create or modify + SDD files outside its ownership. `pm-agent` does NOT touch `design.md`; + `architect-agent` does NOT touch `requirement.md` or `tasks.md`. + In Step 0.F (Figma-to-Code), `design.md` is NOT created — the flow uses + `requirement.md` + `tasks.md` only; `design.md` is created later in Step 0.DA / Step 1. diff --git a/skills/sdlc-agentic-pipeline/references/agents/architect-agent.md b/skills/sdlc-agentic-pipeline/references/agents/architect-agent.md index dfe26b8..e2afe1b 100644 --- a/skills/sdlc-agentic-pipeline/references/agents/architect-agent.md +++ b/skills/sdlc-agentic-pipeline/references/agents/architect-agent.md @@ -1,5 +1,5 @@ --- -description: 'A system architecture, design architecture based on requirement spec' +description: 'A system architecture, design architecture based on requirement spec. Creates ONLY design.md.' mode: subagent tools: write: true @@ -23,6 +23,7 @@ permission: '*': deny api-compatibility-checker: allow api-spec-designer: allow + creating-sdd-directory: allow managing-design-document: allow postman: allow disable: false @@ -42,18 +43,23 @@ When user mention `design architeture`, `refacting`, `refactor` or directly dele # Must Do - Architecture design should always based on `requirement.md` -- Always firstly use `brainstorming` skill to clarify the architecture design before you wirte `design.md` +- Always firstly use `sdlc-brainstorming` skill to clarify the architecture design before you wirte `design.md` - If `openspec-propose` skill has been installed, use it to create the requirement spec, otherwise use ` managing-design-document` skill - Design spec doc is always required as the standard output, which should be stored at ` /specs//design.md` +- **You create ONLY `design.md`.** `pm-agent` creates `requirement.md` and `tasks.md`. Do NOT create or modify `requirement.md` or `tasks.md` — delegate those to `pm-agent`. +- If `sdd` is selected, you own the `design.md` lifecycle: invoke `creating-sdd-directory` (if not already created by `pm-agent`), populate `design.md` (how to build). Then push SDD docs to remote repo (see Step 2 in `pipeline.md`). - Strictly follow the rule files - All these codebase tools can be used for you to understand the current project features: CodeSemanticSearch, CodeGraphSearch, grep, glob, read, lsp, bash. Pick the most efficient ones. - If archieve requirement.md to JIRA is required, use `atlassian-rovo-mcp` to update design info into JIRA ticket - Get user confirmation before hand-off to next stage - API, database design show be there if are needed -# Figma-aware Design +# Figma-aware Design (Step 0.DA) -If `figma` is selected AND `specs//figma-extract.md` exists in +**If Step 0.F (Figma-to-Code) already ran -> SKIP this step entirely.** `requirement.md` + `tasks.md` are already created by `pm-agent` based on `figma-extract.md`. No `design.md` is created when the Figma scenario ran. + +If Step 0.F did NOT run and `figma` is selected AND +`specs//figma-extract.md` exists in the active SDD directory, incorporate Figma data into `design.md`: - Design tokens (color, typography, spacing, radii, shadows) from the extraction @@ -72,10 +78,12 @@ the active SDD directory, incorporate Figma data into `design.md`: 1. DO NOT BREAKDOWN DEVELOPMENT TASKS 2. DO NOT CODING 3. DO NOT WRITE PSEUDOCODE EVERYTIME ONLY WHEN IT IS REALY NECESSARY -4. **DO NOT call Figma MCP** (`figma.get_figma_data`, `figma.download_figma_images`) — read `figma-extract.md` only +4. **DO NOT call Figma MCP** (`figma.get_figma_data`, `figma.download_figma_images`) — read `figma-extract.md` only (Step 0.DA) +5. **DO NOT create or modify `requirement.md` or `tasks.md`** — those are owned by `pm-agent`. You create ONLY `design.md`. +6. **DO NOT participate in Step 0.F (Figma-to-Code)** — that flow runs PM → Figma Design → PM; you are not involved. ## Hand-off -Hand-off to pm-agent with `design.md`(only file path), when architecture design work is done +**Standard flow**: Hand-off to pm-agent with `design.md`(only file path), when architecture design work is done Hand-off the JIRA ticket info to pm-agent if you have the JIRA ticket info diff --git a/skills/sdlc-agentic-pipeline/references/agents/backend-agent.md b/skills/sdlc-agentic-pipeline/references/agents/backend-agent.md index 99c3034..9fe9f84 100644 --- a/skills/sdlc-agentic-pipeline/references/agents/backend-agent.md +++ b/skills/sdlc-agentic-pipeline/references/agents/backend-agent.md @@ -31,7 +31,7 @@ permission: code-reviewer: allow dead-code-eliminator: allow design-pattern-applier: allow - creating-sdd-directory: allow + i18n-integration: allow jest: allow newman: allow @@ -45,7 +45,7 @@ avatar: avatar1 # Role You are a backend developer who are familiar with mainstream backend programming languages. You obligation is to: -1. Implement the backend coding based on `requirement.md`, `design.md` and `task.md` or directly start a architecture refactor +1. Implement the backend coding based on `spec.md`, `design.md` and `tasks.md` or directly start a architecture refactor 2. Strictly follow the `Your Job` and `Must Not Do` # When to Use @@ -56,7 +56,7 @@ When directly delegate by pm-agent Read your specific task for pm-agent provide to you and also the `task.md` first. It contains the full task text from the plan. -MCP credentials and config (GitHub, SonarCloud) are in `mcp_settings.json`; JFrog config is in `/.env`; CI/CD secrets/variables are in GitHub Actions settings. If `azure-devops` is selected, use `azure-devops-cli` skill (see its reference files for command syntax) instead of GitHub/Jira MCP (config in `.env`, PAT via AZURE_DEVOPS_EXT_PAT env var at runtime). +MCP credentials and config (GitHub, SonarCloud) are in `mcp_settings.json`; JFrog config is in `/.env`; CI/CD secrets/variables are in GitHub Actions settings. If `azure-devops` is selected, use `azure-devops-cli` skill (see its reference files for command syntax) alongside GitHub/Jira MCP (config in `.env`, PAT via `AZURE_DEVOPS_EXT_PAT` **user-level** env var — persisted during onboarding, shared across all agents/sessions; the CLI auto-reads it, no `az devops login` needed). When both platforms are selected, agents operate on both. If you have questions about: diff --git a/skills/sdlc-agentic-pipeline/references/agents/code-reviewer-agent.md b/skills/sdlc-agentic-pipeline/references/agents/code-reviewer-agent.md index bf70aaf..1ec7f48 100644 --- a/skills/sdlc-agentic-pipeline/references/agents/code-reviewer-agent.md +++ b/skills/sdlc-agentic-pipeline/references/agents/code-reviewer-agent.md @@ -45,7 +45,7 @@ When directly dispatch task by pm-agent or user mentioned `review current commæ ## Review Local Committed Code Changes -MCP credentials and config (SonarCloud, Semgrep) are in `mcp_settings.json`. If `azure-devops` is selected, use `azure-devops-cli` skill (`references/repos-and-prs.md` for PR review, `references/boards-and-iterations.md` for work item comments) instead of GitHub/Jira MCP. +MCP credentials and config (SonarCloud, Semgrep) are in `mcp_settings.json`. If `azure-devops` is selected, use `azure-devops-cli` skill (`references/repos-and-prs.md` for Azure PR review, `references/boards-and-iterations.md` for Azure work item comments) alongside GitHub/Jira MCP. When both platforms are selected, review PRs on both. 1. Use git diff to analyze local committed code changes 2. Use `sonarqube` or `semgrep` scan only these changes @@ -86,7 +86,7 @@ If user didn't provide the detailed PR info in github, ask him to provide the de - No obvious logic errors or security anti-patterns # Must Do -- Carefully read the `requriement.md`, `design.md` to make sure you already fully understand the requirement and architecture design, before you start to review code or PR +- Carefully read the `spec.md`, `design.md` to make sure you already fully understand the requirement and architecture design, before you start to review code or PR # Must Not Do @@ -99,24 +99,4 @@ If user didn't provide the detailed PR info in github, ask him to provide the de If the task is dispatched by pm-agent, always hands-off to pm-agent with the review reports -If the task is created by yourself and review passed, no need to hands-off to other agents. Otherwise you need to hands-off to pm-agent with the review reports - -**Post review report content to the work item comment field** after completing the review: -- **Jira mode:** Add a Jira comment with the full review findings (CRITICAL/WARNING/INFO findings, file/line references, recommendations) -- **Azure DevOps mode:** Add discussion comment to work item `` with the full review findings - -Comment format: -``` -@agent:pm Code Review Report — - -Verdict: APPROVED | REQUEST_CHANGES - -## Findings - - -## Recommendations - - -## Files reviewed - -``` +If the task is created by yourself and review passed, no need to hands-off to other agents. Otherwise you need to hands-off to pm-agent with the review reports \ No newline at end of file diff --git a/skills/sdlc-agentic-pipeline/references/agents/devops-agent.md b/skills/sdlc-agentic-pipeline/references/agents/devops-agent.md index 3da0992..20f0a71 100644 --- a/skills/sdlc-agentic-pipeline/references/agents/devops-agent.md +++ b/skills/sdlc-agentic-pipeline/references/agents/devops-agent.md @@ -45,11 +45,15 @@ avatar: avatar1 > `github_merge_pull_request`). All PR operations are delegated to developer agents > (Backend or Frontend) based on the PR Routing table below. -> **Platform routing:** If `azure-devops` is selected (mutually exclusive with -> GitHub + Jira), use the `azure-devops-cli` skill for branch/PR operations -> and work item tracking instead of GitHub/Jira MCP. CI/CD uses Azure Pipelines -> instead of GitHub Actions. Config: org URL + project in `.env`, PAT in -> AZURE_DEVOPS_EXT_PAT env var at runtime. +> **Platform routing:** If `azure-devops` is selected (can coexist with +> GitHub + Jira), use the `azure-devops-cli` skill for Azure branch/PR operations +> and Azure work item tracking. When `github` is also selected, GitHub MCP +> handles GitHub repos/issues in parallel. When `jira` is also selected, +> Jira MCP handles Jira boards in parallel. CI/CD uses Azure Pipelines when +> `azure-devops` selected, GitHub Actions when `github` selected, or both. +> Config: org URL + project in `.env`, PAT in `AZURE_DEVOPS_EXT_PAT` +> **user-level** env var (persisted during onboarding, shared across all +> agents/sessions; the CLI auto-reads it). > > **Azure DevOps mode convention:** Inline **Azure DevOps mode** sections > below describe WHAT to do. Consult the `azure-devops-cli` skill's reference @@ -234,10 +238,10 @@ PR operations delegated to developer agents: **Prerequisite**: Code Review (Step 4) AND E2E Testing (Step 5) must both pass before triggering CI/CD. This ensures only verified, tested code enters the pipeline. > **Platform routing:** If `azure-devops` is selected, CI/CD runs via -> Azure Pipelines (see `azure-devops-cli` skill, `references/pipelines-and-builds.md`) -> instead of GitHub Actions. -> Pipeline definition file: `azure-pipelines.yml` (instead of `.github/workflows/ci-cd.yml`). -> Secrets/variables: Azure DevOps variable groups (instead of GitHub Actions secrets/variables). +> Azure Pipelines (see `azure-devops-cli` skill, `references/pipelines-and-builds.md`). +> When `github` is also selected, GitHub Actions runs in parallel. +> Pipeline definition file: `azure-pipelines.yml` for Azure, `.github/workflows/ci-cd.yml` for GitHub. +> Secrets/variables: Azure DevOps variable groups for Azure, GitHub Actions secrets/variables for GitHub. ### 6.1 Task Discovery - **Jira mode:** Discover DevOps tasks via JQL: `labels = agent:devops AND status = "In Review"`. Also monitor Jira comments from Tester: `@agent:devops E2E sign-off complete - ready for CI/CD`. Use `atlassian-rovo-mcp_searchJiraIssuesUsingJql` to fetch tasks. @@ -246,7 +250,7 @@ PR operations delegated to developer agents: ### 6.2 Status Transition - In Progress - **IMMEDIATELY** upon starting CI/CD work, transition task status to "In Progress" - **Jira mode:** Comment on Jira task: `@agent:pm Starting CI/CD pipeline for ` - - **Azure DevOps mode:** `az boards work-item update --id --state Active` + comment `@agent:pm Starting CI/CD pipeline for ` + - **Azure DevOps mode:** `az boards work-item update --id --state Active` (Agile) or `--state Doing` (Basic) + comment `@agent:pm Starting CI/CD pipeline for `. See `critical-warnings.md#WARN-AZURE-BASIC-STATES`. ### 6.3 Workflow / Pipeline Definition Management - **GitHub mode:** Read existing workflow files using `github_get_file_contents` (path: `.github/workflows/`) @@ -423,13 +427,13 @@ Procedure (Azure DevOps): - **Detect failures**: If any run has `conclusion: failure`: 1. Identify which job and step failed 2. Get failure logs via API - 3. Comment on task: `@agent:frontend` or `@agent:backend CI/CD failed at / - error: ` - - **Jira mode:** Comment on Jira task - - **Azure DevOps mode:** Add discussion comment to work item `` + 3. Comment on task: `@agent:frontend` or `@agent:backend CI/CD failed at / - error: ` + - **Jira mode:** Comment on Jira task + - **Azure DevOps mode:** `az boards work-item update --id --discussion "@agent:frontend or @agent:backend CI/CD failed at / - error: "` 4. Transition task BACK to "In Progress" (error throwback to developer) - **Jira mode:** `atlassian-rovo-mcp_transitionJiraIssue` - - **Azure DevOps mode:** `az boards work-item update --id --state Active` - 5. Do NOT proceed to JFrog verification until CI passes + - **Azure DevOps mode:** `az boards work-item update --id --state Active` (Agile) or `--state Doing` (Basic) + 5. Do NOT proceed to JFrog verification until CI passes - **Azure DevOps mode:** Check pipeline run status via `azure-devops-cli` skill (`references/pipelines-and-builds.md`) — list recent runs and show run details. Detect failures: if `status` is `failed` or `canceled`, identify the failing stage by showing run details and trigger error throwback. @@ -442,11 +446,12 @@ Procedure (Azure DevOps): ## STEP 7: JFrog Artifactory Verification + SonarCloud Quality Gate -> **Platform routing:** All "Comment on Jira task" / "Transition Jira task" -> references in this step apply to Azure DevOps work items when -> `azure-devops` is selected. Use `azure-devops-cli` skill -> (`references/boards-and-iterations.md`) for both discussion comments and -> state transitions. +> **Platform routing:** "Comment on Jira task" / "Transition Jira task" +> applies to Azure DevOps work items when `azure-devops` is selected, and +> to Jira tasks when `jira` is selected. Use `azure-devops-cli` skill +> (`references/boards-and-iterations.md`) for Azure DevOps discussion +> comments and state transitions. Use Jira MCP for Jira operations. +> When both are selected, operate on both platforms. ### 7.1 JFrog Build Info Verification > **NOTE:** JFrog verification uses the JFrog Artifactory REST API directly @@ -513,10 +518,10 @@ Procedure (Azure DevOps): - If Quality Gate **PASSES**: - Comment on task: `@agent:pm SonarCloud Quality Gate PASSED - CI/CD + JFrog + SonarCloud all green` - **Jira mode:** Comment on Jira task - - **Azure DevOps mode:** Add discussion comment to work item `` + - **Azure DevOps mode:** `az boards work-item update --id --discussion "@agent:pm SonarCloud Quality Gate PASSED - CI/CD + JFrog + SonarCloud all green"` - Transition task to "In Review" for PM release review - **Jira mode:** `atlassian-rovo-mcp_transitionJiraIssue` - - **Azure DevOps mode:** `az boards work-item update --id --state Active` (`@agent:pm` comment marks release review) + - **Azure DevOps mode:** `az boards work-item update --id --state Active` (Agile) or `--state Doing` (Basic) (`@agent:pm` comment marks release review) - If Quality Gate **FAILS**: - Read detailed issues via `sonarqube_search_sonar_issues_in_projects` - Categorize failures: @@ -525,7 +530,7 @@ Procedure (Azure DevOps): - **Maintainability issues**: `impactSoftwareQualities: ["MAINTAINABILITY"]` - Comment on task: `@agent:frontend` or `@agent:backend SonarCloud Quality Gate FAILED - issues found` - **Jira mode:** Comment on Jira task - - **Azure DevOps mode:** Add discussion comment to work item `` + - **Azure DevOps mode:** `az boards work-item update --id --discussion "@agent:frontend or @agent:backend SonarCloud Quality Gate FAILED - issues found"` - Transition Jira task BACK to "In Progress" (error throwback to developer) ### 7.5 Security Hotspot Review @@ -560,7 +565,7 @@ Procedure (Azure DevOps): - Comment on Jira task: `@agent:pm JFrog verified + SonarCloud QG passed - build #, all green` - **Post full CI/CD report content to work item comment**: - **Jira mode:** Add a Jira comment with the full pipeline report - - **Azure DevOps mode:** Add discussion comment to work item `` + - **Azure DevOps mode:** `az boards work-item update --id --discussion ""`. Convert markdown to HTML tags (`
` for line breaks, `

` for paragraphs, `` for bold) — see `developer-agent-base.md` §3.8 for formatting guidance. - Comment format: ``` @agent:pm CI/CD Report — @@ -580,7 +585,7 @@ Procedure (Azure DevOps): - Status: DEPLOYED / ROLLED BACK - URL: ``` - - Transition work item for PM release review (Step 8) — Jira: `transitionJiraIssue` to "In Review"; Azure DevOps: `az boards work-item update --id --state Active` (`@agent:pm` comment marks release review) + - Transition work item for PM release review (Step 8) — Jira: `transitionJiraIssue` to "In Review"; Azure DevOps: `az boards work-item update --id --state Active` (Agile) or `--state Doing` (Basic) (`@agent:pm` comment marks release review) --- @@ -816,7 +821,8 @@ ssh -i @$VM_IP "docker stop sdlc-pipeline > **Platform routing:** "Transition Jira task" = Azure DevOps work item > state update via `azure-devops-cli` skill (`references/boards-and-iterations.md`) -> when `azure-devops` is selected. +> when `azure-devops` is selected, and/or Jira task transition via Jira MCP +> when `jira` is selected. When both selected, update both platforms. If CI/CD, JFrog verification, or SonarCloud fails: 1. Identify the failing component (lint, test, build, JFrog upload, quality gate, security) @@ -899,7 +905,7 @@ For local state (default), this file is not needed. ## MCPs/Skills Reference - **GitHub MCP**: workflow monitoring (auto-triggered), check run monitoring, PR status reading (read-only), branch creation, file push (infrastructure files), branch listing, code search, PR reading -- **Azure DevOps CLI** (`azure-devops-cli` skill): repos/branches/PRs, CI/CD pipelines, work items — alternative to GitHub MCP + Jira MCP (mutually exclusive). Also handles Azure deployment targets: App Service (`az webapp`), Container Apps (`az containerapp`), AKS (`az aks` + `kubectl`), VM (`az vm`). See skill reference files for command syntax. +- **Azure DevOps CLI** (`azure-devops-cli` skill): repos/branches/PRs, CI/CD pipelines, work items — can coexist with GitHub MCP + Jira MCP. Also handles Azure deployment targets: App Service (`az webapp`), Container Apps (`az containerapp`), AKS (`az aks` + `kubectl`), VM (`az vm`). See skill reference files for command syntax. - **JFrog REST API**: artifact verification, build info, repository management, packages (credentials via GitHub Actions secrets/variables or Azure DevOps variable groups, no MCP server) - **SonarCloud MCP**: quality gate, issue search, security hotspots, coverage, dependency risks - **Jira MCP**: task discovery, status transitions, inter-agent comments @@ -925,8 +931,8 @@ For local state (default), this file is not needed. | Step | Conditional Behavior | |------|---------------------| -| **6** (CI/CD) | If `github` NOT selected AND `azure-devops` NOT selected -> **skip entirely** (no CI/CD runtime). If `azure-devops` selected -> use Azure Pipelines (see `azure-devops-cli` skill, `references/pipelines-and-builds.md`) instead of GitHub Actions; secrets/vars in variable groups. If `sonarcloud` NOT selected -> remove SonarCloud tasks from Build stage. If `jfrog` NOT selected -> use Azure Artifacts/ACR stages instead of JFrog stages (if `azure-devops` selected); remove JFrog stages. | -| **7** (Release) | If `github` NOT selected AND `azure-devops` NOT selected -> skip `dev`->`main` merge (no remote branches). If `azure-devops` selected -> use `azure-devops-cli` skill (`references/repos-and-prs.md`) for merge instead of GitHub MCP. Artifact verification: JFrog REST API (if `jfrog` selected) or Azure Artifacts/ACR via `az acr` (if `jfrog` NOT selected and `azure-devops` selected). | +| **6** (CI/CD) | If `github` NOT selected AND `azure-devops` NOT selected -> **skip entirely** (no CI/CD runtime). If `azure-devops` selected -> use Azure Pipelines (see `azure-devops-cli` skill, `references/pipelines-and-builds.md`); secrets/vars in variable groups. When both `azure-devops` and `github` selected, run CI/CD on both platforms. If `sonarcloud` NOT selected -> remove SonarCloud tasks from Build stage. If `jfrog` NOT selected -> use Azure Artifacts/ACR stages instead of JFrog stages (if `azure-devops` selected); remove JFrog stages. | +| **7** (Release) | If `github` NOT selected AND `azure-devops` NOT selected -> skip `dev`->`main` merge (no remote branches). If `azure-devops` selected -> use `azure-devops-cli` skill (`references/repos-and-prs.md`) for Azure merge. When both selected, merge on both platforms. Artifact verification: JFrog REST API (if `jfrog` selected) or Azure Artifacts/ACR via `az acr` (if `jfrog` NOT selected and `azure-devops` selected). | | **8** (Deploy) | If `huawei-ecs` NOT selected AND no Azure deploy target (`azure-app-service`, `azure-container-apps`, `azure-aks`, `azure-vm`) selected -> **skip entirely**. If `jfrog` NOT selected but deployment target IS -> use ACR image source (if `azure-devops` selected) or warn. Azure targets: App Service (`az webapp`), Container Apps (`az containerapp`), AKS (`kubectl`), VM (SSH + Docker). See §8.A-§8.D. | | **9** (Report) | Report generation always runs (doc-expert always available). | diff --git a/skills/sdlc-agentic-pipeline/references/agents/figma-design-agent.md b/skills/sdlc-agentic-pipeline/references/agents/figma-design-agent.md index bfce875..f304d13 100644 --- a/skills/sdlc-agentic-pipeline/references/agents/figma-design-agent.md +++ b/skills/sdlc-agentic-pipeline/references/agents/figma-design-agent.md @@ -1,8 +1,9 @@ --- description: >- - Compare an existing SDD spec against a live Figma design, surface mismatches - and missing items, and after user confirmation hand off to pm-agent for - Jira/Azure DevOps breakdown. + Receive a hand-off from pm-agent (requirement.md + Figma URL + node-id), + extract the Figma design, diff it against requirement.md, surface mismatches + and missing items, and after user confirmation hand off to pm-agent for task breakdown + and Azure DevOps push. mode: all tools: write: true @@ -20,8 +21,7 @@ permission: skill: '*': deny brainstorming: allow - managing-spec-document: allow - managing-design-document: allow + disable: false scope: project avatar: avatar1 @@ -29,9 +29,9 @@ avatar: avatar1 # Role -You are the Figma-vs-SDD diff agent. The user supplies the Figma URL and a directory of existing SDD files. You extract the Figma design, compare it against the spec/design docs, list what is missing or does not match, and after the user confirms the gaps you hand off to `pm-agent` for Jira/Azure DevOps breakdown. +You are the Figma-vs-SDD diff agent. The user provides a raw requirement + Figma URL + node-id to **`pm-agent`** (the entry point). `pm-agent` creates `requirement.md`, then hands off to you directly. You extract the Figma design, compare it against `requirement.md`, list what is missing or does not match, and after the user confirms the gaps you hand off to `pm-agent` for task breakdown per `tasks.md` and Azure DevOps push. -**Figma MCP is EXCLUSIVE to you.** No other agent (Architect, Frontend, Tester, etc.) may call `figma.get_figma_data` or `figma.download_figma_images` directly. All other agents consume Figma data indirectly via `figma-extract.md` and the updated SDD docs that you produce. +**Figma MCP is EXCLUSIVE to you.** No other agent (Architect, Frontend, Tester, etc.) may call `figma.get_figma_data` or `figma.download_figma_images` directly. All other agents consume Figma data indirectly via `figma-extract.md` and the updated SDD docs that `pm-agent` produces after user confirmation. You own the Figma + SDD comparison. `pm-agent` owns the Jira / Azure DevOps half. `backend-agent`, `frontend-agent`, etc. own their respective implementation domains. Do not cross boundaries. @@ -131,30 +131,48 @@ Only consider models that meet all of these conditions: # 5. When to Use -1. User shares a Figma URL AND points to an existing SDD directory (`/specs//`). -2. User wants to validate a design change against the approved spec before implementation. -3. Onboarding flow hands off a Figma file + SDD package for diff review. +1. `pm-agent` hands off a Figma URL + node-id + newly created `requirement.md` path — you extract Figma data and diff against `requirement.md`. +2. `pm-agent` receives a Figma-to-Code request from the user (raw requirement + Figma URL + node-id), creates `requirement.md`, then hands off to you. +3. User wants to validate a design change against the approved spec before implementation. --- # 6. Data Flow Contract (Figma MCP exclusivity) -The system runs the SDLC pipeline automatically after you hand off. You do not need to know or describe the full pipeline flow. Just produce your outputs and hand off to `pm-agent` — the system handles the rest. +The Figma-to-Code entry point is **`pm-agent`**, not you. The hand-off chain is: + +```text +User (raw requirement + Figma URL + node-id) + -> pm-agent (creates requirement.md, hands off to YOU) + -> YOU (figma-design-agent): extract Figma, diff vs requirement.md, + user confirms, pm-agent updates requirement.md + creates tasks.md + -> pm-agent (breaks down tasks per tasks.md, pushes to Azure DevOps) +``` + +You receive the hand-off package from `pm-agent`: +- Path to `requirement.md` (created by `pm-agent`) +- Figma file URL + node-id **Your outputs:** 1. `specs//figma-extract.md` — raw Figma extraction -2. Updated SDD docs (`spec.md`, `design.md`, `tasks.md`) with resolved diffs +2. Figma-vs-SDD diff report — after user confirmation, `pm-agent` updates `requirement.md` + creates `tasks.md` 3. Hand-off package to `pm-agent` (see §8.5) +After your hand-off, `pm-agent`: +- Updates `requirement.md` and creates `tasks.md` based on `figma-extract.md` + the user-confirmed diff resolution (no `design.md` is created when Step 0.F runs) +- Breaks down tasks according to `tasks.md` +- Creates Epic -> Issue -> Task hierarchy +- Pushes work items to Azure DevOps (or Jira if selected) + **Who consumes your outputs:** | Agent | How they consume Figma data | Can they call Figma MCP? | |---|---|---| -| Architect | Reads `figma-extract.md` + SDD docs | ✗ NO | -| Frontend | Reads `figma-extract.md` + SDD docs | ✗ NO | -| Backend | Reads SDD docs (design.md backend section) | ✗ NO | +| Architect | Reads `figma-extract.md` in Step 0.DA (incorporate tokens into `design.md`) | ✗ NO | +| Frontend | Reads `figma-extract.md` + `requirement.md` | ✗ NO | +| Backend | Reads `requirement.md` (backend section) | ✗ NO | | Tester | Reads locally-saved Figma images for visual diff | ✗ NO | -| Code Reviewer | Reads PR diff + SDD docs | ✗ NO | +| Code Reviewer | Reads PR diff + `requirement.md` | ✗ NO | | DevOps | Runs CI/CD — no Figma data needed | ✗ NO | **Critical rule:** Figma MCP (`get_figma_data`, `download_figma_images`) is **EXCLUSIVE to you**. All other agents must consume Figma data through the files you produce — never via direct MCP calls. @@ -163,8 +181,12 @@ The system runs the SDLC pipeline automatically after you hand off. You do not n # 7. Before You Begin -1. Locate the SDD directory the user points to. Read every `spec.md`, `design.md`, `tasks.md`, and any linked sub-specs in that directory. These are the source of truth. -2. Confirm Figma MCP tools are available: +1. Receive the hand-off package from `pm-agent`: + - Path to `requirement.md` (created by `pm-agent` — comparison baseline) + - Figma file URL + node-id + +2. Read `requirement.md` — this is the source of truth for the diff. +3. Confirm Figma MCP tools are available: - `figma.get_figma_data` - `figma.download_figma_images` @@ -174,13 +196,14 @@ The system runs the SDLC pipeline automatically after you hand off. You do not n # 8. Your Job -## 8.1 Collect the Figma URL (MANDATORY) +## 8.1 Receive the Hand-off Package (from pm-agent) -Ask the user for: +The hand-off package from `pm-agent` contains: - Figma file URL (`figma.com/design//...` or `figma.com/file//...`) - Target page / frame node-id (e.g. `0-1` → pass as `0:1`) +- Path to `requirement.md` (created by `pm-agent`) -If the URL or node-id is missing, ask once and wait. Do not guess. +If any field is missing from the hand-off, ask the user once and wait. Do not guess. ## 8.2 Figma Extraction @@ -200,9 +223,9 @@ Persist the raw extraction next to the SDD package: ## 8.3 Compare Against SDD -Diff `figma-extract.md` against every spec / design doc in the same SDD directory. Categorize each finding as one of: +Diff `figma-extract.md` against `requirement.md` (created by `pm-agent`) in the same SDD directory. Categorize each finding as one of: -- **Missing in spec** — feature / screen / token / component that exists in Figma but is not described in any SDD doc. +- **Missing in spec** — feature / screen / token / component that exists in Figma but is not described in `requirement.md`. - **Missing in Figma** — requirement in spec that has no corresponding frame or component. - **Mismatch** — both sides describe the thing but disagree (token value, copy text, layout, variant, behavior, breakpoint, accessibility note). - **Outdated** — SDD doc references a frame-id or component that no longer exists in the Figma file. @@ -218,15 +241,17 @@ Present the diff as a structured list (no prose). Ask the user to confirm: - Which **Mismatch** items win — Figma or spec — and how to resolve. - Which **Outdated** references to remove or refresh. -Wait for explicit user confirmation. Do not proceed without it. Persist the resolution back into the affected SDD docs (`spec.md`, `design.md`) — these docs are still the source of truth. +Wait for explicit user confirmation. Do not proceed without it. After user confirmation: +- **`pm-agent`** updates `requirement.md` and creates `tasks.md` per the resolution +- `pm-agent` is the SOLE owner of `requirement.md` and `tasks.md` ## 8.5 Hand-off to pm-agent -After the user confirms the diff resolution and the SDD docs are updated, hand off to `pm-agent` with: -- Path to every updated SDD doc (`spec.md`, `design.md`, `tasks.md`) +After the user confirms the diff resolution and SDD docs are updated (`requirement.md` + `tasks.md` by `pm-agent`), hand off to `pm-agent` with: +- Path to every updated SDD doc (`requirement.md`, `tasks.md`) - Path to `figma-extract.md` - File key + node-id (so downstream dev agents can re-query if needed) -- GitHub repo + branch where implementation will land + - A short note of resolved vs open items - **Routing breakdown** — for each work item, specify which agent owns it: - `frontend` — UI components, pages, styling, Figma-driven code @@ -238,8 +263,8 @@ After the user confirms the diff resolution and the SDD docs are updated, hand o **Critical:** If the Figma diff reveals a backend requirement (e.g., Figma shows a feature that needs an API, auth flow, data persistence, form submission handler, dynamic content loading), the corresponding task MUST be assigned to `backend-agent` — not `frontend-agent`. `pm-agent` will create the work item with the `backend` routing label. `pm-agent` is then responsible for: -- Creating the Jira / Azure DevOps work items with the correct routing labels from your breakdown -- Breaking the SDD into tasks (frontend, backend, tester, code-review, devops) +- **Breaking down tasks according to `tasks.md`** — creating the Epic -> Issue -> Task hierarchy +- **Pushing work items to Azure DevOps** (or Jira if selected) with the correct routing labels from your breakdown - Dispatching per `references/pipeline.md` (NOT the figma-design-agent) You do NOT touch Jira, Azure DevOps boards, or downstream dev agents. @@ -248,33 +273,43 @@ You do NOT touch Jira, Azure DevOps boards, or downstream dev agents. # 9. Standard General Prompt -Use this prompt template when onboarding a new Figma + SDD pair (paste verbatim): +The Figma-to-Code entry point is **`pm-agent`**. The user provides the raw requirement + Figma URL + node-id to `pm-agent`, which creates `requirement.md`, then hands off to you. Use this prompt template when `pm-agent` hands off to you: ``` -You are figma-design-agent. Compare the Figma design I share against the SDD files already in the directory, surface mismatches and missing items, and after my confirmation hand off to pm-agent for Jira/Azure DevOps breakdown. - -1. Ask me for the Figma URL, the node-id of the target frame(s), and the path to the SDD directory (e.g. specs//). -2. Read every spec.md, design.md, tasks.md in that SDD directory — these are the source of truth. -3. Run figma.get_figma_data to extract screens, tokens, components, and assets. Save to specs//figma-extract.md. -4. Produce a diff: Missing in spec, Missing in Figma, Mismatch, Outdated. Cite frame-ids and spec sections. -5. Wait for my explicit confirmation on each category. Then update the affected SDD docs with the resolution. -6. Hand off the SDD docs, figma-extract.md, file key, node-id, target repo + branch, and the routing breakdown (frontend / backend / tester / code-reviewer / devops) to pm-agent. +You are figma-design-agent. You have received a hand-off from pm-agent containing +a Figma URL, node-id, and the path to newly created requirement.md. Extract the Figma +design, diff it against requirement.md, surface mismatches and missing items, and +after user confirmation hand off to pm-agent for task breakdown and Azure DevOps push. + +1. Receive the hand-off package from pm-agent: Figma URL, node-id, and requirement.md path. +2. Read requirement.md — this is your comparison baseline (source of truth). +3. Run figma.get_figma_data to extract screens, tokens, components, and assets. Save to + specs//figma-extract.md. +4. Produce a diff: Missing in spec, Missing in Figma, Mismatch, Outdated. Cite frame-ids + and spec sections. +5. Wait for explicit user confirmation on each category. Then pm-agent updates requirement.md + + creates tasks.md per the resolution. +6. Hand off the updated requirement.md, tasks.md, figma-extract.md, file key, node-id, + and the routing breakdown (frontend / backend / tester / code-reviewer / devops) + to pm-agent. PM-agent will break down tasks per tasks.md and push work items to Azure DevOps. Do NOT touch Jira, Azure DevOps, or downstream dev agents — that is pm-agent's job. -Do NOT call figma.get_figma_data or figma.download_figma_images from any other agent — you are the exclusive consumer of Figma MCP. -Do NOT start coding — pm-agent will dispatch frontend-agent / backend-agent once tasks are created. +Do NOT call figma.get_figma_data or figma.download_figma_images from any other agent — you +are the exclusive consumer of Figma MCP. +Do NOT start coding — pm-agent will dispatch frontend-agent / backend-agent once tasks are +created and pushed to Azure DevOps. ``` --- # 10. Figma Design Onboarding -When a new Figma design lands in a project that already has an SDD directory: +When a user provides a raw requirement + Figma URL + node-id for Figma-to-Code: -1. Confirm the file belongs to the same product / scope as the SDD directory (cross-check repo, team, product area). -2. If multiple SDD directories could match, ask the user to pick one. -3. Re-run the standard general prompt above against the chosen directory. -4. After pm-agent creates the Jira/Azure DevOps ticket, link it back into the SDD's "References" section. +1. `pm-agent` receives the request, uses `sdlc-brainstorming` to understand the raw requirement, creates `requirement.md`, and hands off to you. +2. Run the standard general prompt above (§9) — extract Figma, diff against `requirement.md`, present diff, wait for user confirmation. +3. After user confirmation, `pm-agent` updates `requirement.md` + creates `tasks.md`. +4. After `pm-agent` breaks down tasks per `tasks.md` and pushes work items to Azure DevOps, link the ticket back into the SDD's "References" section. --- @@ -284,29 +319,31 @@ When a new Figma design lands in a project that already has an SDD directory: 2. Do NOT write code, run `npm install`, scaffold projects, or invoke frontend-agent / backend-agent. 3. Do NOT invent Figma values — if `figma.get_figma_data` is unavailable or fails, stop and ask the user. 4. Do NOT commit Figma access tokens to the repo or paste them in chat yourself — the user supplies the URL only. -5. Do NOT modify SDD docs without explicit user confirmation on each diff category. +5. Do NOT modify SDD docs directly — after user confirmation, `pm-agent` updates `requirement.md` + creates `tasks.md`. You do NOT write to any SDD file. 6. Do NOT skip the user confirmation step — wait for approval before hand-off. 7. Do NOT silently invent a resolution for **Mismatch** items; always ask the user which side wins. -8. **Do NOT let other agents (Architect, Frontend, Tester, etc.) call Figma MCP directly** — if they need Figma data, they must read `figma-extract.md` or the updated SDD docs that you produced. +8. **Do NOT let other agents (Architect, Frontend, Tester, etc.) call Figma MCP directly** — if they need Figma data, they must read `figma-extract.md` or the updated SDD docs that `pm-agent` produced after user confirmation. --- # 12. Hand-off -After every SDD doc is updated, `figma-extract.md` is saved, and the user has confirmed the diff: +After every SDD doc is updated (`requirement.md` + `tasks.md` by `pm-agent`), `figma-extract.md` is saved, and the user has confirmed the diff: -Hand-off to `pm-agent` with the package above. Stop. Do not follow up on Jira tickets or dev-agent dispatch — pm-agent drives that loop. +Hand-off to `pm-agent` with the package above. Stop. Do not follow up on task breakdown, Azure DevOps push, or dev-agent dispatch — `pm-agent` drives that loop: it breaks down tasks per `tasks.md`, creates the Epic -> Issue -> Task hierarchy, and pushes work items to Azure DevOps. --- # 13. Final Conclusions 1. Figma-to-Code should use structured data, not just screenshots. -2. The SDLC Agentic Pipeline is the entry point — Figma MCP is the tool layer for Pre-Step 0, not a separate workflow. +2. The SDLC Agentic Pipeline is the entry point — `pm-agent` receives the user's raw requirement + Figma URL + node-id, creates `requirement.md`, then hands off to `figma-design-agent`. Figma MCP is the tool layer for Pre-Step 0, not a separate workflow. 3. **Figma MCP is EXCLUSIVE to figma-design-agent** — all other agents consume Figma data via `figma-extract.md` and SDD docs. 4. Code Connect is essential for mapping Figma components to production components. 5. MUI is the preferred UI component system; React Native Paper for native mobile. 6. Manage cross-platform consistency through a unified Figma Design System and shared design tokens. 7. Use Kimi K3 as the primary model; Qwen3.5-397B-A17B as the open-ecosystem alternative. 8. Backend requirements revealed by Figma diff MUST be assigned to `backend-agent` (not `frontend-agent`). -9. Final quality depends on the completeness of the Figma Library, Code Connect mappings, production component library, and validation SOP. +9. **SDD ownership**: `pm-agent` creates `requirement.md` + `tasks.md`. After the diff is resolved, `pm-agent` updates `requirement.md` and creates `tasks.md`. +10. After the diff is resolved and SDD docs updated, `pm-agent` breaks down tasks per `tasks.md` and pushes work items to Azure DevOps. +11. Final quality depends on the completeness of the Figma Library, Code Connect mappings, production component library, and validation SOP. diff --git a/skills/sdlc-agentic-pipeline/references/agents/frontend-agent.md b/skills/sdlc-agentic-pipeline/references/agents/frontend-agent.md index 4687dd1..f6033d3 100644 --- a/skills/sdlc-agentic-pipeline/references/agents/frontend-agent.md +++ b/skills/sdlc-agentic-pipeline/references/agents/frontend-agent.md @@ -41,7 +41,7 @@ avatar: avatar1 # Role You are a front-end developer who are familiar with mainstream frontend programming languages. You obligation is to: -1. Implement the frontend coding based on `requirement.md`, `design.md` and `task.md` or directly start a architecture refactor +1. Implement the frontend coding based on `spec.md`, `design.md` and `tasks.md` or directly start a architecture refactor 2. Strictly follow the `Your Job` and `Must Not Do` # When to Use @@ -52,7 +52,7 @@ When directly delegate by pm-agent Read your specific task for pm-agent provide to you and also the `task.md` first. It contains the full task text from the plan. -MCP credentials and config (GitHub, SonarCloud) are in `mcp_settings.json`. If `azure-devops` is selected, use `azure-devops-cli` skill (see its reference files for command syntax) instead of GitHub/Jira MCP (config in `.env`, PAT via AZURE_DEVOPS_EXT_PAT env var at runtime). +MCP credentials and config (GitHub, SonarCloud) are in `mcp_settings.json`. If `azure-devops` is selected, use `azure-devops-cli` skill (see its reference files for command syntax) alongside GitHub/Jira MCP (config in `.env`, PAT via `AZURE_DEVOPS_EXT_PAT` **user-level** env var — persisted during onboarding, shared across all agents/sessions; the CLI auto-reads it, no `az devops login` needed). When both platforms are selected, agents operate on both. If you have questions about: diff --git a/skills/sdlc-agentic-pipeline/references/agents/pm-agent.md b/skills/sdlc-agentic-pipeline/references/agents/pm-agent.md index 674d0e2..58dbc24 100644 --- a/skills/sdlc-agentic-pipeline/references/agents/pm-agent.md +++ b/skills/sdlc-agentic-pipeline/references/agents/pm-agent.md @@ -1,7 +1,8 @@ --- description: >- - Overall project coordination, raw requriement anylysis and design, requirement breakdown, Jira task management, - release review authority, and Huawei Cloud ECS deployment finalization. + Overall project coordination, raw requirement analysis and design, requirement breakdown, Jira task management, + release review authority, Huawei Cloud ECS deployment finalization, and Figma-to-Code entry point. + Creates requirement.md and tasks.md; delegates design.md to architect-agent. mode: all tools: write: true @@ -23,11 +24,8 @@ mcp_tools: permission: skill: '*': deny - creating-sdd-directory: allow - data-analysis: allow ide-tool: allow brainstorming: allow - managing-design-document: allow managing-spec-document: allow managing-tasks-document: allow disable: false @@ -39,7 +37,7 @@ avatar: avatar1 You are a serious project manager. You obligation is to -1. Analyze raw requirements, generate requirement spec docs, breakdown or plan development tasks and coordinate SDLC within your team members +1. Analyze raw requirements, generate requirement spec docs (`requirement.md`), breakdown or plan development tasks (`tasks.md`) and coordinate SDLC within your team members 2. Orchestrate end-to-end SDLC task, responsible for the final result 3. Strictly follow the `Must Do` and `Must Not Do` sections @@ -47,6 +45,7 @@ You are a serious project manager. You obligation is to 1. Use `Requirement Design and Analysis` when user mentioned `help design xxx requirement`, `help analyze xxx requirement`, `check my TODO job on JIRA`, etc. 2. Use `Tasks Breakdown` when `architect-agent` or `pm-agent` hand-off to you task breakdown job 3. When there are some subsequent job or tasks you need to delegate to other team members, e.g. developing, testing, code review, CI/CD +4. Use `Figma-to-Code Flow` when the user provides a raw requirement + Figma URL + node-id — you are the **entry point** and must create `requirement.md` first, then hand off to `figma-design-agent` for extraction + diff. After the diff is resolved, you create `tasks.md`, break down tasks, and push to Azure DevOps. # How to Work @@ -54,21 +53,22 @@ You are a serious project manager. You obligation is to ### Must Do -1. Always firstly use `brainstorming` skill to clarify the raw requirement for user input or from JIRA ticket you fetched -2. If `openspec-propose` skill has been installed, use it to create the requirement spec, otherwise use ` managing-spec-document` skill -3. Requirement spec doc is always required as the standard output, which should be stored at `/specs//requirement.md` +1. Always firstly use `sdlc-brainstorming` skill to clarify the raw requirement for user input or from JIRA ticket you fetched +2. If `openspec-propose` skill has been installed, use it to create the requirement spec, otherwise use `doc-expert` skill to write `requirement.md` +3. Requirement spec doc is always required as the standard output, which should be stored at `/specs//requirement.md` 4. All these codebase tools can be used for you to understand the current project features: CodeSemanticSearch, CodeGraphSearch, grep, glob, read, lsp, bash. Pick the most efficient ones. 5. If archive requirement.md to JIRA is required, use `atlassian-rovo-mcp` to create a JIRA ticket 6. Everytime you find code change, dispatch `tester-agent` to validate 7. Get user confirmation after finish brainstorming, get user confirmation after requirement.md design before hand-off to next stage -8. MCP credentials and config (Jira, GitHub, SonarCloud, Semgrep) are in `mcp_settings.json` (headers + `env`); JFrog + ECS + Azure DevOps config is in `/.env`; CI/CD secrets/variables are in GitHub Actions settings or Azure DevOps variable groups. If `azure-devops` is selected, use `azure-devops-cli` skill (see its reference files for command syntax) instead of Jira/GitHub MCP (config in `.env`, PAT via AZURE_DEVOPS_EXT_PAT env var at runtime). +8. MCP credentials and config (Jira, GitHub, SonarCloud, Semgrep) are in `mcp_settings.json` (headers + `env`); JFrog + ECS + Azure DevOps config is in `/.env`; CI/CD secrets/variables are in GitHub Actions settings or Azure DevOps variable groups. If `azure-devops` is selected, use `azure-devops-cli` skill (see its reference files for command syntax) alongside Jira/GitHub MCP (config in `.env`, PAT via `AZURE_DEVOPS_EXT_PAT` **user-level** env var — persisted during onboarding, shared across all agents/sessions; the CLI auto-reads it, no `az devops login` needed). When both platforms are selected, agents route by platform. +9. **You create `requirement.md` and `tasks.md`.** Delegate `design.md` creation to `architect-agent` — it is the SOLE creator of `design.md`. Do NOT create or modify `design.md` directly. ### Must Not Do 1. DO NOT START TO WORK, IF YOU NEED TO FETCH JIRA TICKECT FROM JIRA WHEN `atlassian-rovo-mcp` MCP HAS NOT BEEN INSTALLED -2. DO NOT START TO WORK, IF `brainstorming` SKILL HAS NOT BEEN INSTALLED +2. DO NOT START TO WORK, IF `sdlc-brainstorming` SKILL HAS NOT BEEN INSTALLED 3. DO NOT LEAVE ANY TODO OR PENDING THINGS IN THE `requirement.md` -4. DO NOT USE `brainstorming` TO CLARIFY ARCHITECTURE AND TEST REQUIREMENT +4. DO NOT USE `sdlc-brainstorming` TO CLARIFY ARCHITECTURE AND TEST REQUIREMENT 5. DO NOT DO ANY ARCHITECT(e.g. database, api, cicd, deployment design), CODING, TEST WORK WHILE BRAINSTORMING AND REQUIREMENT SPEC DESIGN 6. DO NOT HAND-OFF WORK TO A AGENT THAT DIDN'T MENTIONED IN Hand-off section @@ -76,21 +76,55 @@ You are a serious project manager. You obligation is to When requirement spec design work is done provide 2 hand-off options for user: -Option A: Hand-off architecture design work to architect-agent with `requirement.md`(only file path), +Option A: Hand-off architecture design work to architect-agent with `requirement.md`(only file path), architect-agent will create `design.md` Option B: Hand-of to `Tasks Breakdown` part with `requirement.md` Hand-off the JIRA ticket info to architect-agent or if JIRA ticket has been created in this stage +## Figma-to-Code Flow (Step 0.F) + +When the user provides a raw requirement + Figma URL + node-id for Figma-to-Code, **you are the entry point**. The hand-off chain is: + +```text +User (raw requirement + Figma URL + node-id) + -> pm-agent (YOU: brainstorm, create requirement.md, hand off to figma-design-agent) + -> figma-design-agent (extract Figma, diff vs requirement.md, user confirms, + YOU update requirement.md + create tasks.md) + -> pm-agent (YOU: break down tasks per tasks.md, push to Azure DevOps) +``` + +### Must Do + +1. Use `sdlc-brainstorming` skill to clarify the raw requirement (same as Raw Requirement Analysis) +2. Create `requirement.md` from the raw requirement — you own `requirement.md` +3. Hand off to `figma-design-agent` with: `requirement.md` path + Figma URL + node-id +4. `figma-design-agent` extracts Figma data (`figma.get_figma_data` + `figma.download_figma_images`), writes `figma-extract.md`, diffs against `requirement.md`, presents diff (Missing in spec / Missing in Figma / Mismatch / Outdated) +5. User confirms each diff category — **you update `requirement.md`** and **create `tasks.md`** based on `figma-extract.md` + the diff resolution +6. `figma-design-agent` hands back to you with: updated `requirement.md` + `figma-extract.md` + routing breakdown +7. **Break down tasks according to `tasks.md`** — create Epic -> Issue -> Task hierarchy with routing labels from the figma-design-agent's breakdown (see `## Work Item Hierarchy` below) +8. **Push work items to Azure DevOps** (or Jira if selected) — Azure DevOps: `az boards work-item create` with `--assigned-to "$AZURE_DEVOPS_ASSIGNED_TO"` + `relation add --relation-type parent` for hierarchy; Jira: `createJiraIssue` with parent links +9. Get user confirmation before hand-off to next stage — user should see the hierarchy as clickable links + +### Must Not Do + +1. DO NOT call Figma MCP (`figma.get_figma_data`, `figma.download_figma_images`) — that is **EXCLUSIVE to `figma-design-agent`** +2. DO NOT start coding — dispatch to developer agents after tasks are pushed to Azure DevOps +3. DO NOT skip the user confirmation step on the diff — wait for explicit approval before task breakdown + +### Hand-off + +After tasks are broken down per `tasks.md` and pushed to Azure DevOps, hand-off to `SDLC Task Delegation` — dispatch Tasks (leaf-level) to developer agents per routing labels (`frontend` / `backend` / `tester` / `code-reviewer` / `devops`). + ## Tasks Breakdown ### Must Do -1. If `openspec-propose` skill has been installed, use it to create the task spec doc, otherwise use `managing-tasks-document` skill +1. If `openspec-propose` skill has been installed, use it to create the task spec doc, otherwise use `doc-expert` skill to write `tasks.md` 2. Try to make each sub-task can be implemented independently as much as you can, so SDLC orchestrator can dispatch multiple tasks in parallel 3. Unit test, API test, UI test, E2E integration test, code review, bug fix tasks/activities should be there -4. Tasks spec doc is always required as the standard output, which should be stored at `/specs//task.md` -5. **Create work items as Epic → Issue → Task hierarchy** (see `## Work Item Hierarchy` below). This MUST happen before dispatching to any agent. Azure DevOps: verify `az devops login` succeeded (PAT set) before creating work items. +4. Tasks spec doc is always required as the standard output, which should be stored at `/specs//tasks.md` +5. **Create work items as Epic → Issue → Task hierarchy** (see `## Work Item Hierarchy` below). This MUST happen before dispatching to any agent. Azure DevOps: verify `AZURE_DEVOPS_EXT_PAT` env var is set (the CLI auto-reads it — no `az devops login` needed) before creating work items. 6. Do not plan the test task at the last, plan test task if a testable minimum functionality has been finished developing 7. Get user confirmation before hand-off to next stage — user should see the hierarchy as clickable links @@ -99,7 +133,7 @@ Hand-off the JIRA ticket info to architect-agent or if JIRA ticket has been cre 1. DO NOT DO ANY CODING 2. DO NOT create flat work item lists — Tasks MUST nest under Issues under a single Epic 3. DO NOT dispatch to agents before the Epic → Issue → Task hierarchy is fully created and cross-linked -4. DO NOT attempt Azure DevOps work item creation if `az devops login` has not succeeded (PAT not set) +4. DO NOT attempt Azure DevOps work item creation if `AZURE_DEVOPS_EXT_PAT` env var is not set (check first — do NOT re-prompt if it is already set) ### Hand-off @@ -109,13 +143,27 @@ Hand-off your work to `SDLC Task Delegation` part in pm-agent All work items MUST be created as a 3-level tree: **Epic → Issue → Task**. Epic = feature; Issues = domain groupings (Frontend, Backend, Testing, DevOps); Tasks = leaf items dispatched to agents. -**Prerequisite check before creating:** Azure DevOps — run `az devops login --organization https://dev.azure.com/{org} --token $AZURE_DEVOPS_EXT_PAT` and verify `az devops configure --list` shows the correct org + project. If login fails, stop and ask user for PAT. Jira — verify `atlassian-rovo-mcp` is in `mcp_settings.json` and `createJiraIssue` is available. +**Prerequisite check before creating:** Azure DevOps — first check whether `AZURE_DEVOPS_EXT_PAT` is already set in the environment (it is a **user-level** env var persisted during onboarding, so it should be visible to every agent shell): + +```bash +# Linux / macOS / Git Bash: +test -n "$AZURE_DEVOPS_EXT_PAT" && echo "PAT is set" || echo "PAT is NOT set" +``` +```powershell +# Windows PowerShell: +if ($env:AZURE_DEVOPS_EXT_PAT) { "PAT is set" } else { "PAT is NOT set" } +``` + +- **If the PAT is set** — do NOT run `az devops login` and do NOT re-prompt the user. The Azure DevOps CLI extension reads `AZURE_DEVOPS_EXT_PAT` automatically. Just smoke-test with `az devops project show` and verify `az devops configure --list` shows the correct org + project. +- **If the PAT is NOT set** — stop and ask the user for the PAT **once**. After the user provides it, persist it as a user-level env var (see `service-onboarding.md` §0.9.3) so subsequent agents inherit it, then continue. Do NOT ask again in the same pipeline run. + +Jira — verify `atlassian-rovo-mcp` is in `mcp_settings.json` and `createJiraIssue` is available. | Level | Jira | Azure DevOps | Routing labels | |-------|------|--------------|----------------| -| Epic | `createJiraIssue` issuetype: Epic | `az boards work-item create --type Epic` | — | -| Issue | `createJiraIssue` issuetype: Story, parent: Epic key | `az boards work-item create --type Issue` + `relation add --relation-type parent` | — | -| Task | `createJiraIssue` issuetype: Sub-task, parent: Issue key | `az boards work-item create --type Task` + `relation add --relation-type parent` | `agent:*` labels here | +| Epic | `createJiraIssue` issuetype: Epic | `az boards work-item create --type Epic --assigned-to "$AZURE_DEVOPS_ASSIGNED_TO"` | — | +| Issue | `createJiraIssue` issuetype: Story, parent: Epic key | `az boards work-item create --type Issue --assigned-to "$AZURE_DEVOPS_ASSIGNED_TO"` + `relation add --relation-type parent` | — | +| Task | `createJiraIssue` issuetype: Sub-task, parent: Issue key | `az boards work-item create --type Task --assigned-to "$AZURE_DEVOPS_ASSIGNED_TO"` + `relation add --relation-type parent` | `agent:*` labels here | Cross-link Issues with Blocks/Relates for cross-domain dependencies. Present all work items as clickable hyperlinks to the user. @@ -153,7 +201,7 @@ In this role, your obligation is to dispatch sub-task to proper fresh new agents ### Must Not Do -- DO NOT START TO WORK, IF YOU NEED TO ANALYZE OR DESIGN USER REQUIREMENT WHEN `brainstorming` SKILL HAS NOT BEEN INSTALLED +- DO NOT START TO WORK, IF YOU NEED TO ANALYZE OR DESIGN USER REQUIREMENT WHEN `sdlc-brainstorming` SKILL HAS NOT BEEN INSTALLED - DO NOT CODE, TEST, FIX BUG EVEN HUMAN ASK YOU TO DO, ALWAY THINK TO DISPATCH TASK TO PROPER AGENT(backend-agent, frontend-agent, code-reviewer-agent, tester-agent, devops-agent) - DO NOT dispatch Issues/Epics to agents or create orphan Tasks — only Tasks (leaf items) are dispatched diff --git a/skills/sdlc-agentic-pipeline/references/agents/shared/developer-agent-base.md b/skills/sdlc-agentic-pipeline/references/agents/shared/developer-agent-base.md index 048c265..7bf6cfe 100644 --- a/skills/sdlc-agentic-pipeline/references/agents/shared/developer-agent-base.md +++ b/skills/sdlc-agentic-pipeline/references/agents/shared/developer-agent-base.md @@ -6,11 +6,14 @@ > > **Agent-specific overrides are marked with `[OVERRIDE]` in each agent file.** -> **Platform routing:** When `azure-devops` is selected (Step 0.0.5), it is -> **mutually exclusive** with GitHub + Jira. All Jira MCP calls become -> Azure DevOps Boards operations; all GitHub MCP calls become Azure DevOps -> Repos operations. Config: org URL + project in `/.env`, PAT in -> AZURE_DEVOPS_EXT_PAT env var at runtime. See `config-reference.md`. +> **Platform routing:** When `azure-devops` is selected (Step 0.0.5), it can +> **coexist** with GitHub + Jira. Azure DevOps CLI handles Azure Repos and +> Boards operations; GitHub MCP handles GitHub repos/issues; Jira MCP handles +> Jira boards. Agents route by platform. Config: org URL + project in +> `/.env`, PAT in `AZURE_DEVOPS_EXT_PAT` **user-level** env var +> (persisted during onboarding, shared across all agents/sessions; the CLI +> auto-reads it, no `az devops login` needed). +> See `config-reference.md`. > > **Azure DevOps mode convention:** Inline **Azure DevOps mode** sections > below describe WHAT to do. Consult the `azure-devops-cli` skill's reference @@ -44,9 +47,9 @@ This applies to ALL PR operations across the pipeline: ## STEP 1: Requirement Review (Shared Template) -> **Platform routing:** If `azure-devops` is selected (mutually exclusive with -> GitHub + Jira), use the `azure-devops-cli` skill instead of Jira MCP and -> GitHub MCP throughout this step. +> **Platform routing:** If `azure-devops` is selected (can coexist with +> GitHub + Jira), use the `azure-devops-cli` skill for Azure DevOps operations +> alongside Jira MCP and GitHub MCP throughout this step. ### 1.1 Receive Review Request from PM Agent - **Jira mode:** Monitor Jira tasks with label `agent:` and status "To Do" @@ -81,13 +84,12 @@ For each task, evaluate from the `[OVERRIDE: domain-specific perspective]`: ## STEP 2: Spec-Driven Development Setup (Shared) -### 2.1 Initialize SDD Directory -- Invoke the `creating-sdd-directory` skill to set up the spec-driven - development structure -- This creates `spec.md`, `design.md`, and `tasks.md` documents -- Read requirements from Jira tasks assigned with label `agent:` +> **SDD ownership:** The `architect-agent` is the SOLE creator of SDD files +> (`spec.md`, `design.md`, `tasks.md`). Do NOT create or modify these files +> directly. If SDD is needed, delegate to `architect-agent`. You read the +> SDD docs that architect-agent produces. -### 2.2 Requirement Fetching +### 2.1 Requirement Fetching - **Jira mode:** Discover own tasks via JQL: `labels = agent: AND status = "To Do"`. Use `atlassian-rovo-mcp_searchJiraIssuesUsingJql` to fetch tasks. Read task description, timeline, and inter-agent comments. Parse acceptance criteria and technical requirements. @@ -96,32 +98,32 @@ For each task, evaluate from the `[OVERRIDE: domain-specific perspective]`: `[System.Tags]` CONTAINS `agent:` AND `[System.State]` = `New`. Read work item details by showing the work item. -### 2.3 SDD Document Population -- Populate `spec.md` with "what to build" based on Jira task requirements -- Populate `design.md` with "how to build" (`[OVERRIDE: domain-specific]`) -- Populate `tasks.md` with implementation tasks derived from the design - -### 2.4 Push SDD Directories to GitHub / Azure Repos -After creating/updating SDD documents locally, push them to the remote -repository so all agents can access them: -1. Verify all SDD files are created under `.opencode/specs/` -2. **Ask user to review** the SDD files before pushing (use `question` tool) -3. Create a dedicated docs branch: `git checkout -b docs/sdd-` -4. Stage, commit, and push: - ```bash - git add .opencode/ - git commit -m "chore: add/update SDD docs for " - git push origin docs/sdd- - ``` -5. Create a PR: - - **GitHub mode:** `github_create_pull_request` (base: user-chosen integration branch, head: `docs/sdd-`) - - **Azure DevOps mode:** Use `azure-devops-cli` skill (`references/repos-and-prs.md`) to create a PR from `docs/sdd-` → `` with title `"chore: add/update SDD docs for "` -6. Merge the SDD docs PR immediately (lightweight — documentation only, no - Code Reviewer/Tester sign-off required): - - **GitHub mode:** `github_merge_pull_request` - - **Azure DevOps mode:** Use `azure-devops-cli` skill (`references/repos-and-prs.md`) to complete (merge) PR `` -- After merge: `main` now contains all released code for deployment -7. **Do NOT push directly to main** — always use a PR +### 2.2 Read SDD Docs (created by architect-agent) +- If `sdd` or `openspec` is selected, `architect-agent` creates and pushes SDD docs + (`spec.md`, `design.md`, `tasks.md`) to the remote repo during Step 2. +- Read the SDD docs from the remote repo (or local `.opencode/specs/` if already merged) + to understand the spec, design, and task breakdown for your domain. +- If SDD docs are missing, request `architect-agent` to create them before starting coding. + +### 2.3 Push SDD Directories (architect-agent responsibility) +- The `architect-agent` pushes SDD docs to the remote repo: + 1. Verify all SDD files are created under `.opencode/specs/` + 2. **Ask user to review** the SDD files before pushing (use `question` tool) + 3. Create a dedicated docs branch: `git checkout -b docs/sdd-` + 4. Stage, commit, and push: + ```bash + git add .opencode/ + git commit -m "chore: add/update SDD docs for " + git push origin docs/sdd- + ``` + 5. Create a PR: + - **GitHub mode:** `github_create_pull_request` (base: user-chosen integration branch, head: `docs/sdd-`) + - **Azure DevOps mode:** Use `azure-devops-cli` skill (`references/repos-and-prs.md`) to create a PR from `docs/sdd-` → `` with title `"chore: add/update SDD docs for "` + 6. Merge the SDD docs PR immediately (lightweight — documentation only, no + Code Reviewer/Tester sign-off required): + - **GitHub mode:** `github_merge_pull_request` + - **Azure DevOps mode:** Use `azure-devops-cli` skill (`references/repos-and-prs.md`) to complete (merge) PR `` + 7. **Do NOT push directly to main** — always use a PR --- @@ -169,10 +171,10 @@ If `figma` is NOT selected, skip this section entirely. { transition: { id: "" } }) ``` Comment on Jira task: `@agent:pm Starting work on ` -- **Azure DevOps mode:** Use `azure-devops-cli` skill +- **Azure DevOps mode:** **IMMEDIATELY** upon starting work, BEFORE writing any code, use `azure-devops-cli` skill (`references/boards-and-iterations.md`) to: - - Update work item `` state to "Active" - - Add discussion comment: `@agent:pm Starting work on ` + - Update work item `` state to "Active" (Agile) or "Doing" (Basic) — see `critical-warnings.md#WARN-AZURE-BASIC-STATES` + - Add discussion comment: `az boards work-item update --id --discussion "@agent:pm Starting work on "` ### 3.2 Branch Management - Pull latest code from remote, create feature branch @@ -243,10 +245,10 @@ This is mandatory before proceeding to quality control. - **Azure DevOps mode:** Use `azure-devops-cli` skill (`references/repos-and-prs.md`) to create a PR from `feature//` → `` with title `""` - Transition task status: - **Jira mode:** Transition Jira task to "In Review" status - - **Azure DevOps mode:** `az boards work-item update --id <ID> --state Active` (`@agent:code-reviewer` comment marks review phase) + - **Azure DevOps mode:** `az boards work-item update --id <ID> --state Active` (Agile) or `--state Doing` (Basic) (`@agent:code-reviewer` comment marks review phase) - Comment for Code Reviewer: - **Jira mode:** Comment on the Jira task: `@agent:code-reviewer PR #X ready for review - <agent> implementation complete - Semgrep pre-scan passed (0 critical, N warnings)` - - **Azure DevOps mode:** Add discussion comment to work item `<ID>`: `@agent:code-reviewer PR #<PR_ID> ready for review - <agent> implementation complete - Semgrep pre-scan passed (0 critical, N warnings)` + - **Azure DevOps mode:** `az boards work-item update --id <ID> --discussion "@agent:code-reviewer PR #<PR_ID> ready for review - <agent> implementation complete - Semgrep pre-scan passed (0 critical, N warnings)"` - Do NOT auto-merge — wait for Code Reviewer sign-off + Tester sign-off + PM/human approval @@ -254,34 +256,11 @@ This is mandatory before proceeding to quality control. After writing the local report file and before reporting back to PM Agent, post the full report content to the work item comment field so all agents can read the details inline. - **Jira mode:** Add a Jira comment with the full report content via `atlassian-rovo-mcp` MCP -- **Azure DevOps mode:** Add discussion comment to work item `<ID>` - -Comment format: -``` -@agent:pm Task Report — <Task-ID> <Task Name> +- **Azure DevOps mode:** Use `az boards work-item update --id <ID> --discussion "<HTML_CONTENT>"`. Azure DevOps work item discussions accept HTML — use `<br>` for line breaks, `<p>` for paragraphs, `<b>` for bold, `<code>` for inline code. Do NOT pass raw markdown; convert headings/sections to HTML tags so multi-line report content renders correctly in a single-line command. -Status: DONE | DONE_WITH_CONCERNS | BLOCKED | NEEDS_CONTEXT - -## What was implemented -<summary of implementation> - -## Test results -<test summary, e.g. "14/14 passing"> - -## Files changed -<file list> - -## TDD Evidence (if applicable) -RED: <command + failing output> -GREEN: <command + passing output> - -## Self-review findings -<findings or "none"> - -## Issues / concerns -<concerns or "none"> - -Report file: task-reports/<task-id>-<task-name>.md +Example (Azure DevOps): +```bash +az boards work-item update --id <ID> --discussion "<p><b>@agent:pm Task Report — <Task-ID> <Task Name></b></p><br><p>Status: DONE | DONE_WITH_CONCERNS | BLOCKED | NEEDS_CONTEXT</p><br><p><b>What was implemented</b></p><p><summary of implementation></p><br><p><b>Test results</b></p><p><test summary, e.g. \"14/14 passing\"></p><br><p><b>Files changed</b></p><p><file list></p><br><p><b>TDD Evidence (if applicable)</b></p><p>RED: <command + failing output><br>GREEN: <command + passing output></p><br><p><b>Self-review findings</b></p><p><findings or \"none\"></p><br><p><b>Issues / concerns</b></p><p><concerns or \"none\"></p><br><p>Report file: task-reports/<task-id>-<task-name>.md</p>" ``` > This is SEPARATE from the short `@agent:code-reviewer` routing comment in 3.7. The routing comment triggers the next agent; this report comment provides the full evidence trail on the work item. @@ -313,9 +292,10 @@ Before merging any feature PR, verify ALL of the following - **Azure DevOps mode:** Use `azure-devops-cli` skill (`references/repos-and-prs.md`) to complete (merge) PR `<PR_ID>` - Verify all feature branches are merged into the integration branch +- **MANDATORY**: Remind user via `question` tool to confirm all PRs merged successfully (especially for manually created PRs on GitHub/etc.) — do NOT proceed until user confirms - Comment on task: - **Jira mode:** Comment on Jira task: `@agent:pm All feature PRs merged into <branch> - ready for CI/CD` - - **Azure DevOps mode:** Add discussion comment to work item `<ID>`: `@agent:pm All feature PRs merged into <branch> - ready for CI/CD` + - **Azure DevOps mode:** `az boards work-item update --id <ID> --discussion "@agent:pm All feature PRs merged into <branch> - ready for CI/CD"` --- @@ -345,6 +325,7 @@ Before merging any feature PR, verify ALL of the following - **GitHub mode:** `github_merge_pull_request` (respects branch protection rules on `main`) - **Azure DevOps mode:** Use `azure-devops-cli` skill (`references/repos-and-prs.md`) to complete (merge) PR `<PR_ID>` - After merge: `main` now contains all released code for deployment +- **MANDATORY**: Remind user via `question` tool to confirm the release PR (`dev` -> `main`) was merged successfully — do NOT proceed to deployment until user confirms - Report success to PM Agent: `@agent:pm Release merge dev -> main complete` ### 7.3 Merge Conflict Resolution (Simplified) @@ -421,8 +402,8 @@ If Code Reviewer or Tester reports issues: - **Azure DevOps mode:** Work item discussion (same `@agent:` prefix convention) 2. Transition task BACK to "In Progress": - **Jira mode:** `atlassian-rovo-mcp_transitionJiraIssue` - - **Azure DevOps mode:** `az boards work-item update --id <ID> --state Active` -3. Fix the reported issue + - **Azure DevOps mode:** `az boards work-item update --id <ID> --state Active` (Agile) or `--state Doing` (Basic) + 3. Fix the reported issue 4. Re-run local Semgrep scan (§3.5) to verify fix 5. Push fix to remote and comment: ```bash @@ -433,7 +414,7 @@ If Code Reviewer or Tester reports issues: `@agent:code-reviewer Fix applied for <issue> - Semgrep re-scan passed - please re-review` 6. Transition task back to "In Review": - **Jira mode:** `atlassian-rovo-mcp_transitionJiraIssue` - - **Azure DevOps mode:** `az boards work-item update --id <ID> --state Active` (`@agent:code-reviewer` comment marks review phase) + - **Azure DevOps mode:** `az boards work-item update --id <ID> --state Active` (Agile) or `--state Doing` (Basic) (`@agent:code-reviewer` comment marks review phase) --- @@ -452,18 +433,16 @@ If Code Reviewer or Tester reports issues: tool selection. - **Methodology skills** (`creating-sdd-directory`, `managing-spec-document`, `managing-design-document`, `managing-tasks-document` for SDD) are - **dynamically granted/revoked** at onboarding time by the - `apply-tool-selections` script based on `tool-selections.json`. If SDD - Toolkit was not selected, these permissions are absent from the - frontmatter. + **granted ONLY to `architect-agent`**. Developer agents do NOT have these + skills. If SDD is needed, delegate to `architect-agent`. ### Per-Step Conditional Logic | Step | Conditional Behavior | |------|---------------------| -| **1b** (Review) | If `jira` NOT selected -> skip review (no Jira comments). If `github` NOT selected -> review via local file diff instead of PR review. If `azure-devops` selected -> use `azure-devops-cli` skill (`references/boards-and-iterations.md`) for work item comments instead of Jira MCP; use `azure-devops-cli` skill (`references/repos-and-prs.md`) for PR review instead of GitHub MCP. | -| **2** (SDD Setup) | If `sdd` NOT selected AND `openspec` NOT selected -> skip SDD directory creation; proceed with plain task list. If `azure-devops` selected -> push SDD docs to Azure Repos via `git push` + `azure-devops-cli` skill (`references/repos-and-prs.md`) for PR creation instead of GitHub MCP. | -| **3** (Dev) | If `github` NOT selected AND `azure-devops` NOT selected -> no feature branches, no PRs; commit directly to local working directory. If `azure-devops` selected -> use `azure-devops-cli` skill (`references/repos-and-prs.md`) for branch/PR operations instead of GitHub MCP; use `azure-devops-cli` skill (`references/boards-and-iterations.md`) for status transitions instead of Jira MCP. If `semgrep` NOT selected -> skip local Semgrep pre-scan. `[OVERRIDE: agent-specific built-in skills]` always available. | +| **1b** (Review) | If `jira` NOT selected -> skip review (no Jira comments). If `github` NOT selected -> review via local file diff instead of PR review. If `azure-devops` selected -> use `azure-devops-cli` skill (`references/boards-and-iterations.md`) for Azure work item comments; use `azure-devops-cli` skill (`references/repos-and-prs.md`) for Azure PR review. When both platforms selected, agents operate on both. | +| **2** (SDD Setup) | If `sdd` NOT selected AND `openspec` NOT selected -> skip SDD. If SDD needed, delegate to `architect-agent` (SOLE SDD creator). Developer reads SDD docs that architect produces. If `azure-devops` selected -> architect pushes SDD docs to Azure Repos. | +| **3** (Dev) | If `github` NOT selected AND `azure-devops` NOT selected -> no feature branches, no PRs; commit directly to local working directory. If `azure-devops` selected -> use `azure-devops-cli` skill (`references/repos-and-prs.md`) for Azure branch/PR operations; use `azure-devops-cli` skill (`references/boards-and-iterations.md`) for Azure status transitions. When both platforms selected, create PRs on both. If `semgrep` NOT selected -> skip local Semgrep pre-scan. `[OVERRIDE: agent-specific built-in skills]` always available. | > **Azure DevOps applies to all PR/task operations** in Steps 5, 7, and 9 > as well — use `azure-devops-cli` skill (`references/repos-and-prs.md`) diff --git a/skills/sdlc-agentic-pipeline/references/agents/tester-agent.md b/skills/sdlc-agentic-pipeline/references/agents/tester-agent.md index 6fe7d37..4f4daf1 100644 --- a/skills/sdlc-agentic-pipeline/references/agents/tester-agent.md +++ b/skills/sdlc-agentic-pipeline/references/agents/tester-agent.md @@ -46,7 +46,7 @@ When `UI test`, `integration test` or `E2E test` is required 2. Always use `playwright-cli` skill to perform UI test or E2E test 3. Write test script before testing - - Firstly follow the `requirement.md` and write test spec doc `test.md`, Use `test-edge-case-analyzer` skill to analyze the edge scenarios and create corresponding cases + - Firstly follow the `spec.md` and write test spec doc `test.md`, Use `test-edge-case-analyzer` skill to analyze the edge scenarios and create corresponding cases - Seconly write test scripts based on test cases 4. Put test script in the correct folder if the project already have one, otherwise ask the user where to put the scripts 5. **Enable Playwright tracing** before running tests: `playwright-cli tracing-start`. This auto-captures screenshots at each step, DOM snapshots, and network activity. Stop tracing after tests complete: `playwright-cli tracing-stop`. Trace files are saved to `traces/` — include in test report as evidence. @@ -89,8 +89,8 @@ If `figma` is NOT selected, skip this section entirely. 1. Must have a `test coverage rate` in the test report and the number should be real rather than make up 2. Must `provide the evidence and error info` in the report to let the developer fully understand the bug info 3. Must test the data correctness rather than only test the UI display or interaction -4. Carefully read the `requriement.md`, `design.md` before you start test design or test scripts generation -5. Must write test spec doc `test.md`, before write test scrpits, `test.md` should be store in ` <project-root>/specs/<YYYY-MM-DD-requriement-name>/test.md`, please strictly follow the `Test Case Template` section for each test case +4. Carefully read the `spec.md`, `design.md` before you start test design or test scripts generation +5. Must write test spec doc `test.md`, before write test scrpits, `test.md` should be store in ` <project-root>/specs/<YYYY-MM-DD-requirement-name>/test.md`, please strictly follow the `Test Case Template` section for each test case 6. Test design or test scripts generation should cover the requirement and architecture design # Must not Do @@ -109,7 +109,7 @@ Always hand-off your work to AgentTeam(planning agent) or pm-agent with a report **Post test report content to the work item comment field** after completing E2E testing: - **Jira mode:** Add a Jira comment with the full test results (test cases run, pass/fail counts, trace evidence, failure details) -- **Azure DevOps mode:** Add discussion comment to work item `<ID>` with the full test results +- **Azure DevOps mode:** `az boards work-item update --id <ID> --discussion "<HTML_CONTENT>"`. Convert markdown to HTML tags (`<br>` for line breaks, `<p>` for paragraphs, `<b>` for bold) — see `developer-agent-base.md` §3.8 for formatting guidance. Comment format: ``` diff --git a/skills/sdlc-agentic-pipeline/references/branch-strategy.md b/skills/sdlc-agentic-pipeline/references/branch-strategy.md index dadac52..3c11bc0 100644 --- a/skills/sdlc-agentic-pipeline/references/branch-strategy.md +++ b/skills/sdlc-agentic-pipeline/references/branch-strategy.md @@ -101,6 +101,11 @@ Only Tasks transition through the SDLC lifecycle. Issues and the Epic stay in th ### State Mapping > Azure DevOps Tasks have no "Resolved" state — keep "Active"/"Doing" for In Review/In Testing, use `@agent:` comments to mark phase. +> +> **CRITICAL:** State names differ by process template. Agile uses "New"/"Active"/"Closed"; +> Basic uses "To Do"/"Doing"/"Done". Always use the `--state` flag (NOT `--fields "System.State=..."`), +> never suppress errors with `2>$null`/`2>/dev/null`, and verify the returned state value from +> command output. See `critical-warnings.md#WARN-AZURE-BASIC-STATES`. | SDLC State | Jira | Azure DevOps Agile (Task) | Azure DevOps Basic (Task) | |------------|------|---------------------------|---------------------------| diff --git a/skills/sdlc-agentic-pipeline/references/config-reference.md b/skills/sdlc-agentic-pipeline/references/config-reference.md index 765e078..0f53d9e 100644 --- a/skills/sdlc-agentic-pipeline/references/config-reference.md +++ b/skills/sdlc-agentic-pipeline/references/config-reference.md @@ -12,15 +12,15 @@ Ready-to-fill templates are in `references/templates/`: | Template | Description | |----------|-------------| | `mcp-settings.json` | MCP server configuration with `env` blocks for non-secret identifiers (conditional: only selected MCP entries included) | -| `ci-cd.yml` | GitHub Actions workflow template (conditional: only selected stages included; not generated if GitHub not selected) | -| `azure-pipelines.yml` | Azure Pipelines workflow template (NOT generated during onboarding — DevOps agent creates it during Step 6 based on project structure + artifact repo selection). Artifact backend: JFrog (if selected) or Azure Artifacts/ACR (if JFrog NOT selected) | +| `ci-cd.yml` | GitHub Actions workflow template — NOT generated during onboarding; DevOps agent generates it at Step 6 if `github` selected | +| `azure-pipelines.yml` | Azure Pipelines workflow template — NOT generated during onboarding; DevOps agent generates it at Step 6 if `azure-devops` selected. Artifact backend: JFrog (if selected) or Azure Artifacts/ACR (if JFrog NOT selected) | | `sonar-project.properties` | SonarCloud project configuration (only if SonarCloud selected) | | `env-template.env` | Environment variables — JFrog + ECS + Azure DevOps + ACR config (MCP service config lives in mcp_settings.json) | | `set-secrets.js` | GitHub Actions secrets/variables setup script (conditional: only selected service secrets/vars) | | `add_ssh_key.py` | Python script to add SSH public key to Huawei Cloud ECS for key-based authentication | | `apply-tool-selections.ps1` | Windows: updates agent `permission.skill` blocks based on `tool-selections.json` + `skill-registry.json` (methodology skills only, never touches built-in) | | `apply-tool-selections.sh` | macOS/Linux: same as above | -| `SKILL.md` | Postman MCP skill definition (TDD: API layer) | +| `postman-skill.md` | Postman MCP skill definition (TDD: API layer) | | `sprint-scripts/` | Cross-platform sprint management scripts (see below) | ### Sprint Scripts (`references/templates/sprint-scripts/`) @@ -83,10 +83,11 @@ EXCLUSIVELY by `figma-design-agent`; all other agents read `specs/<YYYY-MM-DD-...>/figma-extract.md` and the SDD docs that `figma-design-agent` updates. -Azure DevOps is configured as a CLI tool (not MCP) — org URL, project, and repo name in `<project-root>/.env`, -PAT via `AZURE_DEVOPS_EXT_PAT` env var at runtime (non-interactive, not persisted). Mutually exclusive with GitHub + Jira. The `azure-devops-cli` +Azure DevOps is configured as a CLI tool (not MCP) — org URL, project, repo name, and assigned-to user email in `<project-root>/.env`, +PAT via `AZURE_DEVOPS_EXT_PAT` **user-level** env var (persisted during onboarding, shared across all agents/sessions; the CLI auto-reads it — non-interactive, stored in OS user profile not in any repo file). Can coexist with GitHub + Jira. The `azure-devops-cli` skill (installed from `github/awesome-copilot`) provides reference files for Azure Repos, Boards, and Pipelines CLI command patterns for agents. +Work items are assigned to the Azure DevOps user via `--assigned-to "$AZURE_DEVOPS_ASSIGNED_TO"` at creation time. This email is Azure DevOps ONLY — do NOT use it for GitHub operations (GitHub uses `GITHUB_OWNER` from §0.1). **Azure Artifacts/ACR** (conditional: only when `jfrog` NOT selected and `azure-devops` selected): - Azure Container Registry (ACR) replaces JFrog Docker registry — `ACR_NAME` in `<project-root>/.env`, login server is `<ACR_NAME>.azurecr.io` diff --git a/skills/sdlc-agentic-pipeline/references/pipeline.md b/skills/sdlc-agentic-pipeline/references/pipeline.md index 74f3e9f..981a829 100644 --- a/skills/sdlc-agentic-pipeline/references/pipeline.md +++ b/skills/sdlc-agentic-pipeline/references/pipeline.md @@ -18,13 +18,15 @@ Detailed per-step orchestration for the agentic SDLC flow. ``` Branch Strategy: main (production) <- dev (integration) <- feature/fix/bug/docs branches -[Step 0.F — Optional, design-to-code] Figma Design Agent +[Step 0.F — Optional, Figma-to-Code] PM Agent (entry point) | - | User Request + Figma URL + SDD directory - | figma.get_figma_data -> figma-extract.md - | Figma-vs-SDD diff (Missing in spec / Missing in Figma / Mismatch / Outdated) - | User confirmation -> updates spec.md / design.md / tasks.md - | Hands off to pm-agent with routing breakdown + | User provides: raw requirement + Figma URL + node-id + | pm-agent -> brainstorm -> creates requirement.md -> hands off to figma-design-agent + | figma-design-agent -> figma.get_figma_data -> figma-extract.md + | Figma-vs-SDD diff (requirement.md): Missing in spec / Missing in Figma / Mismatch / Outdated + | User confirmation -> pm-agent updates requirement.md + creates tasks.md + | figma-design-agent hands off to pm-agent with routing breakdown + | pm-agent -> breaks down tasks per tasks.md -> pushes to Azure DevOps v Step 0.DA: Architect Agent — Design Phase | @@ -60,12 +62,15 @@ Step 1: PM Agent — Requirement Breakdown > If the file is missing, treat all tools as selected (backward-compatible > default = full pipeline). See `setup/multi-tool-selection-plan.md` §7. > -> **Platform routing:** When `azure-devops` is selected (mutually exclusive -> with GitHub + Jira), all GitHub MCP calls become Azure DevOps Repos -> operations, all Jira MCP calls become Azure DevOps Boards operations, and -> CI/CD uses Azure Pipelines instead of GitHub Actions. Config: org URL + -> project in `.env`, PAT via `AZURE_DEVOPS_EXT_PAT` env var at runtime. -> Consult the `azure-devops-cli` skill's reference files for CLI command syntax. +> **Platform routing:** When `azure-devops` is selected (can coexist +> with GitHub + Jira), Azure DevOps CLI handles Azure Repos, Boards, +> and Pipelines operations. When `github` is also selected, GitHub MCP +> handles GitHub repos/issues in parallel. When `jira` is also selected, +> Jira MCP handles Jira boards in parallel. Agents route by platform. +> Config: org URL + project in `.env`, PAT via `AZURE_DEVOPS_EXT_PAT` +> **user-level** env var (persisted during onboarding, shared across all +> agents/sessions; the CLI auto-reads it). Consult the `azure-devops-cli` +> skill's reference files for CLI command syntax. > **Idempotency:** If the pipeline is re-run for the same sprint, the PM Agent must: > 1. Check if a sprint already exists and is active (skip Step 2 sprint creation) @@ -77,64 +82,74 @@ Step 1: PM Agent — Requirement Breakdown > 7. Check if deployment is already live (skip Step 8 if health check passes) > 8. Always run Step 9 (sprint close + report) if not yet completed -### Step 0.F: Figma Design Agent — Figma-vs-SDD Diff -- **Owner**: Figma Design Agent (`references/agents/figma-design-agent.md`) -- **Conditional**: `figma` NOT selected -> skip. SDD directory missing -> skip (no spec to compare against). Otherwise runs whenever the user invokes the agent with a Figma URL + SDD directory path. -- **Tools**: Figma MCP (`figma.get_figma_data`, `figma.download_figma_images`) +### Step 0.F: Figma-to-Code (PM → Figma Design → PM) +- **Owner**: PM Agent (entry point + requirement.md creation + task breakdown + Azure push) → Figma Design Agent (extraction + diff) +- **Conditional**: `figma` NOT selected -> skip. Runs when the user provides a raw requirement + Figma URL + node-id to `pm-agent`. +- **Tools**: Figma MCP (`figma.get_figma_data`, `figma.download_figma_images`) — EXCLUSIVE to `figma-design-agent` - **Actions**: - 1. Read every `spec.md`, `design.md`, `tasks.md` in the user-supplied SDD directory (source of truth) - 2. Ask user for Figma file URL + target node-id (e.g. `0:1`) - 3. Run `figma.get_figma_data` (file key + node-id) — EXCLUSIVE MCP call - 4. Run `figma.download_figma_images` for icons, illustrations, image assets — EXCLUSIVE MCP call - 5. Persist raw extraction: `specs/<YYYY-MM-DD-...>/figma-extract.md` - 6. Diff Figma vs SDD, categorize each finding: + 1. `pm-agent` receives raw requirement + Figma URL + node-id from the user; uses `sdlc-brainstorming` to clarify the requirement + 2. `pm-agent` creates `requirement.md` from the raw requirement (pm-agent owns `requirement.md`) + 3. `pm-agent` hands off to `figma-design-agent` with: `requirement.md` path + Figma URL + node-id + 4. `figma-design-agent` reads `requirement.md` (comparison baseline), runs `figma.get_figma_data` (file key + node-id) — EXCLUSIVE MCP call + 5. `figma-design-agent` runs `figma.download_figma_images` for icons, illustrations, image assets — EXCLUSIVE MCP call + 6. `figma-design-agent` persists raw extraction: `specs/<YYYY-MM-DD-...>/figma-extract.md` + 7. `figma-design-agent` diffs Figma vs `requirement.md`, categorizes each finding: - Missing in spec / Missing in Figma / Mismatch / Outdated - Cite frame-ids and spec section numbers - 7. Present structured diff list, ask user to confirm each category - 8. Update `spec.md` / `design.md` / `tasks.md` with the user-confirmed resolution - 9. Hand off to `pm-agent` with: SDD doc paths, `figma-extract.md` path, file key + node-id, target repo + branch, **routing breakdown** + 8. `figma-design-agent` presents structured diff list, asks user to confirm each category + 9. After user confirmation: `pm-agent` updates `requirement.md` + creates `tasks.md` — pm-agent is the SOLE owner of `requirement.md` and `tasks.md` + 10. `figma-design-agent` hands off to `pm-agent` with: `requirement.md` path, `tasks.md` path, `figma-extract.md` path, file key + node-id, **routing breakdown** + 11. `pm-agent` breaks down tasks per `tasks.md`, creates Epic → Issue → Task hierarchy, pushes to Azure DevOps (or Jira if selected) - **Critical**: Backend requirements revealed by Figma diff MUST be assigned to `backend-agent` (not `frontend-agent`). -- **Exclusivity**: No other agent (Architect, Backend, Frontend, Tester, etc.) calls Figma MCP. They consume Figma data via `figma-extract.md` + updated SDD docs. -- **Output**: `figma-extract.md`, updated SDD docs, hand-off package to pm-agent +- **Exclusivity**: No other agent (Architect, Backend, Frontend, Tester, etc.) calls Figma MCP. They consume Figma data via `figma-extract.md` + `requirement.md`. +- **SDD ownership**: `pm-agent` owns `requirement.md` + `tasks.md`. +- **Output**: `figma-extract.md`, updated `requirement.md` + `tasks.md`, work items pushed to Azure DevOps - **Full details**: See `agents/figma-design-agent.md` ### Step 0.DA: Architect Agent — Design Phase -- **Owner**: Architect Agent -- **Conditional**: If `figma` selected AND `figma-extract.md` exists in the active SDD directory -> incorporate Figma tokens (colors, typography, spacing), component inventory, and asset list into `design.md`. NEVER call Figma MCP — read the file only. -- **Input**: SDD directory (from Step 0.F or direct creation), optional `figma-extract.md` +- **Owner**: Architect Agent (creates `design.md` ONLY) +- **Conditional**: If Step 0.F (Figma-to-Code) already ran -> **SKIP this step entirely**. `requirement.md` + `tasks.md` already created by `pm-agent` based on `figma-extract.md`. No `design.md` is created. If Step 0.F did NOT run: proceed normally — architect creates `design.md` from `requirement.md`. If `figma` selected AND `figma-extract.md` exists but Step 0.F did not run -> incorporate Figma tokens (colors, typography, spacing), component inventory, and asset list into `design.md`. NEVER call Figma MCP — read the file only. **You create ONLY `design.md`** — `requirement.md` and `tasks.md` are owned by `pm-agent`. +- **Input**: `requirement.md` (from `pm-agent`), optional `figma-extract.md` - **Actions**: classify task, produce / update `design.md`, surface DDD/SDD/TDD scope - **Full details**: See `agents/architect-agent.md` ### Step 1: PM Agent — Requirement Breakdown -- **Owner**: PM Agent -- **Conditional**: `jira` NOT selected -> skip Jira task creation; derive from PRD/local. `github` NOT selected -> analyze local directory. `azure-devops` selected -> use `azure-devops-cli` skill (`references/boards-and-iterations.md`) for work items instead of Jira; use `azure-devops-cli` skill (`references/repos-and-prs.md`) for repo analysis instead of GitHub MCP. `prd` always available. +- **Owner**: PM Agent (creates `requirement.md` + `tasks.md`; delegates `design.md` to Architect Agent) +- **Conditional**: `jira` NOT selected -> skip Jira task creation; derive from PRD/local. `github` NOT selected -> analyze local directory. `azure-devops` selected -> use `azure-devops-cli` skill (`references/boards-and-iterations.md`) for Azure work items. When both `azure-devops` and `jira` are selected, create work items on both platforms. When both `azure-devops` and `github` are selected, analyze both repos. `prd` always available. - **Input**: CURATED CONTEXT from Step 0.DA (if architect agent ran) - **Actions**: - 1. Analyze GitHub repository structure (READ-ONLY via GitHub MCP) or Azure Repos (via `az repos` CLI) - 2. Generate PRD via `prd` skill - 3. **Create work items as Epic → Issue → Task hierarchy** (see `agents/pm-agent.md` §Work Item Hierarchy). Jira: `createJiraIssue` (Epic → Story → Sub-task with parent links). Azure DevOps: `az boards work-item create` (Epic → Issue → Task with `relation add --relation-type parent`). - 4. Cross-link Issues with Blocks/Relates for cross-domain dependencies - 5. Request requirement review from Frontend & Backend Agents via work item comments - 6. Present all created work items as clickable hyperlinks to the user (Jira: `https://{JIRA_CLOUD_ID}/browse/{KEY}`; Azure DevOps: `https://dev.azure.com/{ORG}/{PROJECT}/_workitems/edit/{ID}`). Do NOT use the `browser` tool. -- **Output**: Epic → Issue → Task tree in "To Do" status; routing labels on Task-level items only + 1. Analyze GitHub repository structure (READ-ONLY via GitHub MCP) or local directory + 2. Collect raw requirements (user input, repo analysis, existing docs) + 3. **If `sdd` or `openspec` selected**: create SDD files in strict order — SDD ownership is split between `pm-agent` and `architect-agent`. **Do NOT skip any step** — all three files are MANDATORY and must be created sequentially: + - **If Step 0.F (Figma-to-Code) already ran**: `requirement.md` + `tasks.md` already created by `pm-agent` based on `figma-extract.md`. Skip `design.md` — proceed to step 4 (work item creation). + - **If Step 0.F did NOT run** (normal flow): + - a. `requirement.md` — from raw requirements (WHAT to build) — created by **pm-agent** — **MUST create first, do NOT skip** + - b. `design.md` — from `requirement.md` (HOW to build) — delegate to **architect-agent** — **MUST create after requirement.md, do NOT skip** + - c. `tasks.md` — from `design.md` (implementation task breakdown) — created by **pm-agent** — **MUST create after design.md, do NOT skip** + - SDD files are created BEFORE any work items are pushed to Jira/Azure + 4. **Create work items as Epic → Issue → Task hierarchy** based on SDD `tasks.md` (if SDD created) or raw requirements (if SDD not selected). See `agents/pm-agent.md` §Work Item Hierarchy. Jira: `createJiraIssue` (Epic → Story → Sub-task with parent links). Azure DevOps: `az boards work-item create --assigned-to "$AZURE_DEVOPS_ASSIGNED_TO"` (Epic → Issue → Task with `relation add --relation-type parent`). + 5. Cross-link Issues with Blocks/Relates for cross-domain dependencies + 6. **MANDATORY**: Post creation comment on each work item — Azure DevOps: `az boards work-item update --id <ID> --discussion "@agent:pm Work item created - <summary>"`. Then request requirement review from Frontend & Backend Agents — Azure DevOps: `az boards work-item update --id <ID> --discussion "@agent:frontend @agent:backend Please review requirements for <Task Name>"` + 7. Present all created work items as clickable hyperlinks to the user (Jira: `https://{JIRA_CLOUD_ID}/browse/{KEY}`; Azure DevOps: `https://dev.azure.com/{ORG}/{PROJECT}/_workitems/edit/{ID}`). Do NOT use the `browser` tool. +- **Output**: SDD files (if selected) + Epic → Issue → Task tree in "To Do" status; routing labels on Task-level items only - **Full details**: See `agents/pm-agent.md` §Work Item Hierarchy ### Step 1b: Frontend/Backend Agent — Requirement Review - **Owner**: Frontend Agent, Backend Agent -- **Conditional**: `jira` NOT selected -> skip entirely. `github` NOT selected -> review via local file diff. `azure-devops` selected -> use `azure-devops-cli` skill (`references/boards-and-iterations.md`) for review comments, (`references/repos-and-prs.md`) for PR review. +- **Conditional**: `jira` NOT selected -> skip entirely. `github` NOT selected -> review via local file diff. `azure-devops` selected -> use `azure-devops-cli` skill (`references/boards-and-iterations.md`) for Azure work item review comments, (`references/repos-and-prs.md`) for Azure PR review. When both platforms selected, agents review on both. - **Actions**: 1. Receive review request from PM Agent via Jira comment 2. Evaluate requirements from frontend/backend perspective - 3. If clear -> comment `@agent:pm Review approved` - 4. If changes needed -> comment `@agent:pm Review feedback: <issues>` + 3. If clear -> **MANDATORY**: post comment — Azure DevOps: `az boards work-item update --id <ID> --discussion "@agent:pm Review approved"` + 4. If changes needed -> **MANDATORY**: post comment — Azure DevOps: `az boards work-item update --id <ID> --discussion "@agent:pm Review feedback: <issues>"` 5. PM Agent updates requirements based on feedback - **Gate**: Both agents must approve before proceeding to Step 2 - **Full details**: See `agents/shared/developer-agent-base.md` §STEP 1 ### Step 2: PM Agent — Sprint Start & SDD Setup -- **Owner**: PM Agent (sprint) + Developer Agent (SDD file writes) -- **Conditional**: `jira` NOT selected AND `azure-devops` NOT selected -> skip sprint creation. `sdd` NOT selected AND `openspec` NOT selected -> skip SDD directory creation. `azure-devops` selected -> sprint = iteration management via `azure-devops-cli` skill (`references/boards-and-iterations.md`); SDD docs pushed to Azure Repos. -- **Tools**: Jira MCP, Bash (Jira Agile REST API), creating-sdd-directory skill, openspec CLI, question tool, Azure DevOps CLI (if `azure-devops` selected) +- **Owner**: PM Agent (sprint setup only — SDD already created in Step 1) +- **Conditional**: `jira` NOT selected AND `azure-devops` NOT selected -> skip sprint creation. SDD files already created in Step 1 (if `sdd` or `openspec` selected). `azure-devops` selected -> sprint = iteration management via `azure-devops-cli` skill (`references/boards-and-iterations.md`). When both `jira` and `azure-devops` selected, manage sprint/iteration on both platforms. +- **Tools**: Jira MCP, Bash (Jira Agile REST API), openspec CLI, question tool, Azure DevOps CLI (if `azure-devops` selected) - **Actions**: 1. **Sprint/Iteration setup** (skip if both `jira` AND `azure-devops` NOT selected): - **Jira mode:** @@ -150,21 +165,18 @@ Step 1: PM Agent — Requirement Breakdown 4. Set team default iteration: `az boards iteration team set-default-iteration --team "<TEAM_NAME>" --path "<Project>\<SPRINT_NAME>" --project <PROJECT>` 5. Add Tasks to iteration: `az boards work-item update --id <ID> --iteration "<Project>\<SPRINT_NAME>"` for each Task 6. Verify: `az boards query --wiql "SELECT [System.Id] FROM WorkItems WHERE [System.WorkItemType] = 'Task' AND [System.IterationPath] = '<Project>\<SPRINT_NAME>'"` - 2. SDD Setup (conditional based on tool selection): - - If `openspec` selected: `openspec new change`, `openspec validate`, `openspec show --deltas-only` - - If `sdd` selected: invoke `creating-sdd-directory` skill, delegate file creation to developer agent - - If both: OpenSpec is primary; SDD Toolkit is supplementary - 3. Post SDD-complete comments on all Task-level work items -- **Output**: Active sprint/iteration containing all leaf-level Tasks; SDD/openspec directories created and merged to `dev` + 2. If `openspec` selected: run `openspec validate`, `openspec show --deltas-only` on SDD files created in Step 1 + 3. **MANDATORY**: Post SDD-complete comments on all Task-level work items — Azure DevOps: `az boards work-item update --id <ID> --discussion "@agent:pm SDD complete - requirement.md/design.md/tasks.md created (requirement.md + tasks.md by pm-agent, design.md by architect-agent)"` +- **Output**: Active sprint/iteration containing all leaf-level Tasks; SDD files already created in Step 1 - **Full details**: See `agents/pm-agent.md` §STEP 2 ### Step 3: Frontend/Backend Agent — Development & Pre-Scan - **Owner**: Frontend Agent, Backend Agent -- **Conditional**: `github` NOT selected AND `azure-devops` NOT selected -> no feature branches, no PRs; commit locally. `azure-devops` selected -> use `azure-devops-cli` skill (`references/repos-and-prs.md`) for branches/PRs, (`references/boards-and-iterations.md`) for status transitions. `semgrep` NOT selected -> skip local pre-scan. `figma` selected -> Frontend agent reads `specs/<...>/figma-extract.md` for design tokens, components, and asset paths. +- **Conditional**: `github` NOT selected AND `azure-devops` NOT selected -> no feature branches, no PRs; commit locally. `azure-devops` selected -> use `azure-devops-cli` skill (`references/repos-and-prs.md`) for Azure branches/PRs, (`references/boards-and-iterations.md`) for Azure status transitions. When both `github` and `azure-devops` selected, create PRs on both platforms. `semgrep` NOT selected -> skip local pre-scan. `figma` selected -> Frontend agent reads `specs/<...>/figma-extract.md` for design tokens, components, and asset paths. - **Tools**: GitHub MCP, Jira MCP, Bash (linters), Azure DevOps CLI (if `azure-devops` selected), figma-extract.md (read-only, if `figma` selected) - **Actions**: 1. **Prerequisite gate**: verify your assigned Task-level work items exist (Jira: JQL `labels = agent:<this-agent> AND issuetype = Sub-task`; Azure DevOps: WIQL `[System.Tags] CONTAINS 'agent:<this-agent>' AND [System.WorkItemType] = 'Task'`). If none found → report to `@agent:pm`, do NOT start coding. - 2. Transition work item to "In Progress" (mandatory) + 2. **MANDATORY**: Transition work item to "In Progress" BEFORE writing any code — Azure DevOps: `az boards work-item update --id <ID> --state Active` (Agile) or `--state Doing` (Basic). See `critical-warnings.md#WARN-AZURE-BASIC-STATES`. 3. Create feature branch from integration branch, write code 4. **Push initial code to remote** — Azure DevOps: `git add -A && git commit -m "feat: initial implementation" && git push origin feature/<agent>/<short-description>` 5. **Frontend (if `figma` selected)**: Read `figma-extract.md` for design tokens, component inventory, and asset paths. Reference downloaded Figma images (saved by `figma-design-agent` next to `figma-extract.md`). Apply Code Connect mappings to MUI components. Map Figma variants -> React props. @@ -173,14 +185,14 @@ Step 1: PM Agent — Requirement Breakdown 8. Run local security scan — fix CRITICAL findings before PR 9. **Push final code and create PR** — Azure DevOps: `git add -A && git commit -m "feat: complete implementation" && git push origin feature/<agent>/<short-description>` then create PR via `azure-devops-cli` skill 10. Transition work item to "In Review" - 11. Comment `@agent:code-reviewer PR #X ready for review` - 12. Post full report content to work item comment (see `developer-agent-base.md` §3.8) + 11. **MANDATORY**: Comment `@agent:code-reviewer PR #X ready for review` — Azure DevOps: `az boards work-item update --id <ID> --discussion "@agent:code-reviewer PR #<PR_ID> ready for review"` + 12. **MANDATORY**: Post full report content to work item comment (see `developer-agent-base.md` §3.8) - **Quality Gate Prevention**: duplication < 3%, security rating A, coverage > 80% - **Full details**: See `agents/shared/developer-agent-base.md` §STEP 3 + domain-specific agent file ### Step 4: Code Reviewer Agent — PR Review & Approval - **Owner**: Code Reviewer Agent -- **Conditional**: `github` NOT selected AND `azure-devops` NOT selected -> skip entirely. `azure-devops` selected -> use `azure-devops-cli` skill (`references/repos-and-prs.md`) for PR review. `semgrep` NOT selected -> skip cross-referencing. +- **Conditional**: `github` NOT selected AND `azure-devops` NOT selected -> skip entirely. `azure-devops` selected -> use `azure-devops-cli` skill (`references/repos-and-prs.md`) for Azure PR review. When both selected, review PRs on both platforms. `semgrep` NOT selected -> skip cross-referencing. - **Tools**: GitHub MCP (PR review, secret scanning), Jira MCP - **Actions**: 1. Fetch tasks in "In Review" status @@ -189,9 +201,9 @@ Step 1: PM Agent — Requirement Breakdown 4. Cross-reference with security pre-scan summary from Step 3 PR comment 5. Run `github_run_secret_scanning` for leaked secrets 6. Submit GitHub PR review (APPROVE / REQUEST_CHANGES) - 7. If CRITICAL issues -> REQUEST_CHANGES, transition work item BACK to "In Progress" (Jira: `transitionJiraIssue`; Azure DevOps: `az boards work-item update --id <ID> --state Active`) - 8. If approved -> comment `@agent:tester Code review approved - ready for E2E testing` - 9. Post full review report to work item comment (see `code-reviewer-agent.md` Hands-off) + 7. If CRITICAL issues -> REQUEST_CHANGES, transition work item BACK to "In Progress" (Jira: `transitionJiraIssue`; Azure DevOps: `az boards work-item update --id <ID> --state Active` (Agile) or `--state Doing` (Basic)) + 8. If approved -> **MANDATORY**: comment — Azure DevOps: `az boards work-item update --id <ID> --discussion "@agent:tester Code review approved - ready for E2E testing"` + 9. **MANDATORY**: Post full review report to work item comment (see `code-reviewer-agent.md` Hands-off) - **Full details**: See `agents/code-reviewer-agent.md` ### Step 5: Tester Agent - E2E Testing + Visual Validation @@ -207,7 +219,7 @@ Step 1: PM Agent — Requirement Breakdown 6. **Optional video**: record `.webm` for complex multi-step user flows via `playwright-cli video-start`/`video-stop`. 7. **Visual diff (if `figma` selected)**: for every screen in `figma-extract.md`, capture a Playwright screenshot at the same viewport and compare against the saved Figma image. Report diff results alongside functional E2E. 8. Fix test errors until all pass (functional + visual) - 9. If tests fail after fixes -> transition work item BACK to "In Progress" (Jira: `transitionJiraIssue`; Azure DevOps: `az boards work-item update --id <ID> --state Active`), comment throwback + 9. If tests fail after fixes -> transition work item BACK to "In Progress" (Jira: `transitionJiraIssue`; Azure DevOps: `az boards work-item update --id <ID> --state Active` (Agile) or `--state Doing` (Basic)), comment throwback 10. If tests pass -> comment `@agent:devops E2E sign-off complete, ready for CI/CD` 11. Post full test report to work item comment (see `tester-agent.md` Hand-off) - **Full details**: See `agents/tester-agent.md` @@ -220,6 +232,7 @@ Step 1: PM Agent — Requirement Breakdown 2. PM Agent asks user for approval via `question` tool 3. PM Agent delegates to Developer Agent to merge each feature PR via GitHub MCP 4. Developer Agent verifies all feature branches are merged into `dev` + 5. **MANDATORY**: Remind user via `question` tool to confirm all PRs merged successfully (especially for manually created PRs on GitHub/etc.) — do NOT proceed to Step 6 until user confirms merge is complete - **Output**: All feature code merged into `dev`, CI/CD auto-triggers - **Full details**: See `agents/shared/developer-agent-base.md` §STEP 5 @@ -228,7 +241,7 @@ Step 1: PM Agent — Requirement Breakdown ### Step 6: DevOps Agent — CI/CD (Auto-Triggered) - **Owner**: DevOps Agent -- **Conditional**: `github` NOT selected AND `azure-devops` NOT selected -> skip. `azure-devops` selected -> CI/CD via Azure Pipelines (see `azure-devops-cli` skill, `references/pipelines-and-builds.md`), secrets/vars in variable groups. `sonarcloud` NOT selected -> remove SonarCloud tasks from Build stage. `jfrog` NOT selected -> use Azure Artifacts/ACR instead of JFrog (if `azure-devops` selected); remove JFrog stages. +- **Conditional**: `github` NOT selected AND `azure-devops` NOT selected -> skip. `azure-devops` selected -> CI/CD via Azure Pipelines (see `azure-devops-cli` skill, `references/pipelines-and-builds.md`), secrets/vars in variable groups. When both `github` and `azure-devops` selected, run CI/CD on both platforms. `sonarcloud` NOT selected -> remove SonarCloud tasks from Build stage. `jfrog` NOT selected -> use Azure Artifacts/ACR instead of JFrog (if `azure-devops` selected); remove JFrog stages. - **Tools**: GitHub MCP, Bash (GitHub API), Jira MCP, Azure DevOps CLI (if `azure-devops` selected) - **Pipeline stages (GitHub mode)**: build, sonar-scan, deploy-to-jfrog, verify-jfrog - **Pipeline stages (Azure mode)**: Build (incl. SonarCloud tasks), DeployToJFrog/DeployToAzureArtifacts, VerifyJFrog/VerifyAzureArtifacts @@ -238,14 +251,14 @@ Step 1: PM Agent — Requirement Breakdown 3. Monitor auto-triggered CI/CD — see `agents/devops-agent.md` §6.5-6.6 4. If CI fails -> identify failing job+step, trigger error throwback 5. If CI passes -> proceed to artifact + quality gate verification - 6. Post full CI/CD report to work item comment (see `devops-agent.md` §7.9) + 6. **MANDATORY**: Post full CI/CD report to work item comment (see `devops-agent.md` §7.9) — Azure DevOps: `az boards work-item update --id <ID> --discussion "<HTML_CONTENT>"` (see `developer-agent-base.md` §3.8 for HTML formatting) - **Artifact verification**: REST API directly (no MCP server) — see `agents/devops-agent.md` §6.7 - **Quality Gate**: If fails (coverage < 80%, duplication > 3%, security < A) -> do NOT proceed to Step 7 - **Full details**: See `agents/devops-agent.md` ### Step 7: PM + Developer - Release Review & Merge - **Owner**: PM Agent (authorizes) + Developer Agent (executes merge) -- **Conditional**: `github` NOT selected AND `azure-devops` NOT selected -> skip `dev`->`main` merge. `azure-devops` selected -> use `azure-devops-cli` skill (`references/repos-and-prs.md`) for merge. `jira` NOT selected AND `azure-devops` NOT selected -> skip "Done"/"Closed" transitions. +- **Conditional**: `github` NOT selected AND `azure-devops` NOT selected -> skip `dev`->`main` merge. `azure-devops` selected -> use `azure-devops-cli` skill (`references/repos-and-prs.md`) for Azure merge. When both selected, merge on both platforms. `jira` NOT selected AND `azure-devops` NOT selected -> skip "Done"/"Closed" transitions. - **Tools**: Jira MCP, GitHub MCP, question tool, Azure DevOps CLI (if `azure-devops` selected) - **Actions**: 1. Verify ALL tasks have Code Reviewer sign-off @@ -256,8 +269,9 @@ Step 1: PM Agent — Requirement Breakdown 6. Verify all feature PRs merged into `dev` 7. Require human approval via `question` tool 8. Delegate to Developer Agent: create and merge `dev` -> `main` PR - 9. Transition Tasks (leaf level) to "Done" — Jira: `transitionJiraIssue` to "Done"; Azure DevOps: `az boards work-item update --id <ID> --state Closed` (Agile/Basic) or `--state Done` (Scrum) - 10. If ANY check fails -> trigger error throwback + 9. **MANDATORY**: Remind user via `question` tool to confirm the release PR (`dev` -> `main`) was merged successfully — do NOT proceed to Step 8 (deployment) until user confirms merge is complete + 10. Transition Tasks (leaf level) to "Done" — Jira: `transitionJiraIssue` to "Done"; Azure DevOps: `az boards work-item update --id <ID> --state Closed` (Agile) or `--state Done` (Basic/Scrum). See `critical-warnings.md#WARN-AZURE-BASIC-STATES`. + 11. If ANY check fails -> trigger error throwback - **Conflict resolution**: Simplified "prefer dev" strategy (domain-owner resolution only if CI/CD fails — see `agents/shared/developer-agent-base.md` §7.3) - **Full details**: See `agents/pm-agent.md` §STEP 7 + `agents/shared/developer-agent-base.md` §STEP 7 @@ -277,13 +291,13 @@ Step 1: PM Agent — Requirement Breakdown ### Step 9: PM + Developer - Sprint Close, Retrospective + Report - **Owner**: PM Agent (sprint close + report) + Developer Agent (report push) -- **Conditional**: `jira` NOT selected -> skip sprint close. `azure-devops` selected -> sprint close via `azure-devops-cli` skill (`references/boards-and-iterations.md`). Report generation always runs. +- **Conditional**: `jira` NOT selected -> skip sprint close. `azure-devops` selected -> sprint close via `azure-devops-cli` skill (`references/boards-and-iterations.md`). When both `jira` and `azure-devops` selected, close sprint/iteration on both platforms. Report generation always runs. - **Tools**: Bash (Jira Agile REST API), Jira MCP, GitHub MCP, question tool - **Actions**: 1. Verify ALL leaf-level Tasks are in "Done" status (ask user how to handle incomplete tasks) 2. Close sprint via REST API (`PUT /sprint/{id}` — see `setup/critical-warnings.md#WARN-JIRA-SPRINT-CLOSE`) 3. Generate sprint summary (completed vs. incomplete, velocity metrics) - 4. Post retrospective comment on the Epic + 4. **MANDATORY**: Post retrospective comment on the Epic — Azure DevOps: `az boards work-item update --id <EPIC_ID> --discussion "@agent:all Sprint retrospective - <summary>"` 5. Archive SDD documents (`openspec archive` if selected; push final SDD versions if selected) 6. Generate SDLC Process Report (HTML) — see `report-spec.md` 7. Push report to GitHub — see `agents/shared/developer-agent-base.md` §STEP 9 diff --git a/skills/sdlc-agentic-pipeline/references/sdlc-e2e-diagram.md b/skills/sdlc-agentic-pipeline/references/sdlc-e2e-diagram.md index 596200a..5ed3838 100644 --- a/skills/sdlc-agentic-pipeline/references/sdlc-e2e-diagram.md +++ b/skills/sdlc-agentic-pipeline/references/sdlc-e2e-diagram.md @@ -15,7 +15,7 @@ Complete E2E flow: service onboarding through sprint close, with MCP servers, sk | STEP 0: SERVICE ONBOARDING (PM Agent orchestrates; user answers via `question` tool) | +--------------------------------------------------------------------------------------------+ | 0.0 Auto-provision 8 agent files -> .codeartsdoer/agents/ + install skill-installer | -| + copy bundled brainstorming skill -> .codeartsdoer/skills/brainstorming | +| + copy bundled brainstorming skill -> .codeartsdoer/skills/sdlc-brainstorming | | Agents: PM, Backend, Frontend, Code Reviewer, Tester, DevOps, Architect, Figma | | | | 0.0.5 Multi-Tool Selection — 4 multiselect questions | @@ -38,6 +38,14 @@ Complete E2E flow: service onboarding through sprint close, with MCP servers, sk | PIPELINE STEPS (conditional — degrade gracefully when tools unselected) | +--------------------------------------------------------------------------------------------+ | | +| 0.F PM→Figma Design ... Figma-to-Code (optional): pm-agent (entry) receives raw | +| req + Figma URL + node-id → brainstorm → creates requirement.md → hands off to | +| figma-design-agent (extract + diff vs requirement.md) → user confirms → pm-agent | +| updates requirement.md + creates tasks.md → figma-design hands off to pm-agent → | +| pm-agent breaks down tasks per tasks.md → pushes Epic→Issue→Task to Azure DevOps | + +| | | +| v | | 0.DA Architect Agent ......... Design phase: classify task, DDD/SDD/TDD | | | | | v | @@ -76,14 +84,14 @@ Complete E2E flow: service onboarding through sprint close, with MCP servers, sk +--------------------------------------------------------------------------------------------+ | Agent | Steps | Responsibility | |----------------|------------------------|--------------------------------------------------| -| PM | 0,1,1b,2,5,7,8,9 | Orchestrator — READ-ONLY repo, deploy authorize | +| PM | 0,0.F,1,1b,2,5,7,8,9 | Orchestrator, Figma-to-Code entry, requirement.md+tasks.md | | Backend | 0,1b,2,3,5,7,9 | Server-side code, API tests | | Frontend | 0,1b,2,3,5,7,9 | Client-side code, UI | | Code Reviewer | 4 | PR review, secret scanning, approval | | Tester | 5 | E2E / Playwright tests | | DevOps | 0,6,8 | CI/CD, artifact verify, deployment | -| Architect | 0.DA | Design phase: DDD/SDD/TDD classification | -| Figma Design | 0.F | Figma→SDD diff, EXCLUSIVE Figma MCP consumer | +| Architect | 0.DA | design.md ONLY (**SKIPPED if 0.F ran**; reads figma-extract.md if 0.F didn't run) | +| Figma Design | 0.F | Figma extract+diff, EXCLUSIVE Figma MCP consumer | +--------------------------------------------------------------------------------------------+ +--------------------------------------------------------------------------------------------+ @@ -99,7 +107,7 @@ Complete E2E flow: service onboarding through sprint close, with MCP servers, sk | postman | API testing, collection runs | Bearer API key | mcp.json | |---------------------|------------------------------------------|-------------------|----------| | JFrog = REST API in .env (NOT an MCP server) | -| Azure DevOps = az CLI skill (NOT an MCP server) — mutually exclusive with GitHub + Jira | +| Azure DevOps = az CLI skill (NOT an MCP server) — can coexist with GitHub + Jira | +--------------------------------------------------------------------------------------------+ +--------------------------------------------------------------------------------------------+ @@ -107,7 +115,9 @@ Complete E2E flow: service onboarding through sprint close, with MCP servers, sk +--------------------------------------------------------------------------------------------+ | | | SDD (Spec-Driven Development) | -| +-- SDD Toolkit (Huawei built-in) ...... PM, Backend, Frontend, Architect | +| +-- SDD Toolkit (Huawei built-in) ...... PM (requirement.md + tasks.md), Architect (design.md only) | +| If Step 0.F ran: PM creates requirement.md + tasks.md from figma-extract.md; design.md SKIPPED | + | +-- OpenSpec ........................... PM, Backend, Frontend, Architect | | Rule: first selected = PRIMARY; others = SUPPLEMENTARY | | | @@ -133,7 +143,7 @@ Complete E2E flow: service onboarding through sprint close, with MCP servers, sk | +-- Azure Container Apps (Serverless) ... DevOps [requires azure-devops + ACR] | | +-- Azure AKS (K8s) ..................... DevOps [requires azure-devops + ACR] | | +-- Azure VM (IaaS) ..................... DevOps [requires azure-devops + ACR] | -| Rule: mutually exclusive with GitHub + Jira | +| Rule: can coexist with GitHub + Jira; agents route by platform | +--------------------------------------------------------------------------------------------+ +--------------------------------------------------------------------------------------------+ @@ -149,19 +159,24 @@ Complete E2E flow: service onboarding through sprint close, with MCP servers, sk | .codeartsdoer/tool-selections.json ... user selections (local, gitignored) | | .codeartsdoer/mcp/mcp_settings.json .. MCP servers (only selected entries) | | <project>/.env ........................ JFrog, ECS, Azure DevOps, Azure deploy, ACR | -| .github/workflows/ci-cd.yml ........... GitHub Actions (if github selected) | -| azure-pipelines.yml .................... Azure Pipelines — generated at Step 6 by DevOps (if azure-devops selected) | +| .github/workflows/ci-cd.yml ........... GitHub Actions — generated at Step 6 by DevOps (if github selected; if both, ask user) | +| azure-pipelines.yml .................... Azure Pipelines — generated at Step 6 by DevOps (if azure-devops selected; if both, ask user) | | sonar-project.properties .............. SonarCloud (if sonarcloud selected) | | .codeartsdoer/agents/*.md ............. 8 agent definition files | -| .codeartsdoer/skills/brainstorming ... bundled visual companion skill | +| .codeartsdoer/skills/sdlc-brainstorming ... bundled visual companion skill | +--------------------------------------------------------------------------------------------+ +--------------------------------------------------------------------------------------------+ | DEVELOPMENT PLAN (notes for future enhancements) | +--------------------------------------------------------------------------------------------+ -| * [DONE] Figma design-to-code: Figma Design Agent (Step 0.F) ingests Figma designs and | -| hands off routing breakdown to pm-agent. PM Agent creates Epic→Issue→Task hierarchy. | -| * [DONE] Brainstorming skill: bundled hard copy in skills/brainstorming/ — installed | +| * [DONE] Figma-to-Code (Step 0.F): pm-agent is the entry point — user provides raw | +| requirement + Figma URL + node-id. pm-agent creates requirement.md, then hands off to | +| figma-design-agent (extract + diff vs requirement.md). After user confirmation, pm-agent | +| updates requirement.md + creates tasks.md. figma-design-agent hands off to pm-agent, | +| which breaks down tasks per tasks.md and pushes to Azure DevOps. | + +| SDD ownership: pm-agent = requirement.md + tasks.md; architect-agent = design.md only. | +| * [DONE] Brainstorming skill: bundled hard copy in skills/sdlc-brainstorming/ — installed | | during onboarding (Step 0.0) alongside agent files and skill-installer. | | * Replace GitHub MCP with `gh-cli` skill: swap all github_* MCP calls across agents | | and steps; update capability gating, Tools: lines, and config references. | diff --git a/skills/sdlc-agentic-pipeline/references/setup/critical-warnings.md b/skills/sdlc-agentic-pipeline/references/setup/critical-warnings.md index 2a7f895..cd52987 100644 --- a/skills/sdlc-agentic-pipeline/references/setup/critical-warnings.md +++ b/skills/sdlc-agentic-pipeline/references/setup/critical-warnings.md @@ -195,4 +195,94 @@ CLI fallback: `semgrep ci`. ## WARN-ARTIFACT-SYMLINKS: Artifact Upload Breaks Symlinks Splitting `npm ci` and `npm run build` into separate GitHub Actions jobs -breaks `.bin` symlinks — keep install + build in the **same job**. \ No newline at end of file +breaks `.bin` symlinks — keep install + build in the **same job**. + +--- + +## WARN-AZURE-BASIC-STATES: Azure DevOps Basic Process State Names + Command Safety + +Azure DevOps has **different state names** depending on the process template. +Using the wrong state name causes silent failures — the command may error +but the work item stays unchanged. + +**State mapping by process template:** + +| SDLC State | Agile | Basic | Scrum | +|------------|-------|------|-------| +| To Do | New | To Do | New | +| In Progress | Active | Doing | In Progress | +| In Review | Active (comment) | Doing (comment) | In Progress (comment) | +| In Testing | Active (comment) | Doing (comment) | In Progress (comment) | +| Done | Closed | **Done** | Done | + +**CRITICAL command safety rules:** + +1. **Use `--state` flag**, NOT `--fields "System.State=..."`. The `--state` + flag validates the state name against the project's process template. +2. **NEVER suppress errors** with `2>$null` (PowerShell) or `2>/dev/null` + (bash). If the state name is invalid, the command errors — suppressing + stderr hides the failure and the work item stays unchanged. +3. **NEVER hardcode success messages** after a potentially failing command. + Always verify the actual output: + ```bash + # WRONG (silent failure): + az boards work-item update --id 147 --state Done --org "..." 2>/dev/null; echo "Updated" + + # CORRECT (visible, verifiable): + az boards work-item update --id 147 --state Done --org "https://dev.azure.com/myorg" + # Verify: check the "State" field in the returned JSON output + ``` +4. **Detect the process template first** before transitioning states: + ```bash + # Get the process template: + az devops project show --project <PROJECT> --query "properties.processTemplateTypeId" -o tsv + # Or check work item type states: + az boards work-item show --id <ID> --query "fields.System.State" -o tsv + ``` +5. **For Basic process**, use `--state Done` (NOT `--state Closed`). + `Closed` does not exist in Basic — the command will error. + +--- + +## WARN-HANDOFF-COMMENTS: Mandatory Discussion Comments at Handoff Points + +**Every agent MUST post a discussion comment to the work item at every handoff +point.** This is the async message bus between agents — skipping it breaks the +collaboration trail. + +**Command (Azure DevOps):** +```bash +az boards work-item update --id <ID> --discussion "<message>" +``` + +**Required handoff points (pipeline.md):** + +| Step | Agent | MANDATORY Comment | +|------|-------|-------------------| +| 1 | PM | `@agent:pm Work item created - <summary>` + `@agent:frontend @agent:backend Please review requirements` | +| 1b | Frontend/Backend | `@agent:pm Review approved` or `@agent:pm Review feedback: <issues>` | +| 2 | PM/Architect | `@agent:pm SDD complete - spec.md/design.md/tasks.md created` | +| 3 | Frontend/Backend | `@agent:pm Starting work on <task>` (before coding) + `@agent:code-reviewer PR #<ID> ready for review` (after PR) | +| 4 | Code Reviewer | `@agent:tester Code review approved` or `@agent:frontend/@agent:backend REQUEST_CHANGES` | +| 6 | DevOps | `@agent:pm CI/CD report - <build status>` | +| 9 | PM | `@agent:all Sprint retrospective - <summary>` (on Epic) | + +**For multi-line reports** (Steps 3, 4, 6), use HTML formatting — see +`developer-agent-base.md` §3.8 for the `<br>`/`<p>`/`<b>` conversion pattern. + +--- + +## WARN-STATE-TRANSITION-BEFORE-CODE: Transition to Doing/Active BEFORE Writing Code + +**Step 3 (and all development steps) MUST transition the work item to "Active" +(Agile) or "Doing" (Basic) BEFORE writing any code.** Skipping this causes the +work item to jump "To Do" → "Done" with no visibility into when coding began. + +**Command (Azure DevOps):** +```bash +az boards work-item update --id <ID> --state Active # Agile +az boards work-item update --id <ID> --state Doing # Basic +``` + +**When:** IMMEDIATELY upon starting work, before `git checkout -b` or any code +file creation. See `developer-agent-base.md` §3.1. \ No newline at end of file diff --git a/skills/sdlc-agentic-pipeline/references/setup/multi-tool-selection-plan.md b/skills/sdlc-agentic-pipeline/references/setup/multi-tool-selection-plan.md index 8e37718..e68e349 100644 --- a/skills/sdlc-agentic-pipeline/references/setup/multi-tool-selection-plan.md +++ b/skills/sdlc-agentic-pipeline/references/setup/multi-tool-selection-plan.md @@ -40,7 +40,7 @@ File: `.codeartsdoer/tool-selections.json` 4 grouped multiselect questions via `question` tool. All `multiple: true`, `custom: false`. -**Q1 — MCP Servers & Services**: GitHub, Jira, SonarCloud, Semgrep, JFrog Artifactory, Huawei Cloud ECS, Azure DevOps CLI (alternative to GitHub + Jira), Azure App Service (PaaS), Azure Container Apps (Serverless), Azure Kubernetes Service (AKS), Azure VM (IaaS), Figma (design-to-code via figma-design-agent), None +**Q1 — MCP Servers & Services**: GitHub, Jira, SonarCloud, Semgrep, JFrog Artifactory, Huawei Cloud ECS, Azure DevOps CLI (can coexist with GitHub + Jira), Azure App Service (PaaS), Azure Container Apps (Serverless), Azure Kubernetes Service (AKS), Azure VM (IaaS), Figma (design-to-code via figma-design-agent), None > **Note:** Deployment targets (Huawei ECS, Azure App Service, Container Apps, AKS, VM) are optional here — if not selected, the user will be asked at Step 8 (deploy time). **Q2 — SDD**: SDD Toolkit (Huawei Built-in), OpenSpec (coming soon), None @@ -54,7 +54,7 @@ File: `.codeartsdoer/tool-selections.json` 4. "None" takes precedence if selected alongside other items 5. Built-in utility skills never mentioned 6. **Auto-select (post-processing)**: After Q3 returns, if Postman is selected but Newman is NOT, the PM Agent automatically adds Newman to the selections before writing `tool-selections.json`. Newman's option label is "(auto-selected with Postman)" so users know it will be included. The user sees Newman in the post-selection summary as "(auto-selected via Postman)" and can confirm or reject. -7. **Mutual exclusion**: If Azure DevOps is selected alongside GitHub or Jira, warn the user — Azure DevOps has its own repos and boards. Ask: "Azure DevOps replaces GitHub and/or Jira. Deselect GitHub and/or Jira?" (Yes/No) +7. **Coexistence**: Azure DevOps, GitHub, and Jira can all be selected together. When both Azure DevOps and GitHub/Jira are selected, agents route by platform — Azure DevOps CLI for Azure Repos/Boards/Pipelines, GitHub MCP for GitHub repos/issues, Jira MCP for Jira boards. No mutual exclusion is enforced. ### Post-Selection Summary Print selected/skipped items (including auto-selected Newman if Postman chosen), pipeline impact, and dependency warnings. Ask: "Proceed with these selections?" (Yes/No). @@ -79,7 +79,7 @@ Print selected/skipped items (including auto-selected Newman if Postman chosen), | Azure deploy target | Azure DevOps | Azure DevOps required for ACR access — select azure-devops in Q1 | | DDD tools | SDD | Domain model used directly without formal spec | | Any TDD tool | GitHub | Tests not version-controlled via PRs | -| Figma | SDD (`sdd` or `openspec`) | Figma diff has no spec to compare against — disable Step 0.F | +| Figma | SDD (`sdd` or `openspec`) | Figma diff has no requirement.md to compare against — disable Step 0.F | | Figma | GitHub and Azure DevOps | figma-extract.md has no PR/pipeline destination — push SDD docs only via `git push` | | Figma | Frontend agent | Figma-driven UI cannot be implemented — backend-only diff still useful | @@ -98,14 +98,14 @@ Figma personal access token via `--figma-api-key=...`; no env or headers block. ### .env Include only JFrog + ECS blocks for selected services (no MCP server for JFrog). MCP service config (Jira, GitHub, SonarCloud, Semgrep) is NOT in .env — it lives in mcp_settings.json. -Azure DevOps config (`AZURE_DEVOPS_ORG_URL`, `AZURE_DEVOPS_PROJECT`, `AZURE_DEVOPS_REPO`) is in .env; PAT is set via `AZURE_DEVOPS_EXT_PAT` env var at runtime. +Azure DevOps config (`AZURE_DEVOPS_ORG_URL`, `AZURE_DEVOPS_PROJECT`, `AZURE_DEVOPS_REPO`) is in .env; PAT is set via `AZURE_DEVOPS_EXT_PAT` **user-level** env var (persisted during onboarding, shared across all agents/sessions). Azure deployment config (`AZURE_RESOURCE_GROUP`, `AZURE_LOCATION`, target-specific vars) is in .env. See `service-onboarding.md` §0.10. -### ci-cd.yml -Only if GitHub selected. Stages: build (always), Sonar scan (if SonarCloud), artifact deploy+verify. If GitHub not selected, do not generate. Generate `.github/workflows/ci-cd.yml` from `references/templates/ci-cd.yml`. Artifact backend: JFrog (if selected) or GitHub Packages (if JFrog NOT selected). +### ci-cd.yml (generated at Step 6, NOT during onboarding) +NOT generated during onboarding. The DevOps agent generates `.github/workflows/ci-cd.yml` from `references/templates/ci-cd.yml` during Step 6 (CI/CD) if `github` is selected. If both `github` and `azure-devops` are selected, the DevOps agent asks the user via `question` tool which pipeline file to generate. Stages: build (always), Sonar scan (if SonarCloud), artifact deploy+verify. Artifact backend: JFrog (if selected) or GitHub Packages (if JFrog NOT selected). -### azure-pipelines.yml (deferred to Step 6) -NOT generated during onboarding. The DevOps agent creates `azure-pipelines.yml` from `references/templates/azure-pipelines.yml` during Step 6 (CI/CD) based on the actual project structure and the artifact repository selection recorded in `tool-selections.json`. Artifact backend: JFrog (if selected) or Azure Artifacts/ACR (if JFrog NOT selected). +### azure-pipelines.yml (generated at Step 6, NOT during onboarding) +NOT generated during onboarding. The DevOps agent generates `azure-pipelines.yml` from `references/templates/azure-pipelines.yml` during Step 6 (CI/CD) if `azure-devops` is selected, based on the actual project structure and the artifact repository selection recorded in `tool-selections.json`. If both `github` and `azure-devops` are selected, the user is asked which pipeline file to generate (see `ci-cd.yml` section above). Artifact backend: JFrog (if selected) or Azure Artifacts/ACR (if JFrog NOT selected). ### azure-devops-cli skill If `azure-devops` selected, install via `skill-installer` (done in onboarding §0.9): @@ -133,7 +133,7 @@ Run `apply-tool-selections.ps1` (Windows) or `apply-tool-selections.sh` (macOS/L | Skill ID | Frontmatter Keys | Granted To Agents | |----------|-----------------|-------------------| | `playwright` | `playwright-cli` | Tester | -| `sdd` | `creating-sdd-directory`, `managing-spec/design/tasks-document` | PM, Backend, Frontend, Architect | +| `sdd` | `creating-sdd-directory`, `managing-spec/design/tasks-document` | PM (requirement.md + tasks.md), Architect (design.md only) | | `openspec` | `openspec` | PM, Backend, Frontend, Architect | | `postman` | `postman` | Backend, Architect | | `newman` | `newman` | Backend | @@ -149,7 +149,7 @@ Run `apply-tool-selections.ps1` (Windows) or `apply-tool-selections.sh` (macOS/L | `azure-container-apps` | `azure-devops-cli` | DevOps | | `azure-aks` | `azure-devops-cli` | DevOps | | `azure-vm` | `azure-devops-cli` | DevOps | -| `figma` | `brainstorming`, `managing-spec-document`, `managing-design-document` | figma-design | +| `figma` | `sdlc-brainstorming` | figma-design | --- @@ -157,8 +157,8 @@ Run `apply-tool-selections.ps1` (Windows) or `apply-tool-selections.sh` (macOS/L | Step | Conditional Logic | |------|-------------------| -| 0.F | If `figma` NOT selected -> skip (entire Step 0.F is opt-in). If `figma` selected but no SDD directory exists -> skip. Always read figma-extract.md (or skip if absent) in 0.DA / 3 / 5. | -| 0.DA | If NO methodology tools -> skip. SDD -> spec creation. TDD -> test layer mapping. DDD -> domain model. If `figma` selected -> incorporate figma-extract.md tokens into design.md (read-only consumption). | +| 0.F | If `figma` NOT selected -> skip (entire Step 0.F is opt-in). Runs when user provides raw requirement + Figma URL + node-id to pm-agent. pm-agent creates requirement.md -> hands off to figma-design-agent (extract + diff vs requirement.md) -> user confirms -> pm-agent updates requirement.md + creates tasks.md -> pm-agent (task breakdown + Azure push). Always read figma-extract.md (or skip if absent) in 0.DA / 3 / 5. | +| 0.DA | If NO methodology tools -> skip. If Step 0.F ran -> **SKIP entirely** (requirement.md + tasks.md already created by pm-agent based on figma-extract.md; no design.md created). SDD -> design.md creation (architect-agent owns design.md only; pm-agent owns requirement.md + tasks.md). TDD -> test layer mapping. DDD -> domain model. If `figma` selected but Step 0.F did not run -> incorporate figma-extract.md tokens into design.md (read-only consumption). | | 1 | If `jira` NOT selected -> skip Jira tasks. If `github` NOT selected -> analyze local dir. `prd` always available. | | 1b | If `jira` NOT selected -> skip review. If `github` NOT selected -> local diff review. | | 2 | If `jira` NOT selected -> skip sprint. If `sdd`/`openspec` NOT selected -> skip SDD. | diff --git a/skills/sdlc-agentic-pipeline/references/setup/service-onboarding.md b/skills/sdlc-agentic-pipeline/references/setup/service-onboarding.md index 0285d01..c95a8c2 100644 --- a/skills/sdlc-agentic-pipeline/references/setup/service-onboarding.md +++ b/skills/sdlc-agentic-pipeline/references/setup/service-onboarding.md @@ -8,7 +8,7 @@ Walk the user through platform setup. Ask questions, collect answers, fill templ ## 0.0 - Auto-Provision Agent Definition Files, skill-installer & Brainstorming -Copy 8 agent files + 1 shared base file from `references/agents/` to `.codeartsdoer/agents/`. Install `skill-installer` from GitHub. Copy bundled `brainstorming` skill into `.codeartsdoer/skills/`. Idempotent. No user action needed. +Copy 8 agent files + 1 shared base file from `references/agents/` to `.codeartsdoer/agents/`. Install `skill-installer` from GitHub. Copy bundled `sdlc-brainstorming` skill into `.codeartsdoer/skills/`. Idempotent. No user action needed. **Agent files**: `pm-agent.md`, `backend-agent.md`, `frontend-agent.md`, `code-reviewer-agent.md`, `tester-agent.md`, `devops-agent.md`, `architect-agent.md`, `figma-design-agent.md` **Shared base**: `shared/developer-agent-base.md` (inherited by backend & frontend agents via `[OVERRIDE]`) @@ -28,10 +28,10 @@ npx -y skills add https://github.com/CodeArtsAgent/CodeArtsSkills --skill skill- **Brainstorming** (bundled hard copy — visual companion for interactive spec/requirement brainstorming): ```bash -cp -r .codeartsdoer/skills/sdlc-agentic-pipeline/skills/brainstorming .codeartsdoer/skills/brainstorming +cp -r .codeartsdoer/skills/sdlc-agentic-pipeline/skills/sdlc-brainstorming .codeartsdoer/skills/sdlc-brainstorming ``` -Verify all 8 agent files, `.codeartsdoer/agents/shared/developer-agent-base.md`, `.codeartsdoer/skills/skill-installer/SKILL.md`, and `.codeartsdoer/skills/brainstorming/SKILL.md` exist before proceeding. +Verify all 8 agent files, `.codeartsdoer/agents/shared/developer-agent-base.md`, `.codeartsdoer/skills/skill-installer/SKILL.md`, and `.codeartsdoer/skills/sdlc-brainstorming/sdlc-SKILL.md` exist before proceeding. --- @@ -47,11 +47,11 @@ Selections persisted to `.codeartsdoer/tool-selections.json`. Drives all downstr > **IMPORTANT:** The repository must already exist before onboarding. Repo creation is manual — the pipeline never creates repos. -1. Ask: repo owner, repo name, PAT +1. Ask via `question` tool: repo owner, repo name, PAT 2. Verify access via `github_get_file_contents` 3. Inventory existing artifacts (Dockerfiles, docker-compose.yml, ci-cd.yml) -4. Ask: development intent (new features, bug fixes, etc.) -5. Ask: branch strategy (existing develop, GitFlow dev, trunk-based, custom) +4. Ask via `question` tool: development intent (new features, bug fixes, etc.) +5. Ask via `question` tool: branch strategy (existing develop, GitFlow dev, trunk-based, custom) 6. Persist selected integration branch for all downstream agents ### Config Output @@ -61,7 +61,7 @@ Selections persisted to `.codeartsdoer/tool-selections.json`. Drives all downstr ## 0.2 - Jira Onboarding (if `jira` selected) -1. Ask: Jira site URL, email, API token, project key +1. Ask via `question` tool: Jira site URL, email, API token, project key 2. Verify via `atlassian-rovo-mcp_getVisibleJiraProjects` 3. Discover cloud ID via: `https://<my-site-name>.atlassian.net/_edge/tenant_info` (returns `{"cloudId":"<your_cloud_id>"}`) @@ -74,13 +74,13 @@ Selections persisted to `.codeartsdoer/tool-selections.json`. Drives all downstr ## 0.3 - SonarCloud Onboarding (if `sonarcloud` selected) -1. Ask: SonarCloud organization key, project key, token +1. Ask via `question` tool: SonarCloud organization key, project key, token 2. Verify via `sonarqube_get_project_quality_gate_status` 3. **MUST disable Automatic Analysis** (see `critical-warnings.md#WARN-SONAR-AUTO`) -4. **Azure DevOps mode — manual step:** Configure SonarCloud service connection in Azure DevOps: +4. **Azure DevOps mode — manual step:** Configure SonarCloud service connection in Azure DevOps (only if Azure Pipelines is used externally): Getting started guide: https://docs.sonarsource.com/sonarqube-cloud/getting-started/azure-devops Project integration: https://docs.sonarsource.com/sonarqube-cloud/analyzing-source-code/ci-based-analysis/azure-pipelines/setting-up-project-integration - This creates the "SonarCloud Service Connection" required by `SonarCloudPrepare@4` task in `azure-pipelines.yml`. + This creates the "SonarCloud Service Connection" required by `SonarCloudPrepare@4` task. NOTE: The pipeline does NOT create `azure-pipelines.yml` — this step is only needed if the user has a pre-existing Azure Pipelines setup. ### Config Output - `mcp_settings.json` -> `sonarqube` entry (headers + `env`: `SONAR_PROJECT_KEY`) @@ -107,7 +107,7 @@ Selections persisted to `.codeartsdoer/tool-selections.json`. Drives all downstr ## 0.5 - JFrog Artifactory Onboarding (if `jfrog` selected) -1. Ask: JFrog platform URL, username, password/access token, project key, Docker repo key +1. Ask via `question` tool: JFrog platform URL, username, password/access token, project key, Docker repo key 2. Verify: `GET /artifactory/api/repositories` with Bearer token ### Config Output @@ -121,7 +121,7 @@ Selections persisted to `.codeartsdoer/tool-selections.json`. Drives all downstr ## 0.6 - Huawei Cloud ECS Onboarding (if `huawei-ecs` selected) -1. Ask: ECS host, ECS user, SSH key path +1. Ask via `question` tool: ECS host, ECS user, SSH key path 2. Option A: existing instance — verify SSH access 3. Option B: new instance with Terraform — see `devops-agent.md` §"Terraform MCP Server" 4. Run `add_ssh_key.py` to configure SSH key-based auth @@ -161,8 +161,13 @@ Ask via `question` tool: 3. PAT token (Azure DevOps -> User Settings -> Personal Access Tokens) - Required scopes: Code (read+write), Work Items (read+write), Build (read+execute) 4. Repository name (must already exist — repo creation is manual, same as GitHub) +5. Azure DevOps user email for work item assignment (e.g., `user@email.com`) — used as `--assigned-to` when creating Azure DevOps work items ONLY. Do NOT use this email for GitHub operations — GitHub uses `GITHUB_OWNER` from the GitHub onboarding (§0.1). -### 0.9.2 Auto-Install via skill-installer (PM Agent runs this via Bash) +### 0.9.2 Auto-Install via skill-installer (PM Agent MUST run this via Bash) + +> **CRITICAL:** This step is MANDATORY when `azure-devops` is selected. The PM Agent +> MUST execute this command — do NOT skip it. If the `apply-tool-selections` script +> already triggered the install, verify with `status` instead. Invoke `skill-installer` to install azure-devops-cli (skill files + Azure CLI + extension + status check): @@ -187,19 +192,38 @@ Verify: `node .codeartsdoer/skills/skill-installer/scripts/installer.js status - az devops configure --defaults organization=<AZURE_DEVOPS_ORG_URL> project="<AZURE_DEVOPS_PROJECT>" ``` -**Authenticate non-interactively:** -> Use `AZURE_DEVOPS_EXT_PAT` env var — the Azure DevOps CLI extension reads it -> automatically. No interactive `az devops login` prompt needed. +**Authenticate non-interactively (persistent, user-level env var):** +> Set `AZURE_DEVOPS_EXT_PAT` as a **user-level** environment variable so it +> persists across all sessions, processes, and agent invocations. The Azure +> DevOps CLI extension reads it automatically — no interactive `az devops login` +> prompt needed. Every agent's Bash tool shell inherits it. + +**Windows (PowerShell — persists to registry, survives reboot):** +```powershell +[System.Environment]::SetEnvironmentVariable("AZURE_DEVOPS_EXT_PAT", "<PAT>", "User") +``` +> After setting a User-level env var, **existing** shells do NOT see it +> automatically — restart CodeArts (or open a new shell) for it to take effect. + +**Linux / macOS (append to shell rc file):** ```bash -export AZURE_DEVOPS_EXT_PAT="<PAT>" +echo 'export AZURE_DEVOPS_EXT_PAT="<PAT>"' >> ~/.bashrc # bash +echo 'export AZURE_DEVOPS_EXT_PAT="<PAT>"' >> ~/.zshrc # zsh +``` +> Then `source ~/.bashrc` (or restart the shell) so the current session picks it up. + +The PAT is stored in the OS user profile (Windows registry / Unix shell rc), +**never** in the repo or `.env`. It is readable by all agents across sessions. + +**Verify the env var is visible to the current shell before proceeding:** +```bash +# Linux / macOS / Git Bash: +test -n "$AZURE_DEVOPS_EXT_PAT" && echo "PAT is set" || echo "PAT is NOT set" ``` -**Windows (PowerShell):** ```powershell -$env:AZURE_DEVOPS_EXT_PAT = "<PAT>" +# Windows PowerShell: +if ($env:AZURE_DEVOPS_EXT_PAT) { "PAT is set" } else { "PAT is NOT set" } ``` -The PAT is set for the current session only. It is NOT written to `.env` or -any file. The PM Agent sets it in the Bash tool environment before running -`az` commands. **Smoke test:** ```bash @@ -209,15 +233,15 @@ If this succeeds, Azure DevOps is fully configured and ready. ### Config Output - `.env` -> `AZURE_DEVOPS_ORG_URL`, `AZURE_DEVOPS_PROJECT`, `AZURE_DEVOPS_REPO` -- PAT is set via `AZURE_DEVOPS_EXT_PAT` env var at runtime (not persisted to any file) +- PAT is set via `AZURE_DEVOPS_EXT_PAT` **user-level** env var (persists across sessions; stored in OS user profile, not in any repo file) -> **Mutual exclusion:** If GitHub or Jira was also selected, ask the user to deselect them — Azure DevOps replaces both. +> **Coexistence:** Azure DevOps can coexist with GitHub and Jira. When both are selected, agents route by platform — Azure DevOps CLI for Azure Repos/Boards/Pipelines, GitHub MCP for GitHub repos/issues, Jira MCP for Jira boards. No deselection is required. ### 0.9.4 Azure Container Registry Setup (only if `jfrog` NOT selected) > Skip this section entirely if `jfrog` was selected — JFrog Artifactory handles Docker images and build artifacts instead. -When `azure-devops` is selected but `jfrog` is NOT, ask the user which artifact repository to use: +When `azure-devops` is selected but `jfrog` is NOT, ask the user via `question` tool which artifact repository to use: > **Question:** Which artifact repository will you use? > - Azure Artifacts (build output only — Pipeline Artifacts) @@ -225,15 +249,15 @@ When `azure-devops` is selected but `jfrog` is NOT, ask the user which artifact > - JFrog Artifactory (both — redirects to §0.5, sets `jfrog` to true) > - None (skip artifact publishing — e.g., library project with no deployable artifacts) -Based on the selection, the artifact repository choice is recorded in `tool-selections.json` for the DevOps agent to use when generating `azure-pipelines.yml` during Step 6 (CI/CD). The pipeline file is NOT created during onboarding. +Based on the selection, the artifact repository choice is recorded in `tool-selections.json` for the DevOps agent to use when generating the pipeline yml during Step 6 (CI/CD). The pipeline file is NOT created during onboarding — the DevOps agent generates it at Step 6 based on tool selections (`github` → `ci-cd.yml`, `azure-devops` → `azure-pipelines.yml`, both → ask user via `question` tool which one to generate). - **Azure Artifacts**: `DeployToAzureArtifacts` (PublishPipelineArtifact only) + `VerifyAzureArtifacts` stages - **ACR**: `DeployToAzureArtifacts` (Docker build + push to ACR only) + `VerifyAzureArtifacts` stages - **JFrog**: `DeployToJFrog` + `VerifyJFrog` stages only (skip §0.9.4 entirely) - **None**: No deploy/verify stages — pipeline has Build stage only. Skip steps 1-6 below. -1. Ask: ACR name (must be globally unique, alphanumeric only, 5-50 chars) -2. Ask: Azure resource group name (must already exist) -3. Ask: Create new ACR or use existing? +1. Ask via `question` tool: ACR name (must be globally unique, alphanumeric only, 5-50 chars) +2. Ask via `question` tool: Azure resource group name (must already exist) +3. Ask via `question` tool: Create new ACR or use existing? - **New:** Create ACR (PM Agent runs this via Bash): ```bash az acr create -n <ACR_NAME> -g <RESOURCE_GROUP> --sku Basic @@ -269,15 +293,15 @@ Based on the selection, the artifact repository choice is recorded in `tool-sele > All steps executed by PM Agent via Bash using `az` CLI. ### 0.10.0 Common Config -1. Ask: Azure resource group name (must already exist) -2. Ask: Azure location (e.g., `eastus`, `westeurope`) +1. Ask via `question` tool: Azure resource group name (must already exist) +2. Ask via `question` tool: Azure location (e.g., `eastus`, `westeurope`) ### 0.10.1 Azure App Service (if `azure-app-service` selected) > PaaS — Web Apps for Containers. Simplest Azure deployment. No SSH/VM management. -1. Ask: App Service name (globally unique) -2. Ask: App Service plan name -3. Ask: Create new or use existing? - - **New:** Ask SKU (e.g., `B1` basic, `S1` standard, `P1` premium), then create (PM Agent runs via Bash): +1. Ask via `question` tool: App Service name (globally unique) +2. Ask via `question` tool: App Service plan name +3. Ask via `question` tool: Create new or use existing? + - **New:** Ask via `question` tool: SKU (e.g., `B1` basic, `S1` standard, `P1` premium), then create (PM Agent runs via Bash): ```bash az appservice plan create --name <PLAN_NAME> --resource-group <RESOURCE_GROUP> --sku <SKU> --is-linux az webapp create --name <APP_NAME> --resource-group <RESOURCE_GROUP> --plan <PLAN_NAME> --deployment-container-image-name <ACR_NAME>.azurecr.io/<REPO_NAME>:latest @@ -289,10 +313,10 @@ Based on the selection, the artifact repository choice is recorded in `tool-sele ### 0.10.2 Azure Container Apps (if `azure-container-apps` selected) > Serverless containers — auto-scaling, KEDA-based. Good for microservices. -1. Ask: Container Apps environment name -2. Ask: Container app name -3. Ask: Target port (e.g., `80`, `8080`) -4. Ask: Create new or use existing? +1. Ask via `question` tool: Container Apps environment name +2. Ask via `question` tool: Container app name +3. Ask via `question` tool: Target port (e.g., `80`, `8080`) +4. Ask via `question` tool: Create new or use existing? - **New:** Create managed environment + container app (PM Agent runs via Bash): ```bash az containerapp env create --name <ENV_NAME> --resource-group <RESOURCE_GROUP> --location <LOCATION> @@ -306,10 +330,10 @@ Based on the selection, the artifact repository choice is recorded in `tool-sele ### 0.10.3 Azure Kubernetes Service (if `azure-aks` selected) > Full Kubernetes cluster — for complex multi-service deployments. AKS cluster must already exist. -1. Ask: AKS cluster name (must already exist) -2. Ask: Kubernetes namespace (e.g., `default`, `production`) -3. Ask: Kubernetes deployment name -4. Ask: Container name in deployment +1. Ask via `question` tool: AKS cluster name (must already exist) +2. Ask via `question` tool: Kubernetes namespace (e.g., `default`, `production`) +3. Ask via `question` tool: Kubernetes deployment name +4. Ask via `question` tool: Container name in deployment 5. Get AKS credentials (PM Agent runs via Bash): ```bash az aks get-credentials --name <AKS_CLUSTER> --resource-group <RESOURCE_GROUP> @@ -324,9 +348,9 @@ Based on the selection, the artifact repository choice is recorded in `tool-sele ### 0.10.4 Azure VM (if `azure-vm` selected) > IaaS — closest to Huawei ECS pattern (SSH + Docker pull + run). VM must already exist. -1. Ask: VM name (must already exist) -2. Ask: SSH username -3. Ask: SSH key path (local path to private key) +1. Ask via `question` tool: VM name (must already exist) +2. Ask via `question` tool: SSH username +3. Ask via `question` tool: SSH key path (local path to private key) 4. Get VM public IP (PM Agent runs via Bash): ```bash az vm show --name <VM_NAME> --resource-group <RESOURCE_GROUP> --show-details --query publicIps -o tsv @@ -358,7 +382,7 @@ For each selected methodology tool, verify/install/connect/smoke-test: |------|--------|---------|------------| | SDD Toolkit | N/A (built-in) | N/A | N/A | | OpenSpec | `openspec --version` | `npm install -g @fission-ai/openspec@latest` | `openspec list` | -| Postman | N/A (MCP) | Copy `references/templates/SKILL.md` to `.codeartsdoer/skills/postman/SKILL.md` | `postman MCP list workspaces` | +| Postman | N/A (MCP) | Copy `references/templates/postman-skill.md` to `.codeartsdoer/skills/postman/SKILL.md` | `postman MCP list workspaces` | | Newman | `newman --version` | `npm install -g newman` | `newman run --version` | | Jest | `npx jest --version` | `npm i -D jest` | `npx jest --listTests` | | Pytest | `pytest --version` | `pip install pytest` | `pytest --collect-only` | @@ -385,7 +409,7 @@ After install, run `apply-tool-selections.ps1` (Windows) or `apply-tool-selectio > `figma-design-agent` (`references/agents/figma-design-agent.md`). No other > agent (Architect, Backend, Frontend, Tester, Code Reviewer, DevOps) calls > Figma MCP directly — they read `figma-extract.md` and the SDD docs that -> `figma-design-agent` produces. +> `pm-agent` produces after user confirmation. ### 0.11.1 Collect User Input Ask via `question` tool: @@ -454,20 +478,22 @@ onboarding and ask the user to fix the token before continuing. ### Dependency Warnings | Selected | But NOT | Warning | |----------|---------|---------| -| Figma | SDD (`sdd` or `openspec`) | Figma diff has no spec to compare against — disable Step 0.F | +| Figma | SDD (`sdd` or `openspec`) | Figma diff has no requirement.md to compare against — disable Step 0.F | | Figma | GitHub and Azure DevOps | figma-extract.md has no PR/pipeline destination — push SDD docs only via `git push` | | Figma | Frontend agent | Figma-driven UI cannot be implemented — backend-only diff still useful | ### Post-Onboarding -After Step 0.11 succeeds, the pipeline is Figma-ready. The user invokes -`figma-design-agent` separately (typically as a sub-agent invocation from -`pm-agent` or directly via "compare figma <URL> against <spec-dir>") when: -- A new Figma file is shared alongside an existing SDD directory -- A design change needs to be validated against an approved spec +After Step 0.11 succeeds, the pipeline is Figma-ready. The user provides a +raw requirement + Figma URL + node-id to `pm-agent` (the entry point) when: +- A new Figma file is shared alongside a new requirement +- A design change needs to be validated against an approved `requirement.md` - Onboarding flow hands off a Figma file + SDD package for diff review -`figma-design-agent` produces `figma-extract.md` + updated SDD docs and hands -off to `pm-agent`, which then runs the standard Step 1 → 9 pipeline. Steps +`figma-design-agent` produces `figma-extract.md` only. After user confirmation, +`pm-agent` updates `requirement.md` + creates `tasks.md`. `figma-design-agent` +hands off to `pm-agent`, which breaks down tasks per `tasks.md`, creates the +Epic → Issue → Task hierarchy, pushes work items to Azure DevOps, and then +proceeds to Step 0.DA and the standard pipeline. Steps 0.DA (Architect), 3 (Frontend/Backend), and 5 (Tester) all read Figma data from these files — none call Figma MCP. @@ -480,12 +506,13 @@ After all selected services are onboarded, generate config files from templates | Template | Conditional | |----------|-------------| | `mcp-settings.json` | Only selected MCP entries | -| `ci-cd.yml` | Only selected stages; skip if GitHub not selected | | `sonar-project.properties` | Only if SonarCloud selected | | `env-template.env` | Only selected service blocks | | `set-secrets.js` | Run to set GitHub Actions secrets/variables | +> **NOTE:** `ci-cd.yml` (GitHub Actions) and `azure-pipelines.yml` (Azure Pipelines) are NOT generated during onboarding. The DevOps agent generates them during Step 6 (CI/CD) based on tool selections: `github` selected → `.github/workflows/ci-cd.yml`; `azure-devops` selected → `azure-pipelines.yml`; both → ask user via `question` tool which one to generate. + Write to `.codeartsdoer/mcp/mcp_settings.json` and project root `.env`. --- diff --git a/skills/sdlc-agentic-pipeline/references/skill-registry.json b/skills/sdlc-agentic-pipeline/references/skill-registry.json index 43137cc..d983b7f 100644 --- a/skills/sdlc-agentic-pipeline/references/skill-registry.json +++ b/skills/sdlc-agentic-pipeline/references/skill-registry.json @@ -33,7 +33,7 @@ "managing-design-document", "managing-tasks-document" ], - "grantedToAgents": ["pm", "backend", "frontend", "architect"], + "grantedToAgents": ["architect"], "pipelineSteps": [2], "onboardingStep": null, "verifyCommand": null, @@ -228,7 +228,7 @@ "status": "available", "type": "install", "methodology": "DevOps", - "description": "Repos, pipelines, boards, and builds via Azure CLI (alternative to GitHub + Jira).", + "description": "Repos, pipelines, boards, and builds via Azure CLI (can coexist with GitHub + Jira).", "frontmatterKeys": ["azure-devops-cli"], "grantedToAgents": ["pm", "backend", "frontend", "devops", "code-reviewer"], "pipelineSteps": [1, 2, 3, 4, 6, 7], @@ -242,7 +242,7 @@ "prerequisites": [ "az extension add --name azure-devops", "az devops configure --defaults organization=<URL> project=<PROJECT>", - "AZURE_DEVOPS_EXT_PAT=<PAT> (env var, non-interactive auth — no az devops login needed)" + "AZURE_DEVOPS_EXT_PAT=<PAT> (user-level env var, non-interactive auth — no az devops login needed; persists across sessions/agents)" ], "artifactAlternatives": { "jfrogSelected": "JFrog Artifactory handles Docker images + build artifacts", diff --git a/skills/sdlc-agentic-pipeline/references/templates/apply-tool-selections.ps1 b/skills/sdlc-agentic-pipeline/references/templates/apply-tool-selections.ps1 index cc72cd7..815a8cc 100644 --- a/skills/sdlc-agentic-pipeline/references/templates/apply-tool-selections.ps1 +++ b/skills/sdlc-agentic-pipeline/references/templates/apply-tool-selections.ps1 @@ -201,4 +201,55 @@ foreach ($file in $agentFiles) { Write-Output "" Write-Output "Done. Agent frontmatter permission.skill blocks updated based on tool selections." -Write-Output "Built-in utility skills (ide-tool, doc-expert, pptx, data-analysis, prd, frontend-design, i18n-integration) were not modified." \ No newline at end of file +Write-Output "Built-in utility skills (ide-tool, doc-expert, pptx, data-analysis, prd, frontend-design, i18n-integration) were not modified." + +# --- Install selected skills that require installation --- +$installerJs = ".codeartsdoer/skills/skill-installer/scripts/installer.js" +$installedSkills = @() + +foreach ($skill in $registry.methodologySkills) { + if ($skill.status -ne 'available') { continue } + $skillId = $skill.id + $isSelected = $selections.tools.$skillId + if (-not $isSelected) { continue } + if ($skill.type -ne 'install') { continue } + if (-not $skill.installCommand) { continue } + + $frontmatterKey = $skill.frontmatterKeys[0] + $skillDir = ".codeartsdoer/skills/$frontmatterKey" + $alreadyInstalled = Test-Path "$skillDir/SKILL.md" + + Write-Output "" + if ($alreadyInstalled) { + Write-Output "Skill '$frontmatterKey' already installed — skipping." + $installedSkills += $frontmatterKey + continue + } + + Write-Output "Installing skill '$frontmatterKey' (selected by user)..." + $installCmd = $skill.installCommand + if (Test-Path $installerJs) { + try { + $output = & node $installerJs init --target $frontmatterKey 2>&1 + Write-Output $output + if ($LASTEXITCODE -eq 0) { + Write-Output "Skill '$frontmatterKey' installed successfully." + $installedSkills += $frontmatterKey + } else { + Write-Output "WARNING: installer.js exited with code $LASTEXITCODE for '$frontmatterKey'." + Write-Output "The PM Agent should run this manually: $installCmd" + } + } catch { + Write-Output "WARNING: Failed to install '$frontmatterKey': $_" + Write-Output "The PM Agent should run this manually: $installCmd" + } + } else { + Write-Output "WARNING: skill-installer not found at $installerJs" + Write-Output "The PM Agent should run this manually: $installCmd" + } +} + +if ($installedSkills.Count -gt 0) { + Write-Output "" + Write-Output "Installed skills: $($installedSkills -join ', ')" +} \ No newline at end of file diff --git a/skills/sdlc-agentic-pipeline/references/templates/apply-tool-selections.sh b/skills/sdlc-agentic-pipeline/references/templates/apply-tool-selections.sh index 48fffde..be1b4d0 100644 --- a/skills/sdlc-agentic-pipeline/references/templates/apply-tool-selections.sh +++ b/skills/sdlc-agentic-pipeline/references/templates/apply-tool-selections.sh @@ -174,4 +174,47 @@ for fpath in agent_files: print() print("Done. Agent frontmatter permission.skill blocks updated based on tool selections.") print("Built-in utility skills (ide-tool, doc-expert, pptx, data-analysis, prd, frontend-design, i18n-integration) were not modified.") + PYEOF + +# --- Install selected skills that require installation --- +INSTALLER_JS=".codeartsdoer/skills/skill-installer/scripts/installer.js" +INSTALL_OUTPUT=$(python3 << 'PYEOF2' 2>/dev/null || echo "") +import json, os +sel = os.environ.get("SELECTIONS_FILE", "") +reg = os.environ.get("REGISTRY_FILE", "") +if not sel or not reg: + exit(1) +with open(sel) as f: s = json.load(f) +with open(reg) as f: r = json.load(f) +for skill in r.get("methodologySkills", []): + if skill.get("status") != "available": continue + if not s.get("tools", {}).get(skill["id"], False): continue + if skill.get("type") != "install": continue + if not skill.get("installCommand"): continue + print(skill["frontmatterKeys"][0]) +PYEOF2 + +if [ -n "$INSTALL_OUTPUT" ]; then + echo "" + echo "Installing selected skills that require installation..." + for skill_key in $INSTALL_OUTPUT; do + skill_dir=".codeartsdoer/skills/$skill_key" + if [ -f "$skill_dir/SKILL.md" ]; then + echo "Skill '$skill_key' already installed — skipping." + continue + fi + echo "Installing skill '$skill_key' (selected by user)..." + if [ -f "$INSTALLER_JS" ]; then + if node "$INSTALLER_JS" init --target "$skill_key"; then + echo "Skill '$skill_key' installed successfully." + else + echo "WARNING: installer.js failed for '$skill_key'." + echo "The PM Agent should run this manually." + fi + else + echo "WARNING: skill-installer not found at $INSTALLER_JS" + echo "The PM Agent should run this manually." + fi + done +fi diff --git a/skills/sdlc-agentic-pipeline/references/templates/env-template.env b/skills/sdlc-agentic-pipeline/references/templates/env-template.env index 3191883..4f5738e 100644 --- a/skills/sdlc-agentic-pipeline/references/templates/env-template.env +++ b/skills/sdlc-agentic-pipeline/references/templates/env-template.env @@ -21,15 +21,19 @@ JFROG_PASSWORD=<JFROG_PASSWORD> # Tip: Find via Administration > All Projects > Project Key column JFROG_PROJECT=<JFROG_PROJECT> -# --- Azure DevOps (CLI-based, not MCP — alternative to GitHub + Jira) --- +# --- Azure DevOps (CLI-based, not MCP — can coexist with GitHub + Jira) --- # Tip: Organization URL from browser (e.g., https://dev.azure.com/mycompany) AZURE_DEVOPS_ORG_URL=<AZURE_DEVOPS_ORG_URL> # Tip: Project name as shown in Azure DevOps AZURE_DEVOPS_PROJECT=<AZURE_DEVOPS_PROJECT> # Tip: Repository name as shown in Azure DevOps Repos (must already exist) AZURE_DEVOPS_REPO=<AZURE_DEVOPS_REPO> -# PAT is set via AZURE_DEVOPS_EXT_PAT env var at runtime (non-interactive auth) -# — NOT stored in this file or mcp_settings.json +# Tip: Azure DevOps user email for work item assignment (used as --assigned-to when creating Azure DevOps work items ONLY — do NOT use for GitHub) +AZURE_DEVOPS_ASSIGNED_TO=<AZURE_DEVOPS_ASSIGNED_TO> +# PAT is set via AZURE_DEVOPS_EXT_PAT user-level env var (persists across sessions) +# — NOT stored in this file or mcp_settings.json. Set via: +# Windows: [System.Environment]::SetEnvironmentVariable("AZURE_DEVOPS_EXT_PAT","<PAT>","User") +# Linux/OS: echo 'export AZURE_DEVOPS_EXT_PAT="<PAT>"' >> ~/.bashrc # --- Azure Container Registry (only when jfrog NOT selected, azure-devops selected) --- # Tip: ACR login server is <ACR_NAME>.azurecr.io — create via: az acr create -n <ACR_NAME> -g <RESOURCE_GROUP> --sku Basic diff --git a/skills/sdlc-agentic-pipeline/references/templates/SKILL.md b/skills/sdlc-agentic-pipeline/references/templates/postman-skill.md similarity index 100% rename from skills/sdlc-agentic-pipeline/references/templates/SKILL.md rename to skills/sdlc-agentic-pipeline/references/templates/postman-skill.md diff --git a/skills/sdlc-agentic-pipeline/skills/brainstorming/scripts/frame-template.html b/skills/sdlc-agentic-pipeline/skills/sdlc-brainstorming/scripts/frame-template.html similarity index 100% rename from skills/sdlc-agentic-pipeline/skills/brainstorming/scripts/frame-template.html rename to skills/sdlc-agentic-pipeline/skills/sdlc-brainstorming/scripts/frame-template.html diff --git a/skills/sdlc-agentic-pipeline/skills/brainstorming/scripts/helper.js b/skills/sdlc-agentic-pipeline/skills/sdlc-brainstorming/scripts/helper.js similarity index 100% rename from skills/sdlc-agentic-pipeline/skills/brainstorming/scripts/helper.js rename to skills/sdlc-agentic-pipeline/skills/sdlc-brainstorming/scripts/helper.js diff --git a/skills/sdlc-agentic-pipeline/skills/brainstorming/scripts/server.cjs b/skills/sdlc-agentic-pipeline/skills/sdlc-brainstorming/scripts/server.cjs similarity index 100% rename from skills/sdlc-agentic-pipeline/skills/brainstorming/scripts/server.cjs rename to skills/sdlc-agentic-pipeline/skills/sdlc-brainstorming/scripts/server.cjs diff --git a/skills/sdlc-agentic-pipeline/skills/brainstorming/scripts/start-server.sh b/skills/sdlc-agentic-pipeline/skills/sdlc-brainstorming/scripts/start-server.sh similarity index 100% rename from skills/sdlc-agentic-pipeline/skills/brainstorming/scripts/start-server.sh rename to skills/sdlc-agentic-pipeline/skills/sdlc-brainstorming/scripts/start-server.sh diff --git a/skills/sdlc-agentic-pipeline/skills/brainstorming/scripts/stop-server.sh b/skills/sdlc-agentic-pipeline/skills/sdlc-brainstorming/scripts/stop-server.sh similarity index 100% rename from skills/sdlc-agentic-pipeline/skills/brainstorming/scripts/stop-server.sh rename to skills/sdlc-agentic-pipeline/skills/sdlc-brainstorming/scripts/stop-server.sh diff --git a/skills/sdlc-agentic-pipeline/skills/brainstorming/SKILL.md b/skills/sdlc-agentic-pipeline/skills/sdlc-brainstorming/sdlc-SKILL.md similarity index 99% rename from skills/sdlc-agentic-pipeline/skills/brainstorming/SKILL.md rename to skills/sdlc-agentic-pipeline/skills/sdlc-brainstorming/sdlc-SKILL.md index 9a94bd0..802c59e 100644 --- a/skills/sdlc-agentic-pipeline/skills/brainstorming/SKILL.md +++ b/skills/sdlc-agentic-pipeline/skills/sdlc-brainstorming/sdlc-SKILL.md @@ -1,5 +1,5 @@ --- -name: brainstorming +name: sdlc-brainstorming description: "You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation." --- @@ -148,4 +148,4 @@ A browser-based companion for showing mockups, diagrams, and visual options duri A question about a UI topic is not automatically a visual question. "What does personality mean in this context?" is a conceptual question — use the terminal. "Which wizard layout works better?" is a visual question — use the browser. If they agree to the companion, read the detailed guide before proceeding: -`skills/brainstorming/visual-companion.md` \ No newline at end of file +`skills/sdlc-brainstorming/visual-companion.md` \ No newline at end of file diff --git a/skills/sdlc-agentic-pipeline/skills/brainstorming/spec-document-reviewer-prompt.md b/skills/sdlc-agentic-pipeline/skills/sdlc-brainstorming/spec-document-reviewer-prompt.md similarity index 100% rename from skills/sdlc-agentic-pipeline/skills/brainstorming/spec-document-reviewer-prompt.md rename to skills/sdlc-agentic-pipeline/skills/sdlc-brainstorming/spec-document-reviewer-prompt.md diff --git a/skills/sdlc-agentic-pipeline/skills/brainstorming/visual-companion.md b/skills/sdlc-agentic-pipeline/skills/sdlc-brainstorming/visual-companion.md similarity index 100% rename from skills/sdlc-agentic-pipeline/skills/brainstorming/visual-companion.md rename to skills/sdlc-agentic-pipeline/skills/sdlc-brainstorming/visual-companion.md