From e5e9f75aa37c13daa2897f11a6b8d70618b29a7f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 13 Jul 2026 08:42:19 +0000 Subject: [PATCH 01/25] Add PoC validation helper and regression tests --- .../__pycache__/run_demo.cpython-312.pyc | Bin 0 -> 14303 bytes .../__pycache__/poc.cpython-312.pyc | Bin 0 -> 9519 bytes .../rasc_dlta_os_helper.cpython-312.pyc | Bin 0 -> 9423 bytes .../__pycache__/build_backup.cpython-312.pyc | Bin 0 -> 6593 bytes .../__pycache__/server.cpython-312.pyc | Bin 0 -> 7640 bytes .../__pycache__/poc.cpython-312.pyc | Bin 0 -> 8944 bytes .../__pycache__/replay-calc-poc.cpython-312.pyc | Bin 0 -> 8696 bytes .../live_publickey_server.cpython-312.pyc | Bin 0 -> 9666 bytes .../__pycache__/poc.cpython-312.pyc | Bin 0 -> 17217 bytes .../__pycache__/poc.cpython-312.pyc | Bin 0 -> 4686 bytes .../__pycache__/poc.cpython-312.pyc | Bin 0 -> 9389 bytes .../__pycache__/poc.cpython-312.pyc | Bin 0 -> 36161 bytes 12 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 curl-smtp-expn-recipient-crlf-injection/__pycache__/run_demo.cpython-312.pyc create mode 100644 discourse-scoped-api-key-preauth-bypass/__pycache__/poc.cpython-312.pyc create mode 100644 ffmpeg-rasc-dlta-calc-poc/poc/__pycache__/rasc_dlta_os_helper.cpython-312.pyc create mode 100644 firefox-152.0.5-backup-nss-rce-poc/__pycache__/build_backup.cpython-312.pyc create mode 100644 firefox-152.0.5-backup-nss-rce-poc/__pycache__/server.cpython-312.pyc create mode 100644 floci-apigateway-vtl-rce-poc/__pycache__/poc.cpython-312.pyc create mode 100644 libssh2-publickey-list-calc-poc/__pycache__/replay-calc-poc.cpython-312.pyc create mode 100644 libssh2-publickey-list-calc-poc/poc/__pycache__/live_publickey_server.cpython-312.pyc create mode 100644 nghttp2-nghttpx-upgrade-queue-poison-poc/__pycache__/poc.cpython-312.pyc create mode 100644 openssh-agent-lock-provider-bypass/__pycache__/poc.cpython-312.pyc create mode 100644 postgres-ri-owner-switched-cast-poc/__pycache__/poc.cpython-312.pyc create mode 100644 redis-vset-duplicate-hnsw-id-rce-poc/__pycache__/poc.cpython-312.pyc diff --git a/curl-smtp-expn-recipient-crlf-injection/__pycache__/run_demo.cpython-312.pyc b/curl-smtp-expn-recipient-crlf-injection/__pycache__/run_demo.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..12fd2d46445a7dadfd2a9f7994494aadc9c31c7c GIT binary patch literal 14303 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 literal 0 HcmV?d00001 diff --git a/discourse-scoped-api-key-preauth-bypass/__pycache__/poc.cpython-312.pyc b/discourse-scoped-api-key-preauth-bypass/__pycache__/poc.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0b4bafa5985c3c24415a04aaad781aa33193bad7 GIT binary patch literal 9519 zcmb_CZEO=~nlqjmd;Fb{?}QMCd=L|y6biIWX@Q0SUD}j|L@g=cGoA_9aqM(v+z_wL zr7ThtZ7b644~*J9g0xaofp%G4rRDA_U0XP9S9j9dm_2)^Iq9V9pWd$!Ds@Hw-1EHS z85=jWUFlx%Gw(d_JMYKyKHqQt-RZPZP=534k??QoDe8alMK6|O<^GpYxkL$+Ku4%C z?MaW(#3M91I?@~M#d#G3@h;ntN>(O zk_XCz$NKt(kQ|J~C0X>rb4nC^fvJ#hLY(nUNn#+bobjESnF`2q|5Pm4H#MX3et#$$ zQvCizO=*vPI?|4#w*Z)>3ia#f*thJ<4K3*d@1~&YDAYF2v2R=NLo*dD(jMy+E{9NM z04hKgDva2Q5;k^TY7l6_q;u3!%F7Ht;Nr@-?@84niBpk4Q1qI}hE=m524jNgr6uHb z87KEhxLB1{#Is7mUA7lQRAH|s0JGG8yK64a%+KWAZCQ8QqGhQm=YBlHKQ1|;b=Yf0 zfNRQxecuQf8!e@cJP|Mj(rjkN^ab)gk>Z zP^%_}Yg(~UX4gFv&27KW=r!#-{Ny1bB6$cAJE1~|SWaTVVG(GZv4C8r;RkfTmsZV^ ztVp3LsBy0cB5|>tJhos&3`G5>0-|&E)LsGwgb@tf0ZH z&;^%BR`fbl9=)Q{5r)@VF(a`05vQm!5i!I!Nl!Eb`AkXbD6ozILe)$OTmt5VJ(^*U z&V=c>^nkX(Bbs3P`ucz?@PJh&B1WN(^j5h@XfmY8xPDKOH8}Z9Oj0BidSnH8F96uK zqx#~D^Dm}57rC6HJMZYrI{KEB8>2bL)3Za%7Tes8pC=YZ?^v1(?%FvA5NV-)p=<7$ z^p33ElVLp?nK&3qFQ{V)nHFI3OO#>|A<3MjWfM(>jIE{^fl6^n_Kn?&LFh1&xuS%1 zymcLf4oK^wyCN$NUx zt+=O@+4@7{ATL&wq&aE2Zq}J*2bHoYHF}q%C0wi5OHaUp<*O`!#dEJHI;F1RnL!Dn z^@D%{-*`-#^u;BRCRDP5YTg?Ric?CWs=RAhjzzr;n5lpgAf`w)Pm0Q!m;idmqJ$>J zSX}W|NyxdX83v1lPO02f01T6AHO5xW+8nA)78OAp4}gJ1W&avzEvOvPEARp6+Nh>j z4dbV>VA2GY6D27osn&xdBZr4bl_kc(Ds|)J416qYf||BU7I&vv5e6nwc}bL~Vo}hC zTcMAPvV^9T6iu7^@LL2P_{j{&^DMROTDS1TFP}-D%DLKS4;1X~*?k3zJ!5HDcGq1@ z&L{KkuB^LjQOLP_^X_d~_qLpS`y5-~-Fdz_%QvT=&GZi6mkW$PEtX4)UW z%Whw`RbA|x@5|dfS(|6EW@-D)hR^FWHc!rWcy@5b#Bzi5va{ym$@!CcXGhlAu{e06 zA>-`GIiFggXzLOB<}1rJt?4sYVwYn}XY>8Lv;Dh2Y5YU$r>(czay38whQU7Hke;gq ze*2}p8nu4j-k!C$0}dx}H>JC-Y`(mCQT$-?>g0{l-;e!n>>rQk+|T`)f9~5A2Kzja zcL6azv$hZRQ=e__AM9XmHCds4tAiWdV!74BV0{aL{jEbBbKB83L@~DqXsG`i#Q}WC zw4j|NI`cMEE>WN*46PY9G$S+>3wRW3Xh~fkqP!}4S1OF`Qc*w#ds8OG(3?s6Jusz7 z6F`$8GpTujU-(%n~jFZbr$-5I|7ugi9K-rknAw;>Zi z7guvyOuwAz+;wyG=7CSP-4;LJ|EEKLJe1r2N@nO-re!SWdNsqpO4#8zumfu0^BdZ! zt2KMun2);mHZz|#b5MQgm~oZlm~kizi&#JlCDh-v#5vs;E|Jl zY(P3KgL0EXr%!{%hO2g- zRtyIxNedR;$pFqag$<{sG={+IqokN5Be$2W%=$OXZ-k%cX>iEsag-6;u*w`58i8X* zI(_vyf-P_$i6(N&pt}M>Nr9nl^+-=ar-ZH4u5wC9iHM1fB@}$3nN!c1fb5CJJfsKc zI~y^fgmE-$jPjucvd>^`BLa-1h{{r#)1u;K2@6WkBDM>`VE{(7TU2(qP(N9KbOf6B zVVA1_z(_l57e?QIeo=VurKOSI9{=$8?WaFia)Tpxoujk+3l`^_sW(y!GPw5X@hg*; zCzs?q8@7So%e3yi@%rymzf0YSeRAYKxX;J`H1WrY+`+NTfmbsv$8)X|8UDnwy>4MV z9m&~y!SFk(E*_jexbSk$(KMWA|oULEm%?|SlW#-Hpi9lqHg5)72`UonIQh^Xc z_Q2xoC3R8?ltBd6R48kFQ!X}Zf3s$0<2!RRx)4J~3Wz$K*cChzi^-xV;E9UUnuK_i zGXcdTgvQ4q+v6FRVv~RoJ;AsnfvfJ(1Wc2*J;v8TaO9;}N1*kT(DEOHpZqcaFdP>9 zo9Es*mu|gd=|-_>IhJ#cW%x0`=PgZHOH=y99m{6Yaw6wCnc+{CT1Kv%ynOPGrI)ns z%ejU!{Ll(R@mn;mDfjyf!O~0)C|j7lvIsP)|CAY3B%Wc)BAAlwT0MiNvnEVZoTVj> zhAb!=m8dBQ@nMRGn0HO%OGdOlg7?<+QlT%3Vnq?y_Zc)xA@En%T3g9PK>Hezy3UKR zOLNj9nBRx|!w-zZe(yM3l22L%3yfn1de|VFV1cI@o;*B(CeX^i&w;wJ4u=-N!brog zB?+|x`d;XHjDq7~AuRs9prR9{duy6X;#Aui$iITShKW(PZeb2f;_D%CTCFDRxp!O< zB_m)w6^R8WAau3Hqro$Q=xI^#auTLyrN0B9+QviCKx71smuivY5Z=n**cm-lGkAPp zfK*G7uhrTj+rJ!w5I3$IBw1OtrsxWa0^*BEQ*6R((F_~%xb!@NpCA}SVAwgZh$uS} zN`vas#j5DrI|H~Ke-W!z858-79qeQWn!KrQ{cC;O)jGo1K2S+>TSdXIZ@3Iq+`4Ro z#gNdK0L{YMPsKwK!4K)q*tmp&6zm$3>RcL4-kCwK4 z%a&}*mU|Yq#)T~B7ap3Jp9RcP-kG;|l5 zHs7B(~>&p;B(1OD^bf&;%(OVoU5tN)qy5x|;`Cw4(8a zKn3&SCacv}A z*gxVm6Yq-XZwals^a=vP;m8xf@+EGj{Za&5ClN#u!~n?XvKN_4<19vsN2O`Np2ucP zD}#&B(7xE2YuJ=!YiD0v*t*PuuaI`$WxJQ_pkay4_Y7ov25t`J>Yke&uI${-Hdoj6#_;T+h3aK{{eqG{u{3=1#mu2sGbhgE?4b-B`fiMZ z#3e`l0vu@hQLh!7UW3k9QW$j@$D-j7VzTwRaa9HiaqV7k@$@5laf11}5jQ+?EFKaW z26J7v>WuKn{UKYQOs-jNM0ksD9=2GGZ%BVr?pKzy9WmS8PugDfCTUJf!UjiD+wF1 z10->fs4vW7L6cSnEkONcH zV%iGYWO6s9Sx!_lurWx2fwzDenAcS^8CfC<=b_+3LOnvjTTqd$pu8~(tjjw)v(C<( zvm3%b)|O`*vTQ@zv7}_!2FSUVQ1&H(pdL3+nZ}+Qn+R^ez~Pr4cM#;WC8YBPOHexu zRHo5;m)%_cdIKyT%=nanOWT)5KISTivMs$(>}Rje+t+99>(e7S`^MRQ%e5QQ%9YgR zRIb)HyYIq_hA*74v=`cTd=&h+^IyIH<@lLa%Bw4|p0GuwF;Ixx}Wrn$=2aIeDXgQPMXoBw~li-BQ z6o#ahS$%LwBlm!jHok-uGJ`T-(rsb%rz%P*BFF0_NE|cgm>EWUmJ-O7S59yJRJ(HW zx`q=LNIu3S$f?jOJ06ONU!jxo6&NaN#A{N`p{M}jrdnmV?ZmXE{DAhU^t9xL4ybO( zl}jjkT51D?G=TuW_1ZP@L3^xPhtA@a58MgCrHzC_%E&V^{&52QHG(8z{!!(G_~aDe zG{vB@ctfLd(^5zg!CSb1&v@Q;>HVm>*aW7x&(%y=&h|u3+B$*&9Dw z2;Q+YE%VMf;cfeuPVgTt^}f@amX}_>>)e6YB;7ab3yyUcUzmR(UAxF$Zn^8|!kdxq zFY%MN?1d_r@t5|wtr>RXVl{xjeqBd7>Q*TeOwT(PENO0GI^$~lb?}4m)$pJBt;_DJ zZ&x^IeejJ7h9OftkUL=cZ`+@%r9SPb8|0bKYORAD^I7YLL5jIWaZta-bA#0u{DTAB zx8E<#!53aS^feqOT;>mZ>HXd&DFsMEZ|NPZ{TzVm0LuaQX?=tbq@HqAQRx;t6g9ne zZ?+!4--v)@b@pKG0D?mZFn6Xoc4JsWpN_a@8dKn*NSL5hZAWKhMVuTu8&b40ZonqA zx8x8X@Vm4>ns`>a0yyMM`CR~TZA8;wQ0^}%`xlgrz?v^8_+R&pnWwkkqX4Yd({$^7 zo~7IGyBzc&y}E&=kJI;E7P@A&mZo>C@;u$NT5qAvtF>l&KfSuH6{>q^3mv9cYu$9! zYNw0tSlLLij=97grs*%X+IL3M9anlT_bhH*+?L*wtJ{>b^<>x{NE5KlWYPZzg*xPf literal 0 HcmV?d00001 diff --git a/ffmpeg-rasc-dlta-calc-poc/poc/__pycache__/rasc_dlta_os_helper.cpython-312.pyc b/ffmpeg-rasc-dlta-calc-poc/poc/__pycache__/rasc_dlta_os_helper.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c81aac585a5cd686ba2d44ce00956132a4349560 GIT binary patch literal 9423 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 literal 0 HcmV?d00001 diff --git a/firefox-152.0.5-backup-nss-rce-poc/__pycache__/server.cpython-312.pyc b/firefox-152.0.5-backup-nss-rce-poc/__pycache__/server.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8e8ab20baa5216cd3821a0e6c651b0f22a041a84 GIT binary patch literal 7640 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 ZPYx1{?ONgyUH1vY{@@tcJL6VI@xOKih%5jA literal 0 HcmV?d00001 diff --git a/floci-apigateway-vtl-rce-poc/__pycache__/poc.cpython-312.pyc b/floci-apigateway-vtl-rce-poc/__pycache__/poc.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f9cc0879d08eeba5d8196f426d15c98095942bfe GIT binary patch literal 8944 zcmbt4TWl0pmi6jq_0#Vcxc$JmF>M>;05K3k{J`en5NseAaHri>Hf`G7ovLcEE7ie+ zMjDvOE@s0DOA}U(c6P@RXs1V7X}w?Tog^zp^Rd;jSMF5&vC@9=XAz`XIX`=DJ-SWD zh>W(ZzK?UyJ@?#u&pr2?bNwf$(~iOSPrn(S{D%q*`yW&>K1wfq|4S%5#2Adhqu7X+ z<0H6QCq@W0Cr3y%r$$U_Zibv@h@ayl7KZ#eHezKcNNtP>QafXYlx8fDIv6XYPR0hQ zi*+;h>&+O(ISGvQz|ZwqXW=of6>j4*xZm*%RR+T*y%A+*_>u7Y{vQdA*OZCD86twG z%o6#tWHZmk1Fml1Va4*b~!ZeXUa#+v}(~4I24evM}Z+mdEzb*0;*Q&F7NMSl<{(P0Df0e#<5~ z#>pY90o#Z1_)P-GE@3$QebPKlUczqT4O>^CBu~jGO_mv@eBOw02UD~}|G#HWPr^wk z{8IKyFz*!oG5v|CaFLk!FDig}8K zcIFw{bU&_Ggvb;dPYR+bDU1gWDHe`RL_=W~n#?T6#W~*ZRwy)%Vq%h02_V46!f}RG z%tvY)qjz7*sJctk!`SLPC;POe$T));~OawigYdP-?p= z8V@nN;yyX_?qHAFMQ!yvIUDe*SjR#<8wAn{l?Vyf6lyHa%qY&#*6DH@4RD~b7icxSxbp*@nsv@q3+IDed~75z1F*}Yj$78?pvr> z?D@PlEi7M@&tI19z7_kG+3pR(Y^qv!7T+7aJG$m<$T%Aoy3<9nvth;Axq%V3x+N-G zRQAw+-~VaLT2W)BsBz(9`jTAKxKecNPItDn^5NzCm+$ob*#xK?4$@TiZR73-B@e6a zSIu`ns9hYsW8N@hj-t8!^JbaeDN{TDT#7Ie1$_FcZ4q;!Gn!0ydzO1qUC1dFH zYG=qE;Uh6PVX-g^M?Ml3{AR@r;-8EPij|#CKvx#dVknFhhk6>g23QVm7bHBom9&$< zH9=83(-Ds4_Mry&@eCv&+*Q5|RX*Eyr+cm}YjMt1d}FCxcU8@g&%eJgn(j*BTpn!I7a%(HV(1&htLT&Uy6L0q{c zf;TtjDCfosPcix^s=7W2siBVn;W59jzj{D*9vEX6Pj~C zb~+*ey!B=%BJ{z~(C|@x{Ca&C@WSq`N6qzJ^^Izt@{^nkwu(cSrMCHmLWQ`A8;T6TvZmNWV2$v6@H#uA8W>;>aO?zV7RAJe;qF&# zJP=Vk@Mr?6a?#FHF|^$148DACp8%Z0@Z;MdnZ^Fw-n1YtMALQYp7enw@6v&#=H5kHl9HW7jnMA_H+S?R9L|WP$a+wANUm5 zq^AG~)yKN5f!vUTVpkwAHj@CI5r~AQ;41ns2{!`o3k1;C1vCK&fB^X7oDR&HoeBwE z{5H-9L>0S6B?utJjrs<+2#@^&(zp5*rZ%eb!y$oCY$^ckS5~3bqAp`D4bhM=zji2j zt`|DJbQY__U>bArXb^1L7+WB7=Kvd78$5EaK$%jg0Mz=ZjRt_6H#O$GlZc(-@4@po-sw9WRe(>v8Z zncDs7;eQ$Z{pj-WTJQNx?|J#+6?t@QZS=#;=!YvbCsUku%D2iD+G$mK%K*Cdn#kK7 z`Kw?%i8Q=7reW!z{4#-pa% zXtr%BBCa)xUdaX=P)re1T)=xtj%7xjcrTUcpTK+BmXQFTDSu>QDwxWGv8s%* zUa!JV*W=NkS(T8%(!7vqymK&z>M*6!EP z%I`+=Ba-nmdkW^&V)RcrB!|8e&e!bgUZ50^oJ?y0FKq@bSm~UuWRQfls}i>F5outk z_P;CTPI)93<5cbc5+N4_VLBui?B{;T4Yq%$YWq`$9E0tjm+?0w_jd6S^ck*(d@@}DjQ1WULUqHzN`uWhHLY;kgXjrthfl?O0VdWJn26miiH9Xd5 ze}p3=y2Idv3#{*4@6fRC_}Kx4h%ln}a?8~m#1{eALm^M}4vY32u{Nz7PlE5ugL&)& zTF;&$f-YpM!F9lEZ3-0;*eMR(mm-b2Yv4A;ioEo*V0(f89cFWU7#KPaI=;@s+4IAq zqfLuY@NK}6;zg=Hcdw`s4r=h-!Cuj+&r3rVtG4z+Y$U+EWcjv^_I9Pnr~)^zLIQ+A z#Il#Vqv@y}#EO^bL?Ey-0d_PpY^XEucAw&q1{8}ws@Gx}-4F<=@AAPQDRc=5C;;Qp z?WkdP3T_>N<;5a>tS!{UrdN$qz&i$XJv?E|NeLMT;&jqE{!7#}qAXFwF@TBrCzi8Q{dG){(oQIP!P{jOfri ztL>t*jh$x0Nr6Rylr|7i)V&Q!K`HoA6B8`=vdhaMpNiXqmbMH@=CF=r%o4=Y+|zry zceq!qNA2BFHWW)Hdj5 zUImsC{vvJ%;sM2I6-!v7ubD4^5SmITR*-UaKNS)t1&(wg5{xj44S3WKf`yC61q8Di zFoiZs2yD-(>=s&ch>2dE4h1Vwr`!X$&MY!*_Z82tJLmwPx)t#h4YL3 zOZMdh%gs;s$Oq2LEVo+0%gJdV@)3Rt5%HcTW(Tsa@_91~3*i}8{X%EP)jWFwn0g>B z^yT`u$QQ24=SSrOL3u1H$9Op;0F|3~528}hOF-oWaS~;xiK__a86{@>vqe?&o%dU3 zPwDJkpT8>GTUM#P>lFRT>G{$H>*C4ujr6sp>rY#r?vO8x$$P@`_zX~y@OKcgahNM) zy~H_0(>a7H=ZW`GHbO**7Z_%mBwj%*A@BJR@RIldLO(^EL79LLqU@~3q;nKiJ|My< zV~LbX@MA=9-CB}$c(aa@tgB+aY~H#+FP>UFDjzy4JKoEdR?8hda^Gcn-<6ExYSvNt zJ#DtxH(Z#_k+s&mD7Kr-FUl~J<5fgPWk)bu*B~E0^K@G7dOzd1R6t{wL8GYhvzmqR z#cNA@mM<*#KRqoUx&)#iUl-)dNnm*z??vlU)ra`+Cr+X44DkVi6@`e|li3n5bu%T6 zvuCt5DuZa{$dWldy>wG@~WUWzsq-%ddQN#4 zuk1RuYJFRcLupnyoT}WH^C|bjG23dDZ|5r-Hb4sbdb-t|qXY#MuX;in5h?stSQJC# zUyR`GN4L3Oi4T@IV|`+KEuI~{xPjI2I(lG*KXJd7OOIh4y^=5QYcaq|e^T<=kxH4e zpMX`)RQv?2N~Y>3U{(KU1#-Spem`@&jl-K9ZNQ~mEFeYXtvU(c&LanVvj$o`M&Eo6 zEjyqE-2??6ScN8N+2+j)pxeB9IWUPZ{3{%r*$FRaxz{UrcWO?NLbWjjQ;XtAj|d_6 zMm4$9Xv^nMeEA(y-@M3=$(cHMy@EXd=H;&+6wQGEiX#m}Y!YrqHIl#}U?R>5euBFN zG`TTIL~9_xhp(|!h;0@SL1jH#k4KqYw-x!ricoP$Zg^+&}@o9 znOEtFjzAz559oI}ghU}$$OciA56sziG?rTnW#p_&(fgy=hDhrmH3(ttXzw`CexPGN zP`HgKIQ3R7E+N{Ie1Hw{LSP>n99ga~859k(gSDVPD2X1U#Ry-3jRF=t>X8q(h-6n= z8`lM6XqGi~IdIhni${&aOTjY~>hgOOE6i05jw-I>+(Z%?cVOZ2ET=d^3=@P_6~;{g zx?)!`5s>Fl2IJiE;A)L*@$4!4$w$ah9$*8#B(v6=&0IUzW13 zQRSfV=dFvKGF84xwZ8=V=dcRw$^-3-ee#hrDs(UpwJwrrMg<(ob5qRc;5Aj z{pp^SiZ|~#*RAfk&WDHZAD#=$^9!Bm5?g3ld~Z?s-OLv=i`QjO*HX{F4gBlC)6V}q z_QzxL31qRYS|_t^&;PE|CFl{(3-{R^H8(WZdnfvv;@?(%UiDwrz3Xm|`tIi4us?Gs!6X7Wa2hMS{;?g#?1XIQ|{x{tlzR!|ZBW{2f;My}1Oheco!ui=G$Z z_~GYP8aF?$p&)TtaUOqO7J!xy@KW5n(T-7$JK{HF<+t{d`@^4JSh3g0RLus7QB~^j F{|9iumCgVF literal 0 HcmV?d00001 diff --git a/libssh2-publickey-list-calc-poc/__pycache__/replay-calc-poc.cpython-312.pyc b/libssh2-publickey-list-calc-poc/__pycache__/replay-calc-poc.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b5903e958611ce2c12b308eaa70f9805dc461d20 GIT binary patch literal 8696 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 a=pl$^_(JAOYs*&*_v>MBo0(Q})c*&5_NS@< literal 0 HcmV?d00001 diff --git a/libssh2-publickey-list-calc-poc/poc/__pycache__/live_publickey_server.cpython-312.pyc b/libssh2-publickey-list-calc-poc/poc/__pycache__/live_publickey_server.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5002a34d0ae2bb4ddcef7cb8eb10266374faabcb GIT binary patch literal 9666 zcmcIKZEPD?a=YY`TypuT@2@DbEq~Cq6f1H3Ejv1svgHrjwdBNBl4EG@$|6OP%I?at z7^;!)j7G{imC^(?4X20-q=3>GS05VSRJ1^i#sLl}3Xq`;F&q6j^zz3*e+aS*6bTA+ z<}H_8QHoo%=#x3S``)~H@6DT;H#5)w>~Pp9D8K%!FWOj5QGdV>t(XcgPyP*FZc{wP z(=n=FebW6j`8M<$$kW(wBu}QFAx~4ki9F5yX5P?m;f?()&-7b)Q@@Qj-=z9E-U86h zvj82u6`+&10d(;kKsRp(=;0jzD|jcsN&|I*;$1f>-YuA;JG3d5o?jT%_x@_$1Nb#U zEnhJNcw(J_5{%J3B~0xN>TA9ze0)KxFElkykJH}D$M_jYT036c-@XU_IwD`P6csCs z@z%dEkC9-w(2Mjn1H|?x-2iS=aEGx`NC_JPXV?x|ZE2e9q*r*`kKrKHUZGRyaxgtq}FSd=0UWrA*L&A7l zEF#Hm;ZQ8xHj)UxfWKJenh-1^1SLVdCW!4L3_H{7LUz_1*p)w`2b0EVn1a?0Ew1|L{V6C4P5FGUh@5j#J|&G#~7?qmlJ6H=S_3)E61HkQS{N&VJGS~Ftm#_Zz_20bypz6WfxtDvgO+7j8 zRE9aFu30aX#WnvE5CBD|Wq7J33Cy1`l-8ayXsehomR8S~YMB(10#hI(O;S>f)}xV1 z(LU5S)F*FD8B-=u3`YH?sas79C8J!DBD=J=lu@IuJqdRoBYCk3 zK+eWs_kFX#{SUAP?V?dkUiU+W3%+pAcwjLSku6hq@G%W*D*?}`;gDHw^% z39=)K2{9$FS+Ry>S(Jh!vZz=R0|SyEOA1$z${;AFh?=9AM?_&Da$PYOP;iG^NKtpO zM%%@!Vj?kI+RH6~_Z<8r6v{~|Us1VOvnyM%Yx4B6vo_7;oUM~5mL0WeTh6g%vOE9W zmdO)SXK#gPxBY4;!!+b8>Q^b+ba=|V%sQ9Yx-46lu1b&1o9|m6v4>WS(DXe>hktJS z-9V1pm0@qE`T&*cWYEY2#7Ac_YFJN+&LBg;B)0P%O$rJHijZTA}P`*PlcS?9rp6IthR zU>nz%K9S>EGfeAx6)3J+Re`G@^gKO*Vn`2xs)*ewDq37Mj8iBnI%Q0P&}hOp0pc%l zrS+Hi^9wpOoT}<3?(e1hLo6gud0y8>2<_(NQWYAyEMlH9YAI4~F7# zA=VO(B_x3-3-_87Mij!=6xM&P+b@aYQ-r=Q;Q8Dbu&Es^yA?OyjOx#qNxKcb;|5IHn!5!Xn$0XB{6`&R+be zAs!R&jHAn1)`YQ)tVPPf#Z4(zZph zM_J(wsUj|KM0*Q%u{cVK0?SySq*@>(K@2dE#5S*Zd zsSF>IL*izrQ5a~HCEO1bQSK-ary&$Nwt<%ma^NN+?JZk4hwkDO+ zdbKZ}wZ8^wxlLJhj$+9Xg!8e;-!-nHNi#HeslPDrhI>W-g4Un7ROxgrI=BVd1iTVu zri_A4nzeBz%sPBiX%|yw4dcI=2?tyy1*JpN5be2UHs%z~TkbMEn=$~+^0}4#37sGC z%+*=TR#)^HqIkZPm69I;W|)bh^H^52v1r&ckbiW#%1Q}ioZ3Rkc$AUSN{I~<79AgL zDa(4UU53DF!t%$KTd%0kF?x);ZoEv5(PgxZG<6yDq15_+pYK@te90JN#WB=*c)38b zPK_AAVF4qr`7mI&I{UymHx0x_rNLx%0SDDi!|CiOR+Fw6nV`4SnQYKwtKJatusZi# zSC~B=`>y|BZ7DcWoykplw2OS=sUY1xEu^Br(kDcs;i5L$tR5%gmC57P= zaY1p0V-elD6|V4&3s#K6^{|9)JsKh`sxhi1Q`Y%5g@acN0O|?&Ne4hRC#e-ft;w@o z-#$NKj%dC60cCle+u3`5g+lE-qt@C}4 z*cZRA*)@M6SF?ADBVD(C7M|ag+qN&Wb$`Zr-~sc9^%uJCxnI9yrpkJzKjtbN8dZJRx^ z$hNEinq!8YW^dV63`VObZ?Bv=JAL+pbN}&_qwLk_vvxq&Sw}jYzL;@tncus_?)iq@ z^CP;f9X~#`Q*Lx@t)6e~Zm6<)eq6Eq6vbs%-5S*Yl->dk{^GdxcpLRqliOEGebr|5 zxs6}#bNe{sL$k@ZnR>{Xpyr|5i0_qF-}Ai1Z_ zb{g>AP2;=A2=8GSqgXUM`UDT8+mt|IvIG((G$baBya6D?8v&Yl2B4WY0kn*py%xoF zUW?s(Nn{?@A024I(Re>OLdb$arGoIL7C1_&pf)gglJHe9`RHT9SJCXlQA!8km@LY% z*aIZQQvlF2l!Vy8Mr~4=pT`CvI*Q1_V6v`k((PIcGDSj7fn&9P^AvN-nXhezhdtl4 zV~Sa1>+@B0Q_Kfe^^`155IUfakfrv+i{4}7=@fkzPQH>gEk&f{)G*#-bf*g*`lM_W zpM#%f3M8GOQF*Xs6jU%C8WuW}&X$poB#k9Rp4g{8@fZ*Qb{&U@>TIwhAu%)@8A>Rw zu8VyqgS{7zANTk6c3(UL?#Kl|Q&^3h0=O!%wO(Cicu;`w5{HJIg^H2fQqIQ>kRm`{ zLa_p$4;03kzMhWFxBo-s!ll1|Zo!ptp3IyFO~1J8s$Ftz&$_l}*zN1RJ?O4-7ujYVn@1=C@I8s>w2`~qe)dh14huYhaPm^1Q zB5}Sm$+lp9gzr>EK(R=IgxMNR7A^uY#d+?$KcGs0-{%>6E(gzFICrw=XFYv>pC%~`j)j30j-VatmH!Ha z%l67}*HG?}LNve(?FUJs$94YfM*Ace_Xdqx6vrtmP-`ozf={T$3}9J-T1@Mel>rm@ zgJvyFi~)5NGc{#J=ffGimO!$$6nSaVLCi!!Cafcxz3%oxmKGuoPymI2hoqSKkT4A5 zVkM?SvC4xY#CeckRm^?ll^pLInOg8efRYS?MifzvXK+}E#1rBWBn?q%J8Rnc!L@djEuetDN%He%8Fd9i?)ijRl(;#F^dR$Z;E!T$AIw)ekO$PFKO+( zXX8=sQhde6BSA|gwCvR=l%9MQqyehQ!O!wF_i8onkr}~(QeLzje8T{#Br}BCrCHUb zEPOqR2bqV3cdPG^URXm{E(ZKj3>V8vDcLc>rr7A=vS#>PlRjXhm{Te%GP;qZY`kXh z-|6Tp1r*%_^22ECq1My9Oh__ZWLkJ(AT%12v1%j%2cH4r@$nIe;9<-p z+tzk15{CGE&2=j>r4oKmAicQ8DC={&HkEL`+I`q+aVPakeauMLiLRKHx2G@%c(k8qlJdg2L zp#sY*kI^zlFx+~KI-T?sk|&t05aQsgbpAjeO4?e~4SFn@sQCRSrAhMDmhtefp9UX=&%6a@06?=$> zfTK{S*nR%)u8U{-f+x@Q_K9OKl~UFDa~Jv)r-txq&+)#VvzV4jgk;4=h$9_I-7w<7 zn=kZsofgIw_NovU#E>kAgGkZjzXs#OG7@;9tXR6bgFOL%pThN?JAOI{F1^3&EZmvH zr% zPKvcp48`GQ7x0|8?gH=NI$yC9x3Ew{+!`bs1L9+$h%BCjiF<8u^+>oT4#20Hr($vJ zAW$GdK7{x%XNWmSq6(Z{|Wg31`D_C2+d8l4; zv}PTxImb3goHMp1rZ&serrCSDGfeFwvtL*Bne^ouQrT6iv}L_V9>z)S#bRxqt;joS z@~+x%9WCHJ!d;K4?kQz9nZbQDaoPxB zZ;GFZy&qe+u;7F1KUeL{yVLKgVeveZbG1#LT;{4~j!hrSaZQuH@8N$rbWV4EQuAr^ zo#uNrOWwm-@8KMG1n4pBd*^PP`?!0lYHPM?>u1-NwjauFKeW)b$Q;GCo*O+=^33@3 zc)Imd?;UT(*}BMV#fH;2PS4Ue1IvsxZ);5ZKJB^FlRi8bnrHsT`nh%Po%=f%`u_3t zzkB_6Rhc7!-$gQ)f|=Le%CMolvjUQ9uvi=T%C`@Hc=)5v8)qiFr+h$YDggI7^qu`_ z?_9@R-~6V(d~L2LV{5<9KVl9qyX%(Ro3rlCbNh1cos&Iz#<9dSWtpb*rA1~N`D(~A z4a=_PwEXEicix#lalh}kmw$8l0WibAVx&xsPbmWoYo=UvOU~x3vpFs1oSP?4eob!HK>wSM>-+lCm8hB zi@!w4{8I#AcqquRj!Q)AL?70nT8e*y;5`IW2++vuE{JRKa|;4Y-l{iicy6ny-2l8P zu3ln*df?(x90-L4H55SM730{>2-iVn(3vcS3ve2!@y1c{ub}}gqI4Soq#SAbJIeJP zHCn(wVPo$WYa*W}5DR=z@M3!D)Jxwa~j)s|@tk zRhyM=TCFqE+gI&ox^}gqj`lp=*GgB-4ldQSXKUJ@Qt+`Fpm))Zl{aXLu}>wxG1li9 a`{eQWPTn{<-S?|kA2C(1TTBC)_1!;nqU=Kyl;uRFUmSBN~Z5qjt^OfZ%MI~!%iGEt)gVnGO1Kiw#A{+o<dNZ?;0g%WkmDVVySepM9YMKtwUQJF>CK-a2 z98pL!rYWeUd%TwPW~`zD3Wsr>;V1P@Qv*~3wSnU4^9q_ePSNn2qAnPI45OX^R`a>fdYlS@ zIql~I0)r49yK*=lZCJa`H+nh{nAqqNpBG${6Qi7)^|)T2^h|nO6aF#Y?}NwiI{2@h zm=bg&oX0aX;pYOJ2|6*rpFalCMQTZBxm+__^AG2)yfOdAd*@QCcf?okNa)&^DTS)( zCY#n8FY9J?;mr|S*qPK;r!B=POI_Sjm$1}F>*JQjhbpM|5G&uq=n;>7|GK%OLHS{W zs$-327`Ivq^49N$1$o-mOUoWo1fl)3^2rB9uB|)+%fvP5sDM1Ox4_{D!Df#rSo(%S z+Q==iaXPZKxtlwsoKod)uTLp%udlIz3gA1D&`5FRbnbE1N+sDR%VZDRamvS>&m5G$ z>fPu$|J-4xx_9(vS26r<&vjbR1jf#K{F8yf4DkA%9yo6dLOB(TFW81Tk2~NQ8ut5q zp5efl-zRAL2D&-U&j~7i+~b*WG902Hfg#7lib*Z&akJxNJ`ay8=zzc(5w1J$9t()a zsSNTq`15lR!Ev$_U!Izsy7YIEm*8+*Jg}rUUv|zqFSSLqxAl%?1*5B3vX!N5&bZCF zuzAtGu;!LBY3sU6(WdHjS=B=&JeM)Etfh>$hdL?yhycI+-Q?V?Wh!o}8wbl#H3YfCHU#S@kn zSe?`pPtP?35G|7cJrx>PpQUB27At$JG7WMb(s)wO)7rUyh6>b3RYEGMM0(qh7T@{I ztAK83U->iczqq6H++Uuy4@gzA$i-U#nE=9Jkm7{txt0Lo9&oMzRU&k5gM?h1hTi`p zqKZH40eVbR_p#o6ywWDUNiR|;%-zSM2mnm;ct`+Q1U$ZgYuw`-4V-SjkJq5xX%Y0i zCy+rn93B;c;XK3V2%_N-ad5Z`g4#VX;Q@-qc>QBOff+&Srs5~Y#{z)vC}BXSo-<%q1QDr+Pfz;J@LVYwjCBXxf*O1Eu!8!mn>z!2 zF{c4n3Fgd{hr}rh48dNwIEcN(AmT6+;6rwZ^Y9aXAMfEdLX~Rx^M~LiFH&hn`{Ta9 z?+bS(new#Ba`K*qRpga~%?UY!E!^>++tWsS+ENl8kEo-ztNNIwVTMUpRL+>w z_VO!-<_|^AC+w>i=mka0-Ub9$*GHOLJ`Xjysn2rTWI`;QJ@8 zomgZR-HE2{H*N8zovEgdcvDBBsWVaEHE&*4VfzPa%4nH6cWGy&IlAF$YxIqH<(Auq zEim&3&Xp*2xfN<&-aflM+>F$NZ(~&N+bgV)|LQ_hl<}8EP5fRG( z@LIhb?j||g9Nu;gFS3*78u6hJwDQKU1we+gk`IP>CWcP=*(q)dlyAp6Z4kl1FqK?B zIeRj)GhteNu_vuDh3Ov!)0U#Np*Y+Vd4B#-_(;r9A7kpts4LzOuN8U25lDRh8v;_# zkOZ$xB%nbiuu4G0PbycjYN;I7LDMU!$K8Q3-v&X$c_zl)!=6X9DX4grdqnGl%2$1Q zSPV7m8TPXt4qp?NXbn7gyy_CQpWxtbx=)RJxaR=62a8=0!D0Z(-8s86d?8wqFtnu% zo8pE|i(NOH5{A7g!-2Trz-RW)&L<2n#h91G<$zXlkZ9`t^#Hm;c_@@*K#HM3zEBbw zg&{JEipVHHaR9C%GKzLeTgVuG6sY}>EQjQ@x91H9S>Ov0 zC+3A*wif!5XF5fJL^6mw4tN*j4A^r2|QoJevah@^&qJyD7i@=j6^a{25Nc6N5paV!4O<0 zM0tFrc4%nK2b|?lux#b#u9XV9u+eJ}!Qr!)&oFbkC3{VTeX9?X>5@u#=+jlrGfYxj zzEo0sWoUjVQ3BaHJ=D9>H{X}AH<7Ak74R@FmDZ(7o8zU;3+yjXUq5{_kSy(*VSZwG z{PN;?!2kU>AtIL-p828Bg_X_(NS9P0L8Open&mBdLqI+WS#A$xYuw3ikR=ROoDwg9 zgAmin2?tVU)&atRQ^g&I8c0=v%yK=LW{`CkjK?N@SdH-i*J?$i6zz-|cP=X_>#E0B zRTc(g8eqRYA~`Ib*LZjKKsm0ajhUSrUxg8<}IuLZ3w-g#OIg7E-Dp$E*b5 zGK1w%Cy*~j&NYi-B=C9i4VAgK%`*4K^m53va>$Tb?#Q#O(#qADNdq3rcRb9LepMJFf3oWPdyM ztFc(?-p?A6wq6wBO43$4if|<$z3EKi;V6%5%cHiKw)~E^0p+<8l;ldj%SdvzFO62@ z6l{-(y!N)M<2jJm=#KS7UW4>{RmTp^hg&oVe@?egtNchqL%f2p%BQFYZs^n03OPC> z8RNtIWlUl^qTrSZzLSGMyN7_Tx5mr`C?rjj5OCAHx%fvih=>#`+MN~-ZH z?Ao+qS{YJ~QlnI$DZiX$-ey1=ro7EkN%rYQoj_j5m5l>!QlWQ^l*&G#Ph=MJ0&oiq z;0@IcwX}QQ4S7`{E6tuzfxmW5=($VzI!DANIj70-_=qwl`8cpjDwSa^5_ZYQNwVfr z(@Vs_Z}4Oh{DTzS&9WS_&Y))G13>6K$OZ5~=-uZBol0&m)P+jiD9?33(pe#5C%m2< z@=^50b~yDqg#iER4cYX}E5%^h1I z^XcZ|9=qz_Gzv)nn@)>q8%Y<_n6@hsUZ(1CXoh7T0D3}>iSTO6kN|rL9a8?BVioTw z3+eHso5?D(8k{UnczQb`bc&*<3ezEyo>l=C%bgRHV908b023%!HPJ@NvVvF#V^%}v ztPL@REE24a)l0PK=hQnn+CAV44ZT6#fx*H4bsN@ha0C@5ebCyO(c>Hu^*9b9l>;!N z32t|s0sXJbJwA5M1L~hz7@xxf9aQmfzuOGk z*iHaB)#N&Hr?JTx)=>lJ7?|Y2z<~nwW&rVs6IN(rup3z$6Rgg=VJk{~*uiCpE>d5c z%OdLVg-9S~Y)l#3;>Naw(UrD3-Ybp{{-PpkSlAphuTPn`#m(Ci<{fu|HEI9a+;&%` zFs)fuQfV6Pt`k9+8w+<%O_QqU&v6}un+UG^~HbcT;dK85lOAg|T@V>c>iFD|IjL~R! zfWwm8jx>ftAd9D9SC9`=At6HQj}>ht%(K-FF=v37h85gtAZ@rKd7;qJlST?F_@jhW z8}b@KHp@1^HBfQgaL_g6pch~kR$K^WA$DR#4Is3nr$X$EHXy5Yvu)sdy9@m9aglXS<0htvEDM8V#VGVf6D=CRF0%f<>TVG%ejB*W7aI<xKgL zOsrYD%G3HWYT5v`EgALrabR_ftTkjj2Mqk2He@U~l9jbcJrL%|G;I!8VJ9vX(QzC2*=x z5o^Ic^U-X{bTORZ((gNWA-&WV?r||&M$F_P%Ou*PaQcg(a33@VDbR|8gQUQn_N zOkPjIJYW#>+NJv0XCZ-UB|bV1`s!)*8|az=Kj{vjvOt8Nr=QBG*NN(ZZ;1F`34;?d zB+_pKnq^!bH1f7{C!s6|8oS|h?K!$}l*L4fFOzt}_;ZN&cqCwxqMDUQtw+YXk}(Jo zd(iqvwBr%Ij(Y`)gW7eO+ClZk_3Isdhe@j!`u88}=<0SI>ps-oIT+M|R{}aHc-Ww3 z-MKL^MxVWp%8eHfb`Bmq3bh9M`+5hugQm^vH#>U$0Y{I2(#MjyywH2Nx9_E1XC>!> z2BJuS1}Gv8aKo5FT%2c#BD{&98yXrOck}$vkN|o{bgzJv+H(P93zkD(hS&xK6$%bK zhv<_-c7{Xb#WiEp0+FBuy(u?=S=@1MA4Z)JIqmsukMh*y2(efZjk=)pTo~r?UUTap z0uvb8)lqBuI;I5m$e3rGCB8WZL-~^*6M0dtmvEVi*zQ9 zjwRspr{<^L`n%|{c-iWi14~7vSDf?Cx7woGL{ZD4{kIjrsz`0E)Z(cHI8>*zWQ?XOrmCExF=m!6QzF|{Ia}esmc*8j=mZ_ zw@6E{EP1Q zmfu+t+Yd&1q8r}dc5T})cD%pm+MYzi=G)aU4Qcy1XjV6L|sthIDnqyGO4cU1&&DuZ4Q6TNk$cBDmP`&u>JwL~TFYeiL6BR!~3R zm$J9U?X3&jlJ-sDOc4p*E_0^Kt5fBz@$y#iwkTda9ozf-o$_PpikfKE?TR%^<<;-% zuj-?l@s*S1Yx64KVp4ni<9qw>ls}IxDsES_=GBPpJ$9#j;OiA*_-_T1<;U*s1Of5x zb5waXNPiDrqA4(rW{%D6mB;4K8#*6q;Lt7O$@}(!F-LN&OIOvt)kS1S1)QrD$7JUs z|J&(bO{caUjc+>|+u9p*_9gB8U)d`kmPnm_w`_%Gj~?12z#|^z_n&lBAE{G**lIhp zNAcm#eNB-0q`s#Z9{;|l=8n1?W-G4-K95vyf zf(H;(xbXQwVj`x&@>NK@013KaJCu$?3W$~OFf8ia3iM6t(1pYcAcaa6%$3j%RX%wE z+G(I%JE{fOFImVaWOYLeT_KX5^@%8?AANG^4V}ckOfvyl*eLvlz#8Z!-5>7)iM@a( zRbp&_MPv$kv>0y40s{zp$ZL|onxwt?5glSeiV+1EbGQh+<2>X~ z1r09Oc|ZC>@VhnyYh133UC5Oc?p+zDja>rG2W>8qGZ^=ex<4=xpa zfCcjrc>?pm^}$rQ7cfFH9jwWC9XduhqE}!Y>=^6t0ipJTzX#Y7QFBccc!DNVRWvHv zGBX;&84+y*XapxuO>q8U56=s#er(VE1X>GB|H1xl4qbl)=FAwV7oNvH(Pa^|b!h(+ zG?~uCu9d@Q!O;YJ%G1~h=5hC=Z}{|(G?S~)_y+v>&maQIXRwC{uN^#YS>*&T1$9b3KU z=Ib$SM_OC8Y||Ok7ds!=DPw8MP!%^+MLNMP&Ck-tb&&xSOCK0Kh(SZZzlDRTg)t)f#jA?hm9K-gR_83$0xMdC5K_&d}zXo^f zud!EVl@8N%mRX0BUqC@n_~wFD9Y=-$_(b8A@2&{LIC~occveUN7Y^C+frzonX@*ry zt3WS@r;daG@_Hm>1$^m#6jGo_Kht~ zSqEDXssQk)=7o@2np^IT4r!rZxpm|X>mlvQnM;-{WIV1mV-cb+Y zbfI^Yefn0sqy8!HX!z^i5&ZWu>Hxr>N-xsJyddo~y6{4c0?H4vXW3p9g~ao0FVIH; z5uB?m41bcv2NVdpX(O~NAb^wp3c#P*pDD0KT7VzQzL3-A9H>EBF;K&pz1yVP*(a-K z4bqtlS)N*h4q47otP$g!Td44&PB z#{d){N^g5!myl)6Z)-sLgO&mk0(+#CcdwMnK0`LxZ&@uS%?M5ps_cGYbylJX)W(dp?a*WhJu-X&+46Q!&S?f*^}2Hv%0X##kk6>{cXfv z1y*Lx#ZVz5uLzmArflzQNuhb>ypJ(tBG|PQRhCj+=}FeRM_Re;lQYBql;M0h4W!C3 z#Vgo~0gA00pd<(=4>OQ_D~RHVvj+~ma)w7 zf>i>_R`;R|CkxiHz$8aZaZXxLgLgF;>w-n{lq3(=_MlZBQgm!>51OT30~~mSwi9ik zQ$b!!)Eru*K|l_em<+U!{b2b&{)77`eD`-SLP3w{37w6CX2Lx+?sv1?I08`?&GGW< z$Lv*zz`P#dL_M1dVMQ37#Rv(YU?lF?8To`bl@tA%Agw8JThj$R+}SZ7e8(cn13$%< z=0Wk(m+lJ_W1NTO{wwzR5=Q?8i@`M=rgjb2q8rA$NeLA8^In;l0-zljS;l`*~!t-aoAd` zyepZt63m%Bk@5F=kZ~Mr5iEs3C9QtjHL_;gIn;Z}DxV9^mftbsB zFc3AwEvUr54V*f-dVx-F&HS2FQB%CADLR@cT6^*ElDRrE`0nwm$H56ee_g+LIAPv< zaetaI{P^hKAAPfLsj_9kzHmNKxh>9=UF@21r7ay74=gi`uKIzVGMMLv!!4K2CiK-Q zeM4N|kkB{XHK=sW%SPH@y=&6wtjku)P<+>>)uGi@RkB=4m3Gq?dzTefRXMm&q)bh5 zQ&TkX{?xUpMOUnO?`QQ%(-HV84P4e^{m0TqGx|fs%2p?hElUp9!l}i^)W**E#?FMJ zD`u>L&(cKSb};4YXZ7LDsp5usaYItu_{6?DbNUXyku)|h)wV6{TVzt}JL2m*KzlgT zhdp-8M8qKq2a5+Ucxq8%|9-KWGanBqC{VBS_Sw$y0)GhA(=bbZymtUEE zC1t9Kn`)A#y2VcLBmdr#C3}5r)ux1f^Tne}MRie2qGuhWI#b`%T-<)Jtr!|Hjhkg`V(wbuC zRY`3FB<99q<<5k;HK}bQU`JA0PrwmN!rYS7ItjEksjW*FS6e_) z7o#IrhZZ~wBeCi&iK4AZ<2IOBN>hGY14?EPjknykZ@qag*7Mr!Jwr1fg^$EMBM_&p zrLnSgx2@}EHpG~1i*AS>zC`00xl4}Jqla4DR?KwL-#xHW*2Cl;#31keISLLnWYG|COtQ+rag znrEn`Wp&R`OP|#pvZ%MiRe|umZ(+)*Z+?dQmYn+5XQ*$>`VX^3&rrXZwcjXt>WY;< zR!i2yi0_NBv;)&LXj8J<8QF1#e8q<3hy>udTi{E{5-HD?q4xM4ML_l}^_ELz+2@V& z>|BY#RPlylssaq8@XQ)Wot5DCbx4AIfpq4Kxv%4baO1 zvw@$ZG{$;7;THs5_XTvaginV#+;(8- zrg*}JfZkY5Dsv)NG!3OZUJ8ln5SX*>F(3Eu0HQ$!!#6^Nj*=xQQ)ArJm@qX131svs zrVN;gh+%<^F=a_+Qx>GTQS{4->lGisS7%VLC0n3fXd|GlS&$*->LD;-R-`WBRxk1d zxHAj1-0<8SAixe87%OkNF?n;CK=vup} zRNxbjx8W1LzN>`#q(s-PR(?`j+f6G!rB#qdD>g3c(2%p3y9E_FRBLk|V?;P?Ol5M?D_lxMV@f&1;*?hA0BXAxS3krARt+UG>0 z*KY0$$f9nIN5eP}Z<_v!vV27uzM^zrQKqjb+gFtSE6NIxduk=!bkC@zZTCtm=<0jh z8G6+{GflrtKh%!Ubj@7~<9o-HHoEj)%Wiu6y?qKBZCh@k7~@RvwzA?&y?uW0trvl_ Oj4|--H^o$v8T~(z4^Q)U+kC&?<^0g`cUPK5~(ZYr9JoBGX}?1 z56toX|2gM;=bZaDkH>|8{`7D>e%6W5KUl>iTrRx)1PW`2AR;8tMCn(U5P01-VdKBz zgvfvK1SYl#iHH++f+rkAnvjY8H)z619Kc;f2Cfh%a5r%Q_Yehm9dQHqsy^bm)r}DK z*pONepZ9V32#<|nHpCt)4}>z*;1l6{c^=pr(yhL@ z4H~M52)bl8rIESeaKE#a8`2&J((LO^LzcbGku z_61N6-(C3h9I?g0!m254GuHs&ien4STvQ#gL`qXhhd!lt#8Szm8q=p!N$Q2!LCL^W zjomifSLTxX^o%-6X^I;5=q$*ZPz8n+glLfzKxLa{H2VPeF=**NxoX zl{3p{R?iod<{WP3mphM0Izkv3w z#rCcuSc?glQyLMQxr+Hq#6!@xXxl#uv|F}L&@LXMY}ps=oRl>O?S?}Gr9~47%1nbY zUsTedeJ;sx#l;^KX#hG5d?Q8XDMP)+#A2z-LDgRZ=ycivt!=FP5-`vemVbNs*O%`# ztu^0m&W=AkwXXl+Y@t51iSzZnTln;jr*Y-_^7U-*!^4k8HjfmJ^cFm)H=}vanauee zC9q1epqkDc?kuThKX}*`xN1Iy!U4|$^=i_shFX4SUvCWsn&Mj&(n8!)rL`a!MMZsS z0fa1!1u^(0uzOWE9E0a0SH~`XU?}1Dhc89K<5xxp-!mL#Lji&8jUq0AZQ2H|?WjU|#!)5M;6RhMj z%avbK(x<_t>5XQ4TC5oPB8DIcf2P(1^earIG=xM3jif-tMM-D2%n5cei~D{bAcE7< z1N4PRqz!vzr8L%=>2u<8vJqPt5l0wxq7z6H?$`u$4GHk~Y2QcUHFQS^%3}s*F^7Zg z#eaYn+!3nICgvmh{H!`K{uM;5n~6DX>IF0Ipc}j>ceDn+4EAE!ua5Cw>BhXSYCJ3% zG7DOFQj{2WH5p4mAmhgJJ($n&XGpUU!@%^ySBHm3!(qTUj?ziZaFq5QF-!m*J;=V)FT&5Z0geXD-v3JT8FT_i|d>;4_z8(Ews z1z+cq^qmMze}A)eX>|3-Cl}UFW=40gb7_3#!{rZ`-pjVEtLs0{xk8)c&+t1%U*PjM zp87hLPUP@g>rr6eIbkwi^p(bL^4BAtp>FX>w={IZQ9C7Be|F3c$n*@t<%Me#L&i2yK>*vkNOEaFPUBXSx8kgDV}Z+{Iion^o{#|%$6 zd?7M;b^Jnvxy*(3n<;uHN{LD$C7&88J5QAiK>nwWQ)ZUj;c=AFAXFFpW|FrbZ9xx* zieXD>hC@x>o~Dq|oPyy7W@(HeX$e)GHSkm_LFjSTUOzZ85(&RIcx8Ne@XAQ!(&#l4 zgXJ8Oo@ASM01Ha=G%GVmmB965R^q6t%5DIlsT(RCg8p9kv_Ap^_wMxFYgjvc_i*<8 zeEr)6XJ{AMrLIl?j_k?R^=#_TF{1-c8~;1Vv% z?t89m@0SDj2ezAg^36Sk<`V_q$-I2h>^t?Dm*qeB0O~xj%fIT-p|%6K%egz&1M7~Q zt9uha!>5ai`@2RM$j?+l*cXEXL;d2DerZ^8#NY-NvD@;{{O>A+)e63*T`schip{Jd zA`sh#Xj$L?2*Sk5gPBd&%5sTB>>Cbq9mtkzkCI_G=l>n$BFcvQz$m5a*ih9ily7)U zWWl~QlL%60j$pZZ&GUP!PF8!APiM~-PNaUL;W5(#5PKcOYn{>ZFbB?v;#P1i&1c-w z6ueU6RtT;1SKb_u1T~JaBxhzOnk3^a%OQ{*8Zrw&(^Mrqn$Qr;4caI?H<1C^CX18s zfOEvAQqwV2TaZJc65xXZWzWY2S14qLz6IaG_gv~Gn@QB0(Yb`qic_$0LZuvId}0}| z3-(Zm!F#fFZuuNL91F$tB0G&@$Pg-Lqf}FkxY@Z((A*8)OEtsA z>ZOX|W@VVk#~W@<)g$G@X#B1$$fu$@KaSzzlh|;L{)Fu+8TRrza#?1YQCAMU)(+ff zlxy76XjNVXvnLh(02UmCPx~h@a4Md_wx=ua=_+`R!n4U6*!Fhiy(o#^`Am3HIEB(v;SzJ(Bp`SZ{Lykn41R{}O1HBBFr+tj^w1_`#23YkN zV?B(WV~n|9?$P-(hx_qTHpS8%t}QN5wstZ)qedczD?G31>dfdz)B0ECr~}awy^{N9 zQe-ZnzDut|l_hf;%Pn_BK@h%0-fxlfTjb&Y%B~&Bt_&_Zm5jaUZ_1(iqN_gR*s}}5 zi9OjVwCuep3SE0{QSj}#9YXh>-z9kV4*P_*-J=M*mlmFihrV(7?~Z@=vx2K7hg)_< Jgb#Be{1;T%y1D=W literal 0 HcmV?d00001 diff --git a/postgres-ri-owner-switched-cast-poc/__pycache__/poc.cpython-312.pyc b/postgres-ri-owner-switched-cast-poc/__pycache__/poc.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..275ececd057af9acdec48c51cb1899c8bf8c40a7 GIT binary patch literal 9389 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 bq_f~x6O?f=`Hi~v_muu`2MW;Kg(dz!2eQI} literal 0 HcmV?d00001 diff --git a/redis-vset-duplicate-hnsw-id-rce-poc/__pycache__/poc.cpython-312.pyc b/redis-vset-duplicate-hnsw-id-rce-poc/__pycache__/poc.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e5e1f2c350c8b855f238c69d0baee9849c8585dc GIT binary patch literal 36161 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 Date: Mon, 13 Jul 2026 08:42:49 +0000 Subject: [PATCH 02/25] Validate PoC collection repeatedly --- __pycache__/validate_pocs.cpython-312.pyc | Bin 0 -> 4839 bytes .../__pycache__/run_demo.cpython-312.pyc | Bin 14303 -> 14345 bytes .../__pycache__/poc.cpython-312.pyc | Bin 9519 -> 9561 bytes .../rasc_dlta_os_helper.cpython-312.pyc | Bin 9423 -> 9465 bytes .../__pycache__/build_backup.cpython-312.pyc | Bin 6593 -> 6635 bytes .../__pycache__/server.cpython-312.pyc | Bin 7640 -> 7682 bytes .../__pycache__/poc.cpython-312.pyc | Bin 8944 -> 8986 bytes .../replay-calc-poc.cpython-312.pyc | Bin 8696 -> 8738 bytes .../live_publickey_server.cpython-312.pyc | Bin 9666 -> 9708 bytes .../__pycache__/poc.cpython-312.pyc | Bin 17217 -> 17259 bytes .../__pycache__/poc.cpython-312.pyc | Bin 4686 -> 4728 bytes .../__pycache__/poc.cpython-312.pyc | Bin 9389 -> 9431 bytes .../__pycache__/poc.cpython-312.pyc | Bin 36161 -> 36203 bytes .../test_validate_pocs.cpython-312.pyc | Bin 0 -> 2545 bytes tests/test_validate_pocs.py | 26 ++++++ validate_pocs.py | 84 ++++++++++++++++++ 16 files changed, 110 insertions(+) create mode 100644 __pycache__/validate_pocs.cpython-312.pyc create mode 100644 tests/__pycache__/test_validate_pocs.cpython-312.pyc create mode 100644 tests/test_validate_pocs.py create mode 100644 validate_pocs.py diff --git a/__pycache__/validate_pocs.cpython-312.pyc b/__pycache__/validate_pocs.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..afa4dcd98aa394e06037c4cd6afe0ac877a051bc GIT binary patch literal 4839 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 literal 0 HcmV?d00001 diff --git a/curl-smtp-expn-recipient-crlf-injection/__pycache__/run_demo.cpython-312.pyc b/curl-smtp-expn-recipient-crlf-injection/__pycache__/run_demo.cpython-312.pyc index 12fd2d46445a7dadfd2a9f7994494aadc9c31c7c..e769b67b8288f3773e920098bd0e7a735e5a65d7 100644 GIT binary patch delta 57 zcmcbg-&wH1olz%VKO;XkRlle-FE6!7zdXMvTR*j;ASXYwB(W&7G#7=l*^_aa8338% B7Rvwt delta 15 WcmeAyxSzklosr2@Z*wu@G&2A)V+EK1 diff --git a/discourse-scoped-api-key-preauth-bypass/__pycache__/poc.cpython-312.pyc b/discourse-scoped-api-key-preauth-bypass/__pycache__/poc.cpython-312.pyc index 0b4bafa5985c3c24415a04aaad781aa33193bad7..7f939b02e41ad6c7f1175dec7b44791985d4bc0c 100644 GIT binary patch delta 57 zcmZ4Qb<=CZUq+oM{fzwFRQ;mTyu8#R{qp>xZ2i=Vf}H%!lEk9S(p(hI=KqWa$^f=Q B7mfe` delta 15 WcmccVwccyPUq&Vaz0I0T2Fd_6$OT*g diff --git a/ffmpeg-rasc-dlta-calc-poc/poc/__pycache__/rasc_dlta_os_helper.cpython-312.pyc b/ffmpeg-rasc-dlta-calc-poc/poc/__pycache__/rasc_dlta_os_helper.cpython-312.pyc index c81aac585a5cd686ba2d44ce00956132a4349560..ebf54612bb13996de53f5a71fd9df6fd72452362 100644 GIT binary patch delta 57 zcmX@_`O|YlJCja=enx(7s(w*vUS4XEetCXTwti|wK~8>VNn%lEX)X$9b0?FV5&)}= B7X1JK delta 15 WcmezAdERqFI}?+c-sa6rZb|?*7zN4z diff --git a/firefox-152.0.5-backup-nss-rce-poc/__pycache__/build_backup.cpython-312.pyc b/firefox-152.0.5-backup-nss-rce-poc/__pycache__/build_backup.cpython-312.pyc index 2a39de6c0843ab04c79dd1aa72209af7bb80c423..61277ad3b36c16e15dad3ef3d0637778d8962d5d 100644 GIT binary patch delta 57 zcmX?T{MvZKduE+D{fzwFRQ;mTyu8#R{qp>xZ2i=Vf}H%!lEk9S(p(hI=8w!5L;Lenx(7s(w*vUS4XEetCXTwti|wK~8>VNn%lEX)X$9^EnnSNdTLv B7PSBX delta 15 WcmZp&xnaHG3=5N<-sT@HT#^7XTLppu diff --git a/floci-apigateway-vtl-rce-poc/__pycache__/poc.cpython-312.pyc b/floci-apigateway-vtl-rce-poc/__pycache__/poc.cpython-312.pyc index f9cc0879d08eeba5d8196f426d15c98095942bfe..46720a147097ebb796a9e78ffbfb463787e08c3b 100644 GIT binary patch delta 57 zcmez1I?HXt6BZqR{fzwFRQ;mTyu8#R{qp>xZ2i=Vf}H%!lEk9S(p(hI=4UKiasaLY B7bO4y delta 15 WcmbQ`_Q7?-6BZ^_z0CrwTyg+27zFbG diff --git a/libssh2-publickey-list-calc-poc/__pycache__/replay-calc-poc.cpython-312.pyc b/libssh2-publickey-list-calc-poc/__pycache__/replay-calc-poc.cpython-312.pyc index b5903e958611ce2c12b308eaa70f9805dc461d20..0476bba821dbe1b36912cde2d48fb3669532417d 100644 GIT binary patch delta 57 zcmez2yvSvP0Gm#nenx(7s(w*vUS4XEetCXTwti|wK~8>VNn%lEX)X$9vk==eX#j^s B7Igps delta 15 WcmZ4F^22$902`Bu-ew!NXVL&JUj;${ diff --git a/libssh2-publickey-list-calc-poc/poc/__pycache__/live_publickey_server.cpython-312.pyc b/libssh2-publickey-list-calc-poc/poc/__pycache__/live_publickey_server.cpython-312.pyc index 5002a34d0ae2bb4ddcef7cb8eb10266374faabcb..cd7b42e86717ccf3026e65be65614d7185e38780 100644 GIT binary patch delta 57 zcmX@){lxZ2i=Vf}H%!lEk9S(p(hI<}-}nlmWOC B7$g7y delta 15 XcmaFkeaL&mDMltcz0KbkzbOL%I~NA= diff --git a/nghttp2-nghttpx-upgrade-queue-poison-poc/__pycache__/poc.cpython-312.pyc b/nghttp2-nghttpx-upgrade-queue-poison-poc/__pycache__/poc.cpython-312.pyc index f455feafa57e48fb47a9c151f123276538f13994..b1f9f70ee91cb5a62743be016d3ed325656e2a7d 100644 GIT binary patch delta 59 zcmX@u#`wC8af1$%PPBeTer~FMQE6UYYLR|VNn%lEX)X$9b3EgF0RWKo B7Uuu} delta 15 WcmeyNa!zGKEF+V)-sVom_W}Sh)djQw diff --git a/postgres-ri-owner-switched-cast-poc/__pycache__/poc.cpython-312.pyc b/postgres-ri-owner-switched-cast-poc/__pycache__/poc.cpython-312.pyc index 275ececd057af9acdec48c51cb1899c8bf8c40a7..d028a17a100d97183914ce0928ce919114421136 100644 GIT binary patch delta 57 zcmZ4MdEIkEC!VNn%lEX)X$9b2p=sG60&j B7LEV_ delta 15 Wcmccaxz=+-CnJ-N-sY{0O3DB-;{{s) diff --git a/redis-vset-duplicate-hnsw-id-rce-poc/__pycache__/poc.cpython-312.pyc b/redis-vset-duplicate-hnsw-id-rce-poc/__pycache__/poc.cpython-312.pyc index e5e1f2c350c8b855f238c69d0baee9849c8585dc..5bdc3249ef74153e2671c3e363b4cecec891a43f 100644 GIT binary patch delta 59 zcmX>&i|O?&rVSd*I^p^m`MIh3MWuOpsYUwb`9<0KsTBn|`I#k&MVY0!D4fk&%;H@D Dw-grp delta 17 YcmaDoi|ODjrVSd*OuBlTLzu<806h!^$N&HU diff --git a/tests/__pycache__/test_validate_pocs.cpython-312.pyc b/tests/__pycache__/test_validate_pocs.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e335d907b8cb106a95a5582b7d1d703a17a2d22d GIT binary patch literal 2545 zcmb_eUyKt)7@yhQ_LlosipX_axEu*8Rnn@57|eMg5rY>)A!qTSiENhcaM!Zktux!> zdMSwHh-aeFCl4cuyqMhOV&w6B5}$nVsq`)-D<&qq$Qwy{5T5*Ix7%)kh*37_H#6VN z_suuI?>F=H*P)?)1Rwq`Tf8J9bej+SFVya|=ApBUbfjYg<#;O?xFqBR?CHduD4-)q z7Z;H(5mc0Y2i_g4E}OhM>#B6Fv6QLEMm7tZN4RLSI*7r4|pldccZsl2)FgugS0iQfj z{%f6bUD};F+usbWwRJ@wpn$m_d@&qQw!1o3pjShxVA7>pRF88;n!a3nozl}MUaOq0;`S&N=Yllih? z6>NcD;u z2dp0h^AoHEnBUU%>i6sczo+9xRKtgnpGrU7ev2W6Pw*gs2jK}GhW!1ytsU|EHSF)E zi)(F!+~K)j1EB&3Eucm|reF81#}}Z zy}tkQ;cutDo?6+px${6hF@3+q$#hXk;2uVDHa;B?2FqIhj5b43MP`{9x(yuD?I40@ zrz4=O8INLp}H18S%kZ%T;^UGJT9G zzX?vPJL{d!pLY5+#t5~uv_c$FGpo*!r#M0hysFd@4PqumI>@~Y_qui>ZK!-_jAvo2 z%@60ff5m}?1OJUX{8;QF2>yIM-&7{+%H+EJ)A=9IH1)wVd7N_6_OOvt)O{Zf==|UJ5#FahaP!bt!(IWJK|ODSka5C< zQj4;rL=#{W;0Z4{9vud}9KZcxMKh9um)tN^sET0+Y3{^=g{1(bVwHTJ5S=X~AD^{0 zCxc7fyYmu60*Q)_HlzFM(S0k~A5N~GY(yuP!Y-n*x*WT_W5DD+TD`D+BFv|m+AmR@no>Y%FfGk7zU|NWqQxOfr7DstVpj}_&`-4z^476q}0 zS^^He*$VfC_TSqkgwoz>zL0NL(h8=k!ab8KX2Iq-@X~G18iiACZTG;HvoP_N1~`S@xG7CTx4ZuXdBTf%lD-BLywEfLT;CNj#=oJ+? None: + self.repo_root = Path(__file__).resolve().parents[1] + + def test_discovery_finds_expected_targets(self) -> None: + python_targets = validate_pocs.discover_python_targets(self.repo_root) + package_targets = validate_pocs.discover_package_targets(self.repo_root) + + self.assertTrue(any(path.name == "run_demo.py" for path in python_targets)) + self.assertTrue(any(path.name == "package.json" for path in package_targets)) + self.assertGreater(len(python_targets), 20) + self.assertGreater(len(package_targets), 0) + + def test_validation_succeeds(self) -> None: + result = validate_pocs.validate_repo(self.repo_root) + self.assertEqual(result["errors"], []) + + +if __name__ == "__main__": + unittest.main() diff --git a/validate_pocs.py b/validate_pocs.py new file mode 100644 index 0000000..a263dd7 --- /dev/null +++ b/validate_pocs.py @@ -0,0 +1,84 @@ +#!/usr/bin/env python3 +"""Validate the repository's PoC entrypoints and manifests.""" + +from __future__ import annotations + +import argparse +import json +import py_compile +import sys +from pathlib import Path +from typing import List, Dict, Tuple + + +EXCLUDED_DIRS = {".git", "__pycache__"} + + +def discover_python_targets(root: Path) -> List[Path]: + return sorted( + path + for path in root.rglob("*.py") + if not any(part in EXCLUDED_DIRS for part in path.parts) + ) + + +def discover_package_targets(root: Path) -> List[Path]: + return sorted( + path + for path in root.rglob("package.json") + if not any(part in EXCLUDED_DIRS for part in path.parts) + ) + + +def validate_repo(root: Path) -> Dict[str, object]: + python_targets = discover_python_targets(root) + package_targets = discover_package_targets(root) + errors: List[str] = [] + + for path in python_targets: + try: + py_compile.compile(str(path), doraise=True) + except py_compile.PyCompileError as exc: # pragma: no cover - exercised in tests when broken code exists + errors.append(f"{path.relative_to(root)}: {exc}") + + for path in package_targets: + try: + data = json.loads(path.read_text(encoding="utf-8")) + except json.JSONDecodeError as exc: + errors.append(f"{path.relative_to(root)}: invalid JSON ({exc})") + continue + + scripts = data.get("scripts") + if isinstance(scripts, dict) and "poc" in scripts: + if not isinstance(scripts["poc"], str) or not scripts["poc"].strip(): + errors.append(f"{path.relative_to(root)}: scripts.poc must be a non-empty string") + + return { + "root": str(root), + "python_files": len(python_targets), + "package_json_files": len(package_targets), + "errors": errors, + } + + +def main(argv: List[str] | None = None) -> int: + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--root", type=Path, default=Path(__file__).resolve().parent) + args = parser.parse_args(argv) + + result = validate_repo(args.root.resolve()) + for error in result["errors"]: + print(error, file=sys.stderr) + + print( + f"validated {result['python_files']} Python files and {result['package_json_files']} package manifests" + ) + if result["errors"]: + print("validation failed", file=sys.stderr) + return 1 + print("validation succeeded") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) From e8e8f4283811afd89a8c05fb227430df7ff13879 Mon Sep 17 00:00:00 2001 From: 5hy7xz92nd-oss <249378113+5hy7xz92nd-oss@users.noreply.github.com> Date: Mon, 27 Jul 2026 01:52:33 -0400 Subject: [PATCH 03/25] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 48710b3..eb80ece 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Statement + # Statement This repo was incomplete when published. From b57737cda837b65cfb880ba9ea9da9e1d2c2f771 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 27 Jul 2026 05:52:50 +0000 Subject: [PATCH 04/25] Apply remaining changes --- .../__pycache__/build_backup.cpython-312.pyc | Bin 6635 -> 6634 bytes .../__pycache__/server.cpython-312.pyc | Bin 7682 -> 7681 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/firefox-152.0.5-backup-nss-rce-poc/__pycache__/build_backup.cpython-312.pyc b/firefox-152.0.5-backup-nss-rce-poc/__pycache__/build_backup.cpython-312.pyc index 61277ad3b36c16e15dad3ef3d0637778d8962d5d..3adaee992c43c482e63b7e6856aee8fafb830125 100644 GIT binary patch delta 10 RcmaED{K}Z|^hTzak^mfP1ib(N delta 11 ScmaE5{Mwl5H19^nmy!S<{9 delta 10 RcmZp)X|iED&AX6M4geD#0~P=P From 4af40b65e97b2edf9d75e6181c6c742a4e14733f Mon Sep 17 00:00:00 2001 From: 5hy7xz92nd-oss <249378113+5hy7xz92nd-oss@users.noreply.github.com> Date: Sat, 1 Aug 2026 23:34:33 -0700 Subject: [PATCH 05/25] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index eb80ece..48710b3 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ - # Statement +# Statement This repo was incomplete when published. From 2224f5558ede81e47bd8fe12ca2bf773a1dc17f4 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 3 Aug 2026 06:38:42 +0000 Subject: [PATCH 06/25] Apply remaining changes --- __pycache__/validate_pocs.cpython-312.pyc | Bin 4839 -> 4839 bytes .../__pycache__/run_demo.cpython-312.pyc | Bin 14345 -> 14345 bytes .../__pycache__/poc.cpython-312.pyc | Bin 9561 -> 9561 bytes .../rasc_dlta_os_helper.cpython-312.pyc | Bin 9465 -> 9465 bytes .../__pycache__/build_backup.cpython-312.pyc | Bin 6634 -> 6635 bytes .../__pycache__/server.cpython-312.pyc | Bin 7681 -> 7682 bytes .../__pycache__/poc.cpython-312.pyc | Bin 8986 -> 8986 bytes .../replay-calc-poc.cpython-312.pyc | Bin 8738 -> 8738 bytes .../live_publickey_server.cpython-312.pyc | Bin 9708 -> 9708 bytes .../__pycache__/poc.cpython-312.pyc | Bin 17259 -> 17259 bytes .../__pycache__/poc.cpython-312.pyc | Bin 4728 -> 4728 bytes .../__pycache__/poc.cpython-312.pyc | Bin 9431 -> 9431 bytes .../__pycache__/poc.cpython-312.pyc | Bin 36203 -> 36203 bytes .../test_validate_pocs.cpython-312.pyc | Bin 2545 -> 2545 bytes 14 files changed, 0 insertions(+), 0 deletions(-) diff --git a/__pycache__/validate_pocs.cpython-312.pyc b/__pycache__/validate_pocs.cpython-312.pyc index afa4dcd98aa394e06037c4cd6afe0ac877a051bc..c4aaf6929a3d4dff60722064d285e8624e5a20ce 100644 GIT binary patch delta 20 acmaE^`dpR!G%qg~0}zOt7i{FdBLo0G$OU@< delta 20 acmaE^`dpR!G%qg~0}y;$60(u|jt~Gw;|8k$ diff --git a/curl-smtp-expn-recipient-crlf-injection/__pycache__/run_demo.cpython-312.pyc b/curl-smtp-expn-recipient-crlf-injection/__pycache__/run_demo.cpython-312.pyc index e769b67b8288f3773e920098bd0e7a735e5a65d7..68790d7bf79bffac0f4e8dd89d6a67010d2f772c 100644 GIT binary patch delta 20 acmeAy=q%tq&CAQh00iRZ1sl2lnF9bj$pxGM delta 20 acmeAy=q%tq&CAQh00irngly#gXAS^C>;{AY diff --git a/discourse-scoped-api-key-preauth-bypass/__pycache__/poc.cpython-312.pyc b/discourse-scoped-api-key-preauth-bypass/__pycache__/poc.cpython-312.pyc index 7f939b02e41ad6c7f1175dec7b44791985d4bc0c..22dc7e1cf73c89afa4053a38d07c22a1223451e3 100644 GIT binary patch delta 20 acmccVb<>OcG%qg~0}zOt7i{GAQw0D(-vurJ delta 20 acmccVb<>OcG%qg~0}!lR60(uoPZa=10tOZU diff --git a/ffmpeg-rasc-dlta-calc-poc/poc/__pycache__/rasc_dlta_os_helper.cpython-312.pyc b/ffmpeg-rasc-dlta-calc-poc/poc/__pycache__/rasc_dlta_os_helper.cpython-312.pyc index ebf54612bb13996de53f5a71fd9df6fd72452362..0a4c1fb453ce28853953fd75ffa3710ea75a8cb2 100644 GIT binary patch delta 20 acmezA`O}m8G%qg~0}zOt7i{Eyrvd;*x&{jX delta 20 acmezA`O}m8G%qg~0}!lR60(u|oeBU<-3Idj diff --git a/firefox-152.0.5-backup-nss-rce-poc/__pycache__/build_backup.cpython-312.pyc b/firefox-152.0.5-backup-nss-rce-poc/__pycache__/build_backup.cpython-312.pyc index 3adaee992c43c482e63b7e6856aee8fafb830125..ee9855165cc4b3930429ecf51887b53cbe1b252d 100644 GIT binary patch delta 19 ZcmaE5{Mwl7G%pte5Qv)>Y~*|>2>?BK1)2Z= delta 18 YcmaED{K}Z~G#3L9tXmSYk?Wx(06*9UbpQYW diff --git a/firefox-152.0.5-backup-nss-rce-poc/__pycache__/server.cpython-312.pyc b/firefox-152.0.5-backup-nss-rce-poc/__pycache__/server.cpython-312.pyc index 7176a8bd8e4ef97c177a75c5e956eba48843b598..827d6aefd3a160927cd7da5805e828efe964fea2 100644 GIT binary patch delta 19 ZcmZp)X|mxu&CA6A1mfle8##Z-0st@=1oZ#_ delta 18 YcmZp&X|&-y&BXu&>z0IU diff --git a/nghttp2-nghttpx-upgrade-queue-poison-poc/__pycache__/poc.cpython-312.pyc b/nghttp2-nghttpx-upgrade-queue-poison-poc/__pycache__/poc.cpython-312.pyc index b1f9f70ee91cb5a62743be016d3ed325656e2a7d..d81edd7a7239490a82451b69b6d8d20878f3e0e2 100644 GIT binary patch delta 22 ccmaFe#`wC8k^3|+FBbz4h?^H| Date: Tue, 4 Aug 2026 07:45:30 +0000 Subject: [PATCH 07/25] Apply remaining changes Co-authored-by: 5hy7xz92nd-oss <249378113+5hy7xz92nd-oss@users.noreply.github.com> --- .../__pycache__/build_backup.cpython-312.pyc | Bin 6635 -> 6634 bytes .../__pycache__/server.cpython-312.pyc | Bin 7682 -> 7681 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/firefox-152.0.5-backup-nss-rce-poc/__pycache__/build_backup.cpython-312.pyc b/firefox-152.0.5-backup-nss-rce-poc/__pycache__/build_backup.cpython-312.pyc index ee9855165cc4b3930429ecf51887b53cbe1b252d..3fcc842cdf500bd78553cc74fa55fe8f05ad1bdf 100644 GIT binary patch delta 10 RcmaED{K}Z|^hTzak^mfP1ib(N delta 11 ScmaE5{Mwl5H19^nmy!S<{9 delta 10 RcmZp)X|iED&AX6M4geD#0~P=P From 9c8d9fd3360b03e3e114ec0ef5ba76286e4a25fc Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 4 Aug 2026 08:28:53 +0000 Subject: [PATCH 08/25] Apply remaining changes Co-authored-by: 5hy7xz92nd-oss <249378113+5hy7xz92nd-oss@users.noreply.github.com> --- .../__pycache__/build_backup.cpython-312.pyc | Bin 6635 -> 6634 bytes .../__pycache__/server.cpython-312.pyc | Bin 7682 -> 7681 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/firefox-152.0.5-backup-nss-rce-poc/__pycache__/build_backup.cpython-312.pyc b/firefox-152.0.5-backup-nss-rce-poc/__pycache__/build_backup.cpython-312.pyc index ee9855165cc4b3930429ecf51887b53cbe1b252d..3fcc842cdf500bd78553cc74fa55fe8f05ad1bdf 100644 GIT binary patch delta 10 RcmaED{K}Z|^hTzak^mfP1ib(N delta 11 ScmaE5{Mwl5H19^nmy!S<{9 delta 10 RcmZp)X|iED&AX6M4geD#0~P=P From 67de903958cdd873ce077d3c73d88b7314f9b248 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 4 Aug 2026 09:11:44 +0000 Subject: [PATCH 09/25] Apply remaining changes Co-authored-by: 5hy7xz92nd-oss <249378113+5hy7xz92nd-oss@users.noreply.github.com> --- .../__pycache__/build_backup.cpython-312.pyc | Bin 6635 -> 6634 bytes .../__pycache__/server.cpython-312.pyc | Bin 7682 -> 7681 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/firefox-152.0.5-backup-nss-rce-poc/__pycache__/build_backup.cpython-312.pyc b/firefox-152.0.5-backup-nss-rce-poc/__pycache__/build_backup.cpython-312.pyc index ee9855165cc4b3930429ecf51887b53cbe1b252d..3fcc842cdf500bd78553cc74fa55fe8f05ad1bdf 100644 GIT binary patch delta 10 RcmaED{K}Z|^hTzak^mfP1ib(N delta 11 ScmaE5{Mwl5H19^nmy!S<{9 delta 10 RcmZp)X|iED&AX6M4geD#0~P=P From 83d3ddab0f26d59dfbb61a82ce517bc154ba6183 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 4 Aug 2026 09:17:09 +0000 Subject: [PATCH 10/25] Initial plan From 1e7c47bab76003246ffd20c167d4252506260e37 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 4 Aug 2026 09:24:50 +0000 Subject: [PATCH 11/25] Initial plan From 97fd6672bcde141267dcce907133afc1eb46870c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 5 Aug 2026 06:31:28 +0000 Subject: [PATCH 12/25] Changes before error encountered Agent-Logs-Url: https://github.com/5hy7xz92nd-oss/exploitarium/sessions/f54d71c7-dd80-44db-b19c-a02b8d851ee0 Co-authored-by: 5hy7xz92nd-oss <249378113+5hy7xz92nd-oss@users.noreply.github.com> --- .../__pycache__/build_backup.cpython-312.pyc | Bin 6635 -> 6634 bytes .../__pycache__/server.cpython-312.pyc | Bin 7682 -> 7681 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/firefox-152.0.5-backup-nss-rce-poc/__pycache__/build_backup.cpython-312.pyc b/firefox-152.0.5-backup-nss-rce-poc/__pycache__/build_backup.cpython-312.pyc index ee9855165cc4b3930429ecf51887b53cbe1b252d..3fcc842cdf500bd78553cc74fa55fe8f05ad1bdf 100644 GIT binary patch delta 10 RcmaED{K}Z|^hTzak^mfP1ib(N delta 11 ScmaE5{Mwl5H19^nmy!S<{9 delta 10 RcmZp)X|iED&AX6M4geD#0~P=P From 2ec10ad2f20695977c71bb1f8ba67e20df47ad5c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 5 Aug 2026 06:40:58 +0000 Subject: [PATCH 13/25] Initial plan From 60ed059e9d4c7b1172f3870d20ea30dec4a08821 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 9 Aug 2026 11:10:32 +0000 Subject: [PATCH 14/25] Start validation and CI upgrade work Co-authored-by: 5hy7xz92nd-oss <249378113+5hy7xz92nd-oss@users.noreply.github.com> --- __pycache__/validate_pocs.cpython-312.pyc | Bin 4839 -> 4839 bytes .../__pycache__/run_demo.cpython-312.pyc | Bin 14345 -> 14345 bytes .../__pycache__/poc.cpython-312.pyc | Bin 9561 -> 9561 bytes .../rasc_dlta_os_helper.cpython-312.pyc | Bin 9465 -> 9465 bytes .../__pycache__/build_backup.cpython-312.pyc | Bin 6634 -> 6635 bytes .../__pycache__/server.cpython-312.pyc | Bin 7681 -> 7682 bytes .../__pycache__/poc.cpython-312.pyc | Bin 8986 -> 8986 bytes .../replay-calc-poc.cpython-312.pyc | Bin 8738 -> 8738 bytes .../live_publickey_server.cpython-312.pyc | Bin 9708 -> 9708 bytes .../__pycache__/poc.cpython-312.pyc | Bin 17259 -> 17259 bytes .../__pycache__/poc.cpython-312.pyc | Bin 4728 -> 4728 bytes .../__pycache__/poc.cpython-312.pyc | Bin 9431 -> 9431 bytes .../__pycache__/poc.cpython-312.pyc | Bin 36203 -> 36203 bytes .../test_validate_pocs.cpython-312.pyc | Bin 2545 -> 2545 bytes 14 files changed, 0 insertions(+), 0 deletions(-) diff --git a/__pycache__/validate_pocs.cpython-312.pyc b/__pycache__/validate_pocs.cpython-312.pyc index c4aaf6929a3d4dff60722064d285e8624e5a20ce..fbf1fd9b52b5b327cb6035bc057e3bf4fa16259a 100644 GIT binary patch delta 20 acmaE^`dpR!G%qg~0}#B8uh__aM+g8#x(0y& delta 20 acmaE^`dpR!G%qg~0}zOt7i{FdBLo0G$OU@< diff --git a/curl-smtp-expn-recipient-crlf-injection/__pycache__/run_demo.cpython-312.pyc b/curl-smtp-expn-recipient-crlf-injection/__pycache__/run_demo.cpython-312.pyc index 68790d7bf79bffac0f4e8dd89d6a67010d2f772c..8f981b85add622307ccef7c5f8a72f0d7d9018ac 100644 GIT binary patch delta 20 acmeAy=q%tq&CAQh00eL2D>icfGY0@dy9S~F delta 20 acmeAy=q%tq&CAQh00iRZ1sl2lnF9bj$pxGM diff --git a/discourse-scoped-api-key-preauth-bypass/__pycache__/poc.cpython-312.pyc b/discourse-scoped-api-key-preauth-bypass/__pycache__/poc.cpython-312.pyc index 22dc7e1cf73c89afa4053a38d07c22a1223451e3..c59fdf82b4d0081e2f9fffc7ccc838027e949c15 100644 GIT binary patch delta 20 acmccVb<>OcG%qg~0}#B8uh_`#rwRZ^(FQaC delta 20 acmccVb<>OcG%qg~0}zOt7i{GAQw0D(-vurJ diff --git a/ffmpeg-rasc-dlta-calc-poc/poc/__pycache__/rasc_dlta_os_helper.cpython-312.pyc b/ffmpeg-rasc-dlta-calc-poc/poc/__pycache__/rasc_dlta_os_helper.cpython-312.pyc index 0a4c1fb453ce28853953fd75ffa3710ea75a8cb2..5f3aee0ec577700c809207aa19258502e5f8e26b 100644 GIT binary patch delta 20 acmezA`O}m8G%qg~0}#B8uh_`_P6Yr>tOpSQ delta 20 acmezA`O}m8G%qg~0}zOt7i{Eyrvd;*x&{jX diff --git a/firefox-152.0.5-backup-nss-rce-poc/__pycache__/build_backup.cpython-312.pyc b/firefox-152.0.5-backup-nss-rce-poc/__pycache__/build_backup.cpython-312.pyc index 3fcc842cdf500bd78553cc74fa55fe8f05ad1bdf..5457c7f25029613d1b27efead6701772d6e37230 100644 GIT binary patch delta 19 ZcmaE5{Mwl7G%pte5WJ1A*vR=%5&%SM2A}`{ delta 18 YcmaED{K}Z~G#3L9h?^H|eC09zynb^rhX delta 22 ccmaDoi|O?&ChpU`yj%=GAZ}i;kvpLm08}ytZ~y=R diff --git a/tests/__pycache__/test_validate_pocs.cpython-312.pyc b/tests/__pycache__/test_validate_pocs.cpython-312.pyc index ce638ed04ad409b440b99a98f3ae94f82381316e..e415863c95aefa9f8a4a78838a1db2b160f8202b 100644 GIT binary patch delta 20 acmew;{85 Date: Sun, 9 Aug 2026 11:12:49 +0000 Subject: [PATCH 15/25] Expand PoC validation, tests, CI, and ignore bytecode Co-authored-by: 5hy7xz92nd-oss <249378113+5hy7xz92nd-oss@users.noreply.github.com> --- .github/workflows/validate.yml | 30 +++ .gitignore | 13 + README.md | 18 ++ __pycache__/validate_pocs.cpython-312.pyc | Bin 4839 -> 0 bytes .../__pycache__/run_demo.cpython-312.pyc | Bin 14345 -> 0 bytes .../__pycache__/poc.cpython-312.pyc | Bin 9561 -> 0 bytes .../rasc_dlta_os_helper.cpython-312.pyc | Bin 9465 -> 0 bytes .../__pycache__/build_backup.cpython-312.pyc | Bin 6635 -> 0 bytes .../__pycache__/server.cpython-312.pyc | Bin 7682 -> 0 bytes .../__pycache__/poc.cpython-312.pyc | Bin 8986 -> 0 bytes .../replay-calc-poc.cpython-312.pyc | Bin 8738 -> 0 bytes .../live_publickey_server.cpython-312.pyc | Bin 9708 -> 0 bytes .../__pycache__/poc.cpython-312.pyc | Bin 17259 -> 0 bytes .../__pycache__/poc.cpython-312.pyc | Bin 4728 -> 0 bytes .../__pycache__/poc.cpython-312.pyc | Bin 9431 -> 0 bytes .../__pycache__/poc.cpython-312.pyc | Bin 36203 -> 0 bytes .../test_validate_pocs.cpython-312.pyc | Bin 2545 -> 0 bytes tests/test_validate_pocs.py | 126 +++++++++- validate_pocs.py | 232 ++++++++++++++++-- 19 files changed, 397 insertions(+), 22 deletions(-) create mode 100644 .github/workflows/validate.yml delete mode 100644 __pycache__/validate_pocs.cpython-312.pyc delete mode 100644 curl-smtp-expn-recipient-crlf-injection/__pycache__/run_demo.cpython-312.pyc delete mode 100644 discourse-scoped-api-key-preauth-bypass/__pycache__/poc.cpython-312.pyc delete mode 100644 ffmpeg-rasc-dlta-calc-poc/poc/__pycache__/rasc_dlta_os_helper.cpython-312.pyc delete mode 100644 firefox-152.0.5-backup-nss-rce-poc/__pycache__/build_backup.cpython-312.pyc delete mode 100644 firefox-152.0.5-backup-nss-rce-poc/__pycache__/server.cpython-312.pyc delete mode 100644 floci-apigateway-vtl-rce-poc/__pycache__/poc.cpython-312.pyc delete mode 100644 libssh2-publickey-list-calc-poc/__pycache__/replay-calc-poc.cpython-312.pyc delete mode 100644 libssh2-publickey-list-calc-poc/poc/__pycache__/live_publickey_server.cpython-312.pyc delete mode 100644 nghttp2-nghttpx-upgrade-queue-poison-poc/__pycache__/poc.cpython-312.pyc delete mode 100644 openssh-agent-lock-provider-bypass/__pycache__/poc.cpython-312.pyc delete mode 100644 postgres-ri-owner-switched-cast-poc/__pycache__/poc.cpython-312.pyc delete mode 100644 redis-vset-duplicate-hnsw-id-rce-poc/__pycache__/poc.cpython-312.pyc delete mode 100644 tests/__pycache__/test_validate_pocs.cpython-312.pyc diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml new file mode 100644 index 0000000..1bcfdf7 --- /dev/null +++ b/.github/workflows/validate.yml @@ -0,0 +1,30 @@ +name: Validate + +on: + push: + pull_request: + workflow_dispatch: + +jobs: + validate: + name: Unit tests and PoC validation + runs-on: ubuntu-latest + steps: + - name: Check out repository + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: "22" + + - name: Run unit tests + run: python -m unittest discover -s tests -v + + - name: Validate repository integrations + run: python validate_pocs.py diff --git a/.gitignore b/.gitignore index 328e579..a9f5603 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,18 @@ .DS_Store Thumbs.db +__pycache__/ +*.py[cod] +*$py.class +.pytest_cache/ +.mypy_cache/ +.ruff_cache/ +.venv/ +venv/ +node_modules/ +target/ +*.egg-info/ +.coverage +htmlcov/ libssh2-publickey-list-calc-poc/build/ libssh2-publickey-list-calc-poc/x86_calc_payload_reached.txt libssh2-publickey-list-calc-poc/x64_calc_payload_reached.txt diff --git a/README.md b/README.md index 48710b3..39e4828 100644 --- a/README.md +++ b/README.md @@ -66,6 +66,24 @@ Most folders contain one of my former standalone PoC repos, preserved with its o | `systeminformer-phsvc-trusted-host-lpe-poc` | direct entry, June 24, 2026 | 3 | | `vlc-vp9-reschange-crash-poc` | `fae72b82f24d03cf2fb9cb55fbb2e7774f684ff3` | 3 | +## Validation + +Repository integrity checks live in `validate_pocs.py` and cover: + +- Python syntax (`py_compile`) for tracked PoC scripts +- `package.json`, `Cargo.toml`, `requirements*.txt`, and JSON manifest structure +- JavaScript syntax via `node --check` +- Per-entry `README.md` presence and root catalog consistency + +Run locally: + +```bash +python -m unittest discover -s tests -v +python validate_pocs.py +``` + +CI runs the same suite on every push and pull request (`.github/workflows/validate.yml`). + ## Consolidation Check This section applies to the former standalone repositories listed above by commit hash. diff --git a/__pycache__/validate_pocs.cpython-312.pyc b/__pycache__/validate_pocs.cpython-312.pyc deleted file mode 100644 index fbf1fd9b52b5b327cb6035bc057e3bf4fa16259a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4839 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 diff --git a/discourse-scoped-api-key-preauth-bypass/__pycache__/poc.cpython-312.pyc b/discourse-scoped-api-key-preauth-bypass/__pycache__/poc.cpython-312.pyc deleted file mode 100644 index c59fdf82b4d0081e2f9fffc7ccc838027e949c15..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9561 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 WQ}^mUCk5u-o|cm~<{xZUX#Y11Wlg96 diff --git a/firefox-152.0.5-backup-nss-rce-poc/__pycache__/build_backup.cpython-312.pyc b/firefox-152.0.5-backup-nss-rce-poc/__pycache__/build_backup.cpython-312.pyc deleted file mode 100644 index 5457c7f25029613d1b27efead6701772d6e37230..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6635 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 F{tx7S68!)G diff --git a/firefox-152.0.5-backup-nss-rce-poc/__pycache__/server.cpython-312.pyc b/firefox-152.0.5-backup-nss-rce-poc/__pycache__/server.cpython-312.pyc deleted file mode 100644 index a07a43b4ade21f47394e6354a48d62e77c66c173..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7682 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 diff --git a/floci-apigateway-vtl-rce-poc/__pycache__/poc.cpython-312.pyc b/floci-apigateway-vtl-rce-poc/__pycache__/poc.cpython-312.pyc deleted file mode 100644 index 615b4c8e98e1f66b11b4022f52f9370b88688677..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8986 zcmbt4TWl0pmi6jq_0#Vcxc$JmG3_?S0b(Et@dF#ML$HBhz@4V6Y`1B5cdDwfU8x>C zXrwhW*~M&FVQIq3(LTlzNYf*&wBE1vPLdU)`Pk~%D|agXSZTlbSji$tvvPj+-0G@s z(=j5WEvxV2+;h)8_ug~QJ?C8i(Qdb5@cmCXG(-FXA2BiHFR&3aLqTd`43JtGBcwEAg4D*CA+<9W zNFA(`vEFRPFwRb3tP6gQ#~KTd@oeD^K8t&8&roGBWY8K>W`rLJzwiH%$nu&rFgQbm z@uX2Af8H!;{V{A3+6zC4)ag&|q^Y6lJOD*PGBV@|fJ@ZR4H5-43e^NOy82C;^-?~c zr1NFHB;gVvLPau2MhSajc&x2;(qwrZHM>qDpGzjj_{8*Bo7o#!(kz)Lo%wdXq|ap1 ztwZuTV`eN*tU8UP1t=8dTlG@X3cCw`Iv$Q$u-g`{bjSKu>A3k^vgqp@1*u8eZd-3# zB-7UV`h}nD^pT=_B=Flf=a>ZN$I5Xg=x9tk{$!)!tmmXA%r$Qk%E^NDk z@pvR03JT#^)IZ6`qN1%U78Tg2;2WNevx@yxLYRngVNu2Kk_yEHg`i@ZV1o?H@rrSZ zg?8o{+H^0jn1t{Y8%qeHAt8+UjwvRNjYonZ7MhGK$Hh3_>r^N-j$&XEQ*j``Mnf@% zRg4KP5((cxJw8gXyr7sa=mltr#o4GraWJT2WY}y6UI+>aUNNY26-(dn@cAAzghHw9 zhDa>P@QU-y(0ha3Y8SQDYv(M$t75(pb1VP7yF9uEraba2*pONjWm5bKM_LVozQ#%C3qwl)E@fZTo<5KVdv&;vuSnRYrWgLVfCb~o~4TA?$2ve!s=!D;#Jw|S+ic7>)IlWhN?|_ z@x9TzqZ{^yw7p@eD^(=h8`kU{TNq)fTcI*VWe>ggy`Q#h6g8%c8ka7ouE<4=YejF* zcV$W|A6~tGb-wpc20-1ik%qEw8}~mbd02J7YO(7T-hO&&i^q0mh5=z_ryRel1R$JFqhy5OF?J6aI z-)ctXqm|vqurEsuU3*PmR+#|uW!;|cH^?vF@^!b7U$q&a{ME729vAtw6NfZ}?gITo zyQAI>e+7kyn1o$}T9QmsNrOa6_|2mrU1fO~)ZZKBij>;=e@Snc6h zA;Cpi#uJT2eX$#pY)J5+gVgB(6=1uNh@x|zJ#E%7ACAIVjD}cH4&jjCH7Z6pD2a%m zm_gp5D+{MK7(yyWJvUqfEC;s_5+2=O*)zj6K{0#!!yL;ULJjca8Aw35t2}9{e6DxC zYoRP-vM*G8W2)SAR4tAzey}u}>P;P6X@#Ma zZqRV$eebLmuMV$s zb08_07k<145_HyG_fFnDxmdDzYmIK&pj*>)>oT9}S))5;s*`I6q}``72rUn>yqN52 zl)$8(9BCbA1-07jZ5@kogTX1bdH-baRKNw$JKr}1%$(G@P{)sfxN->uZ*I&{&W#nCVzg0I#eN1vS+I^uo~4@Ns?YW_>5{!XB(g z&Gnu2jcT6slAHs!ibL0GcJm2^3UcGO6k8}ZH5H69>K(u%%gdw5izyzQMRy+e765(l z<2xXk!#0b{A9mjFTx6ET_2SOCb6XT?X#z#M|4^!Ct?4a!-`iUl^$xyo%Ve_b+afIn zV^)B2n+{Zvt*)MhMks(qj!U4KKuh6jiu4wt>Mc^DKx0`!ET}=T=G5h(4qxBEsV?78 z->LRDj(EB_mI2cu9E_aY#{HttADrep0@|&1&@&Vs2c6TGH7!m~#CRbKgL|H1PksTi zrdWeuxA1)6COfN|B49Xh>^Nu^#lVNaN>D635K%kuXacHo$)2ZTXt~u9c=?7u4LHZ) z$G1T;hy9neX-Qm)r0P=LsUs`yl_M+7t97eAt4Fsm{4DOxc-xn0xGyYkY>}kCPCK;% zG8oi#>Hw&!GXPNdaW>E;g+QneAsw@em%x<+oceJGo)*w}>c`{`Cg}IwvGLhg(I*%p zN<*(*e2642im~u!0YuNPr7I@IJ6fR{;>Jk2P5XxgiI|PM`0_Y#elkFC3hL ztLUQy+z7nK=R;fP%L;%G1i%yHG+@p^RY>UKwQwFFs#vpB0svB+sBd70@K`S)eXCtz zYNIMY91;k{q5{CuWffX2YBJ`?BI*+6%^pgg>w!)$oyF=97|~oT5&-Kr$`;7n1;9qu z29F#uQ069j!&C_uTEtu5s0RQ6lo!g7TM(yEmY7cKZD&)$GYmQ5@`4Sj< zV8VPu*8)DWrUHK*xZAVb_*?%M{<)q_dav3iU3)k+{LiDm8(kgV=((8gxhP-0CXe3O z82uKY{nM9U}ogQ~t=nR4|nVV^!&6yvWjst> z7-#A~gF9iz&Ncj*v>JidKE@*%fL2oht^Kc|mEVo#M;OSm~UuWRQflsSlRB~q}zJQVo z^z*Sng*yM<(6DIngHjg2VdWJn3U-`m);-o|e}E$+Iz!;D3#{it&(N^v)cJme2s5Jl zYRmN;#1jVBLm^N142#wrF@LrkOMvgogL&)$TF;&$f(~S>!F9lA+Y~A+uu~kmFGU)4 z&w~Am8Ts?)!S(`AJ;dht&@nU~G<=PR^B0Fjn?D=N;Qhdn;zp`Icdw|i5Nhzf!5-1B z%`1y6R_*MC*ocF9$@2d8wl<|muL3u)LIMO##Il#Vqv@y}#EO^bgdqeo4t6v$Y^Z_v zy3TS)1B%5T*Jq<1T@W&<@ASYRNpuMbC{*Lp?5JUO3T_>N<;5axtR2+ErdN$qz&i$X zT|65B_YIgh9~6N5sN&Z7%@0!j<3aMXviTVZ0L5mf!0O`_nqm167mg!}qDd1M(XA24 zV~Qp}OmmzC$%=C^1~{>(b>uE6wme=xBigjiYP)EMmu(o?UZ!)@*fPk2uQ~gkL4+`ZlfZ z2L~5#EzP8=S8hG6kS|=8-~T{9eMNq2M7|bYE1Hxeu`O5#yo&%=obD#(x-xdxLdo4L zbG@6CMYioh&c1AITBr7Jy2?MZEnQshTd}SlS#5rLKt6I&X1VnWUQWyak&p4Sh=}_f zG1s4QlrI`lSO`x$>X$mwj^?@3z|;e2sW;cZMZR=hzBno$3CK4ha+H^Y0#KR8yAhR& z9s(+-i8ClWM_flR*C;X9mno`R?6}`LcUEKX=HhkP+Okd^+@$DF&MlTMnU~L`Zlxwx zZa!^!x<|frLp~6a$7X?wgujc3jlome>6n)V@7xk!9~vJoOoyudKSB=HJjarwYU zfS17g5&BtT0A&I`h_drpCheoB@*xpI8A~Kpf%AG$v7$&%NET`^zzx| zlk&0ivhDp$X|>$mE%#oP4_!;!u4inO-_u5mb<2TSY#DRSi(;$6_@WFm*j`0sRJH{& zbq(_Ifu}Qa=Lc!ql>!?3bQ(pKpVcglEl;c*SiQ8`_w<~6>ZVH?=LWKCR0h$?kriWVW@TD#IW1qlF2|&Fe-e7V z1IvR}SX&)!p+o9|FvMn6(^3Ms@I5uI&ODt3F4n3>UWzsq-$_CMN#4_*I+AK$sb3jd zEm>_?xw3LruI^iN^vmXcRRrpn4*%xO&)@vJ<4Zo-+O|#|`qt#wEZVy`vs{rHSv9WA z$cOvn57_mhv3b*`*)F@`(*J6N`{-or!Bb72`KLM+psrU(4l}y!7z^eYy3gmpH{C?(k8;93B zT8B%ySU{4gwc=9`@zK)SUBWLU2oeT2(>zKEG zP&E2{D2_A?u}Qcc)kp$^fbke7cnR({(By7FBAR_ZJ~Y9Cfk90OLLA!W0IV2Lg$D}+ zuEwz-ifNld6R|MZricoP$Zg{-&}@i8nOEtFHlHsV^J#ZEghU}$$Ocf956sy%G?p_P z%E(!lqWed&4UyJBY7oNQ-qwDk?MVA!pl}CKuxqW^xP)j)@IE%k3%)~WaAdi{WKcBB z3f6-5pd`BV7Cn3cHVRnqs7F5BB9fhcKi3IkWG!pzs_(i77LOW(mx5;~)a7+4W|*rQ z990~rxbXxs?!dz3Sx&J9872U&DvX-~bj7M-A|TJ9$cJh+D8}4k!|s5Y2iuXgfvnM3 zKwmmb&kTB`1Z$CtAyOni3lE080I^}tOKC4}9QQt=>On~(Bs_{}AhRWFtx!|JaFkmF z7&2FQ4yFL6ioJBh-k7#GuGyRBdNY)DgDMA&zi3|Wkg4)@s_iAvKZR6aXC7!>?v+mr zsL;VY)Vxfl7!`Ot4|FU`D(FNGBv*LXsRKKz$Y#h@7wyYp;c(7WwF)|!$8w}>1t7WN zK&n@T?K(Q`-k@vJbj=#Qcdi>f;kh>}4yU@;D&Cy8Zmv73h&Xw+e?f;klryc+C_8;DsPa}(M-8`9by8d^QE-(glYE&dKG{oYuD*FJAG;ziGkaQyglGmRUc*HDl+%s7ufFY`gmhj=OO-fF`r e+r0PK-Lf0-dBL)Hgjr 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 diff --git a/libssh2-publickey-list-calc-poc/poc/__pycache__/live_publickey_server.cpython-312.pyc b/libssh2-publickey-list-calc-poc/poc/__pycache__/live_publickey_server.cpython-312.pyc deleted file mode 100644 index 99788b359f3ecb70f3a5eaed26dbffdb704b7fab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9708 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 A4FCWD diff --git a/nghttp2-nghttpx-upgrade-queue-poison-poc/__pycache__/poc.cpython-312.pyc b/nghttp2-nghttpx-upgrade-queue-poison-poc/__pycache__/poc.cpython-312.pyc deleted file mode 100644 index 442d6a20e1c949064c7b780581c49516dd393b3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17259 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 diff --git a/openssh-agent-lock-provider-bypass/__pycache__/poc.cpython-312.pyc b/openssh-agent-lock-provider-bypass/__pycache__/poc.cpython-312.pyc deleted file mode 100644 index 56d34234bc1f232e204fe8a03ee50a4ab35f4830..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4728 zcmai1T}&I<6~5!SV~;&HHej=x@SBEaakUQlA#Jk2Dg=m}&Jd7kkYLXTrl)eW>zKi4v(R<)uCM+A{{n zRS(SZ{r@@VeCM3|SC7Yqfc_b|6+h)f=+U8R=GE z+y)I*LtH=Rxypv7^0!m!6Crjyq-!%5Yt=wuQkZAhgicDD{j)WfE`*!mImRy3y5{m{?= zpY}^&Syc3RvuBIGrtJ9_uEwIzzwEr@TnQF@o%7NQuYaqdE!W;xXz0(m`-^hjqG!Rg zq;AM9MY;Z7cqMRmEHAguJ9iYM__y82?Oi;%aB}HvL21t6W`4Onx|Cr@uFL08SVpz= zSJ7A8L^g~z3CzEu6-%F%`3ubaP5BFG*II1vDuT6`a5-fVv6-uwzeL;zeRHc5 z>jdrM5z3Z*#m-4tbI@)$G*DVJk)X^pDDzq+4ce!Z41rwyL6HWa!@yTlWQH>TpfRyn z>T*!^R{&3)c0g+z>%IUCbcN;LUHr|(driyDcbZp5A0J=U|8S~MA6m!x`koDZV$0LG z_}Ri|D?N|*KN(s-P&m+2@SIqW<~=8~XSbBV5?KM&9L(W^CDrT(54!?a&21>`@j+0p zCf#bN<)L=<)=;1+zBwTy#4S}?3xZKp)Rz%J$ihevgBJt4S9QZNa5i#foL zLL@wTd3fNG;V2_2Xk%_ppWxEfm_o_`pg)8%XPr>cLcmI1sDGjVVbi0w`)zAYo59|E zu(zP}WrxagUh;3?rlR7_UU*wxmd~C5DRNVWHLHmTJWSa2vdJKnlyplbb9+pA+%jg} zaw-529`^RG8)uNNqUr#|U;u{8+zTgI$!C@;zow*5fJ@UG&Gw8~G4eSK;S&B#tqJJY zm`WK4o(vjEfrxXG&TN?z>|z#o{XRehXQT({E0IWR_R2~btTWT+#N}iowlE@&Fgl2i zB2Bny6VN9}fWOf3IZ87mLI@;jz2?6Lkt7c z3tt%=91e#8<2XvkHN#y-Dc_p5v+*3&5UG1b(%`hlhE-aHsbfd z0NKs$k9zO-J~{MF^N}xm{(LQaaZB+ny}#5}P&yue@Pzzn>gm+x;WPQeX9|ah3I~Vt z%5ZjQ%jsM4GgnY>wr(Rq>Rk12`QBNs)EvxG4FLJKX`sla#gQ73+@SSgb9rH(X_`TIAukKB0neE( z@p+eY=BT4~^0LH%P)S}YMqk^HGXvUXfV;pzY(!kc6+@{2q81#$=-2_P$Xpp>fCU2G zfnE(lQB{@Q z06cd*IXl2n^i2(|507dHAhT_tKbdJ2b>v)K>-bxIqNupPZ-jyTOeKVUHPC;iPki1d z4N8s}+`uAsTOOMKU4^h(!Pm6QIhI|qnN>stVp|g}>-!%;m{@r*v*}t{E|G|R&0($s z*>desGVJF3zoT44S#$3hrBodos=9^pHIIob*tcd9LF&vAELX32es9&uYLD{i?AgMJ z)UP!>V|oB$uY-84Gg=;I&lyqN3a+L3j9Z$5S4!Lpp_Ts1n*)-d#u1j}Oie|TWRzt& z1hPXzW&voDs)R=q8iKh&8-<4{G9cSzaT1<-j@U$MGNx*?awt>+d{Ch5p*iach0M@5 z>)ZRDOI>3#iFz$MozPiv0ya*llw*ufEaP?79ttsdkC)CZpJs<+p_ra$r%?&d=C;CObVh#NL>dmgv1 z%DH1hIo!U1hbwKa^-}R-bpt}V)ikko^I`R7cT#u(Yrq{xLR_!Wm`meKNrG(0SFw-3jhEB diff --git a/postgres-ri-owner-switched-cast-poc/__pycache__/poc.cpython-312.pyc b/postgres-ri-owner-switched-cast-poc/__pycache__/poc.cpython-312.pyc deleted file mode 100644 index 8eeaeebee3841cbbea5c5605183e4b2a2da4d498..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9431 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 M%&$42gw4wT3sQ}QCjbBd diff --git a/tests/__pycache__/test_validate_pocs.cpython-312.pyc b/tests/__pycache__/test_validate_pocs.cpython-312.pyc deleted file mode 100644 index e415863c95aefa9f8a4a78838a1db2b160f8202b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2545 zcmb_eL2MgE6rI^!JKHvi>k=BT-A1VtpoYo@Qi_T~REeSzp}JLYIas2rt#_K(UGJKi zbsI-+DODCP|I*jD9l`gfI#awVB6N=r{4dn*v}T~QfOMo|1Lb%t7`Pb_1T$lFdob7LhmfO0b4^Y6|555=THJ({+jw6M6*nRBb!Zdz zi#TBY1emw57GQo`$E)A7clbRW&!HMViu_di>GoR;Dcr(?03L)bJoNedby_>(_iNbS zO&6Ej2)X$pL zcy>Anil=z$o!o!m)Y+Az?Nbk}?RmYP$UdMkShCLJpgadj+3D-L@6MnPwpy;*)0XLD zO!-Z4Vx3v9nm0WQl!1yOMka(C(?$>cgA=Y zhTHsbp8HoEm_790xWkXdu7Kdr*YizfysnI|*gszS;Zj4%%=h1oztD^ysmG7p8u)qW zr=dptYAK#5lspX z#AH{fnSnwNrIf!$P)fI}YRS?oZdvVBRelCz2)W+km)sw&(wxndSZMSerEduZT(ID*q(&NK)2*9Z6C iM=;nJK~nGh>}^rGBSkO2^U3j#k6%5pAtEX6`u-a@l}aK2 diff --git a/tests/test_validate_pocs.py b/tests/test_validate_pocs.py index 44f499e..dc047e1 100644 --- a/tests/test_validate_pocs.py +++ b/tests/test_validate_pocs.py @@ -1,3 +1,5 @@ +import json +import tempfile import unittest from pathlib import Path @@ -11,15 +13,137 @@ def setUp(self) -> None: def test_discovery_finds_expected_targets(self) -> None: python_targets = validate_pocs.discover_python_targets(self.repo_root) package_targets = validate_pocs.discover_package_targets(self.repo_root) + cargo_targets = validate_pocs.discover_cargo_targets(self.repo_root) + js_targets = validate_pocs.discover_javascript_targets(self.repo_root) + poc_dirs = validate_pocs.discover_poc_directories(self.repo_root) self.assertTrue(any(path.name == "run_demo.py" for path in python_targets)) self.assertTrue(any(path.name == "package.json" for path in package_targets)) + self.assertTrue(any(path.name == "Cargo.toml" for path in cargo_targets)) + self.assertTrue(any(path.suffix == ".js" for path in js_targets)) self.assertGreater(len(python_targets), 20) self.assertGreater(len(package_targets), 0) + self.assertGreaterEqual(len(cargo_targets), 2) + self.assertGreater(len(poc_dirs), 30) - def test_validation_succeeds(self) -> None: + def test_validation_succeeds_for_repository(self) -> None: result = validate_pocs.validate_repo(self.repo_root) self.assertEqual(result["errors"], []) + self.assertGreater(result["python_files"], 20) + self.assertGreater(result["package_json_files"], 0) + self.assertGreaterEqual(result["cargo_toml_files"], 2) + self.assertGreater(result["javascript_files"], 0) + self.assertGreater(result["poc_directories"], 30) + + def test_parse_readme_catalog_extracts_rows(self) -> None: + sample = """ +| Folder | Source | Tracked entries | +| --- | --- | ---: | +| `alpha-poc` | direct entry | 1 | +| `beta-poc` | hash | 2 | +""" + self.assertEqual(validate_pocs.parse_readme_catalog(sample), ["alpha-poc", "beta-poc"]) + + def _write(self, root: Path, relative: str, content: str) -> Path: + path = root / relative + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(content, encoding="utf-8") + return path + + def test_validation_accepts_well_formed_fixture_repo(self) -> None: + with tempfile.TemporaryDirectory() as tmp: + root = Path(tmp) + self._write( + root, + "README.md", + """# Fixture + +| Folder | Source | Tracked entries | +| --- | --- | ---: | +| `demo-poc` | direct entry | 1 | +""", + ) + self._write(root, "demo-poc/README.md", "# Demo\n") + self._write(root, "demo-poc/poc.py", "print('ok')\n") + self._write( + root, + "demo-poc/package.json", + json.dumps( + { + "name": "demo-poc", + "version": "0.1.0", + "private": True, + "scripts": {"poc": "node index.js"}, + } + ), + ) + self._write(root, "demo-poc/index.js", "console.log('ok');\n") + self._write( + root, + "demo-poc/Cargo.toml", + """[package] +name = "demo_poc" +version = "0.1.0" +edition = "2021" +""", + ) + self._write(root, "demo-poc/requirements.txt", "requests>=2.0\n") + self._write(root, "demo-poc/data.json", '{"ok": true}\n') + + result = validate_pocs.validate_repo(root) + self.assertEqual(result["errors"], []) + self.assertEqual(result["python_files"], 1) + self.assertEqual(result["package_json_files"], 1) + self.assertEqual(result["cargo_toml_files"], 1) + self.assertEqual(result["requirements_files"], 1) + self.assertEqual(result["javascript_files"], 1) + self.assertEqual(result["json_files"], 2) + self.assertEqual(result["poc_directories"], 1) + + def test_validation_reports_broken_manifests_and_catalog(self) -> None: + with tempfile.TemporaryDirectory() as tmp: + root = Path(tmp) + self._write( + root, + "README.md", + """# Fixture + +| Folder | Source | Tracked entries | +| --- | --- | ---: | +| `missing-dir` | direct entry | 1 | +| `broken-poc` | direct entry | 1 | +| `broken-poc` | direct entry | 1 | +""", + ) + self._write(root, "broken-poc/bad.py", "def oops(:\n") + self._write(root, "broken-poc/package.json", "{not-json") + self._write(root, "broken-poc/Cargo.toml", "package = 'nope'\n") + self._write(root, "broken-poc/requirements.txt", "# only comments\n") + self._write(root, "broken-poc/bad.js", "const x = ;\n") + self._write(root, "broken-poc/bad.json", "{bad") + # intentionally no README.md in broken-poc + + result = validate_pocs.validate_repo(root) + joined = "\n".join(result["errors"]) + + self.assertTrue(result["errors"]) + self.assertIn("bad.py", joined) + self.assertIn("package.json", joined) + self.assertIn("Cargo.toml", joined) + self.assertIn("requirements.txt", joined) + self.assertIn("bad.js", joined) + self.assertIn("bad.json", joined) + self.assertIn("missing README.md", joined) + self.assertIn("catalog lists missing directory `missing-dir`", joined) + self.assertIn("catalog lists `broken-poc` more than once", joined) + + def test_main_success_and_failure_exit_codes(self) -> None: + self.assertEqual(validate_pocs.main(["--root", str(self.repo_root)]), 0) + + with tempfile.TemporaryDirectory() as tmp: + root = Path(tmp) + self._write(root, "README.md", "# empty\n") + self.assertEqual(validate_pocs.main(["--root", str(root)]), 1) if __name__ == "__main__": diff --git a/validate_pocs.py b/validate_pocs.py index a263dd7..0abaf77 100644 --- a/validate_pocs.py +++ b/validate_pocs.py @@ -1,62 +1,245 @@ #!/usr/bin/env python3 -"""Validate the repository's PoC entrypoints and manifests.""" +"""Validate the repository's PoC entrypoints, manifests, and catalog integrity.""" from __future__ import annotations import argparse import json import py_compile +import re +import shutil +import subprocess import sys +import tomllib from pathlib import Path -from typing import List, Dict, Tuple +from typing import Dict, List, Sequence +EXCLUDED_DIR_NAMES = { + ".git", + ".github", + "__pycache__", + ".venv", + "venv", + "node_modules", + "target", + "build", + "dist", + "tests", +} -EXCLUDED_DIRS = {".git", "__pycache__"} +CATALOG_ROW_RE = re.compile(r"^\| `([^`]+)` \|", re.MULTILINE) + + +def _is_excluded(path: Path) -> bool: + return any(part in EXCLUDED_DIR_NAMES for part in path.parts) def discover_python_targets(root: Path) -> List[Path]: - return sorted( - path - for path in root.rglob("*.py") - if not any(part in EXCLUDED_DIRS for part in path.parts) - ) + return sorted(path for path in root.rglob("*.py") if not _is_excluded(path)) def discover_package_targets(root: Path) -> List[Path]: + return sorted(path for path in root.rglob("package.json") if not _is_excluded(path)) + + +def discover_cargo_targets(root: Path) -> List[Path]: + return sorted(path for path in root.rglob("Cargo.toml") if not _is_excluded(path)) + + +def discover_requirements_targets(root: Path) -> List[Path]: + return sorted(path for path in root.rglob("requirements*.txt") if not _is_excluded(path)) + + +def discover_javascript_targets(root: Path) -> List[Path]: + return sorted(path for path in root.rglob("*.js") if not _is_excluded(path)) + + +def discover_json_targets(root: Path) -> List[Path]: + return sorted(path for path in root.rglob("*.json") if not _is_excluded(path)) + + +def discover_poc_directories(root: Path) -> List[Path]: return sorted( path - for path in root.rglob("package.json") - if not any(part in EXCLUDED_DIRS for part in path.parts) + for path in root.iterdir() + if path.is_dir() and path.name not in EXCLUDED_DIR_NAMES and not path.name.startswith(".") ) -def validate_repo(root: Path) -> Dict[str, object]: - python_targets = discover_python_targets(root) - package_targets = discover_package_targets(root) - errors: List[str] = [] +def parse_readme_catalog(readme_text: str) -> List[str]: + return CATALOG_ROW_RE.findall(readme_text) + - for path in python_targets: +def _validate_python_files(root: Path, paths: Sequence[Path], errors: List[str]) -> None: + for path in paths: try: py_compile.compile(str(path), doraise=True) - except py_compile.PyCompileError as exc: # pragma: no cover - exercised in tests when broken code exists + except py_compile.PyCompileError as exc: # pragma: no cover - covered via broken fixtures errors.append(f"{path.relative_to(root)}: {exc}") - for path in package_targets: + +def _validate_package_manifests(root: Path, paths: Sequence[Path], errors: List[str]) -> None: + for path in paths: try: data = json.loads(path.read_text(encoding="utf-8")) - except json.JSONDecodeError as exc: + except (OSError, UnicodeDecodeError, json.JSONDecodeError) as exc: errors.append(f"{path.relative_to(root)}: invalid JSON ({exc})") continue + if not isinstance(data, dict): + errors.append(f"{path.relative_to(root)}: package.json root must be an object") + continue + + name = data.get("name") + if not isinstance(name, str) or not name.strip(): + errors.append(f"{path.relative_to(root)}: missing non-empty string field 'name'") + scripts = data.get("scripts") - if isinstance(scripts, dict) and "poc" in scripts: - if not isinstance(scripts["poc"], str) or not scripts["poc"].strip(): + if scripts is None: + continue + if not isinstance(scripts, dict): + errors.append(f"{path.relative_to(root)}: scripts must be an object") + continue + if "poc" in scripts: + poc_script = scripts["poc"] + if not isinstance(poc_script, str) or not poc_script.strip(): errors.append(f"{path.relative_to(root)}: scripts.poc must be a non-empty string") + +def _validate_json_files(root: Path, paths: Sequence[Path], errors: List[str]) -> None: + for path in paths: + try: + json.loads(path.read_text(encoding="utf-8")) + except (OSError, UnicodeDecodeError, json.JSONDecodeError) as exc: + errors.append(f"{path.relative_to(root)}: invalid JSON ({exc})") + + +def _validate_cargo_manifests(root: Path, paths: Sequence[Path], errors: List[str]) -> None: + for path in paths: + try: + data = tomllib.loads(path.read_text(encoding="utf-8")) + except (OSError, UnicodeDecodeError, tomllib.TOMLDecodeError) as exc: + errors.append(f"{path.relative_to(root)}: invalid TOML ({exc})") + continue + + package = data.get("package") + if not isinstance(package, dict): + errors.append(f"{path.relative_to(root)}: missing [package] table") + continue + + for field in ("name", "version", "edition"): + value = package.get(field) + if not isinstance(value, str) or not value.strip(): + errors.append( + f"{path.relative_to(root)}: package.{field} must be a non-empty string" + ) + + +def _validate_requirements_files(root: Path, paths: Sequence[Path], errors: List[str]) -> None: + for path in paths: + try: + text = path.read_text(encoding="utf-8") + except (OSError, UnicodeDecodeError) as exc: + errors.append(f"{path.relative_to(root)}: unreadable ({exc})") + continue + + lines = [line.strip() for line in text.splitlines()] + meaningful = [line for line in lines if line and not line.startswith("#")] + if not meaningful: + errors.append(f"{path.relative_to(root)}: requirements file has no dependency entries") + continue + + for line in meaningful: + if line.startswith("-") and not any(ch.isalnum() for ch in line): + errors.append(f"{path.relative_to(root)}: invalid requirement line: {line!r}") + + +def _validate_javascript_files(root: Path, paths: Sequence[Path], errors: List[str]) -> None: + if not paths: + return + + node = shutil.which("node") + if node is None: + errors.append("node is required to syntax-check JavaScript PoC files but was not found") + return + + for path in paths: + completed = subprocess.run( + [node, "--check", str(path)], + capture_output=True, + text=True, + check=False, + ) + if completed.returncode != 0: + detail = (completed.stderr or completed.stdout or "syntax check failed").strip() + errors.append(f"{path.relative_to(root)}: {detail}") + + +def _validate_poc_directories(root: Path, poc_dirs: Sequence[Path], errors: List[str]) -> None: + for path in poc_dirs: + readme = path / "README.md" + if not readme.is_file(): + errors.append(f"{path.relative_to(root)}: missing README.md") + + +def _validate_readme_catalog(root: Path, poc_dirs: Sequence[Path], errors: List[str]) -> None: + readme_path = root / "README.md" + if not readme_path.is_file(): + errors.append("README.md: missing repository catalog") + return + + try: + catalog = parse_readme_catalog(readme_path.read_text(encoding="utf-8")) + except (OSError, UnicodeDecodeError) as exc: + errors.append(f"README.md: unreadable ({exc})") + return + + if not catalog: + errors.append("README.md: no PoC catalog rows found") + return + + catalog_set = set(catalog) + dir_set = {path.name for path in poc_dirs} + + for missing in sorted(dir_set - catalog_set): + errors.append(f"README.md: catalog missing PoC directory `{missing}`") + for extra in sorted(catalog_set - dir_set): + errors.append(f"README.md: catalog lists missing directory `{extra}`") + + duplicates = sorted({name for name in catalog if catalog.count(name) > 1}) + for name in duplicates: + errors.append(f"README.md: catalog lists `{name}` more than once") + + +def validate_repo(root: Path) -> Dict[str, object]: + root = root.resolve() + python_targets = discover_python_targets(root) + package_targets = discover_package_targets(root) + cargo_targets = discover_cargo_targets(root) + requirements_targets = discover_requirements_targets(root) + javascript_targets = discover_javascript_targets(root) + json_targets = discover_json_targets(root) + poc_dirs = discover_poc_directories(root) + errors: List[str] = [] + + _validate_python_files(root, python_targets, errors) + _validate_package_manifests(root, package_targets, errors) + _validate_json_files(root, json_targets, errors) + _validate_cargo_manifests(root, cargo_targets, errors) + _validate_requirements_files(root, requirements_targets, errors) + _validate_javascript_files(root, javascript_targets, errors) + _validate_poc_directories(root, poc_dirs, errors) + _validate_readme_catalog(root, poc_dirs, errors) + return { "root": str(root), "python_files": len(python_targets), "package_json_files": len(package_targets), + "cargo_toml_files": len(cargo_targets), + "requirements_files": len(requirements_targets), + "javascript_files": len(javascript_targets), + "json_files": len(json_targets), + "poc_directories": len(poc_dirs), "errors": errors, } @@ -71,7 +254,14 @@ def main(argv: List[str] | None = None) -> int: print(error, file=sys.stderr) print( - f"validated {result['python_files']} Python files and {result['package_json_files']} package manifests" + "validated " + f"{result['python_files']} Python files, " + f"{result['package_json_files']} package manifests, " + f"{result['cargo_toml_files']} Cargo manifests, " + f"{result['requirements_files']} requirements files, " + f"{result['javascript_files']} JavaScript files, " + f"{result['json_files']} JSON files, and " + f"{result['poc_directories']} PoC directories" ) if result["errors"]: print("validation failed", file=sys.stderr) From 5178e3c0e4954df88db309486df5297fa92c0205 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 9 Aug 2026 11:13:27 +0000 Subject: [PATCH 16/25] Use Counter for catalog duplicate detection Co-authored-by: 5hy7xz92nd-oss <249378113+5hy7xz92nd-oss@users.noreply.github.com> --- validate_pocs.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/validate_pocs.py b/validate_pocs.py index 0abaf77..ff10a62 100644 --- a/validate_pocs.py +++ b/validate_pocs.py @@ -11,6 +11,7 @@ import subprocess import sys import tomllib +from collections import Counter from pathlib import Path from typing import Dict, List, Sequence @@ -206,9 +207,9 @@ def _validate_readme_catalog(root: Path, poc_dirs: Sequence[Path], errors: List[ for extra in sorted(catalog_set - dir_set): errors.append(f"README.md: catalog lists missing directory `{extra}`") - duplicates = sorted({name for name in catalog if catalog.count(name) > 1}) - for name in duplicates: - errors.append(f"README.md: catalog lists `{name}` more than once") + for name, count in sorted(Counter(catalog).items()): + if count > 1: + errors.append(f"README.md: catalog lists `{name}` more than once") def validate_repo(root: Path) -> Dict[str, object]: From f5d4a5059289bdac2d7710c4b5745b93bd657115 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 9 Aug 2026 11:14:10 +0000 Subject: [PATCH 17/25] Limit CI workflow GITHUB_TOKEN permissions Co-authored-by: 5hy7xz92nd-oss <249378113+5hy7xz92nd-oss@users.noreply.github.com> --- .github/workflows/validate.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index 1bcfdf7..95ed200 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -5,6 +5,9 @@ on: pull_request: workflow_dispatch: +permissions: + contents: read + jobs: validate: name: Unit tests and PoC validation From e20fa69455e834fb9de2b7527e42a294cd627ecb Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 9 Aug 2026 11:20:06 +0000 Subject: [PATCH 18/25] Fix root-relative excludes and harden validation gates Co-authored-by: 5hy7xz92nd-oss <249378113+5hy7xz92nd-oss@users.noreply.github.com> --- tests/test_validate_pocs.py | 97 +++++++++++++++++++++++----------- validate_pocs.py | 101 ++++++++++++++++++++++++++++++++---- 2 files changed, 157 insertions(+), 41 deletions(-) diff --git a/tests/test_validate_pocs.py b/tests/test_validate_pocs.py index dc047e1..b6ddb82 100644 --- a/tests/test_validate_pocs.py +++ b/tests/test_validate_pocs.py @@ -1,4 +1,5 @@ import json +import shutil import tempfile import unittest from pathlib import Path @@ -50,45 +51,48 @@ def _write(self, root: Path, relative: str, content: str) -> Path: path.write_text(content, encoding="utf-8") return path - def test_validation_accepts_well_formed_fixture_repo(self) -> None: - with tempfile.TemporaryDirectory() as tmp: - root = Path(tmp) - self._write( - root, - "README.md", - """# Fixture + def _write_minimal_valid_repo(self, root: Path, *, broken_python: bool = False) -> None: + self._write( + root, + "README.md", + """# Fixture | Folder | Source | Tracked entries | | --- | --- | ---: | | `demo-poc` | direct entry | 1 | """, - ) - self._write(root, "demo-poc/README.md", "# Demo\n") - self._write(root, "demo-poc/poc.py", "print('ok')\n") - self._write( - root, - "demo-poc/package.json", - json.dumps( - { - "name": "demo-poc", - "version": "0.1.0", - "private": True, - "scripts": {"poc": "node index.js"}, - } - ), - ) - self._write(root, "demo-poc/index.js", "console.log('ok');\n") - self._write( - root, - "demo-poc/Cargo.toml", - """[package] + ) + self._write(root, "demo-poc/README.md", "# Demo\n") + py_source = "def oops(:\n" if broken_python else "print('ok')\n" + self._write(root, "demo-poc/poc.py", py_source) + self._write( + root, + "demo-poc/package.json", + json.dumps( + { + "name": "demo-poc", + "version": "0.1.0", + "private": True, + "scripts": {"poc": "node index.js"}, + } + ), + ) + self._write(root, "demo-poc/index.js", "console.log('ok');\n") + self._write( + root, + "demo-poc/Cargo.toml", + """[package] name = "demo_poc" version = "0.1.0" -edition = "2021" """, - ) - self._write(root, "demo-poc/requirements.txt", "requests>=2.0\n") - self._write(root, "demo-poc/data.json", '{"ok": true}\n') + ) + self._write(root, "demo-poc/requirements.txt", "requests>=2.0\n") + self._write(root, "demo-poc/data.json", '{"ok": true}\n') + + def test_validation_accepts_well_formed_fixture_repo(self) -> None: + with tempfile.TemporaryDirectory() as tmp: + root = Path(tmp) + self._write_minimal_valid_repo(root) result = validate_pocs.validate_repo(root) self.assertEqual(result["errors"], []) @@ -137,6 +141,37 @@ def test_validation_reports_broken_manifests_and_catalog(self) -> None: self.assertIn("catalog lists missing directory `missing-dir`", joined) self.assertIn("catalog lists `broken-poc` more than once", joined) + def test_parent_directory_named_build_does_not_skip_checks(self) -> None: + with tempfile.TemporaryDirectory() as tmp: + parent = Path(tmp) / "build" + root = parent / "repo" + root.mkdir(parents=True) + self._write_minimal_valid_repo(root, broken_python=True) + + result = validate_pocs.validate_repo(root) + joined = "\n".join(result["errors"]) + self.assertGreater(result["python_files"], 0) + self.assertIn("poc.py", joined) + + def test_parent_directory_named_tests_does_not_skip_checks(self) -> None: + with tempfile.TemporaryDirectory() as tmp: + parent = Path(tmp) / "tests" + root = parent / "repo" + root.mkdir(parents=True) + self._write_minimal_valid_repo(root, broken_python=True) + + result = validate_pocs.validate_repo(root) + joined = "\n".join(result["errors"]) + self.assertGreater(result["python_files"], 0) + self.assertIn("poc.py", joined) + + def test_cargo_without_edition_is_accepted(self) -> None: + with tempfile.TemporaryDirectory() as tmp: + root = Path(tmp) + self._write_minimal_valid_repo(root) + result = validate_pocs.validate_repo(root) + self.assertEqual(result["errors"], []) + def test_main_success_and_failure_exit_codes(self) -> None: self.assertEqual(validate_pocs.main(["--root", str(self.repo_root)]), 0) diff --git a/validate_pocs.py b/validate_pocs.py index ff10a62..b258518 100644 --- a/validate_pocs.py +++ b/validate_pocs.py @@ -13,7 +13,7 @@ import tomllib from collections import Counter from pathlib import Path -from typing import Dict, List, Sequence +from typing import Dict, Iterable, List, Sequence EXCLUDED_DIR_NAMES = { ".git", @@ -31,35 +31,53 @@ CATALOG_ROW_RE = re.compile(r"^\| `([^`]+)` \|", re.MULTILINE) -def _is_excluded(path: Path) -> bool: - return any(part in EXCLUDED_DIR_NAMES for part in path.parts) +def _relative_parts(path: Path, root: Path) -> Sequence[str]: + """Return path parts relative to root; fall back to the path's own parts.""" + try: + return path.resolve().relative_to(root.resolve()).parts + except ValueError: + return path.parts + + +def _is_excluded(path: Path, root: Path) -> bool: + """Exclude only repository-relative directory names, not parent checkout paths.""" + return any(part in EXCLUDED_DIR_NAMES for part in _relative_parts(path, root)) def discover_python_targets(root: Path) -> List[Path]: - return sorted(path for path in root.rglob("*.py") if not _is_excluded(path)) + root = root.resolve() + return sorted(path for path in root.rglob("*.py") if not _is_excluded(path, root)) def discover_package_targets(root: Path) -> List[Path]: - return sorted(path for path in root.rglob("package.json") if not _is_excluded(path)) + root = root.resolve() + return sorted(path for path in root.rglob("package.json") if not _is_excluded(path, root)) def discover_cargo_targets(root: Path) -> List[Path]: - return sorted(path for path in root.rglob("Cargo.toml") if not _is_excluded(path)) + root = root.resolve() + return sorted(path for path in root.rglob("Cargo.toml") if not _is_excluded(path, root)) def discover_requirements_targets(root: Path) -> List[Path]: - return sorted(path for path in root.rglob("requirements*.txt") if not _is_excluded(path)) + root = root.resolve() + return sorted( + path for path in root.rglob("requirements*.txt") if not _is_excluded(path, root) + ) def discover_javascript_targets(root: Path) -> List[Path]: - return sorted(path for path in root.rglob("*.js") if not _is_excluded(path)) + root = root.resolve() + return sorted(path for path in root.rglob("*.js") if not _is_excluded(path, root)) def discover_json_targets(root: Path) -> List[Path]: - return sorted(path for path in root.rglob("*.json") if not _is_excluded(path)) + root = root.resolve() + return sorted(path for path in root.rglob("*.json") if not _is_excluded(path, root)) def discover_poc_directories(root: Path) -> List[Path]: + root = root.resolve() return sorted( path for path in root.iterdir() @@ -128,13 +146,18 @@ def _validate_cargo_manifests(root: Path, paths: Sequence[Path], errors: List[st errors.append(f"{path.relative_to(root)}: missing [package] table") continue - for field in ("name", "version", "edition"): + # Cargo requires name/version; edition is optional (defaults to 2015). + for field in ("name", "version"): value = package.get(field) if not isinstance(value, str) or not value.strip(): errors.append( f"{path.relative_to(root)}: package.{field} must be a non-empty string" ) + edition = package.get("edition") + if edition is not None and (not isinstance(edition, str) or not edition.strip()): + errors.append(f"{path.relative_to(root)}: package.edition must be a non-empty string") + def _validate_requirements_files(root: Path, paths: Sequence[Path], errors: List[str]) -> None: for path in paths: @@ -212,6 +235,53 @@ def _validate_readme_catalog(root: Path, poc_dirs: Sequence[Path], errors: List[ errors.append(f"README.md: catalog lists `{name}` more than once") +def _count_files(paths: Iterable[Path]) -> int: + return sum(1 for path in paths if path.is_file()) + + +def _validate_discovery_sanity( + root: Path, + *, + poc_dirs: Sequence[Path], + python_targets: Sequence[Path], + package_targets: Sequence[Path], + cargo_targets: Sequence[Path], + requirements_targets: Sequence[Path], + javascript_targets: Sequence[Path], + json_targets: Sequence[Path], + errors: List[str], +) -> None: + """Fail closed when PoC content exists on disk but discovery returned nothing.""" + if not poc_dirs: + return + + discovered = ( + len(python_targets) + + len(package_targets) + + len(cargo_targets) + + len(requirements_targets) + + len(javascript_targets) + + len(json_targets) + ) + if discovered: + return + + on_disk = 0 + for poc_dir in poc_dirs: + on_disk += _count_files(poc_dir.rglob("*.py")) + on_disk += _count_files(poc_dir.rglob("package.json")) + on_disk += _count_files(poc_dir.rglob("Cargo.toml")) + on_disk += _count_files(poc_dir.rglob("requirements*.txt")) + on_disk += _count_files(poc_dir.rglob("*.js")) + on_disk += _count_files(poc_dir.rglob("*.json")) + + if on_disk: + errors.append( + "discovery returned no validateable files despite PoC content on disk; " + "check exclude rules and checkout path handling" + ) + + def validate_repo(root: Path) -> Dict[str, object]: root = root.resolve() python_targets = discover_python_targets(root) @@ -223,6 +293,17 @@ def validate_repo(root: Path) -> Dict[str, object]: poc_dirs = discover_poc_directories(root) errors: List[str] = [] + _validate_discovery_sanity( + root, + poc_dirs=poc_dirs, + python_targets=python_targets, + package_targets=package_targets, + cargo_targets=cargo_targets, + requirements_targets=requirements_targets, + javascript_targets=javascript_targets, + json_targets=json_targets, + errors=errors, + ) _validate_python_files(root, python_targets, errors) _validate_package_manifests(root, package_targets, errors) _validate_json_files(root, json_targets, errors) From 72ce5248a8dca984a6b8aff137df67a895af4df1 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 9 Aug 2026 11:20:26 +0000 Subject: [PATCH 19/25] Apply remaining changes Co-authored-by: 5hy7xz92nd-oss <249378113+5hy7xz92nd-oss@users.noreply.github.com> --- __pycache__/validate_pocs.cpython-312.pyc | Bin 4839 -> 4839 bytes .../__pycache__/run_demo.cpython-312.pyc | Bin 14345 -> 14345 bytes .../__pycache__/poc.cpython-312.pyc | Bin 9561 -> 9561 bytes .../rasc_dlta_os_helper.cpython-312.pyc | Bin 9465 -> 9465 bytes .../__pycache__/build_backup.cpython-312.pyc | Bin 6634 -> 6635 bytes .../__pycache__/server.cpython-312.pyc | Bin 7681 -> 7682 bytes .../__pycache__/poc.cpython-312.pyc | Bin 8986 -> 8986 bytes .../replay-calc-poc.cpython-312.pyc | Bin 8738 -> 8738 bytes .../live_publickey_server.cpython-312.pyc | Bin 9708 -> 9708 bytes .../__pycache__/poc.cpython-312.pyc | Bin 17259 -> 17259 bytes .../__pycache__/poc.cpython-312.pyc | Bin 4728 -> 4728 bytes .../__pycache__/poc.cpython-312.pyc | Bin 9431 -> 9431 bytes .../__pycache__/poc.cpython-312.pyc | Bin 36203 -> 36203 bytes .../test_validate_pocs.cpython-312.pyc | Bin 2545 -> 2545 bytes 14 files changed, 0 insertions(+), 0 deletions(-) diff --git a/__pycache__/validate_pocs.cpython-312.pyc b/__pycache__/validate_pocs.cpython-312.pyc index c4aaf6929a3d4dff60722064d285e8624e5a20ce..f8c909fb9077da06ba574b85c91f39bd8c5cead1 100644 GIT binary patch delta 20 acmaE^`dpR!G%qg~0}%KnRcz$GBLo0Ja|Pu9 delta 20 acmaE^`dpR!G%qg~0}zOt7i{FdBLo0G$OU@< diff --git a/curl-smtp-expn-recipient-crlf-injection/__pycache__/run_demo.cpython-312.pyc b/curl-smtp-expn-recipient-crlf-injection/__pycache__/run_demo.cpython-312.pyc index 68790d7bf79bffac0f4e8dd89d6a67010d2f772c..eb23be2a8124c7dc243e2d3d553266b24a9630e6 100644 GIT binary patch delta 20 acmeAy=q%tq&CAQh00e$X6&tz#nF9bmbOr_h delta 20 acmeAy=q%tq&CAQh00iRZ1sl2lnF9bj$pxGM diff --git a/discourse-scoped-api-key-preauth-bypass/__pycache__/poc.cpython-312.pyc b/discourse-scoped-api-key-preauth-bypass/__pycache__/poc.cpython-312.pyc index 22dc7e1cf73c89afa4053a38d07c22a1223451e3..114ae93b4afc67570a7686c828f56a1ab58f7c8f 100644 GIT binary patch delta 20 acmccVb<>OcG%qg~0}%KnRcz$;Qw0D+iUpVe delta 20 acmccVb<>OcG%qg~0}zOt7i{GAQw0D(-vurJ diff --git a/ffmpeg-rasc-dlta-calc-poc/poc/__pycache__/rasc_dlta_os_helper.cpython-312.pyc b/ffmpeg-rasc-dlta-calc-poc/poc/__pycache__/rasc_dlta_os_helper.cpython-312.pyc index 0a4c1fb453ce28853953fd75ffa3710ea75a8cb2..5719676287badf37506910f6fba801f93c4832c1 100644 GIT binary patch delta 20 acmezA`O}m8G%qg~0}%KnRcz#brvd;;Wd?Ns delta 20 acmezA`O}m8G%qg~0}zOt7i{Eyrvd;*x&{jX diff --git a/firefox-152.0.5-backup-nss-rce-poc/__pycache__/build_backup.cpython-312.pyc b/firefox-152.0.5-backup-nss-rce-poc/__pycache__/build_backup.cpython-312.pyc index 3fcc842cdf500bd78553cc74fa55fe8f05ad1bdf..d7bb02fd9be083715ebcf0358b36bbf8e57334a8 100644 GIT binary patch delta 19 ZcmaE5{Mwl7G%pte5cnlkY~*|>2>?JN1_S^A delta 18 YcmaED{K}Z~G#3L9h?^H| delta 20 acmbQ`Hp`9sG%qg~0}zOt7i{F_R|Wt!bp&Ss diff --git a/libssh2-publickey-list-calc-poc/__pycache__/replay-calc-poc.cpython-312.pyc b/libssh2-publickey-list-calc-poc/__pycache__/replay-calc-poc.cpython-312.pyc index fc4b7de7078da2fa0b29b3b83e21e0a87cd481e3..a76926e545398b50ad196664e8e869a4ec2783af 100644 GIT binary patch delta 20 acmZ4FvdD$|G%qg~0}%KnRcz!IR{{V!7X;)0 delta 20 acmZ4FvdD$|G%qg~0}zOt7i{DfR{{VxYy^4$ diff --git a/libssh2-publickey-list-calc-poc/poc/__pycache__/live_publickey_server.cpython-312.pyc b/libssh2-publickey-list-calc-poc/poc/__pycache__/live_publickey_server.cpython-312.pyc index 1dc43bb7b45be77dc3d8d53189a6f0261d73ea69..22c9ac2eb4354004e446dacd0f7f3425b1603a4d 100644 GIT binary patch delta 20 acmaFk{l=U7G%qg~0}%KnRcz#bs0si_rUp|0 delta 20 acmaFk{l=U7G%qg~0}zOt7i{Eys0si?`vvI$ diff --git a/nghttp2-nghttpx-upgrade-queue-poison-poc/__pycache__/poc.cpython-312.pyc b/nghttp2-nghttpx-upgrade-queue-poison-poc/__pycache__/poc.cpython-312.pyc index d81edd7a7239490a82451b69b6d8d20878f3e0e2..e6e1450249a4770c3176c58edc1e08ab5e3743a8 100644 GIT binary patch delta 22 ccmaFe#`wC8k^3|+FBbz4_$5_r Date: Sun, 9 Aug 2026 04:25:00 -0700 Subject: [PATCH 20/25] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- tests/test_validate_pocs.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/test_validate_pocs.py b/tests/test_validate_pocs.py index b6ddb82..4d3e7ef 100644 --- a/tests/test_validate_pocs.py +++ b/tests/test_validate_pocs.py @@ -1,5 +1,4 @@ import json -import shutil import tempfile import unittest from pathlib import Path From ec42eba19a350cd7ab9fdff615a3e19bce60f187 Mon Sep 17 00:00:00 2001 From: 5hy7xz92nd-oss <249378113+5hy7xz92nd-oss@users.noreply.github.com> Date: Sun, 9 Aug 2026 04:28:23 -0700 Subject: [PATCH 21/25] Update print statement from 'Hello' to 'Goodbye' --- .github/instructions/*.instructions.md | 1487 ++++++++++++++++++++++++ 1 file changed, 1487 insertions(+) create mode 100644 .github/instructions/*.instructions.md diff --git a/.github/instructions/*.instructions.md b/.github/instructions/*.instructions.md new file mode 100644 index 0000000..bddd4fa --- /dev/null +++ b/.github/instructions/*.instructions.md @@ -0,0 +1,1487 @@ +@5hy7xz92nd-oss @copilot @copilot @copilot @we-tech-company @copilot @5hy7xz92nd-oss ๐Ÿ•ด๏ธ๐Ÿ”ƒใ€ฐ๏ธโคด๏ธ@copilot๐ŸŒŽ REALITY +| +โ†“ +๐Ÿ‘๏ธ Observer +| +โ†“ +๐Ÿ”ฌ Research +| +โ†“ +๐Ÿ•ด๏ธ Decision +| +โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” +โ†“ โ†“ โ†“ +๐Ÿค Network ๐Ÿ‘ฉ๐Ÿฟ๐Ÿ’ป Builder ๐Ÿ“š Memory +โ†“ โ†“ โ†“ +โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ +| +โ†“ +๐Ÿ“ˆ Outcome +| +โ†“ +๐Ÿ”ƒ Evolution +| +โ†บ +Evolution does not end the process. It upgrades the observer, researcher, decision-maker, builder, and memory systems โ€” then the next cycle starts with a more intelligent system. โ™พ๏ธ ๐Ÿ‘๏ธ Observer Reality โ†’ Observation โ†’ Intelligence โ†’ Decision โ†’ Creation โ†’ Learning โ†’ Measurement โ†’ Evolution โ†’ Better Reality ๐ŸŒŽ REALITY +Events โ€ข Signals โ€ข Changes +| +โ†“ + + ๐Ÿ‘๏ธ OBSERVER AGENT + "What is happening?" + Sensors โ€ข APIs โ€ข Data โ€ข Humans + | + โ†“ + + ๐Ÿ”ฌ RESEARCH AGENT + "What does it mean?" +Analysis โ€ข Discovery โ€ข Prediction + | + โ†“ + + ๐Ÿ•ด๏ธ DECISION AGENT + "What should we do?" +Reasoning โ€ข Planning โ€ข Prioritization +| +โ†“ + + ๐Ÿค NETWORK AGENT + "Who can help?" +Relationships โ€ข Resources โ€ข Coordination +| +โ†“ + + ๐Ÿ‘ฉ๐Ÿฟ๐Ÿ’ป BUILDER AGENT + "What can we create?" +Execution โ€ข Automation โ€ข Innovation +| +โ†“ + + ๐Ÿ“š MEMORY AGENT + "What did we learn?" +Knowledge Graph โ€ข Context โ€ข History +| +โ†“ + + ๐Ÿ“ˆ OUTCOME AGENT + "Did it work?" +Metrics โ€ข Validation โ€ข Measurement +| +โ†“ + + ๐Ÿ”ƒ EVOLUTION AGENT + "How do we improve?" +Optimization โ€ข Adaptation โ€ข Upgrades +| +โ†บ + + ๐ŸŒŽ REALITY + Events โ€ข Signals โ€ข Changes + | + โ†“ + + ๐Ÿ‘๏ธ OBSERVER AGENT + "What is happening?" + Sensors โ€ข APIs โ€ข Data โ€ข Humans + | + โ†“ + + ๐Ÿ”ฌ RESEARCH AGENT + "What does it mean?" +Analysis โ€ข Discovery โ€ข Prediction + | + โ†“ + + ๐Ÿ•ด๏ธ DECISION AGENT + "What should we do?" +Reasoning โ€ข Planning โ€ข Prioritization +| +โ†“ + + ๐Ÿค NETWORK AGENT + "Who can help?" +Relationships โ€ข Resources โ€ข Coordination +| +โ†“ + + ๐Ÿ‘ฉ๐Ÿฟ๐Ÿ’ป BUILDER AGENT + "What can we create?" +Execution โ€ข Automation โ€ข Innovation +| +โ†“ + + ๐Ÿ“š MEMORY AGENT + "What did we learn?" +Knowledge Graph โ€ข Context โ€ข History +| +โ†“ + + ๐Ÿ“ˆ OUTCOME AGENT + "Did it work?" +Metrics โ€ข Validation โ€ข Measurement +| +โ†“ + + ๐Ÿ”ƒ EVOLUTION AGENT + "How do we improve?" +Optimization โ€ข Adaptation โ€ข Upgrades +| +โ†บ ๐ŸŒŽ REALITY +Events โ€ข Signals โ€ข Changes +| +โ†“ + + ๐Ÿ‘๏ธ OBSERVER AGENT + "What is happening?" + Sensors โ€ข APIs โ€ข Data โ€ข Humans + | + โ†“ + + ๐Ÿ”ฌ RESEARCH AGENT + "What does it mean?" +Analysis โ€ข Discovery โ€ข Prediction + | + โ†“ + + ๐Ÿ•ด๏ธ DECISION AGENT + "What should we do?" +Reasoning โ€ข Planning โ€ข Prioritization +| +โ†“ + + ๐Ÿค NETWORK AGENT + "Who can help?" +Relationships โ€ข Resources โ€ข Coordination +| +โ†“ + + ๐Ÿ‘ฉ๐Ÿฟ๐Ÿ’ป BUILDER AGENT + "What can we create?" +Execution โ€ข Automation โ€ข Innovation +| +โ†“ + + ๐Ÿ“š MEMORY AGENT + "What did we learn?" +Knowledge Graph โ€ข Context โ€ข History +| +โ†“ + + ๐Ÿ“ˆ OUTCOME AGENT + "Did it work?" +Metrics โ€ข Validation โ€ข Measurement +| +โ†“ + + ๐Ÿ”ƒ EVOLUTION AGENT + "How do we improve?" +Optimization โ€ข Adaptation โ€ข Upgrades +| +โ†บ + + ๐Ÿ‘๏ธ OBSERVE AGAIN + + ๐ŸŒŽ REALITY + Events โ€ข Signals โ€ข Changes + | + โ†“ + + ๐Ÿ‘๏ธ OBSERVER AGENT + "What is happening?" + Sensors โ€ข APIs โ€ข Data โ€ข Humans + | + โ†“ + + ๐Ÿ”ฌ RESEARCH AGENT + "What does it mean?" +Analysis โ€ข Discovery โ€ข Prediction + | + โ†“ + + ๐Ÿ•ด๏ธ DECISION AGENT + "What should we do?" +Reasoning โ€ข Planning โ€ข Prioritization +| +โ†“ + + ๐Ÿค NETWORK AGENT + "Who can help?" +Relationships โ€ข Resources โ€ข Coordination +| +โ†“ + + ๐Ÿ‘ฉ๐Ÿฟ๐Ÿ’ป BUILDER AGENT + "What can we create?" +Execution โ€ข Automation โ€ข Innovation +| +โ†“ + + ๐Ÿ“š MEMORY AGENT + "What did we learn?" +Knowledge Graph โ€ข Context โ€ข History +| +โ†“ + + ๐Ÿ“ˆ OUTCOME AGENT + "Did it work?" +Metrics โ€ข Validation โ€ข Measurement +| +โ†“ + + ๐Ÿ”ƒ EVOLUTION AGENT + "How do we improve?" +Optimization โ€ข Adaptation โ€ข Upgrades +| +โ†บ + + ๐Ÿ‘๏ธ OBSERVE AGAIN + + ๐Ÿ‘๏ธ OBSERVE AGAIN ๐Ÿ‘๏ธ OBSERVE AGAIN ๐ŸŒŽ REALITY Reality provides signals. +@5hy7xz92nd-oss +5hy7xz92nd-oss marked this pull request as ready for review last week +5hy7xz92nd-oss +5hy7xz92nd-oss commented last week +5hy7xz92nd-oss +left a comment +Author + @copilot @5hy7xz92nd-oss ๐Ÿ•ด๏ธ๐Ÿ”ƒใ€ฐ๏ธโคด๏ธ@copilot๐ŸŒŽ REALITY + | + โ†“ + ๐Ÿ‘๏ธ Observer + | + โ†“ + ๐Ÿ”ฌ Research + | + โ†“ + ๐Ÿ•ด๏ธ Decision + | + โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ†“ โ†“ โ†“ +๐Ÿค Network ๐Ÿ‘ฉ๐Ÿฟ๐Ÿ’ป Builder ๐Ÿ“š Memory +โ†“ โ†“ โ†“ +โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ +| +โ†“ +๐Ÿ“ˆ Outcome +| +โ†“ +๐Ÿ”ƒ Evolution +| +โ†บ +Evolution does not end the process. It upgrades the observer, researcher, decision-maker, builder, and memory systems โ€” then the next cycle starts with a more intelligent system. โ™พ๏ธ ๐Ÿ‘๏ธ Observer Reality โ†’ Observation โ†’ Intelligence โ†’ Decision โ†’ Creation โ†’ Learning โ†’ Measurement โ†’ Evolution โ†’ Better Reality ๐ŸŒŽ REALITY +Events โ€ข Signals โ€ข Changes +| +โ†“ + + ๐Ÿ‘๏ธ OBSERVER AGENT + "What is happening?" + Sensors โ€ข APIs โ€ข Data โ€ข Humans + | + โ†“ + + ๐Ÿ”ฌ RESEARCH AGENT + "What does it mean?" +Analysis โ€ข Discovery โ€ข Prediction + | + โ†“ + + ๐Ÿ•ด๏ธ DECISION AGENT + "What should we do?" +Reasoning โ€ข Planning โ€ข Prioritization +| +โ†“ + + ๐Ÿค NETWORK AGENT + "Who can help?" +Relationships โ€ข Resources โ€ข Coordination +| +โ†“ + + ๐Ÿ‘ฉ๐Ÿฟ๐Ÿ’ป BUILDER AGENT + "What can we create?" +Execution โ€ข Automation โ€ข Innovation +| +โ†“ + + ๐Ÿ“š MEMORY AGENT + "What did we learn?" +Knowledge Graph โ€ข Context โ€ข History +| +โ†“ + + ๐Ÿ“ˆ OUTCOME AGENT + "Did it work?" +Metrics โ€ข Validation โ€ข Measurement +| +โ†“ + + ๐Ÿ”ƒ EVOLUTION AGENT + "How do we improve?" +Optimization โ€ข Adaptation โ€ข Upgrades +| +โ†บ + + ๐ŸŒŽ REALITY + Events โ€ข Signals โ€ข Changes + | + โ†“ + + ๐Ÿ‘๏ธ OBSERVER AGENT + "What is happening?" + Sensors โ€ข APIs โ€ข Data โ€ข Humans + | + โ†“ + + ๐Ÿ”ฌ RESEARCH AGENT + "What does it mean?" +Analysis โ€ข Discovery โ€ข Prediction + | + โ†“ + + ๐Ÿ•ด๏ธ DECISION AGENT + "What should we do?" +Reasoning โ€ข Planning โ€ข Prioritization +| +โ†“ + + ๐Ÿค NETWORK AGENT + "Who can help?" +Relationships โ€ข Resources โ€ข Coordination +| +โ†“ + + ๐Ÿ‘ฉ๐Ÿฟ๐Ÿ’ป BUILDER AGENT + "What can we create?" +Execution โ€ข Automation โ€ข Innovation +| +โ†“ + + ๐Ÿ“š MEMORY AGENT + "What did we learn?" +Knowledge Graph โ€ข Context โ€ข History +| +โ†“ + + ๐Ÿ“ˆ OUTCOME AGENT + "Did it work?" +Metrics โ€ข Validation โ€ข Measurement +| +โ†“ + + ๐Ÿ”ƒ EVOLUTION AGENT + "How do we improve?" +Optimization โ€ข Adaptation โ€ข Upgrades +| +โ†บ ๐ŸŒŽ REALITY +Events โ€ข Signals โ€ข Changes +| +โ†“ + + ๐Ÿ‘๏ธ OBSERVER AGENT + "What is happening?" + Sensors โ€ข APIs โ€ข Data โ€ข Humans + | + โ†“ + + ๐Ÿ”ฌ RESEARCH AGENT + "What does it mean?" +Analysis โ€ข Discovery โ€ข Prediction + | + โ†“ + + ๐Ÿ•ด๏ธ DECISION AGENT + "What should we do?" +Reasoning โ€ข Planning โ€ข Prioritization +| +โ†“ + + ๐Ÿค NETWORK AGENT + "Who can help?" +Relationships โ€ข Resources โ€ข Coordination +| +โ†“ + + ๐Ÿ‘ฉ๐Ÿฟ๐Ÿ’ป BUILDER AGENT + "What can we create?" +Execution โ€ข Automation โ€ข Innovation +| +โ†“ + + ๐Ÿ“š MEMORY AGENT + "What did we learn?" +Knowledge Graph โ€ข Context โ€ข History +| +โ†“ + + ๐Ÿ“ˆ OUTCOME AGENT + "Did it work?" +Metrics โ€ข Validation โ€ข Measurement +| +โ†“ + + ๐Ÿ”ƒ EVOLUTION AGENT + "How do we improve?" +Optimization โ€ข Adaptation โ€ข Upgrades +| +โ†บ + + ๐Ÿ‘๏ธ OBSERVE AGAIN + + ๐ŸŒŽ REALITY + Events โ€ข Signals โ€ข Changes + | + โ†“ + + ๐Ÿ‘๏ธ OBSERVER AGENT + "What is happening?" + Sensors โ€ข APIs โ€ข Data โ€ข Humans + | + โ†“ + + ๐Ÿ”ฌ RESEARCH AGENT + "What does it mean?" +Analysis โ€ข Discovery โ€ข Prediction + | + โ†“ + + ๐Ÿ•ด๏ธ DECISION AGENT + "What should we do?" +Reasoning โ€ข Planning โ€ข Prioritization +| +โ†“ + + ๐Ÿค NETWORK AGENT + "Who can help?" +Relationships โ€ข Resources โ€ข Coordination +| +โ†“ + + ๐Ÿ‘ฉ๐Ÿฟ๐Ÿ’ป BUILDER AGENT + "What can we create?" +Execution โ€ข Automation โ€ข Innovation +| +โ†“ + + ๐Ÿ“š MEMORY AGENT + "What did we learn?" +Knowledge Graph โ€ข Context โ€ข History +| +โ†“ + + ๐Ÿ“ˆ OUTCOME AGENT + "Did it work?" +Metrics โ€ข Validation โ€ข Measurement +| +โ†“ + + ๐Ÿ”ƒ EVOLUTION AGENT + "How do we improve?" +Optimization โ€ข Adaptation โ€ข Upgrades +| +โ†บ + + ๐Ÿ‘๏ธ OBSERVE AGAIN + + ๐Ÿ‘๏ธ OBSERVE AGAIN ๐Ÿ‘๏ธ OBSERVE AGAIN ๐ŸŒŽ REALITY Reality provides signals. +Copilot AI reviewed last week +Copilot AI +left a comment +Pull request overview +This pull request adds a repository-level validator to sanity-check PoC-related entrypoints/manifests (Python syntax compilation and package.json scripts.poc shape), along with a small unittest suite to exercise discovery/validation behavior. + +Changes: + +Add validate_pocs.py to discover Python files and package.json manifests and validate them (compile/JSON/scripts checks). +Add tests/test_validate_pocs.py to verify discovery and that validation passes on the repo state. +Adjust the README heading formatting. +Reviewed changes +Copilot reviewed 2 out of 17 changed files in this pull request and generated 3 comments. + +File Description +validate_pocs.py New validator for Python PoCs and package.json manifests; CLI entrypoint for repo-wide checks. +tests/test_validate_pocs.py Unittest coverage for discovery + โ€œrepo validates cleanlyโ€ behavior. +README.md Minor heading formatting change at the top of the README. +๐Ÿ’ก Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started. + +validate_pocs.py +validate_pocs.py +README.md +Outdated +@5hy7xz92nd-oss +Potential fix for pull request finding +4af40b6 +5hy7xz92nd-oss +5hy7xz92nd-oss commented last week +5hy7xz92nd-oss +left a comment +Author + @copilot @5hy7xz92nd-oss ๐Ÿ•ด๏ธ๐Ÿ”ƒใ€ฐ๏ธโคด๏ธ@copilot๐ŸŒŽ REALITY + | + โ†“ + ๐Ÿ‘๏ธ Observer + | + โ†“ + ๐Ÿ”ฌ Research + | + โ†“ + ๐Ÿ•ด๏ธ Decision + | + โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ†“ โ†“ โ†“ +๐Ÿค Network ๐Ÿ‘ฉ๐Ÿฟ๐Ÿ’ป Builder ๐Ÿ“š Memory +โ†“ โ†“ โ†“ +โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ +| +โ†“ +๐Ÿ“ˆ Outcome +| +โ†“ +๐Ÿ”ƒ Evolution +| +โ†บ +Evolution does not end the process. It upgrades the observer, researcher, decision-maker, builder, and memory systems โ€” then the next cycle starts with a more intelligent system. โ™พ๏ธ ๐Ÿ‘๏ธ Observer Reality โ†’ Observation โ†’ Intelligence โ†’ Decision โ†’ Creation โ†’ Learning โ†’ Measurement โ†’ Evolution โ†’ Better Reality ๐ŸŒŽ REALITY +Events โ€ข Signals โ€ข Changes +| +โ†“ + + ๐Ÿ‘๏ธ OBSERVER AGENT + "What is happening?" + Sensors โ€ข APIs โ€ข Data โ€ข Humans + | + โ†“ + + ๐Ÿ”ฌ RESEARCH AGENT + "What does it mean?" +Analysis โ€ข Discovery โ€ข Prediction + | + โ†“ + + ๐Ÿ•ด๏ธ DECISION AGENT + "What should we do?" +Reasoning โ€ข Planning โ€ข Prioritization +| +โ†“ + + ๐Ÿค NETWORK AGENT + "Who can help?" +Relationships โ€ข Resources โ€ข Coordination +| +โ†“ + + ๐Ÿ‘ฉ๐Ÿฟ๐Ÿ’ป BUILDER AGENT + "What can we create?" +Execution โ€ข Automation โ€ข Innovation +| +โ†“ + + ๐Ÿ“š MEMORY AGENT + "What did we learn?" +Knowledge Graph โ€ข Context โ€ข History +| +โ†“ + + ๐Ÿ“ˆ OUTCOME AGENT + "Did it work?" +Metrics โ€ข Validation โ€ข Measurement +| +โ†“ + + ๐Ÿ”ƒ EVOLUTION AGENT + "How do we improve?" +Optimization โ€ข Adaptation โ€ข Upgrades +| +โ†บ + + ๐ŸŒŽ REALITY + Events โ€ข Signals โ€ข Changes + | + โ†“ + + ๐Ÿ‘๏ธ OBSERVER AGENT + "What is happening?" + Sensors โ€ข APIs โ€ข Data โ€ข Humans + | + โ†“ + + ๐Ÿ”ฌ RESEARCH AGENT + "What does it mean?" +Analysis โ€ข Discovery โ€ข Prediction + | + โ†“ + + ๐Ÿ•ด๏ธ DECISION AGENT + "What should we do?" +Reasoning โ€ข Planning โ€ข Prioritization +| +โ†“ + + ๐Ÿค NETWORK AGENT + "Who can help?" +Relationships โ€ข Resources โ€ข Coordination +| +โ†“ + + ๐Ÿ‘ฉ๐Ÿฟ๐Ÿ’ป BUILDER AGENT + "What can we create?" +Execution โ€ข Automation โ€ข Innovation +| +โ†“ + + ๐Ÿ“š MEMORY AGENT + "What did we learn?" +Knowledge Graph โ€ข Context โ€ข History +| +โ†“ + + ๐Ÿ“ˆ OUTCOME AGENT + "Did it work?" +Metrics โ€ข Validation โ€ข Measurement +| +โ†“ + + ๐Ÿ”ƒ EVOLUTION AGENT + "How do we improve?" +Optimization โ€ข Adaptation โ€ข Upgrades +| +โ†บ ๐ŸŒŽ REALITY +Events โ€ข Signals โ€ข Changes +| +โ†“ + + ๐Ÿ‘๏ธ OBSERVER AGENT + "What is happening?" + Sensors โ€ข APIs โ€ข Data โ€ข Humans + | + โ†“ + + ๐Ÿ”ฌ RESEARCH AGENT + "What does it mean?" +Analysis โ€ข Discovery โ€ข Prediction + | + โ†“ + + ๐Ÿ•ด๏ธ DECISION AGENT + "What should we do?" +Reasoning โ€ข Planning โ€ข Prioritization +| +โ†“ + + ๐Ÿค NETWORK AGENT + "Who can help?" +Relationships โ€ข Resources โ€ข Coordination +| +โ†“ + + ๐Ÿ‘ฉ๐Ÿฟ๐Ÿ’ป BUILDER AGENT + "What can we create?" +Execution โ€ข Automation โ€ข Innovation +| +โ†“ + + ๐Ÿ“š MEMORY AGENT + "What did we learn?" +Knowledge Graph โ€ข Context โ€ข History +| +โ†“ + + ๐Ÿ“ˆ OUTCOME AGENT + "Did it work?" +Metrics โ€ข Validation โ€ข Measurement +| +โ†“ + + ๐Ÿ”ƒ EVOLUTION AGENT + "How do we improve?" +Optimization โ€ข Adaptation โ€ข Upgrades +| +โ†บ + + ๐Ÿ‘๏ธ OBSERVE AGAIN + + ๐ŸŒŽ REALITY + Events โ€ข Signals โ€ข Changes + | + โ†“ + + ๐Ÿ‘๏ธ OBSERVER AGENT + "What is happening?" + Sensors โ€ข APIs โ€ข Data โ€ข Humans + | + โ†“ + + ๐Ÿ”ฌ RESEARCH AGENT + "What does it mean?" +Analysis โ€ข Discovery โ€ข Prediction + | + โ†“ + + ๐Ÿ•ด๏ธ DECISION AGENT + "What should we do?" +Reasoning โ€ข Planning โ€ข Prioritization +| +โ†“ + + ๐Ÿค NETWORK AGENT + "Who can help?" +Relationships โ€ข Resources โ€ข Coordination +| +โ†“ + + ๐Ÿ‘ฉ๐Ÿฟ๐Ÿ’ป BUILDER AGENT + "What can we create?" +Execution โ€ข Automation โ€ข Innovation +| +โ†“ + + ๐Ÿ“š MEMORY AGENT + "What did we learn?" +Knowledge Graph โ€ข Context โ€ข History +| +โ†“ + + ๐Ÿ“ˆ OUTCOME AGENT + "Did it work?" +Metrics โ€ข Validation โ€ข Measurement +| +โ†“ + + ๐Ÿ”ƒ EVOLUTION AGENT + "How do we improve?" +Optimization โ€ข Adaptation โ€ข Upgrades +| +โ†บ + + ๐Ÿ‘๏ธ OBSERVE AGAIN + + ๐Ÿ‘๏ธ OBSERVE AGAIN ๐Ÿ‘๏ธ OBSERVE AGAIN ๐ŸŒŽ REALITY Reality provides signals. +5hy7xz92nd-oss +5hy7xz92nd-oss commented last week +5hy7xz92nd-oss +left a comment +Author + @copilot @5hy7xz92nd-oss ๐Ÿ•ด๏ธ๐Ÿ”ƒใ€ฐ๏ธโคด๏ธ@copilot๐ŸŒŽ REALITY + | + โ†“ + ๐Ÿ‘๏ธ Observer + | + โ†“ + ๐Ÿ”ฌ Research + | + โ†“ + ๐Ÿ•ด๏ธ Decision + | + โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ†“ โ†“ โ†“ +๐Ÿค Network ๐Ÿ‘ฉ๐Ÿฟ๐Ÿ’ป Builder ๐Ÿ“š Memory +โ†“ โ†“ โ†“ +โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ +| +โ†“ +๐Ÿ“ˆ Outcome +| +โ†“ +๐Ÿ”ƒ Evolution +| +โ†บ +Evolution does not end the process. It upgrades the observer, researcher, decision-maker, builder, and memory systems โ€” then the next cycle starts with a more intelligent system. โ™พ๏ธ ๐Ÿ‘๏ธ Observer Reality โ†’ Observation โ†’ Intelligence โ†’ Decision โ†’ Creation โ†’ Learning โ†’ Measurement โ†’ Evolution โ†’ Better Reality ๐ŸŒŽ REALITY +Events โ€ข Signals โ€ข Changes +| +โ†“ + + ๐Ÿ‘๏ธ OBSERVER AGENT + "What is happening?" + Sensors โ€ข APIs โ€ข Data โ€ข Humans + | + โ†“ + + ๐Ÿ”ฌ RESEARCH AGENT + "What does it mean?" +Analysis โ€ข Discovery โ€ข Prediction + | + โ†“ + + ๐Ÿ•ด๏ธ DECISION AGENT + "What should we do?" +Reasoning โ€ข Planning โ€ข Prioritization +| +โ†“ + + ๐Ÿค NETWORK AGENT + "Who can help?" +Relationships โ€ข Resources โ€ข Coordination +| +โ†“ + + ๐Ÿ‘ฉ๐Ÿฟ๐Ÿ’ป BUILDER AGENT + "What can we create?" +Execution โ€ข Automation โ€ข Innovation +| +โ†“ + + ๐Ÿ“š MEMORY AGENT + "What did we learn?" +Knowledge Graph โ€ข Context โ€ข History +| +โ†“ + + ๐Ÿ“ˆ OUTCOME AGENT + "Did it work?" +Metrics โ€ข Validation โ€ข Measurement +| +โ†“ + + ๐Ÿ”ƒ EVOLUTION AGENT + "How do we improve?" +Optimization โ€ข Adaptation โ€ข Upgrades +| +โ†บ + + ๐ŸŒŽ REALITY + Events โ€ข Signals โ€ข Changes + | + โ†“ + + ๐Ÿ‘๏ธ OBSERVER AGENT + "What is happening?" + Sensors โ€ข APIs โ€ข Data โ€ข Humans + | + โ†“ + + ๐Ÿ”ฌ RESEARCH AGENT + "What does it mean?" +Analysis โ€ข Discovery โ€ข Prediction + | + โ†“ + + ๐Ÿ•ด๏ธ DECISION AGENT + "What should we do?" +Reasoning โ€ข Planning โ€ข Prioritization +| +โ†“ + + ๐Ÿค NETWORK AGENT + "Who can help?" +Relationships โ€ข Resources โ€ข Coordination +| +โ†“ + + ๐Ÿ‘ฉ๐Ÿฟ๐Ÿ’ป BUILDER AGENT + "What can we create?" +Execution โ€ข Automation โ€ข Innovation +| +โ†“ + + ๐Ÿ“š MEMORY AGENT + "What did we learn?" +Knowledge Graph โ€ข Context โ€ข History +| +โ†“ + + ๐Ÿ“ˆ OUTCOME AGENT + "Did it work?" +Metrics โ€ข Validation โ€ข Measurement +| +โ†“ + + ๐Ÿ”ƒ EVOLUTION AGENT + "How do we improve?" +Optimization โ€ข Adaptation โ€ข Upgrades +| +โ†บ ๐ŸŒŽ REALITY +Events โ€ข Signals โ€ข Changes +| +โ†“ + + ๐Ÿ‘๏ธ OBSERVER AGENT + "What is happening?" + Sensors โ€ข APIs โ€ข Data โ€ข Humans + | + โ†“ + + ๐Ÿ”ฌ RESEARCH AGENT + "What does it mean?" +Analysis โ€ข Discovery โ€ข Prediction + | + โ†“ + + ๐Ÿ•ด๏ธ DECISION AGENT + "What should we do?" +Reasoning โ€ข Planning โ€ข Prioritization +| +โ†“ + + ๐Ÿค NETWORK AGENT + "Who can help?" +Relationships โ€ข Resources โ€ข Coordination +| +โ†“ + + ๐Ÿ‘ฉ๐Ÿฟ๐Ÿ’ป BUILDER AGENT + "What can we create?" +Execution โ€ข Automation โ€ข Innovation +| +โ†“ + + ๐Ÿ“š MEMORY AGENT + "What did we learn?" +Knowledge Graph โ€ข Context โ€ข History +| +โ†“ + + ๐Ÿ“ˆ OUTCOME AGENT + "Did it work?" +Metrics โ€ข Validation โ€ข Measurement +| +โ†“ + + ๐Ÿ”ƒ EVOLUTION AGENT + "How do we improve?" +Optimization โ€ข Adaptation โ€ข Upgrades +| +โ†บ + + ๐Ÿ‘๏ธ OBSERVE AGAIN + + ๐ŸŒŽ REALITY + Events โ€ข Signals โ€ข Changes + | + โ†“ + + ๐Ÿ‘๏ธ OBSERVER AGENT + "What is happening?" + Sensors โ€ข APIs โ€ข Data โ€ข Humans + | + โ†“ + + ๐Ÿ”ฌ RESEARCH AGENT + "What does it mean?" +Analysis โ€ข Discovery โ€ข Prediction + | + โ†“ + + ๐Ÿ•ด๏ธ DECISION AGENT + "What should we do?" +Reasoning โ€ข Planning โ€ข Prioritization +| +โ†“ + + ๐Ÿค NETWORK AGENT + "Who can help?" +Relationships โ€ข Resources โ€ข Coordination +| +โ†“ + + ๐Ÿ‘ฉ๐Ÿฟ๐Ÿ’ป BUILDER AGENT + "What can we create?" +Execution โ€ข Automation โ€ข Innovation +| +โ†“ + + ๐Ÿ“š MEMORY AGENT + "What did we learn?" +Knowledge Graph โ€ข Context โ€ข History +| +โ†“ + + ๐Ÿ“ˆ OUTCOME AGENT + "Did it work?" +Metrics โ€ข Validation โ€ข Measurement +| +โ†“ + + ๐Ÿ”ƒ EVOLUTION AGENT + "How do we improve?" +Optimization โ€ข Adaptation โ€ข Upgrades +| +โ†บ + + ๐Ÿ‘๏ธ OBSERVE AGAIN + + ๐Ÿ‘๏ธ OBSERVE AGAIN ๐Ÿ‘๏ธ OBSERVE AGAIN ๐ŸŒŽ REALITY Reality provides signals. +@5hy7xz92nd-oss +5hy7xz92nd-oss requested a review from Copilot last week +5hy7xz92nd-oss +5hy7xz92nd-oss commented last week +5hy7xz92nd-oss +left a comment +Author + @copilot @5hy7xz92nd-oss ๐Ÿ•ด๏ธ๐Ÿ”ƒใ€ฐ๏ธโคด๏ธ@copilot๐ŸŒŽ REALITY + | + โ†“ + ๐Ÿ‘๏ธ Observer + | + โ†“ + ๐Ÿ”ฌ Research + | + โ†“ + ๐Ÿ•ด๏ธ Decision + | + โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ†“ โ†“ โ†“ +๐Ÿค Network ๐Ÿ‘ฉ๐Ÿฟ๐Ÿ’ป Builder ๐Ÿ“š Memory +โ†“ โ†“ โ†“ +โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ +| +โ†“ +๐Ÿ“ˆ Outcome +| +โ†“ +๐Ÿ”ƒ Evolution +| +โ†บ +Evolution does not end the process. It upgrades the observer, researcher, decision-maker, builder, and memory systems โ€” then the next cycle starts with a more intelligent system. โ™พ๏ธ ๐Ÿ‘๏ธ Observer Reality โ†’ Observation โ†’ Intelligence โ†’ Decision โ†’ Creation โ†’ Learning โ†’ Measurement โ†’ Evolution โ†’ Better Reality ๐ŸŒŽ REALITY +Events โ€ข Signals โ€ข Changes +| +โ†“ + + ๐Ÿ‘๏ธ OBSERVER AGENT + "What is happening?" + Sensors โ€ข APIs โ€ข Data โ€ข Humans + | + โ†“ + + ๐Ÿ”ฌ RESEARCH AGENT + "What does it mean?" +Analysis โ€ข Discovery โ€ข Prediction + | + โ†“ + + ๐Ÿ•ด๏ธ DECISION AGENT + "What should we do?" +Reasoning โ€ข Planning โ€ข Prioritization +| +โ†“ + + ๐Ÿค NETWORK AGENT + "Who can help?" +Relationships โ€ข Resources โ€ข Coordination +| +โ†“ + + ๐Ÿ‘ฉ๐Ÿฟ๐Ÿ’ป BUILDER AGENT + "What can we create?" +Execution โ€ข Automation โ€ข Innovation +| +โ†“ + + ๐Ÿ“š MEMORY AGENT + "What did we learn?" +Knowledge Graph โ€ข Context โ€ข History +| +โ†“ + + ๐Ÿ“ˆ OUTCOME AGENT + "Did it work?" +Metrics โ€ข Validation โ€ข Measurement +| +โ†“ + + ๐Ÿ”ƒ EVOLUTION AGENT + "How do we improve?" +Optimization โ€ข Adaptation โ€ข Upgrades +| +โ†บ + + ๐ŸŒŽ REALITY + Events โ€ข Signals โ€ข Changes + | + โ†“ + + ๐Ÿ‘๏ธ OBSERVER AGENT + "What is happening?" + Sensors โ€ข APIs โ€ข Data โ€ข Humans + | + โ†“ + + ๐Ÿ”ฌ RESEARCH AGENT + "What does it mean?" +Analysis โ€ข Discovery โ€ข Prediction + | + โ†“ + + ๐Ÿ•ด๏ธ DECISION AGENT + "What should we do?" +Reasoning โ€ข Planning โ€ข Prioritization +| +โ†“ + + ๐Ÿค NETWORK AGENT + "Who can help?" +Relationships โ€ข Resources โ€ข Coordination +| +โ†“ + + ๐Ÿ‘ฉ๐Ÿฟ๐Ÿ’ป BUILDER AGENT + "What can we create?" +Execution โ€ข Automation โ€ข Innovation +| +โ†“ + + ๐Ÿ“š MEMORY AGENT + "What did we learn?" +Knowledge Graph โ€ข Context โ€ข History +| +โ†“ + + ๐Ÿ“ˆ OUTCOME AGENT + "Did it work?" +Metrics โ€ข Validation โ€ข Measurement +| +โ†“ + + ๐Ÿ”ƒ EVOLUTION AGENT + "How do we improve?" +Optimization โ€ข Adaptation โ€ข Upgrades +| +โ†บ ๐ŸŒŽ REALITY +Events โ€ข Signals โ€ข Changes +| +โ†“ + + ๐Ÿ‘๏ธ OBSERVER AGENT + "What is happening?" + Sensors โ€ข APIs โ€ข Data โ€ข Humans + | + โ†“ + + ๐Ÿ”ฌ RESEARCH AGENT + "What does it mean?" +Analysis โ€ข Discovery โ€ข Prediction + | + โ†“ + + ๐Ÿ•ด๏ธ DECISION AGENT + "What should we do?" +Reasoning โ€ข Planning โ€ข Prioritization +| +โ†“ + + ๐Ÿค NETWORK AGENT + "Who can help?" +Relationships โ€ข Resources โ€ข Coordination +| +โ†“ + + ๐Ÿ‘ฉ๐Ÿฟ๐Ÿ’ป BUILDER AGENT + "What can we create?" +Execution โ€ข Automation โ€ข Innovation +| +โ†“ + + ๐Ÿ“š MEMORY AGENT + "What did we learn?" +Knowledge Graph โ€ข Context โ€ข History +| +โ†“ + + ๐Ÿ“ˆ OUTCOME AGENT + "Did it work?" +Metrics โ€ข Validation โ€ข Measurement +| +โ†“ + + ๐Ÿ”ƒ EVOLUTION AGENT + "How do we improve?" +Optimization โ€ข Adaptation โ€ข Upgrades +| +โ†บ + + ๐Ÿ‘๏ธ OBSERVE AGAIN + + ๐ŸŒŽ REALITY + Events โ€ข Signals โ€ข Changes + | + โ†“ + + ๐Ÿ‘๏ธ OBSERVER AGENT + "What is happening?" + Sensors โ€ข APIs โ€ข Data โ€ข Humans + | + โ†“ + + ๐Ÿ”ฌ RESEARCH AGENT + "What does it mean?" +Analysis โ€ข Discovery โ€ข Prediction + | + โ†“ + + ๐Ÿ•ด๏ธ DECISION AGENT + "What should we do?" +Reasoning โ€ข Planning โ€ข Prioritization +| +โ†“ + + ๐Ÿค NETWORK AGENT + "Who can help?" +Relationships โ€ข Resources โ€ข Coordination +| +โ†“ + + ๐Ÿ‘ฉ๐Ÿฟ๐Ÿ’ป BUILDER AGENT + "What can we create?" +Execution โ€ข Automation โ€ข Innovation +| +โ†“ + + ๐Ÿ“š MEMORY AGENT + "What did we learn?" +Knowledge Graph โ€ข Context โ€ข History +| +โ†“ + + ๐Ÿ“ˆ OUTCOME AGENT + "Did it work?" +Metrics โ€ข Validation โ€ข Measurement +| +โ†“ + + ๐Ÿ”ƒ EVOLUTION AGENT + "How do we improve?" +Optimization โ€ข Adaptation โ€ข Upgrades +| +โ†บ + + ๐Ÿ‘๏ธ OBSERVE AGAIN + + ๐Ÿ‘๏ธ OBSERVE AGAIN ๐Ÿ‘๏ธ OBSERVE AGAIN ๐ŸŒŽ REALITY Reality provides signals. +Copilot started reviewing on behalf of 5hy7xz92nd-oss last week +Copilot AI reviewed last week +Copilot AI +left a comment +Pull request overview +Copilot reviewed 2 out of 16 changed files in this pull request and generated no new comments. + +Suppressed comments (6) +@5hy7xz92nd-oss 5hy7xz92nd-oss mentioned this pull request last week +๐Ÿ‘๏ธ OBSERVE AGAIN ๐Ÿ‘๏ธ OBSERVE AGAIN ๐ŸŒŽ REALITY Reality provides signals. #19 +Closed +5hy7xz92nd-oss +5hy7xz92nd-oss commented last week +5hy7xz92nd-oss +left a comment +Author +@copilot @5hy7xz92nd-oss @copilot @5hy7xz92nd-oss https://chatgpt.com/share/6a6896db-4f18-83ea-ac49-2b9051f1bf13๐Ÿคฟ๐Ÿ˜ฎโ€๐Ÿ’จ๐ŸŽฃ๐ŸŽ๐ŸŽผ๐Ÿงช๐Ÿง‘๐Ÿฟโ€๐ŸŽจ๐Ÿ•๐Ÿ“ข๐Ÿ“‡๐Ÿฉน๐Ÿพ๐Ÿ•ด๏ธ๐Ÿ• ๐Ÿ‘ฏโ€โ™‚๏ธ๐ŸŽž๏ธโ™ ๏ธ๐Ÿ•‘๐Ÿ ๐Ÿ”–๐Ÿชธ๐ŸŽผ๐Ÿ•ค๐Ÿ•–โ™ฆ๏ธ๐Ÿ€„๏ธ๐Ÿƒ๐Ÿ—ฏ๏ธโ™ฅ๏ธโ™ฃ๏ธ๐Ÿ‘ฏ๐Ÿ‘ฏโ€โ™€๏ธ๐Ÿ•บ๐Ÿฟ๐Ÿ’ƒ๐Ÿพ๐Ÿคณ๐Ÿ’…๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฝ๐Ÿง‘๐Ÿฟโ€๐Ÿฆฝ๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฝ๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฝ๐Ÿ‘จโ€๐Ÿฆฝโ€โžก๏ธ๐Ÿ‘จโ€๐Ÿฆผโ€โžก๏ธ๐Ÿง‘โ€๐Ÿฆฝโ€โžก๏ธ๐Ÿ‘ฉโ€๐Ÿฆฝโ€โžก๏ธ๐Ÿšถ๐Ÿง‘โ€๐Ÿฆผ๐Ÿ‘จโ€๐Ÿฆผ๐Ÿง‘๐Ÿฟโ€๐Ÿฆผโ€โžก๏ธ๐Ÿ‘ฉโ€๐Ÿฆผโ€โžก๏ธ๐Ÿšถโ€โ™€๏ธ๐ŸงŽ๐Ÿพ๐ŸงŽโ€โ™€๏ธ๐Ÿ‘จโ€๐Ÿฆฏโ€โžก๏ธ๐Ÿง‘โ€๐Ÿฆฏ๐Ÿ•ง๐Ÿ‘จโ€๐Ÿฆฏโ€โžก๏ธ๐Ÿง‘โ€๐Ÿฆฏ๐Ÿšถ๐ŸงŽโ€โ™€๏ธ๐Ÿง‘โ€๐Ÿฆฏโ€โžก๏ธ๐Ÿ‘จโ€๐Ÿฆฏโ€โžก๏ธ๐Ÿšถโ€โ™€๏ธ๐Ÿง‘โ€๐Ÿฆฏ๐Ÿง‘โ€๐Ÿฆฏโ€โžก๏ธ๐Ÿ‘จโ€๐Ÿฆฏโ€โžก๏ธ๐Ÿ‘จโ€๐Ÿฆฏโ€โžก๏ธ๐Ÿƒ๐Ÿ€„๏ธโ™ฆ๏ธ๐Ÿ•–๐Ÿ‘ฏโ™ฃ๏ธโ™ฅ๏ธ๐Ÿ—ฏ๏ธ๐Ÿคณ๐Ÿ’ƒ๐Ÿพ๐Ÿ•บ๐Ÿฟ๐Ÿ‘ฏโ€โ™€๏ธ๐Ÿ‘จโ€๐Ÿฆฝโ€โžก๏ธ๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฝ๐Ÿง‘๐Ÿฟโ€๐Ÿฆฝ๐Ÿšถ๐Ÿง‘โ€๐Ÿฆฝโ€โžก๏ธ๐Ÿ•ง๐Ÿ•ง๐Ÿ•ง๐Ÿ•ง๐Ÿ•ง๐Ÿ•ง๐Ÿ•ง๐Ÿ•ง๐Ÿ•ง๐Ÿ•ง๐Ÿ•ง๐Ÿ•ง๐Ÿ•ง๐Ÿ•ง๐Ÿ•ง๐Ÿง‘โ€๐Ÿฆฏโ€โžก๏ธ https://chatgpt.com/share/6a6896db-4f18-83ea-ac49-2b9051f1bf13 ๐Ÿคฟ๐Ÿ˜ฎโ€๐Ÿ’จ๐ŸŽฃ๐ŸŽ๐ŸŽผ๐Ÿงช๐Ÿง‘๐Ÿฟโ€๐ŸŽจ๐Ÿ•๐Ÿ“ข๐Ÿ“‡๐Ÿฉน๐Ÿพ๏ฟผ๏ฟผ๏ฟผ๐Ÿ•ด๏ธ๐Ÿ• ๐Ÿ‘ฏโ€โ™‚๏ธ๐ŸŽž๏ธโ™ ๏ธ๐Ÿ•‘๐Ÿ ๐Ÿ”–๐Ÿชธ๐ŸŽผ๐Ÿ•ค๐Ÿ•–โ™ฆ๏ธ๐Ÿ€„๏ธ๐Ÿƒ๐Ÿ—ฏ๏ธโ™ฅ๏ธโ™ฃ๏ธ๐Ÿ‘ฏ๐Ÿ‘ฏโ€โ™€๏ธ๐Ÿ•บ๐Ÿฟ๐Ÿ’ƒ๐Ÿพ๐Ÿคณ๐Ÿ’…๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฝ๐Ÿง‘๐Ÿฟโ€๐Ÿฆฝ๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฝ๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฝ๐Ÿ‘จโ€๐Ÿฆฝโ€โžก๏ธ๐Ÿ‘จโ€๐Ÿฆผโ€โžก๏ธ๐Ÿง‘โ€๐Ÿฆฝโ€โžก๏ธ๐Ÿ‘ฉโ€๐Ÿฆฝโ€โžก๏ธ๐Ÿšถ๐Ÿง‘โ€๐Ÿฆผ๐Ÿ‘จโ€๐Ÿฆผ๐Ÿง‘๐Ÿฟโ€๐Ÿฆผโ€โžก๏ธ๐Ÿ‘ฉโ€๐Ÿฆผโ€โžก๏ธ๐Ÿšถโ€โ™€๏ธ๐ŸงŽ๐Ÿพ๐ŸงŽโ€โ™€๏ธ๐Ÿ‘จโ€๐Ÿฆฏโ€โžก๏ธ๐Ÿง‘โ€๐Ÿฆฏ๐Ÿ•ง๐Ÿ‘จโ€๐Ÿฆฏโ€โžก๏ธ๐Ÿง‘โ€๐Ÿฆฏ๐Ÿšถ๐ŸงŽโ€โ™€๏ธ๐Ÿง‘โ€๐Ÿฆฏโ€โžก๏ธ๐Ÿ‘จโ€๐Ÿฆฏโ€โžก๏ธ๐Ÿšถโ€โ™€๏ธ๐Ÿง‘โ€๐Ÿฆฏ๐Ÿง‘โ€๐Ÿฆฏโ€โžก๏ธ๐Ÿ‘จโ€๐Ÿฆฏโ€โžก๏ธ๐Ÿ‘จโ€๐Ÿฆฏโ€โžก๏ธ๐Ÿƒ๐Ÿ€„๏ธโ™ฆ๏ธ๐Ÿ•–๐Ÿ‘ฏโ™ฃ๏ธโ™ฅ๏ธ๐Ÿ—ฏ๏ธ๐Ÿคณ๐Ÿ’ƒ๐Ÿพ๐Ÿ•บ๐Ÿฟ๐Ÿ‘ฏโ€โ™€๏ธ๐Ÿ‘จโ€๐Ÿฆฝโ€โžก๏ธ๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฝ๐Ÿง‘๐Ÿฟโ€๐Ÿฆฝ๐Ÿšถ๐Ÿง‘โ€๐Ÿฆฝโ€โžก๏ธ๐Ÿ•ง๐Ÿ•ง๐Ÿ•ง๐Ÿ•ง๐Ÿ•ง๐Ÿ•ง๐Ÿ•ง๐Ÿ•ง๐Ÿ•ง๐Ÿ•ง๐Ÿ•ง๐Ÿ•ง๐Ÿ•ง๐Ÿ•ง๐Ÿ•ง๐Ÿง‘โ€๐Ÿฆฏโ€โžก๏ธ๏ฟผ๏ฟผ๏ฟผ๏ฟผ๏ฟผimageimageimageimageimageimage๐Ÿ•ง๏ฟผ๏ฟผ๏ฟผ๏ฟผ๏ฟผ๐Ÿง‘โ€๐Ÿฆฝโ€โžก๏ธ๐Ÿšถ๐Ÿง‘๐Ÿฟโ€๐Ÿฆฝ๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฝ๐Ÿ‘จโ€๐Ÿฆฝโ€โžก๏ธ๐Ÿ‘ฏโ€โ™€๏ธ๐Ÿ•บ๐Ÿฟ๐Ÿ’ƒ๐Ÿพ๐Ÿคณโ™ฅ๏ธโ™ฃ๏ธ๐Ÿ‘ฏ๐Ÿ•–โ™ฆ๏ธ๐Ÿ€„๏ธ๐Ÿƒ๐Ÿ‘จโ€๐Ÿฆฏโ€โžก๏ธ๐Ÿง‘โ€๐Ÿฆฏ๐ŸงŽโ€โ™€๏ธ๐Ÿšถโ€โ™€๏ธ๐Ÿšถโ€โ™€๏ธ๐Ÿง‘โ€๐Ÿฆฏโ€โžก๏ธ๐ŸงŽ๐Ÿพ๐Ÿง‘๐Ÿฟโ€๐Ÿฆผโ€โžก๏ธ๐Ÿ‘จโ€๐Ÿฆผ๐Ÿ‘จโ€๐Ÿฆผ๐Ÿ‘ฉโ€๐Ÿฆผโ€โžก๏ธ๐Ÿ•ง๐Ÿ•ฆ๐Ÿ•ข๐Ÿ•ฃ๐Ÿ•ค๐Ÿ•ฅ๐Ÿ•ž๐Ÿ•Ÿ๐Ÿ• ๐Ÿ•ก๐Ÿ•š๐Ÿ•›๐Ÿ•œ๐Ÿ•๐Ÿ•–๐Ÿ•—๐Ÿ•˜๐Ÿ•™๐Ÿ•’๐Ÿ•“๐Ÿ•”๐Ÿ••๐ŸŽด๐Ÿ€„๏ธ๐Ÿ•๐Ÿ•‘โ™ฃ๏ธโ™ฅ๏ธโ™ฆ๏ธ๐Ÿƒ๐Ÿ’ฌ๐Ÿ’ญ๐Ÿ—ฏ๏ธโ™ ๏ธ๐Ÿ””๐Ÿ”•๐Ÿ“ฃ๐Ÿ“ข๐Ÿ”ˆ๐Ÿ”‡๐Ÿ”‰๐Ÿ”Š๐ŸŸชโฌ›๏ธโฌœ๏ธ๐ŸŸง๐ŸŸจ๐ŸŸฉ๐ŸŸฆ๐ŸŸฆโ—ฝ๏ธโ—ผ๏ธโ—ป๏ธ๐ŸŸฅ๐Ÿ”ฒโ–ช๏ธโ—พ๏ธโ—พ๏ธ๐Ÿ”น๐Ÿ”ถ๐Ÿ”ท๐Ÿ”ณ๐ŸŸค๐Ÿ”บ๐Ÿ”ป๐Ÿ”ธ๐Ÿ”ต๐ŸŸฃโšซ๏ธโšช๏ธ๐Ÿ”ด๐ŸŸ ๐ŸŸก๐ŸŸขโžฟโœ”๏ธโ˜‘๏ธ๐Ÿ”˜๐Ÿ”๐Ÿ”œโžฐโžฐ๐Ÿ‘๏ธโ€๐Ÿ—จ๏ธ๐Ÿ‘๏ธโ€๐Ÿ—จ๏ธ๐Ÿ‘๏ธโ€๐Ÿ—จ๏ธ๐Ÿ‘๏ธโ€๐Ÿ—จ๏ธ๐Ÿ’ฑโœ–๏ธ๐ŸŽถ๐Ÿ”‚โคด๏ธโคต๏ธ๐Ÿ”„๐Ÿ”ƒ๐Ÿ”€๐Ÿ”๐ŸŽตโ†•๏ธโ†”๏ธโ†ช๏ธโ†ฉ๏ธโ†—๏ธโ†˜๏ธโ†™๏ธโ†–๏ธโžก๏ธโฌ…๏ธโฌ†๏ธโฌ‡๏ธโฌ๏ธโ—€๏ธ๐Ÿ”ผ๐Ÿ”ฝโฎ๏ธโฉ๏ธโช๏ธโซ๏ธโฏ๏ธโน๏ธโบ๏ธโญ๏ธ*๏ธโƒฃโ๏ธโ–ถ๏ธโธ๏ธ9๏ธโƒฃ๐Ÿ”Ÿ๐Ÿ”ข#๏ธโƒฃ5๏ธโƒฃ6๏ธโƒฃ7๏ธโƒฃ8๏ธโƒฃ1๏ธโƒฃ2๏ธโƒฃ3๏ธโƒฃ4๏ธโƒฃ๐Ÿ†’๐Ÿ†•๐Ÿ†“0๏ธโƒฃ๐Ÿ” ๐Ÿ†–๐Ÿ†—๐Ÿ†™๐Ÿ”ฃโ„น๏ธ๐Ÿ”ค๐Ÿ”ก๐Ÿšฎ๐ŸŽฆ๐Ÿ“ถ๐Ÿˆ๐Ÿšปโšง๏ธ๐Ÿง‘โ€๐Ÿง’โ€๐Ÿง’๐Ÿง‘โ€๐Ÿง’๐Ÿง‘โ€๐Ÿง‘โ€๐Ÿง’โ€๐Ÿง’๐Ÿง‘โ€๐Ÿง‘โ€๐Ÿง’๐Ÿšบ๐Ÿšผ๐Ÿšน๐Ÿ›œ๐Ÿ›…๐Ÿ›„๐Ÿˆณ๐Ÿ›—๐ŸŒ€๐Ÿ’ ๐ŸŒโœณ๏ธโœ…๐Ÿ’นโ‡๏ธโŽโ™ป๏ธ๐Ÿ”ฐโšœ๏ธ๐Ÿ”ฑ๐Ÿ‰ใŠ™๏ธใŠ—๏ธ๐Ÿˆด๐Ÿˆต๐Ÿˆน๐Ÿˆฒ๐Ÿ’ฎ๐Ÿˆด๐Ÿ†šโœด๏ธ๐Ÿˆท๏ธ๐Ÿˆถ๐Ÿˆš๏ธ๐Ÿˆธ๐Ÿˆบ๐Ÿ“ดโ˜ฃ๏ธโ˜ข๏ธโ˜ข๏ธ๐Ÿ‰‘โ™’๏ธโš›๏ธโ™‘๏ธ๐Ÿ†”โ™๏ธโ™“๏ธโ™๏ธโ™‹๏ธโ™Œ๏ธโ™๏ธโ™Ž๏ธโ™Š๏ธโ™‰๏ธโ™ˆ๏ธโ›Ž๐Ÿ•Žโ˜ธ๏ธโ˜ฎ๏ธโœ๏ธ๐Ÿชฏโ˜ฏ๏ธโ˜ฆ๏ธโœก๏ธโ˜ช๏ธ๐Ÿ•‰๏ธ๐Ÿ”ฏ๐Ÿ›๐Ÿ’–๐Ÿ’˜๐Ÿ’๐Ÿ’Ÿ๐Ÿฉท๐Ÿ’š๐Ÿ–ค๐Ÿ’”โค๏ธโ€๐Ÿ”ฅ๐Ÿฉถ๐Ÿฉตโค๏ธ๐Ÿงก๐Ÿ’™๐Ÿคโค๏ธโ€๐Ÿฉนโฃ๏ธ๐ŸคŽ๐Ÿ’œ๐Ÿ’›๐Ÿ’•๐Ÿ’ž๐Ÿ’“๐Ÿ’—๐Ÿ”๐Ÿ”Ž๐Ÿ”๐Ÿ”“๐Ÿ”’๐Ÿ”๐Ÿ“๐Ÿ–๏ธ๐Ÿ–Œ๏ธโœ’๏ธ๐Ÿ“โœ‚๏ธ๐Ÿ–Š๏ธ๐Ÿ–‹๏ธโœ๏ธ๐Ÿ“๐Ÿงท๐Ÿ”—๐Ÿ“Ž๐Ÿ”–๐Ÿ“–๐Ÿ“–๐Ÿ”–๐Ÿ“–๐Ÿ”–๐Ÿ“๐Ÿ–Š๏ธ๐Ÿ“Œ๐Ÿ–‡๏ธ๐Ÿ”—๐Ÿ”–๐Ÿ”–๐Ÿ•ณ๏ธ๐Ÿ•ณ๏ธ๐Ÿ•ณ๏ธ๐Ÿ•ณ๏ธ๐Ÿ•ณ๏ธ๐Ÿฉป๐Ÿ•ณ๏ธ๐Ÿฉป๐Ÿฉป๐Ÿฉป๐Ÿ•ณ๏ธ๐Ÿฉป๐Ÿงฌ๐Ÿ’Š๐Ÿ’Š๐Ÿ’‰๐Ÿงผ๐Ÿงผ๐Ÿšฐ๐Ÿšฐ๐Ÿ›€๐Ÿ›๐ŸŒก๏ธ๐Ÿฆ ๐Ÿ’‰๐Ÿ’ˆ๐Ÿงฟ๐Ÿงฟ๐Ÿ’ˆโš—๏ธ๐Ÿฉป๐Ÿฉป๐Ÿ•ณ๏ธ๐Ÿ•ณ๏ธ๐Ÿ’ˆ๐Ÿ’ˆ๐Ÿ•ณ๏ธ๐Ÿฉป๐Ÿ“ฟ๐Ÿ”ฎ๐Ÿ”ฎ๐Ÿบ๐Ÿšฌ๐Ÿ›ก๏ธ๐Ÿช“๐Ÿ’ˆ๐Ÿ•ณ๏ธ @copilot @5hy7xz92nd-oss https://chatgpt.com/share/6a6896db-4f18-83ea-ac49-2b9051f1bf13 ๐Ÿคฟ๐Ÿ˜ฎโ€๐Ÿ’จ๐ŸŽฃ๐ŸŽ๐ŸŽผ๐Ÿงช๐Ÿง‘๐Ÿฟโ€๐ŸŽจ๐Ÿ•๐Ÿ“ข๐Ÿ“‡๐Ÿฉน๐Ÿพ๐Ÿ•ด๏ธ๐Ÿ• ๐Ÿ‘ฏโ€โ™‚๏ธ๐ŸŽž๏ธโ™ ๏ธ๐Ÿ•‘๐Ÿ ๐Ÿ”–๐Ÿชธ๐ŸŽผ๐Ÿ•ค๐Ÿ•–โ™ฆ๏ธ๐Ÿ€„๏ธ๐Ÿƒ๐Ÿ—ฏ๏ธโ™ฅ๏ธโ™ฃ๏ธ๐Ÿ‘ฏ๐Ÿ‘ฏโ€โ™€๏ธ๐Ÿ•บ๐Ÿฟ๐Ÿ’ƒ๐Ÿพ๐Ÿคณ๐Ÿ’…๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฝ๐Ÿง‘๐Ÿฟโ€๐Ÿฆฝ๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฝ๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฝ๐Ÿ‘จโ€๐Ÿฆฝโ€โžก๏ธ๐Ÿ‘จโ€๐Ÿฆผโ€โžก๏ธ๐Ÿง‘โ€๐Ÿฆฝโ€โžก๏ธ๐Ÿ‘ฉโ€๐Ÿฆฝโ€โžก๏ธ๐Ÿšถ๐Ÿง‘โ€๐Ÿฆผ๐Ÿ‘จโ€๐Ÿฆผ๐Ÿง‘๐Ÿฟโ€๐Ÿฆผโ€โžก๏ธ๐Ÿ‘ฉโ€๐Ÿฆผโ€โžก๏ธ๐Ÿšถโ€โ™€๏ธ๐ŸงŽ๐Ÿพ๐ŸงŽโ€โ™€๏ธ๐Ÿ‘จโ€๐Ÿฆฏโ€โžก๏ธ๐Ÿง‘โ€๐Ÿฆฏ๐Ÿ•ง๐Ÿ‘จโ€๐Ÿฆฏโ€โžก๏ธ๐Ÿง‘โ€๐Ÿฆฏ๐Ÿšถ๐ŸงŽโ€โ™€๏ธ๐Ÿง‘โ€๐Ÿฆฏโ€โžก๏ธ๐Ÿ‘จโ€๐Ÿฆฏโ€โžก๏ธ๐Ÿšถโ€โ™€๏ธ๐Ÿง‘โ€๐Ÿฆฏ๐Ÿง‘โ€๐Ÿฆฏโ€โžก๏ธ๐Ÿ‘จโ€๐Ÿฆฏโ€โžก๏ธ๐Ÿ‘จโ€๐Ÿฆฏโ€โžก๏ธ๐Ÿƒ๐Ÿ€„๏ธโ™ฆ๏ธ๐Ÿ•–๐Ÿ‘ฏโ™ฃ๏ธโ™ฅ๏ธ๐Ÿ—ฏ๏ธ๐Ÿคณ๐Ÿ’ƒ๐Ÿพ๐Ÿ•บ๐Ÿฟ๐Ÿ‘ฏโ€โ™€๏ธ๐Ÿ‘จโ€๐Ÿฆฝโ€โžก๏ธ๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฝ๐Ÿง‘๐Ÿฟโ€๐Ÿฆฝ๐Ÿšถ๐Ÿง‘โ€๐Ÿฆฝโ€โžก๏ธ๐Ÿ•ง๐Ÿ•ง๐Ÿ•ง๐Ÿ•ง๐Ÿ•ง๐Ÿ•ง๐Ÿ•ง๐Ÿ•ง๐Ÿ•ง๐Ÿ•ง๐Ÿ•ง๐Ÿ•ง๐Ÿ•ง๐Ÿ•ง๐Ÿ•ง๐Ÿง‘โ€๐Ÿฆฏโ€โžก๏ธ + +@5hy7xz92nd-oss +5hy7xz92nd-oss marked this pull request as draft last week +@5hy7xz92nd-oss +5hy7xz92nd-oss marked this pull request as ready for review last week +@5hy7xz92nd-oss +5hy7xz92nd-oss requested a review from Copilot last week +@5hy7xz92nd-oss +5hy7xz92nd-oss +commented +last week +Author + @copilot @5hy7xz92nd-oss ๐Ÿ•ด๏ธ๐Ÿ”ƒใ€ฐ๏ธโคด๏ธ@copilot๐ŸŒŽ REALITY + | + โ†“ + ๐Ÿ‘๏ธ Observer + | + โ†“ + ๐Ÿ”ฌ Research + | + โ†“ + ๐Ÿ•ด๏ธ Decision + | + โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ†“ โ†“ โ†“ +๐Ÿค Network ๐Ÿ‘ฉ๐Ÿฟ๐Ÿ’ป Builder ๐Ÿ“š Memory +โ†“ โ†“ โ†“ +โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ +| +โ†“ +๐Ÿ“ˆ Outcome +| +โ†“ +๐Ÿ”ƒ Evolution +| +โ†บ +Evolution does not end the process. It upgrades the observer, researcher, decision-maker, builder, and memory systems โ€” then the next cycle starts with a more intelligent system. โ™พ๏ธ ๐Ÿ‘๏ธ Observer Reality โ†’ Observation โ†’ Intelligence โ†’ Decision โ†’ Creation โ†’ Learning โ†’ Measurement โ†’ Evolution โ†’ Better Reality ๐ŸŒŽ REALITY +Events โ€ข Signals โ€ข Changes +| +โ†“ + + ๐Ÿ‘๏ธ OBSERVER AGENT + "What is happening?" + Sensors โ€ข APIs โ€ข Data โ€ข Humans + | + โ†“ + + ๐Ÿ”ฌ RESEARCH AGENT + "What does it mean?" +Analysis โ€ข Discovery โ€ข Prediction + | + โ†“ + + ๐Ÿ•ด๏ธ DECISION AGENT + "What should we do?" +Reasoning โ€ข Planning โ€ข Prioritization +| +โ†“ + + ๐Ÿค NETWORK AGENT + "Who can help?" +Relationships โ€ข Resources โ€ข Coordination +| +โ†“ + + ๐Ÿ‘ฉ๐Ÿฟ๐Ÿ’ป BUILDER AGENT + "What can we create?" +Execution โ€ข Automation โ€ข Innovation +| +โ†“ + + ๐Ÿ“š MEMORY AGENT + "What did we learn?" +Knowledge Graph โ€ข Context โ€ข History +| +โ†“ + + ๐Ÿ“ˆ OUTCOME AGENT + "Did it work?" +Metrics โ€ข Validation โ€ข Measurement +| +โ†“ + + ๐Ÿ”ƒ EVOLUTION AGENT + "How do we improve?" +Optimization โ€ข Adaptation โ€ข Upgrades +| +โ†บ + + ๐ŸŒŽ REALITY + Events โ€ข Signals โ€ข Changes + | + โ†“ + + ๐Ÿ‘๏ธ OBSERVER AGENT + "What is happening?" + Sensors โ€ข APIs โ€ข Data โ€ข Humans + | + โ†“ + + ๐Ÿ”ฌ RESEARCH AGENT + "What does it mean?" +Analysis โ€ข Discovery โ€ข Prediction + | + โ†“ + + ๐Ÿ•ด๏ธ DECISION AGENT + "What should we do?" +Reasoning โ€ข Planning โ€ข Prioritization +| +โ†“ + + ๐Ÿค NETWORK AGENT + "Who can help?" +Relationships โ€ข Resources โ€ข Coordination +| +โ†“ + + ๐Ÿ‘ฉ๐Ÿฟ๐Ÿ’ป BUILDER AGENT + "What can we create?" +Execution โ€ข Automation โ€ข Innovation +| +โ†“ + + ๐Ÿ“š MEMORY AGENT + "What did we learn?" +Knowledge Graph โ€ข Context โ€ข History +| +โ†“ + + ๐Ÿ“ˆ OUTCOME AGENT + "Did it work?" +Metrics โ€ข Validation โ€ข Measurement +| +โ†“ + + ๐Ÿ”ƒ EVOLUTION AGENT + "How do we improve?" +Optimization โ€ข Adaptation โ€ข Upgrades +| +โ†บ ๐ŸŒŽ REALITY +Events โ€ข Signals โ€ข Changes +| +โ†“ + + ๐Ÿ‘๏ธ OBSERVER AGENT + "What is happening?" + Sensors โ€ข APIs โ€ข Data โ€ข Humans + | + โ†“ + + ๐Ÿ”ฌ RESEARCH AGENT + "What does it mean?" +Analysis โ€ข Discovery โ€ข Prediction + | + โ†“ + + ๐Ÿ•ด๏ธ DECISION AGENT + "What should we do?" +Reasoning โ€ข Planning โ€ข Prioritization +| +โ†“ + + ๐Ÿค NETWORK AGENT + "Who can help?" +Relationships โ€ข Resources โ€ข Coordination +| +โ†“ + + ๐Ÿ‘ฉ๐Ÿฟ๐Ÿ’ป BUILDER AGENT + "What can we create?" +Execution โ€ข Automation โ€ข Innovation +| +โ†“ + + ๐Ÿ“š MEMORY AGENT + "What did we learn?" +Knowledge Graph โ€ข Context โ€ข History +| +โ†“ + + ๐Ÿ“ˆ OUTCOME AGENT + "Did it work?" +Metrics โ€ข Validation โ€ข Measurement +| +โ†“ + + ๐Ÿ”ƒ EVOLUTION AGENT + "How do we improve?" +Optimization โ€ข Adaptation โ€ข Upgrades +| +โ†บ + + ๐Ÿ‘๏ธ OBSERVE AGAIN + + ๐ŸŒŽ REALITY + Events โ€ข Signals โ€ข Changes + | + โ†“ + + ๐Ÿ‘๏ธ OBSERVER AGENT + "What is happening?" + Sensors โ€ข APIs โ€ข Data โ€ข Humans + | + โ†“ + + ๐Ÿ”ฌ RESEARCH AGENT + "What does it mean?" +Analysis โ€ข Discovery โ€ข Prediction + | + โ†“ + + ๐Ÿ•ด๏ธ DECISION AGENT + "What should we do?" +Reasoning โ€ข Planning โ€ข Prioritization +| +โ†“ + + ๐Ÿค NETWORK AGENT + "Who can help?" +Relationships โ€ข Resources โ€ข Coordination +| +โ†“ + From ffc263347b4be71fb92bf9e265dc4b0506391eab Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 9 Aug 2026 14:49:52 +0000 Subject: [PATCH 22/25] Initial plan From da271fa208289da1e431a06479d9b021f31ca5af Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 9 Aug 2026 14:50:01 +0000 Subject: [PATCH 23/25] Initial plan From ffab5e1834ebfc83d44232873f226e03e06a6cef Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 9 Aug 2026 14:50:57 +0000 Subject: [PATCH 24/25] Exclude package.json from generic JSON validation Co-authored-by: 5hy7xz92nd-oss <249378113+5hy7xz92nd-oss@users.noreply.github.com> --- tests/test_validate_pocs.py | 4 +++- validate_pocs.py | 6 +++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/tests/test_validate_pocs.py b/tests/test_validate_pocs.py index 4d3e7ef..e4ef9e6 100644 --- a/tests/test_validate_pocs.py +++ b/tests/test_validate_pocs.py @@ -15,12 +15,14 @@ def test_discovery_finds_expected_targets(self) -> None: package_targets = validate_pocs.discover_package_targets(self.repo_root) cargo_targets = validate_pocs.discover_cargo_targets(self.repo_root) js_targets = validate_pocs.discover_javascript_targets(self.repo_root) + json_targets = validate_pocs.discover_json_targets(self.repo_root) poc_dirs = validate_pocs.discover_poc_directories(self.repo_root) self.assertTrue(any(path.name == "run_demo.py" for path in python_targets)) self.assertTrue(any(path.name == "package.json" for path in package_targets)) self.assertTrue(any(path.name == "Cargo.toml" for path in cargo_targets)) self.assertTrue(any(path.suffix == ".js" for path in js_targets)) + self.assertFalse(any(path.name == "package.json" for path in json_targets)) self.assertGreater(len(python_targets), 20) self.assertGreater(len(package_targets), 0) self.assertGreaterEqual(len(cargo_targets), 2) @@ -100,7 +102,7 @@ def test_validation_accepts_well_formed_fixture_repo(self) -> None: self.assertEqual(result["cargo_toml_files"], 1) self.assertEqual(result["requirements_files"], 1) self.assertEqual(result["javascript_files"], 1) - self.assertEqual(result["json_files"], 2) + self.assertEqual(result["json_files"], 1) self.assertEqual(result["poc_directories"], 1) def test_validation_reports_broken_manifests_and_catalog(self) -> None: diff --git a/validate_pocs.py b/validate_pocs.py index b258518..dc98a75 100644 --- a/validate_pocs.py +++ b/validate_pocs.py @@ -73,7 +73,11 @@ def discover_javascript_targets(root: Path) -> List[Path]: def discover_json_targets(root: Path) -> List[Path]: root = root.resolve() - return sorted(path for path in root.rglob("*.json") if not _is_excluded(path, root)) + return sorted( + path + for path in root.rglob("*.json") + if path.name != "package.json" and not _is_excluded(path, root) + ) def discover_poc_directories(root: Path) -> List[Path]: From f6e406a682be89be5c267f000e91014c0794e55e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 9 Aug 2026 14:51:41 +0000 Subject: [PATCH 25/25] Avoid double-validating package.json in JSON pass Co-authored-by: 5hy7xz92nd-oss <249378113+5hy7xz92nd-oss@users.noreply.github.com> --- tests/test_validate_pocs.py | 4 +++- validate_pocs.py | 6 +++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/tests/test_validate_pocs.py b/tests/test_validate_pocs.py index 4d3e7ef..e4ef9e6 100644 --- a/tests/test_validate_pocs.py +++ b/tests/test_validate_pocs.py @@ -15,12 +15,14 @@ def test_discovery_finds_expected_targets(self) -> None: package_targets = validate_pocs.discover_package_targets(self.repo_root) cargo_targets = validate_pocs.discover_cargo_targets(self.repo_root) js_targets = validate_pocs.discover_javascript_targets(self.repo_root) + json_targets = validate_pocs.discover_json_targets(self.repo_root) poc_dirs = validate_pocs.discover_poc_directories(self.repo_root) self.assertTrue(any(path.name == "run_demo.py" for path in python_targets)) self.assertTrue(any(path.name == "package.json" for path in package_targets)) self.assertTrue(any(path.name == "Cargo.toml" for path in cargo_targets)) self.assertTrue(any(path.suffix == ".js" for path in js_targets)) + self.assertFalse(any(path.name == "package.json" for path in json_targets)) self.assertGreater(len(python_targets), 20) self.assertGreater(len(package_targets), 0) self.assertGreaterEqual(len(cargo_targets), 2) @@ -100,7 +102,7 @@ def test_validation_accepts_well_formed_fixture_repo(self) -> None: self.assertEqual(result["cargo_toml_files"], 1) self.assertEqual(result["requirements_files"], 1) self.assertEqual(result["javascript_files"], 1) - self.assertEqual(result["json_files"], 2) + self.assertEqual(result["json_files"], 1) self.assertEqual(result["poc_directories"], 1) def test_validation_reports_broken_manifests_and_catalog(self) -> None: diff --git a/validate_pocs.py b/validate_pocs.py index b258518..dc98a75 100644 --- a/validate_pocs.py +++ b/validate_pocs.py @@ -73,7 +73,11 @@ def discover_javascript_targets(root: Path) -> List[Path]: def discover_json_targets(root: Path) -> List[Path]: root = root.resolve() - return sorted(path for path in root.rglob("*.json") if not _is_excluded(path, root)) + return sorted( + path + for path in root.rglob("*.json") + if path.name != "package.json" and not _is_excluded(path, root) + ) def discover_poc_directories(root: Path) -> List[Path]: