From 3f4a1ee623b53660b2eb2d0f6bc1b1b0cee77a7c Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Wed, 2 Sep 2026 13:10:24 +0000 Subject: [PATCH] portable: adopt Agent Plugins 1.0.0 as the pinned portable contract Pin spec repository commit ff8ab5e39 with refreshed schema provenance, add dated adoption evidence (native-client roster, Cursor 3.18.25 IDE dogfood audit with three observed placeholder-expansion conformance gaps), bump the portable adapterRevision to 1.3.0, refresh the install surface wording, and add a repeatable installer/filesystem/pinned-schema conformance proof against an isolated Cursor home via a dedicated host-install-portable fixture. --- .changeset/portable-agent-plugins-evidence.md | 5 + .../2026-09-02-customize-plugins-panel.png | Bin 0 -> 82608 bytes .../2026-09-02-customize-search-discovery.png | Bin 0 -> 38332 bytes .../2026-09-02-plugin-detail-mcp-skill.png | Bin 0 -> 37992 bytes ...26-09-02-agent-plugins-cursor-ide-proof.md | 74 ++++++ docs/framework-mode.md | 12 + .../adapters/capabilities/portable-1.0.0.json | 10 + .../agent-bundle/src/adapters/portable.ts | 2 +- .../adapters/schemas/portable/PROVENANCE.json | 7 +- packages/agent-bundle/src/install/surface.ts | 6 +- .../tests/adapter-metadata.test.ts | 17 +- .../agent-bundle.config.ts | 17 ++ .../host-install-portable/package.json | 6 + .../skills/probe/SKILL.md | 8 + .../src/hooks/session-start.ts | 4 + .../host-install-portable/src/mcp/probe.ts | 6 + .../tests/host-install-proof.test.ts | 59 ++++- .../tests/install-surface.test.ts | 11 + .../tests/support/host-install.ts | 246 +++++++++++++++++- 19 files changed, 482 insertions(+), 8 deletions(-) create mode 100644 .changeset/portable-agent-plugins-evidence.md create mode 100644 docs/assets/agent-plugins-cursor-proof/2026-09-02-customize-plugins-panel.png create mode 100644 docs/assets/agent-plugins-cursor-proof/2026-09-02-customize-search-discovery.png create mode 100644 docs/assets/agent-plugins-cursor-proof/2026-09-02-plugin-detail-mcp-skill.png create mode 100644 docs/audits/2026-09-02-agent-plugins-cursor-ide-proof.md create mode 100644 packages/agent-bundle/tests/fixtures/host-install-portable/agent-bundle.config.ts create mode 100644 packages/agent-bundle/tests/fixtures/host-install-portable/package.json create mode 100644 packages/agent-bundle/tests/fixtures/host-install-portable/skills/probe/SKILL.md create mode 100644 packages/agent-bundle/tests/fixtures/host-install-portable/src/hooks/session-start.ts create mode 100644 packages/agent-bundle/tests/fixtures/host-install-portable/src/mcp/probe.ts diff --git a/.changeset/portable-agent-plugins-evidence.md b/.changeset/portable-agent-plugins-evidence.md new file mode 100644 index 000000000..e62089a3e --- /dev/null +++ b/.changeset/portable-agent-plugins-evidence.md @@ -0,0 +1,5 @@ +--- +"agent-bundle": minor +--- + +portable: pin Agent Plugins 1.0.0 adoption evidence — specification repository commit, native-client roster, a repeatable installer/filesystem/pinned-schema conformance proof against an isolated Cursor home, and a Cursor 3.18.25 IDE plugin-loader dogfood audit (discovery, skill and MCP surfacing, stdio handshake, and three observed placeholder-expansion conformance gaps) — and refresh the install surface wording. diff --git a/docs/assets/agent-plugins-cursor-proof/2026-09-02-customize-plugins-panel.png b/docs/assets/agent-plugins-cursor-proof/2026-09-02-customize-plugins-panel.png new file mode 100644 index 0000000000000000000000000000000000000000..11da0b6d0da523901f884a9c8dcaf6982e8ae489 GIT binary patch literal 82608 zcmbrlbyOQs*FIXOg#x9xx427jZ*h0m;_ech7I%ufL($+tf)#g%0D+*z39i9z`hM%Z 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

+%d^0(yd$@AX>03$mlepH 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 bi085Lhk1(Kj(U)HXkkf9$cv*z^}YTVw)U7> literal 0 HcmV?d00001 diff --git a/docs/assets/agent-plugins-cursor-proof/2026-09-02-plugin-detail-mcp-skill.png b/docs/assets/agent-plugins-cursor-proof/2026-09-02-plugin-detail-mcp-skill.png new file mode 100644 index 0000000000000000000000000000000000000000..ddf6f54813ef3e64cdaf8be17184a05d011f53b3 GIT binary patch literal 37992 zcmd?Q_g7Qh*Ds0{1pyxwL8^*?Ql(2*Q96X)LsWW8XaPc15qyx|rAsID-XRK7Ly?vM zp+o4Q69|Fi#P56FG0qw1+pZ}h0B zuB=mj4{uziY*F-`cch}aO{Mncm4Q$C_AK4Id&e2%eNMmw15x$9Nfs1eDUI`6;M*)j+<895f4PI|D`;TcD)yFnnB_8B^nCdbDpZk?go*G z7zm=x0djEqCtE4{#nQhVLu;K3iq4LXe0+Sq2YtL68XD*dkT3&>-*%N~R_1WtLbjsI zx3cNd=eOrX(v+i^y}I{v@15nT7~gcp)Vp+jV}!KshuWAHIJ6UYTJ)Tff#hQ}C`;CR z=Ngm6ZThctojL)~-L@0(d^;L`H)So1H}mx86^0ovj0 zg&HcGO%@~nw1V}vPjOPChjz#BjRj&1rF@UpJ%;5Qj$?h~gjD_v2jXkk zwS_}Ie!BS1`KF=`pXxtn6XGorIWD`R>#7_#={l+?Ot*ONqQtf6 z(otUUH9%}5Ps@6bBFQZzc#)HQ`qf{XGP5v;g}vZI%2r(k1dhHG=YJ5NB}YC#Y>A|C z9{{%dH?e{8$bWVK)m&c~g0hL5+C1^Fou;+CVxRtJg{q$w4+q4erB|8Zas^`! z1jD%nMe?CyN#@kSuOVtn-@@>l-xNgf?I~GoEss1pg(Y3Kt+Wt>Gs=<8>nqtvkeHOW zWXU3zP|I0u#Vs<14q;yj0cT0nndvmD?Ho!_1u_#Q|d%X7RQLcM6f%IQp$}V9S#hkpF&{nC$?wf`6m64#Akk zl<>Ph;i7NH*b>gkST%}+@ZvU%@EmrygT&=RANFU$)xQp@TLrIS4#*PjUV=wdX!7q~97 zfk%y~aJG>ZbnN+4G}RgMTm@sUdTto*$VS$dxL>YO`~|dp%QELw-lR--JM6`1e;=Y6 z4Zk!xEp&YTY_#5A4)E(y-b3!e3USh%n=)z29c^qcxxF+V{RlUmK%>29KP6u$Y!qfC zEx66N^}vPHz|vc#HF+ylwu3B$@2V{UlrNP5$uA^C!U_k$eYcw?cA>D&p7(bF3TADD zA;)DaJI;8bmQoP)r+b{_ups%v&bm7@vS}aIh9)3^MG77Rjj?pB^T|Jg#((P;+gl?m zdhTUO7H>>!*DIF!)q%P)6_2MoM-`Pme55egPHY z_54UPYYM#Yf$B{-5}&RmjRt}^yPKChleN%Zfx7%2L!E!;nabx5JAeZD3bQ}$ib%dIpTKIxU^u5I7@u8JeR4Q5Ld~DpnZE;`e~+H_XE)&xJrKorQ|1YcgHja^*c+7cqgd5& zfx&&)T1MgYJ^K@&yEKQ!Q2StL;RRzu%tn$Ixe4vTlk5S=3I3i42G;`=;dP<`S7KbZt5-hB#3N`s`0;rZS!lh zREykgJ&ba`0o%RHqiKKfQthAG&X5G90ya}_o&L;c0X3hBm+^aTwIoBYTc)q4zBXX{ z2$6m9y!?f+Ma@3@9|*5dE?KdOcEov+ndM#vOKKj>YI7eQsOU`f2Jif zT84}BzkV{ieqc7ba(~B}hoQev4X-(skL9X&7~`30Ln4v+ggE7GDFh+XzkTJ()4EYg zOeH6ogJb)w!K2RoIqEOAmag*Pr8aW=U)6+Lq-#%y^+y3acnljF#K1)(ol0E|o$DVv=*y;Ql%?`|)8w%WC3o@@6 z?)z>7ap7(}(Tdhi)p!%{bqFFKgYqAN+v=5~+TBeOJ6rv~JP}b<&?lzk#n@%Scy8ZN z?Tt_1SzEGsF#a>P^CKHyc^iIuW2_Lln2pO?iQyrbyk1JQdyP0mdfP5V_w-nGmAAnt6bt16UOUmx!eE6 z!HDiTT#4#x_YE$1q?M9d!|69amd?@lp%R2r?&Vk~_Jf7(SPcS?qMScSA3sV_wlvdT z?G@tVKNrg)M0h^2rb8aN|B3rKj(gqj6$@zCE|Qw_$;}JepxN=u^!?#^YB?>G>91*x z>09cH64aQ${R+J8=)!QK()kn)^er2`tZJrrr8s6b|9x_R+Oavt3*H&o?l{4>!2lSJ z-^n>z%x`&0Ec2AL8BR#T|6RWOrT)=7jtRorIVj~F3iy#IshFRGm<=R3D4(G-;|@LD zsHeC5oHACWT*Ekf%VEV{h*4yNugL!+>~!&KzFLHG?m>mzW0wNYfAYsBJ1_hP6`LJz z^{_$G%UQDgh{4A5r$4OY656m;j|wvamXejzJOa;>g}WQHWcRSjIzlJ^=VHjz#1>jHsZL!CiE#Q1XIi0SiL zqUFVTfD;D>Hek41iz0cB`9+q@3Cj#hRNJ5Kh4FH}2iyCINUhWYA_Vk0d)R}%_!8To zF6gCRt{#^lyCHya;0_brS>9;4dgwjQ-LvkM?C7_oJB`AJORi0jL8>isDa1UaUmP4&`P z(Mpzwal+iM)Kg5&=%mk858{{OTfbbrC#|Or)yGzRk3C$C6E=71tRCV{PEJhh8`c|$ zDeMK=eCYcns`aSG(yfb;J@a2C(Ug0vPvnuq2Nu$kOgZ1#=xGbHv5Ypf{jZuCzLEg} zoBDUCxq)f}aeB>1^3zf2JI;MJY5ia>a{pF;ank8iF>Y+b=lrBA_G(H!!tMc?K2lpB?`RnPc(eDq;Y~d$H(J4W z&A{9d9Q5~!Ydh{kTLz+a5;G0ZXxusnweMhYes*no&nFs5gVy^Fv4133X7NT)W5Oi zUK$(v`rCfo5O$1L5xMN%7@MJw3ifBVaWGd&&StQ_Kpgb*QyzpG#B$gHO}|!s;3u(i z@gx2|;0)>xZgovEpZme)fi+e;XOKUNxyPeG=mQL;OY8eayC(>zOW@3w@j}fZT-sUw z3CHNVl7?OI^xn?qa6+c>!BDFAH=d|57E~GNg0#~uB}LkfjDtiNs04gClICiV$0v6W z%6dZrJ(k1uXPGz@{Rv(+F7x=MW}KFuKIHTdn?k8iqoaMs$q;bbt-Ef{MNuPVSeUSN z=mPR0enrlMo1JHLt@JyGB)uy9Trefvvh7b0?UF0$%c12&WPNCcmujAN1BL>dE{N&k8yTC67#nQ&i((MaM> zaLW@h0<#pBvDkP14ArnYoCUh!=-wN&6vn%&msBuD~F4G0$5gS{#wxW*sY`k8@zgnK{6%K z3C3C>f6Bx)#7J>tVj+?C8ZzXAS3(h;8v|txb9@AIsKenZ7##a3&4H@tu@`0TGQ>^_ zuI;R}emi=C)zrnz{hP<{fWy`ZwB(!%jP){%UJ-s02%pjTWf`S#P?I2crg(p+k~`a| z+Ig$OecIG3v))d}&%`&T(~U`X;!?X-r1*!?#pK7a24^d{UR~wXS5sIT!OU|3h(5jY z1>#}x`uAL6*{0KUF#rHKdfvM^7IoGo%gM-@UD`cMNOCe>#%DO@@v%tfSRbwL8fac< zBSnQc4Gn5%wbvqx>#EqNc@l7z$-W+VZ8QQPPcXhzcUHF@q=;~sAeQL|)}9Tz7%hAc z>ye1!Y`+Mz80%(ekjR7sGZKHoB025>IXZ(CMvaO3+k^S1x~I%V=Wf86KqBtIE%Cc-Wv-FTlM46M6g&0h zay)~YSlK`C-}T&7CBVjubVDB9A9YoIWU&-0&L1Me>wa}}&opF62?m3;5aoJH%>a9C zl#+e)HO|i~=eg;YbWcYwCoJ!|Og`C~GlmB+Bq=E_o=!nRa4guNB#X~2zd;W2+>IJ# z#_nG4(=|E4ynK|ZGa;OfSBCBOGul6R|B}{=dMu$mRw42CjWDf{k#m>f=bnDx2C_9q z&C)^ko;p^R&+%h#X&&jxS_n;=-cT|8qM-9+)ChBkt_D-LGU4pU3bg$2Q+D}Be{ebr z<!*YSAK440#uui3kxbXGhUns>sJB!VN(Ko6E$z(McN zgSU&;uze|`g_*wUaq{RId}Jp2tR#IbM(I5Oj2Vq`{@vj)Oy75ZTTNDYwh}CClXR2D zE>4z97Q>xv@mRLIBJh|WzR^q1Gr_&FrQYej-^GOdpqd?ko33-ev9)+C#+|F&+E&+@ zCu6uGl@^CN|zpn!I?*^0eC#zM+}J0w0dNgQ0IL6mJM zH{!K;0k_{KVvO3*P!5a@Zl)~iX=&%9>E6ZEX$R2T>7t{h_XL|E#l|tmnPwLlc(OKL zg$d4(HSAKOARtd%$<^=z`{jfaFz|p5#Hv0~V;3ic^H+?kEB?bf8|{|dW}%l_d%zK` zqF2E72CHAi4=C;$1@{+zpdcmG?;=|6$aOBZ#niEod<}d|f12JC$JuLA(Kiw}2rpqgf zMX3bFnEg9mWc}V+mp1ttQZg>Ibasi6hrjeOd>`pVw-5$N|$)p5d&3ztpfLvT-p$IUGHTK@!cXNf-h%5Lz>7y7H{t`#J9?I*73c5~V^n;3UeY5YWRl*0vQ;4$pX~g^ zVky3LejnVOJ!g)mWVaXgop+3I-_g*Ze`Y(3t zM4>KW)1+EkeDeaQs#?$z+ibGnf#14H-4Xmv_?5>~H4SYw*a@79g~U{Qdh7c4=m6}d zTXLf3T>JwC3s!~g?VoT4(0-Ljr{S0%#&QVfJX7LWo;nAiRDwt8@zK?DRn*-@IL`KF zn|0~iRUj(Va6oPLrMp>D{}X@*jQgisc^c9X9%0G^M zn`k-s_hR*2cdbP?bozqbSzhtPBx%q+H8pS`uCPN*WN@y1So!`M>nhp?-Z-wRH@J=) zISP&E2S{$3-s$)Vp%QH`28RT0&Z6_)UCP8YyZ>@kShf(o<EejJLGg>~JJ$O3I5!-_!K-+NANOLcc@yYlbWZ+tHe6qoKU>ee^D!@;3(-IAWKLpx zIor-;Ivj^v;o>4T`L7Uz>Q{a`$v+x{I#fcQv>?~E`gpSv7@!R&sP#nD_#CF9a6{)m zGd6HYdQAY-Zt*#__U6H;yXY${S8~D})`~bxJ|8})0@gd5F0$Tw@&h>>^6Sf;^?b{R z6St?7R&LD|Dqd_{LUc0wmTY})_J8c_Ze}?>dc1{3PANKsn6cte=Cr+qY9u~$1h3T& z)?P>uA@}z4wyJlOy>7qzP$v0k-MWRhbs> z?5_~M7FL#eiNKEI1%%T)!RErFefhrsl%c5l*qqbp@adctjW-x{F*LNKA6kKVHx<3> zY}N)=sj@pgfO2{fwRF?aZHM7Ad5{_RAq1GPFd@adh4a&=Bn18Eg^Q&ANIpp^%5r|l<<#kg%Zf5-*y$X)o*5+#9+;A4ZD%A9H3Yc{1)<*L zhF8#fBgQjpRX{gMefeqDedz@CG|R?|B=O&zt9^Da74FR;8+##Tws4KFn*N5UXd9b&IN9rjkcXgN8 zupF1H2O6})vu4Z=p1{FhTBB^)D~~}q+Eb*zoRYEmYWRMq`wRuQbb2_Nj6n>+NojerCkHHB0l5yirx83A4J#7?Q1y)AFT>V#2lG#lwR zB4G2W%fc4R*IH*+?T*qkl?3U%~x|jvFlLx#Ogn2lmCGn5-5ztdU~SKu^K6@ zvlqF|CZR#+%be!*&asDq6j*y5L*SIY#DDz8^vTV$1K3QX+j28>OIsEvF70qgAs~)7 zYY9(XCh7DQ-G)ccI25gVU+nhL4ow}`fNU}`f#V@~7fXfhW!yjXx>DK~SK)2Lp+}ow z))4+WP|yXmZ~wqFG5T&S`%fyFt9(0DXKKEA!fi*RFK5F)45ms@c$xTj?tGPGL(_^R7nWElzdc?c7HJjaruP zD~TlLmYY;m&nKM;@79t7+t1iNsM^!EUGZ*hPYgEg*8szwezZ;pCaAHA=B7j-cDhF!F!I}AsgM=s+OH>n;x(&NLp4F zscoCTu|wG}U+3mD#z{V#1CdCi=1^SP06Ql2`ZmkHQlIYI&Zr5M2>u5f7b``yJZy(I zGic|jum4X1P?_ZtrThO2J4m%a)!E=Yl|wm->K1s0{?7XMBL@oa#d!S_9jjzQLc&u@ zcgU^8zo+@Xv5S=cQ8#yFy|yRY1Bfb|0kwW7;0Zsa&|42EFja3Xmr4Y4_TO_CJ}6Fq zsYj&XqX>_+q4s>QM}UMvq^7meU$)hi#qR0}gW|akUCgC)#=jeWzOX79pb#PBR1bcd z{=GJJgxF`lES27E^nd*wc;s%J(jDo9a&|T-wjT()+ns1nlTj@irYfGK$`5I5m0Pd{ zQaWxU`+qw+Ek7tJaqt8bwGQmcymRX({F*g8S@CYKf0xfED2OWUhHkN{EBax)*Ft#i zm0Yq)k=B0@T7Es<=2=;=i_5CJy3|qN_BC5RJ=U;74?zSgM^KT#wm!T$RkfR42z0xD zd;*1XWMm9X?x4b)omtT`DL^tMJn+Z*(VTD!`MGS8V%>d1xM;6_RfL}rt_JHzwwA^I z(VTc2X9`;X$oM*gbA}ZyjFBU>MEjq7zC(a@0ou=g+Tv0;2aM-g{@n%_SjDQ!rAR=5 zDFt8V-#uONW-$2JAR3$cy`;1QQVV;YTv`IxP+h3^gqXgC&7ZlBzKyV(#nP_T3zV#! zrmAKPNagx7dMM#LcfPro6x7#iXJKr~O1sX$rXu%WcOhWGbIF5AxYS@8>}Zq%#%);H z84v1454N=(6tt8Gc^G-k?@cmQSjrvGfrb^rg($>taJbkG-&j?5B!6bu`AYjb2weeN zU9>}quW}0TrT88)*a1wM-~Ec;5}07P6Iik~{zL#o=y)5>BxKQQ|7tQL+|Y31Nwwob zt@#@<#&8>XMp`C8GlK_}A7ZVwk3$m01UqL}?|s_wa=Iud$ zBLh=;l%1HBda}iR4be`lZde6L;qdu|bA+EKLbAsz$W=p73-lN6q+(`zLM~4xsE0{d zhL`~GU%Jbi?vAfzZNHe@GWTm@#(+RCaNEKP_3v9)Zk!dCw?S7;iDfla0Yp59B4uLY zmnIj$Wv~TSP{6w`OtDYLIJ}FW^L$mSLC6I4!$7|?6^)WuQic6D7Ep52SkuLSFO5Kb z_JXJ>m#VYae~s}K;C=5mTOTElHRH1Z6LE*)i!RZ`MK85llm)oqJ+-UE%k4+fwmd0w zCHz0I`4xiUW z_s#b6=oj#=J1LUPJ*Y32TjWHC?CorTD`LY?%1dD;K;YX?abzHi*zSjcSeJ9MHgdPaV$LqA&H zcV(m}OXj%PbUrO$YX6SwZsU3@CTrf{yDM=kyj+189*(o-7X$hnPOME`^L;h~^6WWG zs~0lYA^ZVJ3J^(j$$&JkV|IXZFW~sRgHuJ3m3#4{u+E`I|0INXp^6Y6=A{n&d&f zE`BL^rmXK~`YsSM8?-D)n>MV}OHA?WWakHDoV4)+Z0#uu44}t>PD=eZ^};!Pr*vT{ zsG0OTEvR+UYuLq(v7{YUQs#^rpH-%Yn|e1v#nLb!3GYsjg4D`Tx79O29ZQi)w2XbT zlmUl(zN6FToj!Z0;gdDNiW`1s(m!YW-#9sba0$hjq?l-F9X)3c%FXb_ofHfCTwtW; z{CjW>Go;^Y9y^%P^9kpDs22G4db=m_c144UISs)@^0X^po8~_~_$_nqV`Tlk>Z4^#LnYg==eMB9o1U znFKK}x5ekcXoJii;9mje$Wv>bZHIOioVQCKoazJWIGvf&q{{rAHwtRNZ6^h^I2QcC zuHglC6T|5j*qJYeqyH>&d?t;aZfKTgfCwm8hsP<6an#lG9?`W0=&OD>cW zG`-=atkY0H^gyO>?PaP33b!@l_>5@g!c}0C+Q!Tr@bs#8*~;%F#L(Hf;>8cbNzUoF zX;7>^s;(*Dbk2*Anf^1e#kvh}iY^&c$&zkyL^bT1o_5th`W$$HGA*0s zX+qAR%7%e56eU9VJ0EHuTLI#d9l&>MbED;r_|IRBK?&H&j#W-+_q>97?{UM~v$Grw zzj3C_?ys~12y&+OeP?KXLsrld&W}fW<8&_TBg?ZE`^7t#$}1_^&88=$(fxfRfyvu- z=kvS6;ZTHsJLtIMk%&QoPk$?joIjPtkrH5}tB>e$X!L&t5aQ6nWvG@qKTdrv|LId- zzO8n%Ns8vsG?DRfRl3yrmNB^DFlGnuGb6a70*s&Q&7}6fgz#G^4@hLM&Y7{Z5d^`y z-p5ZHqK%I?d$Ni(#Bu)j`bKzxFOE;?G_p)kBM;qV|9~M=GD&rCo7>3VW#ROTg^Dac zmq8>T0J0ex;;|+?sE8R_60FGEP;oMsa(?oKv}-Kw1~`Hc~7KZxDg(&AVYZ-ne>SwJH$#B z)-(g%`4U(&@4W--t>R)wt3Cssc(uYiv8lx{DBNO5sJSGt8X{?Ww_!$zUsvDIxN&l# zpJ%Js>4Vvi(s`S`^D&0)ryjHHr9}ysN$;V6)7KM?6;TQvsBPr9RfGRNzH1oK-q&8> zIo3Zfc!uwocZty>!F!4ulGt6_53D+4~66ir77O?ekIl?7^XIDFKVhE=3jf6 zPuf}$tBd6Cgorv*tqasM?&9Gm&Bj9~JXZT}1QMg)q%QJjIpuNH#WhXLeA7`BEl$zS zt9|!21kiv8g%=k%M#;0yy82yVJPf!%#7EeY6}|1|$>M|4(;GTW8rAk_bVigMi4tpN z95&DUuc3kIoKGt_$?zJX?-Ij0Tq>4?HW(z(?-x^{i-Z9p2Ml0&=}b42LxNc3h}uNbgR8hW}3emR&NwL0D#y>^`lgUy*V0GreSc zW)3O;VXVI=ux7iA4q2Y*3OH<$ui2#Zka5CaVPHeNBMGj}?i*>d2aOg+DLUCsq}Z{~ z*TBHQriE3Eai%Xi_%K!DR3%I1aHplr9NdJB%H?b#nw9HZqx!+GL=lxt{AjR2CgB+* z1TKc8l7R=EFn!Eh52wK^Am9&h`&##yOe7*#CEDoXT>;m`#D1yl^M>69>ncds_dRjy z6MHR#kbb2rCM9zxvZjO9TF`!}hM9&n4d3`W2?x+MP}=mfsV#L4jh1w4;#RbwkdFXJ z&=?PsHVlyVB1{bx429^!K$h|ANDo|Vmp%;Kt)+L58f7 z&QG6hs0g!BeYC6*t(u+&w-@U5w_x`m_FD7(jO=SxjPZnR<|E0T)p`h!9CQv0?D&lp$dE}%qt7-@xfxHJgiu)Akz zAZ~jA^#Hg3s6AAj9{%R{$!7W_UF0mb!2|9i5L^l+VZFLrUT@LF@~Z;n&_x%u#S z3^wvbjmuQoOY~G9-Q8VxTQ1$)d9m`(3^l`FDd^^())#-vs~0OTmc3#qMVjsvYbv|H zI#RahLpOGmzS2*+(=U`#{(rpE{oon?U#=*f|Lq7a3#J7sayT8j#N}XFa4(k{&?kxzY#r@nIeu+T&Euv7IRwbs&?U^EHJ}# zjR}cr$~hy}GIo7d%@|H0;X`YuwF%GX@x#FE3sPV0PL{dp>PVTUwWXn4Aq>f6aO#;D zX*d{e8}SZ%9)nTuc|7t)G`=Rw#^*H_`>LV*?+Z}UM0{=$W)|19v5gNi(B9xc43{~j zYJB$KBikiQEkGR(lt>~r1&{0M!qRsR&g2hVh0>6zNy8KSnytK8OPFZJpla{QdXuNZ zck?Mv)DbMyhLQ7-p0y8!fSmh}b<_Yz#7cXMp- zYR4;M(!R4oBkRt~rz<07g+tccr?`XU#IG}E4PsTJU?rQHln93hrm!3^v+dB(zK~c( zT>{T9pwyVx7j%H0-HEO(rA+&o?QBmSZJJ`Qr6pih2YYCwf7j*kW%SCOi5lD0!LZ3; zD6CEI)^K;R?O?h@VY6gh?{}b_xyO_Z3|?-Rx1A|L2l=x$;+~>u)W3TmM<^-xY#6qB zDrPEcZfRu+1q!6#u%ds*eCUs^D|#j{E2*d~tN>^2Qjj}Qr#8C=G3VL+Ct2!tZOCU! zr5ZcdVvFZe+YLR9E2DirK*QvWOTg-;R$s|P^?Z*|%<_ISokpOB?e-^8A$Sim$RC@S zh`m(NW3y7d@us%ES;*n9@_8X}{vm)aFgIX#TVzScgaFoMrS|2So#A(Mw?vve&eRFfsbI8yW_aQnGOWOV z8(#cvjk=3?H0LGqcko}8kBRIwOIc+1Y(9Pfg1wywkH;Z@=Z<)imJB+#PFg(nH#fg; z;C+G3i4<*j3wUSqLpS05_I|npLxfw)t$e3A)ZJ$-%DV?E$-SB=!-)cD1sXS6swtWl z6!psSKjTtZ60Q&RuFTOp21+stTND)ELN0q?I)O7A&O9UjvZ{befl2IM+WET_>*?|~ zOs*{rqEM9ZNtE!jqDhVeAjDM>-_H;u;=ibn{(y4JRM!!YA|oSdek#;EPl-}+JE*E? z{Dh$!0A}O50M2y8iayZyZegg=w=`-7ua>@X-Os7SL=30s<_-pVl0G%{7;0<3FhX~M z;Gi0C#$_rtj!-@-VoIVG%5XR>9)TP!l{S=!RhS_^Wi3h7m)AjCItc|mUl1ApC^{Bq zB9OSXFIzKOH#VGUnKpNLRm>DRG9|X@>vx5ppEUzEXDQ}LZ0H@R5l%&KF`_5r{GF?c=mWt#Oo%T;gyUPu-QD@4qb2Z-Z=Q^b8HtM9yszDd2!*?T^RX zVxsV)S8W%us|QmcXufZwfv5UF!!jDut3`t@ zg(qq#7dz#IjkD5esYhPS05~#sql_nbw$KH3fatAeSp#Xs?Gc%|d$FcsT+Qk41GoPw{0- zrDr$c5;p~JmkW41H5t^F*K4PlFK+$%lbW>6frEHSjn&oIp-i(0(ZUDC)`P9E8ru>T zrVzTD4bTT5Y%c8uSP47&Km!e|{vPJ}yJ2s{9U!GUEjq7itrRU}xjy2)Uz{=_VLANy zBPtiRs)^h)7AQViZ?di}@ST(EtZN(?!>oe~?uJFI(yMzva!PR;Yufu@$}CR~w1e&i z0;kr~Qw&XmuuInhZ{iR3N@te3Jle3dt7&3(b{*mOLo8^hTqoZZ-KtbHEy(v&+S2-2 z!&_f!G1Sjc_(!(Yq4?f!{Q_B&`$x>pz#hRvxMz;dcJ0p1FHeFuL!};Gvq54R&Sv7? z2E0Nb`@IfAx+otDt3-fazf_)njOMCEw(Fm*QD`TQ;aY_A<3vMw3;({IOWs2NXm~2d z%scvE%aOeG5mcPsXH1+XPLc?OiNLZ@NjmEub13f%Z*Z@w%JKuGWpq*sG9|?Lz{jF( zi_Lyn3HwO)DdwaIYW_ePlKOgwWtRqtp1A8bx4L0$Y!|@jL3=Vb z+D%PEJGMcTs0k}N8sg(uvP@p2H!w)@tKPRyg``~h*vZJ~{Vr(KQ_JSyL2J(x(Bo_W zWoVVj@wVBR_Ai?|!zW>J1y{9mCElyIqYS$RuBvH?9Z3oc2RQ{gP#A}#iC5FL)%(-U z5&RaqHxfo2dauRZ;-VhE+Ko=T&l`g-THY$d0IP({zb zg?Bc7v;bxoPC{*^6EBL0L&jcrzceHKY`k+6|p}~wKM*rNE7x;k@Lg4JEM22L``AA%Gvy}eb3~{ z8NI0u&cAYP4pe0<&AH{~-oBau_%nk6h!pIh@j*QnTdv5K6gY`jixh zsiCBlL9^7fiqPvHJMSyme7sQepbl0@EP|J76CF}hF?#9fa@K#_5`T8(0}oDS+QfcgA~(F zb+v1DfNq&X0hfnu;C|#ex|=b}ZT39m5^+fr@?s?wdMLe|z!J2~6>W?MYnjNW+EqTj zoh7!MBa@7LZc%+L@>AP}4dsFBk3YXHZgyOq0twF;+AcnBXJ?_JxAOPk`%|SvNYg*L zvf=VZKUI<0HJ<+x)uiH$otHf~cG|3?c}AE6>8O4NcIrH!y7GCPp6Vy*KNhb4Ct8P+ zwf`^4_wAYgurLq*zuad3N7nxT=Z-Iw^!3Lmq?olSYG<~^FzeO>(Klm%K`2H>M#^gW zlKAkiLvGZ9;!DWw{P!QOD4ES7uBaC|#(;z?@vYblS#LaHPyBmdw#Vt-VzuoGRq^#p zpJksu3?5gMxJFDX2#Ji(hHA=6`f zAmdr&o(gR7QVUt96kZ8ISmu$=LW*ZiD@tJV5BJw0c38Dpp0UTDhV9!oul_GdWTl$M zqppahr4JH6R)U4QuBh))J%308zxZwyr8~sC`nycj8WeAxj&y~} z4K@WDE34~rb+jpk1B6OP*Gumd2@AmtXD?AjS^_ zQC=S9V205cjt^W66sB(s=)MViVe)Wep^-J?)ES&?~G({GN&^O`JKg~88)xoXXmwYK;ZX<@+ahs4qJN9au*&s7TGVS@=_4!2&5vH@EUOd zD~4!Z=#vO&yiiwIClljYsf|^N>A=)CZ|PB7bUTX~oD^34m^agBi6XvNSwyd81t~D! z$_zZ)m{rhSML3~_u2IqFH2DW6yI&7DhthIp?dnfimlhQJ;+?lfRFLw1cAm3$Z~2X9 zze;mmUP8>+lda3bXJqr&kir;H}k*42(aGydXx_$Aba7JQ*>0DSH@caf~ApzCCT zSgm6WGO7Qt`~|*wTgjE0ZJQ$RxtQ!x;8_#LpjNqmk+<7tKyjV(94S{SKb#H5s# zeM{wt?zhz%tGxxGFs)(-K}F@?{QCKW!TkDC6_RWF_D#-0c4m4lNow2Eb%|Qax%&n( z@$nt-RrC{rp?GLh7hGWOQwB4O>aU6BR1@f zp?cCIefhTTBbWhCnwSLn^KPRP_}l4yis4H_%&t%=oGE11Z1KW)@O%6-^VX-<)*tHX zVtpRhQFsu75~BzIWiUTGyjTlWp*5Vzfrfe)xd%?>rfisKLAAtFvdT-Vs|OmqA0Zq% z`_c7HJb-f_mF4}0Qp=`#`wr7(75FDq;|J2fZfTZWzR&VmWZFdEm;zySSr*(%Ruq0V zNUnRoA!RE#ZYzAYbB)_2t9qe;Q+%dzowCo8>0+~NWC_kINjk<2M$&Em)&Qq@9FC8+ z$tp&caJ29C6=(!D+FKrKe&f}Amhrrc)MsWzt_j>YPvZ!*#oFQ$hUcE!Y5S;$0e=Lo zexl9^GQm%u6)fo&T!&-^99~G9ZZkji&UvF}nK>WLyefl@+wNe~lzbJ2^gHOQB#dM7|rI#Zw~O zO3URxoJK+!6a4&qv(1TNsBz`EOd1fe#eQwn!BE$9W1`HtwSXtib&#%+k{YCrex{_^ z&Co&78fmqm>`FyoJpDihMvhva<0y1B6nMw`?uaTdL%}!`j%VVJk0=y0p0p_{tw!;P zed-Foze;>GW&fTA-b!sTn%w(k#!E{f`5U(YBm|(>dZczMs4GW3I#Wa0sd#Nr%px2q zx7dI1W?K7vklUaCZi-k5>ediYZr*O?PMx90YSG*9et8$;$)cR?v5`7VdE-Ip^2wRC zq>Cw`#lCuD;E#1(kO>4)U$Fj_T(^EX>{ldz;K8S%eq33->pif1iD3Ow`Hka+8#!7kejNpQyz2e4z}qQrU$S_j<+uiE676jCez_-!9; zIx7COf5%Z>qeSR-37fuMZIstww2%C5&V!l~tCS1*C8JGukJXv9N;wK$ z+Bk~W8UslF(dTTlYVqb1>CY|D^M(5O!qo$o)ZeE8Y1g0Cd~FR;lZ$f}n_3-Cuu-2I z9Dd{7By&2%HjAS@oe32R!e3XqWGs|8%aEn)f$Idx&60itT2Hs00SGgdXzk!>lV=3t zwD-P*_rvv}?z;p$z}-&|7Oc?1|Niu~%_BckI>3+8$J;|ZqfG%uUlPMq#*`bYAFo3n z2tkT+X41mno`CN#Z}R*%7V!R?GN4`HC?y9W_uyhVR6c8t2G zOrnKuHJxC#)VoAe99a0*M%K|jEO0&SKoSj_DyfGx=eHPYRw;JCv28FsO+~X z3Z~lD!d~hZ$V;g;FKRxy5C1mtJyqiar13WSPSh?&BVY#-SXx}qI2hsV*7toWsi8FEbV@@z zqC2T9HV4m{X$m@n~4`-yKscS z9KC_>NhEEYt#}#vlL81jeoWu;#Kj4>m1%K%th}WRHtvw+;=jsUm9qr~%SR429Om$Q zeKdrpH}Q&?H>Kx4xY&KoI_DZ9C7`PqA2F`H`C+HOGKm2y_)0RlD7+v-2WHcxVJXB~ zQLY9L7Rs7&a9NDYZ2!4 zOARkF@JQ;eLc7i2bS~c8asI0$c#|=nGw?2v<1OxiRd+)!PFiD;#>sjkw_kG>hbuEtTQqYf5HJ&@Q`5FpYm^8h9o~6&xX%c_+=?%7H zEZBtnA^o0+yC#*AE*m=MeFPz>)~%TdF=-33;HY|IEv^0E6ktQ2H3Z zwUvAATx2|LK%)Z*&@rD@(dWP~*NZxJxfR(iSMI8C-MWz|SixC0DtwRRy1%(bpDJNG zReOV&zM}aqTK!A8x)yz^|Kt{vR*R#fWG+uyc5s$yd4FPVgcwvsJT+9iJIQb6>hTC< zaAk$1QWS64Vu< z&9)u;ll}>XQRQ?V{Lg~7qH03mbC#au82_#Kr=fb~_lUyDH>^y6)bMH50q2_UXFInM z8yYZrBaVH)wLxd4cSN<2#at+?b*^XoNJ5)4-j0RYD(B-)I4E+zVw-z-MaeHEJk^r& z#zR4B}q z(r~Dp07`ouL&JJs5&=+%tOE(976~k`b)}hQK5FXN&ZT7fQm@i*Pm=R!dX;=S_&f?* zT)rcRyJC`_*7?FX1^rB^K(@ll_cU^XA)TU!8$O$a$-Wz6&Q4EYNGrc4)n5SYI6E`E z=*LpOr1^aODwcx|>l5W`q#mR(-Li`5uM0*CP4cst+^Y=!=5h8DKYQ{{dp`vg-5RmG za(z?3*0PrJST5~{dTojmm>PA9D>+>DF*P<(DLE1ZI-nZraLeaT@+cqE&^2L7<>Q;X z@uekh?xu1LxIL^Z$$5pfd*|FxTV%9w>2Ci-@K(KOoZogo>15xR5G$yhb;5XOtQj z3m++Z0YpJ{zQSu%Z~jz)7q)lOZ6>K`t1Ile6VB+Y46}lcVV+J+o!`62Kr%SHqE>X zQbOiY5{8KaX(^v5oxdX_N$^5|>z$(1G$b7L_n9aQ%ZcYP1Q=EdJaS!QSg<-XB48eO#abXh}1_%qAD^ z%XX8v=#Ff=Rg(ck)VSH1BZ!U78em=^VfyBO=B1$6a=V%!k9ll0Qg$ zHLNCv%W8xJ8_(t6M75kivXqGKBoBj5e{A&EPoTS~xRNwKQUkKLN{OBJz{cb}>!|C1 z)e#w$)MZWFo4lLG%B^?L#YP(rwq;*dMm<^vDNQWDdok>h9eN6~l>C58l-!UPwi4m^4kmmU5Wh&X>l$%ynhz?dq5~TL7i~TCeOfu$->I{;=|IQdO z=Z|;$>RWQ@g~h!|p%2!n>2t)|P`_j;rrGFF4_0H%$rVL)-xBi2L|7&a#uAXs`eS!r z0!^=6=iq0NEY=t2wVP#?v@{T+8JOgz=+!&T!SDHSv-Gqg1=OzXC1L4Fvj^K3bTBSe zIk7uap5+92t6JeOsM$=6E481Rsztu0#oVyXWe&LX-~nZ+ z#7Ut5qB)sk(0cD~Gqdo$`khuLzz1lirg6XcZy0?IcO|v(^wJKASfan;V(+m2ArWbq zRjw*l)6gF{=fSYvi#*X)f}`u_UDw3?-B;-SwFEq(M>i;fe!oVe&RbOZ%}Ti@_>bu; zNH?<@>+=#rWNn`SCGoTi2f12y@+reV2K@OJuf8j5=U8n`4s|db3vLW_TDTUB0j#*{ zE%lM&qlUyd7Wo>QJiooL%}GA~^fxuC2qE-F0|*{h;JZh?UXjTpjTqt0@8z215wIKk z1z<^(%s#7zLWh9$OGmQ$@z<*5PkMY?lfojx#|ApLs-2%vHT}&eyBf!Et<5eEKu1ZahQjb_^mm`XZK-)9U}*766HWhOo30Qx+pgybWv=)VYwOe; zn_WvSQPVdzWwyFtEl&{iuPNluw>!aOI&_<3Wm%KS|J0ne;%EBUr)q^0PfkyFOYW~U zxj;>@`%T;dmjf<6**De+QLy3@!C>{ptGBk_=iRDlRhq_8$6?Naer7V?LN!+A=h}~& z_Z?XOYY8A@eslsfrxM-ybexB{d%$hnCpsbt4|_0Xt$#R?AZ0ly!Z*gagJ=hBl(*yJ z%V9M%dkPv0Nmk1MR`V5}=Ct7HNTm|d>PJY`otqyTTqHB_?N|YO@p@oAKSoe$+j#ZZ zYj7xW8xgmum+2#)OO$x^N+f-1=~0tq-k%F*{SMebF>@~B!Wjh$0JDUvQ$49-!=^HW zR4y8_0N%0;usE!t&bHK5r=r8B3I|6Gf6=Ef{-m2##wkgmZ_lSRPZD39QN6@DsFpA| zloqbmFjVkdeOI$JX6cU!709^Jh@l^LGpcDj++@N`inl4f+nA>;SPOu0$Cj(o9Ky_4 z&$M1dzu2udgeHZ^-lcq(R(>J}D@NV$F*RI8Nm1fX`-ZmdH4c0-ybMvn>|Y#?@iVHN z4U5&uv`z_8mU^7{iP-8ON78k;;Cr;R@`FCQ7M>y$&V6XL@3U0GT?|$! z{lUrQ>Fy(X>j8a+p9lo&`4V!=ZhlNlcTM2QFw;A$DfKioGBL3rQ3Sk1AiwNa<6tqk zqr0dRy?%})wRR^>ZanusJP_C|;Px*6;}z*i7KHXZ{h5SWVSsLxt``(k{&EAkwcwmF zm1#*RmNY&LCk4q!Ta+b)om;1@v*1d{HXQEH?z~cJ*~^3J{M_vcJ#ig8+~9okbwdS} zngIcvktVSwKPs_79hUTqSIakx zQn2Yr&Xu5~7$j!HH8;9L&fU!(W~SER6?xFQ)eELLqPX_4o3s=))ZmogyH(@Sov7p7u6 zqaj#^7qWC~F70c2YtX%u=d8zLZP|E00IINc*M9hsY#m!mFg0AjwU4~xo)fEQhFKs{ z5`S$Aa80|=XC5IG=W7?fACCaxv4!>Q7tY9{-gpZD2t_Qr5*izBQhB@h`5zN;$4|`L z?-;2czm_V#1+?5a@c~cdqZTkGX9VmSvBufvoR{N$=o(GFR)1P|- z5<-*36-5wov5T))Q^NHd%J(-HjhW^W^p0 zGRphePpdQ{-@N)yEMRNv_-^|N^%1=35?KJtJ_qpOK+XX zuY-+753nBu2l;_Y5+G<%y$1eQ3Um%^lB%W3QQ1U5Swkp}2X6GA7K2Z(i}Uj2=J!!s zjnKs?*-mO;aJP2hidz#^8(H-io_Dsma0ha-COu)7D}hFHVh9S)fbnX3gLJfp{$2FY z7KJM?B26~`-~;%=+ZRS606tjte~_;JJGXCu{@4GHDH|GNN^+UJyxr9t4c?n8=72hNto?a?d+*niG z8rvJyay*l$$=_+Y)0Va*brACx5Y0R=2f8#ogZv@0Yf3$k#TXQultEA#hkr7_x;9nUlBAU$WGHf<2qo{2E{1+`52YQ3Bdv0lYjCSR3srMwdhjA{YHRa z7I>+d`Tmd_ye&>Kx55}5iz&9_%|c4}up1p_#mWB}Oe!sU(PyYQdaGu1%Rz|3yKm(H zG1w7q9z9Uw6O$}>WVLr z?8q;uP+wjOCY*r zSk+4Sa3(70=gfI-=qoztB;`P~OGLhUW_X7~CxZ>oGO*zsS;PG)T_g1WTo;#M-Uoyw zR3(`=n`U$5{}36+-*&nk6B%iONj;+(W$xk^CbcmObR zgahz5;^W|7PjNC85EeAno^50OW4>LF%2s@$GRJ&JPfUFxw~{sX@jxGn(F(8=z0MHS zN%lR10i;7t4M0N3sPMn@RRU_qo<{7uhYhKJoiRYI=-$odgF0lvZ>RAp;KphRNU8JF zmXlttbeJ!K5!Pwddpfjw=VCs*xS#{m2EYJ7#$s<3XibuRaLND(s{fwV#UlrpI&1(I zJ`<_AKoD!@d+Ip$%M_rpYLQa|&&JIIKlMBcPyz-tXTFz>NlH3-u>(8Y4y4JvXb?W; z{{5X<3?Q)HFOuwJdin9sr_x5&E?cR9>g+xhfT!1VXYmJYRy9(?nf&_K-`_kg2J{W5 z1E-XW4D&P1sZW8CcX)xH5oLbxyXoLc;4IYx-=T?1WKMZkyl-3O-E!JyZtns3^!Hx@ z?``>K$piQ}E`Yfcxb$loz&^F9pGvnsHIujLbt`=qAkeV>SI?d7qQAoN+}9v^Zxd>e z%gSrs4)~J>FXf+t4mNd4(N>$(tj7}!Nx-_exTJ94)BT*B9Le&{;OI+MJ!2OL;@>`IL`Y|Go*#`Gn!`K4im{GTwQn$kEUK=xNmnxzK6G z+@ActVm#azmzl1j(L1x73Qa4ni5+N7S}XQ=adibWb9Xg-n&V8xlqMNjMli6MUD=#M zYEb4GclF)(pAlK8@)dwhi2U6z9a(9qmc$dndZQTYkVNFldK-W4~7JLe+*3sjjDPP<8u(%EXoYCDmef;v5z+q-U>4WFoT^XR+zo%9$$|*zy;TkjF`Cvu44=Q@wCCEJt{ex9((QM**3Gq*=$VKa?sC1-*}Oi+?~Fomgf3mO z?2qs%!L@QJ3|?=lYC9}-ys-7cI1R`YGJ=7+J@__cp#T9cwqX=nihjOueVuCkD0^^t z!30GlC!sp0j=ICLi8F!@8&+K>bEAytUDi>_iLv+TgT3b?k-3qhMO6jX1Ku>)!{(}k zB8cW+n$q)${TMey>TVV5%+Ug?@9uoWT3KSg)*cZ=er}FtR+jAX7~0EjyBv*7v23*Otrx z_WP<5^;X4{D)7jtu4%Uvn8+A&Cb_&`Yo&!$4k{Fn8vEEYr@8=IeyK3T4xssEPOmb!%Pq|Js36CI?$_Nd)~5qqdDL9 zZ+Qd_D52h2c`)|5GG@fCvUT6A5+!IeVul9B@BX5JhX$vS}5#56i1b7=RdzJOw%g>{bQnFM@}|- z`wj4wrHhqZCBkKBT#g>6vL#7S`NMO zcUom4<`^IW1*8e{95}C(@HRdAV>?x=2QXUlKYeW6S(S)vEYs=zEo`=|JlM8Xv)o~L z{M!{=uV!N6$Z58D7?PXrf5u=Y0KsX5ne>6vz0Y33sAJ=xOXF-}Jy^~#5cbV)18Ne2i{w9bIeLol)5fN{T-C-4VTLpyX!IVtw zQUDv^Vk?Ly_uQJ9J{8~Jft!f!K9FX?X8t6bb7?Vmc+XO2Ya9Fuubd_wiRBA zGdNq72Imdtb|*+SzUA96fjM+!Q41)c{f@G!VycI?*C{ZHIR}qxlO11}%sBNNmWgJ? z0iibpi1zvl>`KpV&J$A5F+-B(?LU5(wh$JB0p1SXU0+AN{a%n?fpd{Dx<~Z1Agq{; zTMD=vUwd4IVw%x(Uv_9{Tbk<*|8uyalAo`AnQ2K+MEc9!`7)y*y^4NKwp<}uW3v+y zpM!*vO`W-wm=t>F@TV-+`q$phifX!FqXcWkG$em1ES(pe=I!11*8e<6&?_Rd1^PTD|MxPLlc2)}M>7)>#Ua-ZPL;)rjFqp|- zf-vpLvg!<~IO-DY0w1|{3GfTXDb-s~{EgY0q6lLZ>P`1X!l-_3?=H0x=uPw>BT@yR zr2Z2|z&POQXECR5F++ZT?#OOBOhiGqM_G$b(9DzuGO^*3gv}1NQ4@iB>n}+9 zBe^HhZ;-)E>$IX+3W5agw%YV$NvOMhWxp-Wr#ZpfIjWqIX()S5NO{X|^V>@Y^$r3( zT)eO+(fl4fT!6or^juk)a-Y&l32mbvvcH}c*|6QZ#@F-9SZ@GdWvRqi*zn%5pv*@a zsE9+fupc<3A$dak&TPeC`{B|OorRn#=FKby8jiU7qoC6+SiD@i+Zm~F!-QGL?1(}C zv_hGZ@*O>v-?jc!h82qcy0ZYr9(?>9J=mLm7?cl6>sRKu2Iz%=$}N~Tzev#*+h~as zJ8$rkJ(apiEoeVAw3oc{^pF2XmBi(*o(c*uagP%z^mQ%h$<11ONep{Mjufod%uS_wJLS z=MZIFaZ>q~ok63*XVjNtU`l(4hJA0XH6ZD2*c<1NR%Bdz-S-L7QR8Fg=bDwhe~HMY zFjk-Hndo-^oqcGp5noTOS1SWib$Nn5{)HZ)Hm6rqmUcXgn7m?&M&wYLC^Ctu2;oGJ zMGFs8%GfZYCH6dF8(JMCdr`_H?IOTG^~}DlXj0m((pjQ5uO?3yyBiumoDF0(A1-$G zTLAMaKOg+4j3>Tf=PNDqnfqkt`SBRN)Tk&CMkZHOT;u3yWAzbLSxoPFHz>k&b8e%$ zI%=k~*l1E$+{X7&`^G{qdNrjgvRFVFvAnpn7i_G33s&10DS`Y_V2`h4 zrq|%De%o-kt`9j$+gU-nJMz;-2oNPXKFH^qrTh5AJU#I>GBz&DUz!$hWGIx6|NM-a zY|QcSGJDgdo1TGc4NpT1(`q58Dzk+gDh}(TNtrU2yI%i^1yn&ibzJdF5ADr1|J-%m zUr({H+8!=ss@yRXYhaETvD;$vkq+G?^6ZPd;tGK)M{@T=&-9PR?m}=}`?iK5pc@Us z2d!Kpu#*|H?tS@{a1BTC#=~);b>$E&vI@fr+Z+#yc2!~Jdgta{9F%fO&_10=sj_0` z7r@>fEHXKjQ8`OCK-FdDz5Ut9-pjK~VJA>j>?qRwfgB2mvYG%2t+2G3T0apt3Ehtc zfDr$^e%TfPT2_dh_RI^H=%rB@?t5fJ^}Bx(Fd*~UCDrt#40SBFG7N$obP0#2m}I3v zM(A1iAe-WfW~7Z7IL)u00xWsl7n!{EOL8X#ShGCYhtn;ijW$~Z&5!!RXnqB>K|4*qFPmpuC_yMUK*zprL21dpk91`rg5dF+FbhT~O@<1=?9;lnZpIOZ0Lap5~%x6rqg zj_HqNWVoH~e6k5h!!>BB?(GBNKIN`V9261HLo=%H$>g zkR5t&4S;eo;4>?ZDnLqIy!dc3cy|uw{pi|k#(E3xqfa5vi$*61WByIK5F@`h^86|w z8}%ojeQylp3sk)F0IjA{>9uKB_(iQy@cy0#`PBnwa;iqEwlYBF)a(eL;_I&-)m|Y_ z-y7-x@(kggOOn1cKuMhGc;I~%C~q;Jq&zehuUw~CtD}-7!Rf(sFy(SUlu*{nnj>!I2;?CP(=~aIkiTik%x6qm@ z={MD?1J}qSC;PAsV4;C=fD)iiX!f9PGtZ$`JP3jf*>q#=UOju?SBQAxF0Yd}wYBc$ z2e9zIaSSk^{J=}3S9*!qVKt5qZ+FTN>K2Y&{gS}-6P!L=zs@ziG}3MUBFERbw9S4q zxeQSC&?zV2Kj<}a`wO7bQvU_nNNLVFuO(S5D=A-qk0KZIA`TqN6k;yQP#Cei84ZXp z_p0u76f3>B+q-_|GzQrd{xs<=;jdhn!*qqW08p4d-~o`P+khLvtM)r14D0R4Cj*RpmGH#Ot9R}p>h#WG+8kc1+o=j9xOdeGInI84sn5H}Se z!{R4~*|vbDsY;Xo?v~nRxVQQ4g88N?Z(RxSC}y7lCB}6w<%%x1$MNCIF7X3Kpc?Q! zq7OfU_{UAU97PxLc0=>mi@xa$cRuDwcHXawx|FIsi(BT|UEjG&+0TAezdYZKw_-gn zT zHNct<>;PIaK~&75K-2He6Pb4Odea4H{TJ92*s3mOoUXhcE=yd*oSv5U;y@DSS64k} zXJd|z$XR_Ko^t}XbsI4B!%ul%#8paT=G)|}7G!RjJmNCIvyhEyIrt=QpaKM|^51KM z7x2pJD{a8@s_AvLSsT^G>x}@~+4~DX2nEi60Ull%)mUcAMMS-TN&qm0G7bn|z>kM{ zHZ}Tu{oha#Z(maih)FC=_xIBZL;zp-2#_8N>$DVDrTN+nCtY{Hoe1{dqR{a>CI!~r z0xm%Zq#M$D`(TOFJy8U3l#P=vuv)%9EjvxrQq};asuuvdH!`RDv-6rwpSp%sr78fk z2!WOOl4FFe=Ba6M$uU7E4Vr!{`$X zYU}$8n0*#!s>@$)6ZC0k2v8!C!GQk3gEm9pP@UG7D?z=W{;r55ODXU_IzHDXoz9=g!s1wSa1|Bl`;SphL? z5F1QRdP5=9DQeWy=^( ze+#@KNBlG?Ea`@AcZ?@i;6V28`IAUs()4iv#kDD;w#4qhvNQb`)r!K=Bb!mp6m74m z0)I)uV(Sf!)_tELXn#V-Xspo>|Cuq0-#TaLQgP(R1;j$@n16yxH#$XZZO@SG}J$6(L8%OmIwpTy+PcbpUU2^2UfL+@i8SK~<*hY6(iy}>>PF%nyf z-2tyC>>I~@aYPbGNY#=&w9|_Yz#6F$m{2MoO`?v}7rtrLd)+RulC-ixfC3ClPMoNdYDJgFl89n+SKxk-9pRF{k)@-w6Q=9hISO zEmf%ohc4vYpn|3eze8+dfp5q3M7?E&mUwmT>Cd03c6gh>2et<_ z%zhp`x*wHXw68h?I~XivV$_y`Z5gQwD%E~eusJUG>R9CJ;nv&5n3R+|jyV996X(V6 zHA+$@#Pt>mIQ&WK4HoBf49C$T|vNp#8k_?mScbbS)40mw-_HK#6F zL8cA|Vz?MN4DaBNnGHe}atxhKHKyU9q)AQjxz7d#TlE8=#+qYM?bFT4^J8cf>**?m z6+NEQ723@W|IV$Hlj?;Zn&&vjrIZ%wn6aCv8K3T-(B`qN%&2Lc0&Ah9)*62#Q|$IT zghPb{7gJ4cmjk5HN7iy?X6JY|@&`ZvLmFLmo|uz=)T)1qncx@|$RBWRfiX=QC&*93 z(dFw&>BEK{T3LYaP*e%)x2VhuXs=s+0n||0n-3hSB}^`DLAJt~=rnbRts1>HY|6w>!@g6|XAqV(r z05iVDeqr60#F2m6grx`C?zbMd5P*cFN%Fr#cJ@EN@!!>y`8Q=Fz}Ey^`7hjoE_1%` z`kz?9e~$v_f0o$)EV2LMi~4^S^8e2vr2m%U^#9OyuqRe)kofi~qpDT8h@wpp26yAj z8^4+oO^}*IE~xnbwv$RMaxm6mb{AiB z>G72cT5z^V)s%N-6&lvtsysEj%DEC8p*g2ote+lLJfMuSEmWrSAm;@vXyCK@N) zG5z$yLB~{V!z<85FOQ6hA@#Z^A9LaN<&&km%~d@)WxP9IvOT(KN{arG+twcUa@TtM z8~S*`lPOhP-j#Iu(ebtD@oeU))68G0;4bBTT~QXrqfR33L9K7|FYJ5Z8=D?kT3h+| z!7ONBbE_H9^y;Q6n^___OJgTD+-ZL|U^XgR+(2;Lp2%sgyw-G_V(UDEYdRXSvE0>_ ztd+`t;X>w=w`v=X!k8F4j0_Ep$J#_ub_ep7&OMsns9@-w#$wM@w}*Qsi8D8yu2!VwNP5 z@4M02Ies43S4{aTZRD0C&#b)6-4LR`X&zA7lTj%f0fVBY!!-DY)}rxy>F$tt^A91d zWQAd^QOo+EP6W+!jkTHgeOcpAtPS-!Q$w_MET;4YElhr|6YEgQ!$>!AMuAPQQUH;2 zY@@M>?mOLadpwHYvE!xdSOTjI8%d%g3;s3wcZ{aA*qMtX^ga<>(hGNUnHmWM(_t9}CF;uwXcK(~kY*5?&Q>9pAy92=E}i@h7tRM-b4nlm`` zM)8f&mZEpSQ^_*BwZ8u%j6C2B;ujS3I3(wzQC+Nm&AOoClrT|lfdQm@z&JO}_SpdV zitEK&dGhv-lQk|T+NS@%KKgG9R;xNrrKu8pHr4)p%xNZ;BRydjl;=|gujm+M=Rc zNP)PJuKduIsZ3Jb>*6I^{Ys^avPxKUrFpt*Db{qgfTHn3A5UDOGP}A60(v4@Q(^$Wg%{0??j_uvD1c_Pk*|PO{oJo;)Ubv;#rYW~X4`5w( zzYDQ3{}PTmP1g_ZTy>!Tdg10FtUpShYwM7XP5owxNSW@PEm^|{NEC)I-#9e#IUZ~5 zeV>>%Xw>*a%9u8CWdi*aD0P8l+P=zLo19-akw91QjOp89A?jq#B~F_qJ=5ZV1Od@R z$_$diG$>24SapeBcC)AyBmSCQBzABoMZlA1RdJ*m-5e38{PxNC@0jVcfYFQK5uoAj ztdrQk{RWoDTsUSF=V0oehs z5hmCapuQ!WZ35ss;P3ysIF~*a=)Mt3b-Tb*-DL> z>;e^d(`$1*q@kb{5xlyeHSb_CAN7Uh#V*78FVmcbelOk_jUZDr1aJX8l`K`%xzY>( z^zP5~vP`#3D-|y7rN@0AK^SIkKXmx+nlHz{Kp8B4Wzd*P&{C998T#hb8%lii(DdrD z7g;;|`p@TzgQCeugm`9ofTG4KJg_m78s-6s=YL~y_PWBaOEVjUi?SPuY{hgU=6B3T zy3P{-6F;8&dqmvs*yt=MzX6oAA0M~x`d5Ek*GP$iSS=ET(@*CAP40%8fJj6M_-2Nd zFK0U>j%$i*C-YpMdmo(s%3I+Du>Em&F9BPhk-viLnt2cHp23=CD~%JNt1hzR<=l-s z3!J3?=NeW2l}9|nx=6RjEUFgSN7dy==bHD@$iF8nnw`PC^tK#(ouNmJ&Eux3p3f9E_TfYo+C6?Rzo)SEj>1=Wf1I^>!3txyCJ0@S~s_6NV%P zOE)STef`45(I!&r9$|}gwaUS|_}Fa2n5k|dwXKu=XIZTHGG%prX!faYE6q*1_&O7& zx=0sbp;(X5K63=bHthOLqvTdPDtzLSr4FSSKR|s%50#ZqnEBxS3mMX$^Rdj@sKk*e zL$$dw5}C=x2k*!p z6v6nvqVi1QdjC@Dy>6(eNWfQW-{fRPd07AOgI6vC*=wH~CYZWulEkF438~?Ac~1+R z(kX86l6!Mcvp%CnxyySb7Co1Dl|s*fk_HV0&FZqlEWtWL+{kG^jHJ3(yl%|JYtLPCZu2Paq5P&--ezO zTs7XJHW{Ksyn(!=fXjisc?toPjb8>fJ$kGbk00GY%|AwjerUJyf7RuSHDrnT7>Qv8 z%A`M79l;KtVJuHz}oF5XwpDvSIaQN!S^r)J1gzsMpXY4-d$?nPI3m)c&$da*CC zFW)AUfBRZ9dkPOv`<0WO%b?tzSldH4*p*%3@@sFLVs0O!m^&b{H7kO+`aq#eQ{1NR zvqk3em7;r}DdDFrGaMAIA->j>^6cM6*k8aGRR)Kq)a?XfNWXtRrRipVMll(p8VV-K z^pvz61vdLW;Xv$LkNoh0$GkDh!0bFFHVZ{nhQ-xk7AUWuKzqp8pH$f#JJ*2k->fBH zTz#R{@=9eOm%X^mw5^ckZBbABd%Bm*kxzMvtiUM?_Ld;Xcy~SrHc39(B|n}&U1M$C zTTL&aobcmO^RvV*xv&zH#92U!y*4iQ#(Lu0<6#g*Tqnbf$4U;$T4m{%6=T{74GPkM zfJbSSWb_m8VhJ<9%)Ke42i?}r5D3|idL3^w`>_yrOgK&X)XbH{Vwc3qqQnfbhV+f9T?lsh z?~e(nJc(J&eLHE0I{WulHs-el>gB_&SA`#+^09 zy?IkiQ2c_gXWK}Fpc{u+q{DJ72wd{qJ3sbCf?J<@e6G>HUxr}i3pLKT>YAXG8te14 z$$q2qn-v|JBh!rwHkRheo%7Ge$6O@y0%=0IBjW2>r61?QqVuvmlfbCa$Ub-_!=G(4OgR(BS;^B9L{kQz@vTh8P)^(?3`%Ig+M zZV-fFdTgZF-(5wy$FsPK8w>Y729NNbR~NhK((&Gjd1o#8j?T{S+>)II15T*?i1%~n zMoc|HL5{09ag}0;?ZnKAsg_VwVo_MmXNxP-YJ(D)ye5;GydLfxnWRniuX}1sN}uU& zLbG9tTqb$H&;IDS=nmfU6ppp$(`1JaM!P)Q_IauWtccj+<$h(T4v|4$Me;bFL-S5N zHC%jhT`{$*D@R!ZJBulMc}H<$BG}eK6UR_MP4Ow=~H(lLT9%>S|FI6 z_ig!;EIK&&?|}~JsBZU%vph@YV%5cTB@&;}JU@AdW6!Tw62b|B3Ix*siC3*Q)}~vp zj&)q3PF;FrqjuLh{~A;GCxv(cu3R!MLl0&i#$odH*gQPdmq7K?Z-~prB0l>Wh&A&Y zh@DPzrRNP_Ha$UM)|*CYqwexhd7FKhWMnSe21Y*k{j*V`8seIE&(# zmDoX=j5f6X)D}LRtdKKx*T~QwUb(wGG_zM{K-Z$=IT?+C$mwKz-%{h?Mr$Y3u$jKT z8+&h-Mz00EHPW-_f6!_Y%b_Gj%|(g}O-h!hu(K?3bn@@DFMnDq9FF*}Fl@KdpIlQJ zAIDvcu~k@}f~M-&r1_Bvx}EtZJW6FuZ;1P;#x-O?()PHVZb@#iW&9+Pnby1gA;d0dbsv7e(GG}q~ z+xim>FM@5%QyMbx>=~-G&<9Dq_o8+q%?U|YTo}PQo(3Xy=~h(o`xeoKs2> zM}a9`q^qudTNm&2nuSsw!R+~)<~7>J;~aWosfK>Gap! zjex_t2I}VmrrR0R-^I#+Vs4~ z!>g?}Hd=m>=ZCc2O{BUmZGhA?(tZF_Oh{0a7QxnXZmC*Lq?xFEqnv;U=83;TY z7j2~j|0LG|dY}@jYhP*4=H>{S>brZ;$t9Yg#6DnfC7KB8V zy$vPNT$~2_$kWUKg*HSWdp`f23QUiEwHvEYrNn!w8N#JF_-^|e@A5+`F2fnm_c={Mb{r=4xtnz%UKY229+~4xR(F8&dC4S;w9j>CiK5*8rj;VCs-etJ z$!a{nz^esP}o9`o{W2is)O;_|nCUhbc0(eF9CHL%Z>@K`b(g-th>e4@cst8Yc ze{g-XAT`!|x25Gu32Zs7GT6zy;;ZHRPZFt#*6Krg22Kp`Zh`y1nV)=ALaS8%*^}RguGiga{+~ zbmMZAP?_!&3(L%z@~zb%Ped1O&ij(6gp|ss zDC;#{anmmp9D~QTnYbRuJ`FFeK^8Hr$J*1B!(`Qu9UMhj-iik^Tk;cG&J9qysTm(` ztJ-YdsYZ0PiQdsnvBnB6LBa-8Us)YtdZxVM&uK@gHAV-WknsN1XS;7MuvxK2d2ARz zHw}HsHcq!HWz-vKW^i|$;_U2c*^}tAR4)h%u-)`B@UcZ;t_XAi(CiC^U*{+H((I}$cEcrnX zW9V*9@WpUDuHijojgDg;!a{ymY@*KFtr`QvHY&=;X5O@ooyn1IrVFkmpayP0r%+|8 za6KYINrft%bSZ$a z*p&+$KouXN44wLd5~17QG<#vgZrW)W=pc5~xioWb5d6&fphntVwTqEXRA6HJ^3i+sCT!{Hq zxP()=Zl#qzE_8bbF`zD8O+5SNUY%K0B4v^~oz((r>J+mDO{_?H5+Bm8)l@pHvOF+2 znCP2U0VDOl>yVe zf4#jN%v7b}J7*<5$wzbSYOp#@GzCXJMx`lF!29(R&Giq0vmehz`wKjepQK1ov2a&C z4oppnA+*0)>b2=W-WOq7ne=SyL2QaCc{tsDC245PJ=p&oBI3WQz7~7>n<&CUDkAP^ zXOPuB;pkrqydU;fZ0EU6BgP zg!zIi4N0C3$a-kHcpNz*G8R)~M_ejq5P{gj>-SEqW8(jDjP!Cs8WE>(LQ^N(#)EFZ zCMY0marRj1)oc*~KE30UH;tya*NSOUYsvOKFO5_ku?p-fM8$z}#h)I+J=Ady9W)~O z;0?TF)oLAwH5U3hrh#jE5KO25XKN8*pY*%p>S|!l#dzW>QqvSR&Qwf#Wp2`I(W%{8 zRkCVF|H*QTax@5b#vb?FZY|tyttf>GjvJ4mw9l10p7OH8~i= zvZhuJPbhXY>#dHb&T)Yrq(u&CSVZ=4JVYd+{maofU269_3in@YOJAZe(bV20-j`A2 zkGnHQrml~}cPtSJjjG&3ex7SykTKiu;UuB4dTk}|!0|>7PYg>fZhiIYH`tBvMBM49 z1F?4A!SbiO8tpS`>h1k}Vo7?ac5fIRp3@Bbh=V0e^WEmD!F(#pmUK6Ouw8b61z2rPK*t7i z+0_^)G@qt91z-8}14Vj$%(u{!-V;MmCzlT5*U5O15dO~gCz1Q!=Q-GJ)%2s$dT5Di zIaUUuqnWlK@9q{=z)njY_ib29cBy@ZI=Ghp=`ZXU>w*hB#kjDzEO>iqOBCn1GMVw} zA${cV$b^N14hQx(JICtJs;^Hz&y{Uq9!q&iKjNY*%;%hncyw=bnsSaGde#1^y1^6o z$3~+Of-MYBPqMSLqU`+czp)N*c<`K~8>dlBB6j25y(;l^HG^!GvS^=5O7BU8IS!@Ey#9^O6){dfdm0aP&wB2vXG9DQXYW=xa697#loN$2wrsby z=Z91P)Jf)NcIlGbBuvo(JJoIRH+f5NaCnb!-N2D83wpUcqpFHzuz8P4iRfh3GMc`V zI{?GztM8Y!$o%ef6cA}wxCzg&G_gP({7KaG*n*V0->~Oo|62M>>OK#Uih8La>m_T{ zYPSbjQd!h@yeiq*Lu9`9fgB%>tqI+(o^-+sN-J_h-TbF|w29;jD$9$bP->vs|1_E! zK4JBb;aPca!JinMkXsvl?gZ=DdpX5Fkiv@cs-%O)1|c_UU^BO0Ey?Ni?9<2Z+jyO_ z*u1vg4HUgulevBnGHSBz>5c4lQuXW^jc z65gPGv`0~{;>0*;$a#?Q7UV`pWWR)Gob$CepS-60@<`gpq~!2QsAu`wo^DYIC$^M# z6S^oDTZw-7oTF4tLpXW(U~9Zm6)TT@a%XGxPppKb_@Lj3e$BsHNK$dI$=2GNvCIWn z@6jj3=?yam&xa@H<0u2RtDm0TY7u0#PwuXcu&i*t#$VdRRX%PFy(Y*QVL548(QoZ? zTlQAhHs2FGK{BF?EO@#COR8TsXOFQdzr?Q98!c~+e|^r7b~Ngd6`9LQWkVJa#}&q3 z)!)t_*t=RuxLsSV4Yj+952w6r?vT&;%n>T20w<)G5a??f6ZZ~0b}oV(}OYifP7 z=DvGkWo9@ z8=6Q4rwxUS@`|$mUrQEqU3yiaMz#3Ku^X|{zh8*n&olWq$Hsfow<|2M=T3M^hV6J9 zec4u2ORk)upXDi2n619)CyjH4Z8b- n;s5{UqwK&X;|y$|%*)JRn(umg^Ai6VKoJH{S3j3^P6/mcp-server-plugin-host-install-proof-probe.log`). + +## Cursor 3.18.25 conformance gaps against Agent Plugins 1.0 + +All three were isolated by mutating only the installed copy's `mcp.json` +between IDE restarts and reading the per-server IDE logs. Spec citations are +to (1.0.0, repository commit +`ff8ab5e392cc87bd88d87c060815a87490e51003`). + +1. **`${PLUGIN_ROOT}` is not expanded in `cwd`.** §7.2.1 requires `args`, + `env`, and `cwd` to support `${PLUGIN_ROOT}`/`${PLUGIN_DATA}` expansion, + and the specification's own stdio example uses `"cwd": "${PLUGIN_ROOT}"`. + Cursor passes the literal string as the working directory, so spawn fails + with a misleading `spawn node ENOENT` — even for an absolute `command` + with an existing binary. +2. **`${PLUGIN_ROOT}` is not expanded in `args`.** With `cwd` removed the + server process starts, but Node receives the literal + `${PLUGIN_ROOT}/mcp/.mjs` and exits with `MODULE_NOT_FOUND` + (the literal resolves against the home directory). +3. **Omitted `cwd` does not default to the plugin root.** §7.2.1: "When + `cwd` is omitted, clients MUST use the plugin root as the subprocess + working directory." Observed default was the user's home directory. + +Supplementary observation: replacing the spec placeholder with Cursor's +proprietary `${CURSOR_PLUGIN_ROOT}` in `args` produced a successful +connection with a stable heartbeat, confirming the loader has a working +expansion pipeline that is simply not wired to the standard's placeholder +names for this format. Bare `command` names (e.g. `node`) resolve normally +once `cwd` is valid. + +## Consequence for the portable adapter + +The portable emission (`cwd: "${PLUGIN_ROOT}"`, plugin-root-relative `args`) +is exactly what the specification prescribes and stays unchanged. Until +Cursor implements §7.2.1/§9.2 expansion for Agent Plugins, stdio MCP servers +from any spec-conformant portable package fail to launch on Cursor even +though the plugin, its skills, and its MCP configuration are all discovered +and surfaced correctly. This is tracked as adoption-issue evidence, not as an +adapter defect. diff --git a/docs/framework-mode.md b/docs/framework-mode.md index fb995957c..274797d04 100644 --- a/docs/framework-mode.md +++ b/docs/framework-mode.md @@ -117,6 +117,18 @@ and install through their public plugin CLIs; Cursor bundles use the documented `~/.cursor/plugins/local/` location because Cursor exposes marketplace management but no non-interactive plugin install verb. +The `portable` target emits the [Agent Plugins open standard](https://agent-plugins.org) +(specification 1.0.0), with schema hashes and the specification repository +revision pinned in `src/adapters/schemas/portable/PROVENANCE.json`. Cursor loads +this format natively alongside Cursor Plugins; Codex, VS Code, GitHub Copilot, +Kiro, and ChatGPT are native clients too. Claude Code consumes the standard +only through CLI translation, so its dedicated target remains necessary. The +standard packages only skills and MCP servers, leaving rules, commands, and +hooks honestly unavailable on the portable target. A dogfood proof against the +real Cursor IDE plugin loader (discovery, skill listing, MCP launch, and three +observed Cursor 3.18.25 placeholder-expansion conformance gaps) is recorded in +`docs/audits/2026-09-02-agent-plugins-cursor-ide-proof.md`. + The framework CLI performs those same operations: ```sh diff --git a/packages/agent-bundle/src/adapters/capabilities/portable-1.0.0.json b/packages/agent-bundle/src/adapters/capabilities/portable-1.0.0.json index 6eaff3310..e0aa434e8 100644 --- a/packages/agent-bundle/src/adapters/capabilities/portable-1.0.0.json +++ b/packages/agent-bundle/src/adapters/capabilities/portable-1.0.0.json @@ -1,5 +1,10 @@ { "install": { + "evidence": [ + "2026-09-01: Cursor loads Agent Plugins natively from ~/.cursor/plugins/local/ (https://cursor.com/docs/plugins).", + "2026-09-01: Native launch clients are ChatGPT, Codex, Cursor, GitHub Copilot, Kiro, and VS Code (https://agent-plugins.org).", + "2026-09-01: Claude Code is not a native client; Agent Plugins installations there require CLI translation." + ], "reason": "Portable is a distribution profile, not a host runtime with one universal plugin installation location.", "source": "https://agent-plugins.org/", "state": "unavailable" @@ -15,6 +20,11 @@ }, "host": "portable", "mcp": { + "evidence": [ + "2026-09-02: Cursor 3.18.25 (stable, 280eca2911f1) discovers the emitted plugin, its skill, and its mcp.json from ~/.cursor/plugins/local and spawns the configured stdio server (docs/audits/2026-09-02-agent-plugins-cursor-ide-proof.md).", + "2026-09-02: Cursor 3.18.25 does not expand ${PLUGIN_ROOT} in cwd or args and does not default an omitted cwd to the plugin root (spec 7.2.1/9.2 MUSTs), so spec-conformant stdio servers fail to launch there; its proprietary ${CURSOR_PLUGIN_ROOT} expands and connects.", + "2026-09-02: With a launchable configuration the Cursor IDE completed the stdio handshake (connect_success with stable heartbeat), so the launch pipeline itself consumes this format." + ], "pathTokens": { "args": [ "${PLUGIN_DATA}", diff --git a/packages/agent-bundle/src/adapters/portable.ts b/packages/agent-bundle/src/adapters/portable.ts index 2c62d784c..5507be5af 100644 --- a/packages/agent-bundle/src/adapters/portable.ts +++ b/packages/agent-bundle/src/adapters/portable.ts @@ -58,7 +58,7 @@ const schemaValidator = createAdapterValidator(); const validatePlugin = schemaValidator.compile(pluginSchema); const validateMcp = schemaValidator.compile(mcpSchema); const metadata = Object.freeze({ - adapterRevision: '1.2.0', + adapterRevision: '1.3.0', observedVersion: capabilityTable.observedSpecificationVersion, schemas: schemaDescriptorsFrom(schemaProvenance, schemaProvenance.version), }); diff --git a/packages/agent-bundle/src/adapters/schemas/portable/PROVENANCE.json b/packages/agent-bundle/src/adapters/schemas/portable/PROVENANCE.json index 80db4cefc..8898fc4cb 100644 --- a/packages/agent-bundle/src/adapters/schemas/portable/PROVENANCE.json +++ b/packages/agent-bundle/src/adapters/schemas/portable/PROVENANCE.json @@ -1,6 +1,6 @@ { "normativeTextWinsOnConflict": true, - "retrievedAt": "2026-08-14", + "retrievedAt": "2026-09-01", "schemas": { "mcp.schema.json": { "bytes": 3408, @@ -13,6 +13,11 @@ "url": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json" } }, + "specRepository": { + "commit": "ff8ab5e392cc87bd88d87c060815a87490e51003", + "committedAt": "2026-08-19T16:34:23Z", + "url": "https://github.com/agentplugins/agent-plugins-spec" + }, "specification": "https://agent-plugins.org/specification", "version": "1.0.0" } diff --git a/packages/agent-bundle/src/install/surface.ts b/packages/agent-bundle/src/install/surface.ts index 89ce954ec..ed89ce424 100644 --- a/packages/agent-bundle/src/install/surface.ts +++ b/packages/agent-bundle/src/install/surface.ts @@ -66,8 +66,10 @@ const portableInstructions = (): string[] => [ '## Portable Agent Plugin', '', 'Portable is a distribution profile, not a host runtime with one universal install location.', - 'This bundle follows Agent Plugins 1.0 and can be copied into a compatible host. Cursor supports', - 'that format directly, so the bundled installer provides a concrete local install path:', + 'This bundle follows the Agent Plugins open standard (Agent Plugins 1.0.0, https://agent-plugins.org).', + 'Cursor loads this format natively from `~/.cursor/plugins/local/`; restart Cursor or run', + '`Developer: Reload Window` after copying it. Codex, VS Code, GitHub Copilot, Kiro, and ChatGPT', + 'are also native clients. The bundled installer provides the Cursor local copy:', '', '```sh', 'node ./install.mjs', diff --git a/packages/agent-bundle/tests/adapter-metadata.test.ts b/packages/agent-bundle/tests/adapter-metadata.test.ts index 9645edc53..3f4b91e84 100644 --- a/packages/agent-bundle/tests/adapter-metadata.test.ts +++ b/packages/agent-bundle/tests/adapter-metadata.test.ts @@ -51,7 +51,7 @@ it('records exact immutable metadata for every built-in target', () => { const registry = createDefaultRegistry(); expect(registryMetadata(registry, 'portable')).toEqual({ - adapterRevision: '1.2.0', + adapterRevision: '1.3.0', observedVersion: '1.0.0', schemas: [ { @@ -214,6 +214,21 @@ it('records observed capability versions and rehashes schema snapshots against p type: 'string', }); } + if (target === 'portable') { + expect(capabilityTable.install).toMatchObject({ + evidence: [ + expect.stringContaining('Cursor loads Agent Plugins natively'), + expect.stringContaining('ChatGPT, Codex, Cursor, GitHub Copilot, Kiro, and VS Code'), + expect.stringContaining('Claude Code is not a native client'), + ], + state: 'unavailable', + }); + expect(provenance.specRepository).toEqual({ + commit: 'ff8ab5e392cc87bd88d87c060815a87490e51003', + committedAt: '2026-08-19T16:34:23Z', + url: 'https://github.com/agentplugins/agent-plugins-spec', + }); + } } }); diff --git a/packages/agent-bundle/tests/fixtures/host-install-portable/agent-bundle.config.ts b/packages/agent-bundle/tests/fixtures/host-install-portable/agent-bundle.config.ts new file mode 100644 index 000000000..0337d77c4 --- /dev/null +++ b/packages/agent-bundle/tests/fixtures/host-install-portable/agent-bundle.config.ts @@ -0,0 +1,17 @@ +export default { + hooks: { + sessionStart: { handler: './src/hooks/session-start.ts' }, + }, + mcp: { + servers: { + probe: {}, + }, + }, + plugin: { + description: 'Proves portable installer and filesystem/schema conformance.', + name: 'host-install-portable-proof', + version: '1.0.0', + }, + skills: ['skills/probe'], + targets: ['portable'], +}; diff --git a/packages/agent-bundle/tests/fixtures/host-install-portable/package.json b/packages/agent-bundle/tests/fixtures/host-install-portable/package.json new file mode 100644 index 000000000..6ccd2b41e --- /dev/null +++ b/packages/agent-bundle/tests/fixtures/host-install-portable/package.json @@ -0,0 +1,6 @@ +{ + "name": "host-install-portable-proof-fixture", + "private": true, + "type": "module", + "version": "1.0.0" +} diff --git a/packages/agent-bundle/tests/fixtures/host-install-portable/skills/probe/SKILL.md b/packages/agent-bundle/tests/fixtures/host-install-portable/skills/probe/SKILL.md new file mode 100644 index 000000000..ed018d6ef --- /dev/null +++ b/packages/agent-bundle/tests/fixtures/host-install-portable/skills/probe/SKILL.md @@ -0,0 +1,8 @@ +--- +name: probe +description: Confirm that the portable host-install proof fixture was discovered. +--- + +# Probe + +Report that the portable host-install proof fixture is available. diff --git a/packages/agent-bundle/tests/fixtures/host-install-portable/src/hooks/session-start.ts b/packages/agent-bundle/tests/fixtures/host-install-portable/src/hooks/session-start.ts new file mode 100644 index 000000000..e1ee8eb9f --- /dev/null +++ b/packages/agent-bundle/tests/fixtures/host-install-portable/src/hooks/session-start.ts @@ -0,0 +1,4 @@ +export default () => ({ + additionalContext: 'The portable host-install proof fixture is available.', + outcome: 'continue' as const, +}); diff --git a/packages/agent-bundle/tests/fixtures/host-install-portable/src/mcp/probe.ts b/packages/agent-bundle/tests/fixtures/host-install-portable/src/mcp/probe.ts new file mode 100644 index 000000000..cf0ae9644 --- /dev/null +++ b/packages/agent-bundle/tests/fixtures/host-install-portable/src/mcp/probe.ts @@ -0,0 +1,6 @@ +import { McpServer } from '@modelcontextprotocol/server'; + +export default () => new McpServer({ + name: 'host-install-portable-proof', + version: '1.0.0', +}); diff --git a/packages/agent-bundle/tests/host-install-proof.test.ts b/packages/agent-bundle/tests/host-install-proof.test.ts index 00d5a5818..8386c3b4f 100644 --- a/packages/agent-bundle/tests/host-install-proof.test.ts +++ b/packages/agent-bundle/tests/host-install-proof.test.ts @@ -4,11 +4,14 @@ import { afterAll, beforeAll, expect, it } from '@rstest/core'; import { buildHostInstallFixture, + buildPortableHostInstallFixture, disposeHostInstallFixture, runClaudeHostInstallProof, runCodexHostInstallProof, runCursorHostInstallProof, + runPortableHostInstallProof, type BuiltHostInstallFixture, + type BuiltPortableHostInstallFixture, } from './support/host-install.ts'; import { HOST_INSTALL_PROOF_LEVEL, @@ -32,13 +35,20 @@ const claudePluginIt = claudeAvailable ? it : it.skip; const codexPluginIt = codexAvailable ? it : it.skip; let fixture: BuiltHostInstallFixture | undefined; +let portableFixture: BuiltPortableHostInstallFixture | undefined; beforeAll(async () => { - fixture = await buildHostInstallFixture({ environment: process.env }); + [fixture, portableFixture] = await Promise.all([ + buildHostInstallFixture({ environment: process.env }), + buildPortableHostInstallFixture({ environment: process.env }), + ]); }, 180_000); afterAll(async () => { - if (fixture !== undefined) await disposeHostInstallFixture(fixture); + await Promise.all([ + fixture === undefined ? Promise.resolve() : disposeHostInstallFixture(fixture), + portableFixture === undefined ? Promise.resolve() : disposeHostInstallFixture(portableFixture), + ]); }); const builtFixture = (): BuiltHostInstallFixture => { @@ -46,6 +56,13 @@ const builtFixture = (): BuiltHostInstallFixture => { return fixture; }; +const builtPortableFixture = (): BuiltPortableHostInstallFixture => { + if (portableFixture === undefined) { + throw new Error(`[${proofLabel}] portable fixture build did not complete.`); + } + return portableFixture; +}; + const expectHygienicReport = (report: unknown): void => { expect(JSON.stringify(report), proofLabel).not.toMatch( /(?:API_KEY|AUTH_TOKEN|ACCESS_TOKEN|authorization|credential|password|secret|sk-[A-Za-z0-9_-]{16,}|\/home\/|\/Users\/|\/tmp\/|stdout|stderr)/iu, @@ -155,3 +172,41 @@ it('installs into an isolated Cursor home, validates schemas, and is idempotent' }); expectHygienicReport(report); }, 180_000); + +it( + 'installs the emitted Agent Plugins 1.0.0 package into an isolated Cursor home and validates it against the pinned spec schemas (filesystem/schema conformance; not an IDE-loading proof)', + async () => { + const report = await runPortableHostInstallProof( + builtPortableFixture(), + { environment: process.env }, + ); + + expect(report, proofLabel).toEqual({ + destination: '.cursor/plugins/local/host-install-portable-proof', + documents: { + mcp: 'schema-valid', + plugin: 'schema-valid', + }, + hooks: 'not-emitted', + host: 'cursor', + install: { first: 'installed', second: 'already-installed', version: '1.0.0' }, + pluginVariables: { + allowedLocations: 'args/env values/cwd only', + locations: [ + 'mcp.json#/mcpServers/probe/cwd', + 'mcp.json#/mcpServers/probe/env/AGENT_BUNDLE_PLUGIN_ROOT', + ], + reservedEnvKeys: 'absent', + resolvedAtInstall: false, + sessionEvidence: 'unavailable: Cursor loads Agent Plugins only at restart or window reload; no non-interactive plugin-loading session surface', + }, + proofLevel: 'host-install (emitted install.mjs + isolated Cursor home filesystem + pinned Agent Plugins 1.0.0 schemas; NOT IDE plugin-loader evidence)', + proofScope: 'installer+filesystem+pinned-schema conformance against an isolated Cursor home; IDE plugin-loader behavior not observed by this test', + skill: '.cursor/plugins/local/host-install-portable-proof/skills/probe/SKILL.md', + specVersion: '1.0.0', + status: 'passed', + }); + expectHygienicReport(report); + }, + 180_000, +); diff --git a/packages/agent-bundle/tests/install-surface.test.ts b/packages/agent-bundle/tests/install-surface.test.ts index 1a71a241b..27fec432a 100644 --- a/packages/agent-bundle/tests/install-surface.test.ts +++ b/packages/agent-bundle/tests/install-surface.test.ts @@ -86,6 +86,17 @@ it('emits a standalone safe-copy installer only for Cursor-compatible fallback p } }); +it('documents native Agent Plugins clients for the portable profile', () => { + const install = writesFor('portable').get('INSTALL.md'); + + expect(install).toContain( + 'the Agent Plugins open standard (Agent Plugins 1.0.0, https://agent-plugins.org)', + ); + expect(install).toContain('`~/.cursor/plugins/local/`'); + expect(install).toContain('Developer: Reload Window'); + expect(install).toContain('Codex, VS Code, GitHub Copilot, Kiro, and ChatGPT'); +}); + it('documents every real host path from the composite profile', () => { const install = writesFor('plugin').get('INSTALL.md'); diff --git a/packages/agent-bundle/tests/support/host-install.ts b/packages/agent-bundle/tests/support/host-install.ts index f3f229ace..cf34b8289 100644 --- a/packages/agent-bundle/tests/support/host-install.ts +++ b/packages/agent-bundle/tests/support/host-install.ts @@ -1,16 +1,19 @@ import { execFile as executeFile } from 'node:child_process'; -import { access, cp, mkdir, mkdtemp, readFile, realpath, rm, symlink } from 'node:fs/promises'; +import { access, cp, lstat, mkdir, mkdtemp, readFile, readdir, realpath, rm, symlink } from 'node:fs/promises'; import { tmpdir } from 'node:os'; import { isAbsolute, join, relative, resolve, sep } from 'node:path'; import { promisify } from 'node:util'; import { parse as parseYaml } from 'yaml'; +import portableMcpSchema from '../../src/adapters/schemas/portable/mcp.schema.json' with { type: 'json' }; +import portablePluginSchema from '../../src/adapters/schemas/portable/plugin.schema.json' with { type: 'json' }; import { cursorHooksValidator, cursorMcpValidator, cursorPluginValidator, } from '../../src/adapters/cursor.ts'; +import { createAdapterValidator } from '../../src/adapters/types.ts'; import { isInsideOrEqual } from '../../src/core/paths.ts'; import { validateCodexOpenaiYaml } from '../../src/schemas/skill-hosts/contract.ts'; import { @@ -29,11 +32,23 @@ const fixturesRoot = join(packageRoot, 'tests', 'fixtures'); const cli = join(packageRoot, 'dist', 'cli.js'); const plugin = 'host-install-proof'; const marketplace = 'host-install-proof-marketplace'; +const portablePlugin = 'host-install-portable-proof'; const tokenPlugin = 'host-install-token-proof'; const version = '1.0.0'; const proofLevel = proofLevelLabel(HOST_INSTALL_PROOF_LEVEL); +const portableProofLevel = + 'host-install (emitted install.mjs + isolated Cursor home filesystem + pinned Agent Plugins 1.0.0 schemas; NOT IDE plugin-loader evidence)'; const cursorPluginRootVariable = '${CURSOR_PLUGIN_ROOT}'; +const portablePluginDataVariable = '${PLUGIN_DATA}'; +const portablePluginRootVariable = '${PLUGIN_ROOT}'; +const portableMcpSchemaIdentifier = + 'https://agent-plugins.org/schemas/1.0.0/mcp.schema.json'; +const portablePluginSchemaIdentifier = + 'https://agent-plugins.org/schemas/1.0.0/plugin.schema.json'; const skillSidecarPath = join('skills', 'probe', 'agents', 'openai.yaml'); +const portableSchemaValidator = createAdapterValidator(); +const portableMcpValidator = portableSchemaValidator.compile(portableMcpSchema); +const portablePluginValidator = portableSchemaValidator.compile(portablePluginSchema); /** Opt-in for the one billable `claude -p` invocation the session proof makes. */ export const CLAUDE_SESSION_OPT_IN = 'AGENT_BUNDLE_HOST_INSTALL_CLAUDE_SESSION'; @@ -94,6 +109,10 @@ export interface BuiltHostInstallTokenFixture extends BuiltFixtureProject { readonly loweredSkillMarkdown: string; } +export interface BuiltPortableHostInstallFixture extends BuiltFixtureProject { + readonly portableBundle: string; +} + export interface HostInstallCommand { readonly cwd?: string; readonly executable: string; @@ -174,6 +193,33 @@ export interface CursorHostInstallReport { readonly status: 'passed'; } +export interface PortableHostInstallReport { + readonly destination: string; + readonly documents: { + readonly mcp: 'schema-valid'; + readonly plugin: 'schema-valid'; + }; + readonly hooks: 'not-emitted'; + readonly host: 'cursor'; + readonly install: { + readonly first: 'installed'; + readonly second: 'already-installed'; + readonly version: '1.0.0'; + }; + readonly pluginVariables: { + readonly allowedLocations: 'args/env values/cwd only'; + readonly locations: readonly string[]; + readonly reservedEnvKeys: 'absent'; + readonly resolvedAtInstall: false; + readonly sessionEvidence: 'unavailable: Cursor loads Agent Plugins only at restart or window reload; no non-interactive plugin-loading session surface'; + }; + readonly proofLevel: string; + readonly proofScope: 'installer+filesystem+pinned-schema conformance against an isolated Cursor home; IDE plugin-loader behavior not observed by this test'; + readonly skill: string; + readonly specVersion: '1.0.0'; + readonly status: 'passed'; +} + export interface ClaudeTokenSessionReport { readonly claudeVersion: string; readonly host: 'claude'; @@ -421,6 +467,20 @@ export const buildHostInstallTokenFixture = async (options: { }); }; +export const buildPortableHostInstallFixture = async (options: { + readonly environment: Readonly; +}): Promise => { + const built = await buildFixtureProject({ + bundleNames: ['portable'], + environment: options.environment, + fixture: 'host-install-portable', + }); + return Object.freeze({ + ...built, + portableBundle: join(built.artifactRoot, 'portable'), + }); +}; + export const disposeHostInstallFixture = async (fixture: BuiltFixtureProject): Promise => { await rm(fixture.root, { force: true, recursive: true }); }; @@ -738,6 +798,190 @@ export const runCursorHostInstallProof = async ( } }; +export const runPortableHostInstallProof = async ( + fixture: BuiltPortableHostInstallFixture, + options: HostInstallProofOptions, +): Promise => { + const home = await mkdtemp(join(tmpdir(), 'agent-bundle-host-install-portable-')); + try { + await mkdir(join(home, '.cursor'), { recursive: true }); + const environment = isolatedEnvironment(options.environment, { HOME: home }); + const installer = join(fixture.portableBundle, 'install.mjs'); + const install = async (state: 'Already installed' | 'Installed'): Promise => { + const result = await run(process.execPath, [installer], { + cwd: fixture.portableBundle, + environment, + }); + assertProof( + result.exitCode === 0, + `Portable emitted installer failed: ${commandDetail(result)}`, + ); + assertProof( + result.stdout.trim().startsWith(`${state} ${portablePlugin}@${version} at `), + `Portable emitted installer did not report ${state.toLowerCase()}.`, + ); + }; + + await install('Installed'); + const destination = join(home, '.cursor', 'plugins', 'local', portablePlugin); + const pluginDocument = await readJson( + join(destination, 'plugin.json'), + 'Portable installed plugin manifest', + ); + assertProof( + portablePluginValidator(pluginDocument), + `Portable plugin manifest failed its pinned schema: ${JSON.stringify(portablePluginValidator.errors)}`, + ); + const mcpDocument = await readJson( + join(destination, 'mcp.json'), + 'Portable installed MCP document', + ); + assertProof( + portableMcpValidator(mcpDocument), + `Portable MCP document failed its pinned schema: ${JSON.stringify(portableMcpValidator.errors)}`, + ); + + const pluginManifest = record(pluginDocument); + const mcpManifest = record(mcpDocument); + assertProof(pluginManifest !== undefined, 'Portable plugin manifest was not a JSON object.'); + assertProof(mcpManifest !== undefined, 'Portable MCP document was not a JSON object.'); + assertProof( + pluginManifest.$schema === portablePluginSchemaIdentifier, + 'Portable plugin manifest did not declare the canonical Agent Plugins 1.0.0 schema.', + ); + assertProof( + mcpManifest.$schema === portableMcpSchemaIdentifier, + 'Portable MCP document did not declare the canonical Agent Plugins 1.0.0 schema.', + ); + const schemaVersion = (identifier: string): string | undefined => + /^https:\/\/agent-plugins\.org\/schemas\/([^/]+)\//u.exec(identifier)?.[1]; + assertProof( + schemaVersion(pluginManifest.$schema) === schemaVersion(mcpManifest.$schema), + 'Portable plugin and MCP documents declared different Agent Plugins versions.', + ); + assertProof( + schemaVersion(pluginManifest.$schema) === version, + `Portable documents did not declare Agent Plugins ${version}.`, + ); + assertProof( + pluginManifest.name === portablePlugin && pluginManifest.version === version, + 'Portable plugin manifest did not carry the fixture identity.', + ); + + const mcpServers = record(mcpManifest.mcpServers); + assertProof(mcpServers !== undefined, 'Portable MCP document had no server map.'); + for (const [serverName, serverValue] of Object.entries(mcpServers)) { + const server = record(serverValue); + assertProof(server !== undefined, `Portable MCP server ${serverName} was not an object.`); + if (server.type !== 'stdio') continue; + const serverEnvironment = record(server.env); + if (serverEnvironment === undefined) continue; + assertProof( + !Object.keys(serverEnvironment).some((key) => key === 'PLUGIN_ROOT' || key === 'PLUGIN_DATA'), + `Portable MCP server ${serverName} used an Agent Plugins reserved environment key.`, + ); + } + + const escapePointerSegment = (segment: string): string => + segment.replaceAll('~', '~0').replaceAll('/', '~1'); + const placeholderLocations: string[] = []; + const visit = (value: unknown, pointer: string, documentName: string): void => { + if (typeof value === 'string') { + if ( + value.includes(portablePluginRootVariable) + || value.includes(portablePluginDataVariable) + ) { + assertProof( + /^\/mcpServers\/[^/]+\/(?:args\/\d+|cwd|env\/[^/]+)$/u.test(pointer), + `Portable placeholder occurred outside args, environment values, or cwd at ${documentName}#${pointer}.`, + ); + placeholderLocations.push(`${documentName}#${pointer}`); + } + return; + } + if (Array.isArray(value)) { + value.forEach((entry, index) => visit(entry, `${pointer}/${String(index)}`, documentName)); + return; + } + const valueRecord = record(value); + if (valueRecord === undefined) return; + for (const [key, entry] of Object.entries(valueRecord)) { + visit(entry, `${pointer}/${escapePointerSegment(key)}`, documentName); + } + }; + visit(pluginDocument, '', 'plugin.json'); + visit(mcpDocument, '', 'mcp.json'); + assertProof( + placeholderLocations.length > 0, + 'Portable installed documents carried no Agent Plugins path placeholders.', + ); + + const skillsRoot = join(destination, 'skills'); + const skillDirectories = (await readdir(skillsRoot, { withFileTypes: true })) + .filter((entry) => entry.isDirectory()) + .sort((left, right) => left.name.localeCompare(right.name)); + assertProof(skillDirectories.length > 0, 'Portable install had no immediate Skill directories.'); + const skillPaths: string[] = []; + for (const directory of skillDirectories) { + const skillPath = join(skillsRoot, directory.name, 'SKILL.md'); + const metadata = await lstat(skillPath).catch(() => + fail(`Portable Skill directory ${directory.name} had no SKILL.md.`)); + assertProof( + metadata.isFile() && !metadata.isSymbolicLink(), + `Portable Skill directory ${directory.name} did not contain a regular SKILL.md.`, + ); + skillPaths.push(normalizedRelative(home, skillPath)); + } + assertProof( + skillPaths.length === 1, + 'Portable proof fixture did not install exactly one discovered Skill.', + ); + + for (const hookPath of [join(destination, 'hooks'), join(destination, 'hooks.json')]) { + const hookMetadata = await lstat(hookPath).catch((error: unknown) => { + const code = record(error)?.code; + if (code === 'ENOENT') return undefined; + throw error; + }); + assertProof( + hookMetadata === undefined, + 'Portable artifact emitted a hooks surface that Agent Plugins 1.0.0 does not define.', + ); + } + + await install('Already installed'); + + return Object.freeze({ + destination: normalizedRelative(home, destination), + documents: Object.freeze({ + mcp: 'schema-valid', + plugin: 'schema-valid', + }), + hooks: 'not-emitted', + host: 'cursor', + install: Object.freeze({ + first: 'installed', + second: 'already-installed', + version, + }), + pluginVariables: Object.freeze({ + allowedLocations: 'args/env values/cwd only', + locations: Object.freeze(placeholderLocations), + reservedEnvKeys: 'absent', + resolvedAtInstall: false, + sessionEvidence: 'unavailable: Cursor loads Agent Plugins only at restart or window reload; no non-interactive plugin-loading session surface', + }), + proofLevel: portableProofLevel, + proofScope: 'installer+filesystem+pinned-schema conformance against an isolated Cursor home; IDE plugin-loader behavior not observed by this test', + skill: skillPaths[0], + specVersion: version, + status: 'passed', + }); + } finally { + await rm(home, { force: true, recursive: true }); + } +}; + interface SessionMarkers { readonly arguments?: string; readonly pluginRoot?: string;