From 394b8591692601f3d18028078572381d0e1585d3 Mon Sep 17 00:00:00 2001 From: Jarian Cottingham Date: Wed, 3 Sep 2025 00:39:09 -0500 Subject: [PATCH] Master Mind at work --- .gitignore | 6 + IDIOTMethod.txt | 53 ++++ Project Proposal - Episode Matcher.pdf | Bin 0 -> 90338 bytes ProjectProposals/Meilisearch UI/proposal.txt | 36 +++ .../Meilisearch UI/system-prompt.txt | 13 + The IDIOT Method.pdf | Bin 0 -> 63154 bytes pyvenv.cfg | 5 + questions.json | 136 ++++++++++ scripts/mastermind_cli.py | 256 ++++++++++++++++++ 9 files changed, 505 insertions(+) create mode 100644 .gitignore create mode 100644 IDIOTMethod.txt create mode 100644 Project Proposal - Episode Matcher.pdf create mode 100644 ProjectProposals/Meilisearch UI/proposal.txt create mode 100644 ProjectProposals/Meilisearch UI/system-prompt.txt create mode 100644 The IDIOT Method.pdf create mode 100644 pyvenv.cfg create mode 100644 questions.json create mode 100644 scripts/mastermind_cli.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5735199 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +# Created by venv; see https://docs.python.org/3/library/venv.html +*/output +/lib +/include +/bin +.ropeproject diff --git a/IDIOTMethod.txt b/IDIOTMethod.txt new file mode 100644 index 0000000..4076c3f --- /dev/null +++ b/IDIOTMethod.txt @@ -0,0 +1,53 @@ +The IDIOT method is a project execution framework for breaking any project into smaller subcomponents to better assist in execution on any project. The framework is broken into two parts. + +Investigation +Design +Implementation +Optimization +Testing + +It's important to always start every project in this order. We should write the entirety of the plan out, taking special care to fill out each section with as much detail of our plan of action. Each section will have a list of questions. Answer the questions to the best of your ability with the knowledge you know. List out considerations for that section of the plan, and validation conditions that let you know you're done with that section and can move on. +### Investigation + +#### Questions to answer +* Who is this for? +* What is this project trying to accomplish? +* What are the sub-problems I can break this project into? +* What questions would I like to answer before I dive into this? +* Is there something like this project already? + * For each project we ask + * What did that project try to accomplish? + * What technologies did that project try to use? + * How many people are using this project? + * How relevant is this project? + * Based on my learnings, can I use code from on of those project to help me? + * Is it open source with a license that is friendly to my project? +* What technology is the best for this project? + * What frameworks am i considering using and are they commercially friendly? +* What tools are available to you for solving this problem? + * What MCP Servers do you think you will use to solve this problem? + * Are there certain MCP servers you would like to have at your disposal to solve this problem? + +### Design + +### Questions to answer +* Draw the architectural schema for all the classes I plan to create to implement this project + * Describe each of the classes in details with a list of functions with return values that we plan to create +* What techonologies are required to build it? +* What will be the cost of running this given the hardware for the project +* How many users are using this system + +### Implementation + +* Based on the design, create each class one by one. + +### Optimization +* Without compromising the quality of the code, perform optimization on the code + +### Testing +* Run through all the user proposed suggestions for testing +* Think of other test cases that will test all the business requirements of this project +* Create Unit tests that can be easily run to ensure the proper execution of this code + * Create E2E tests that can be executed against the service (IF APPLICABLE) +### Follow up +* Create a list of follow up items that would be likely next steps for a project like this. Give this as a suggestion to the person that proposed the project. diff --git a/Project Proposal - Episode Matcher.pdf b/Project Proposal - Episode Matcher.pdf new file mode 100644 index 0000000000000000000000000000000000000000..daaf670ec8aa55a2e769938e7b6eefc08826e811 GIT binary patch literal 90338 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 )fLD z2zJg^aNpL{*j;BS_`>(b7i1sp`09hk*9>*B8m6#{kUyCfY~Dq*vXAQ*yxaxNl~S)A zcDNeldj;Vg)A6pGS04sl|HuY~8htTA-j$|p9E8qf%tW;>*^$v@6oIUv9YwehyP$h+ zt19;iRD!OCg=oFJ5x|*zq7$Q~GkRSlJYv|CSuiaa4lYA8#)A`Iy&Cq?j5xcmpHi>h z3=TsU0&6wKx)J2toLg7Uc4E?_;-iv1`rFL0xsfM<9KPL3gdS^Gs|$U02ZaR{+dIOK z!TYe+XW-%~+8%-#WDF+)k6~PvKT^O8ns{G|HTqkLF|UeEI;JhNOc#; zjMZ496J*0^`)XXT6ZY?MpN+_iC}U{eD_*1>F~3;isCbMNHW|oliC-z@2P!S`{E7yo zjq{Q}ls=Eq*PX7ZDG5{hungOVG z%H|B&Fdp9p{;+GzA3;-cJlN}nT(~b)f*OB3s=!|+ge!e54N6ODI>pTz{*B7s4EG7K zJGhSAGpScPtu1w8YVpAPn(G>uM}B~Ef|jN#`)75b#hhM_)Xj+%Z*D`$*)h2rzJH3K z%)=tr@%pX)Gs|1VI|UC#=RpQ*8H05gyJ`;IOlF4cblG%SBrr2XCq)d?F?N})hk8$R zPl8V@Pnb_~Pt;>|8$}y+uZmCFPpcrI4&2ksKbR++YDq1;q|%q1PZ{o5?_BP&s>s_m$crjWmGmMH`%WLQyi&Nq%d?_^v; zAEO0*BNqeZ#lN|NJ{>3OLDez^Ef^z4z|)T;)Q)A~1q+?x@v}Q7^^3;eAxZConVwVl zt?~1ic*^C3&1T4KK><05EuHfl>v2~|+v5BJ(L!|pt&FPl=_J8t#foD5!X)2GYBw~= zd3xtYeqHa-KBZx^Hdg5RAU|bZsT>LY+vvbf7=eiTq$cbmStb*@Zdmx{%m`FmcA4?s^EDdHv$$`8<7*lJH4MpZ_r zo>Z(`RmmPqdwsXaAClkdLIXloJ9KlF*m5^0UzlOPj8AAsc{A@DqmAo(W!i-#hb2c( zb%8#R!t%~HLAPJ+=;;X$NFZnpi^xiIN-iSk$wyX$hT-CXha+osyb*J+1rUvm@NAc?o;ykM|PfX@V5T~zbV3#Tf>=hfg^ zBZ*tSg<4QF;GQf~_!NO*dUprsD3kPb@?u0K)9wRl#*Q6p#Snw7GA9$!ym{o9f1E0d zF=u7s!z_6nsY92P(JG_Y>$6(AE2y~}d|I>P)CjM!$hmfDUNdWe)5yMYLA?w6%!NLy zOvbvT#%9JAKA)4Ri>?5xu_EqYY_kW%vI0LsBcSh~3RMi!{aRfENM|4?b_FC~$ zhLefww64Z*Su2OGz5&ny!QJa~S0n5;()B#BKvIc_xYf7Ow?Q*gXa89rKc2mD*WecG z;1J5|##?JIKL@vFmr?;6vgEUsm(};v*qj{j`Ltz~I76(BloYhJAtbVLswN*3e;S;6 zc|;C&t%vpV@l(L`PyghgOLZB8-xiyw55FvO1(KV!Uo0%{zltkX-RNyT8hD~@mCW(X zORKRn3!scWJ}akLWH__7BGgu9mP0))3tzjOm9UL3ue6D`*HkP&qZoX@Or*>9p=o-i z0Va6qZn>IrCK^qwA^?MbI<%B)u%zrsTo4aQ%GJe7uS!D&{BlTn2>JW8K3XYdv8Dh@ zDJ4fR&G-)~8P|~{Fh>Ii=1Hl$XKjeZYnRaZ^!?L)KafS$P7+lVho}XrPiyX?DeTd5 zngvO>TU!`#zYZNRm7rx*Of@fsdJE2Lve_tPQ$D}}-@5u7M5`P&(w>E9PAkG3&!`H9 z#}3W=Tf{$|*3@LGT9ZksQIf{<)>hopxmIkUrL&c~REUUQ$7R_NXc04!2LG(uVkc9? zmmk_;>Z2V;y6F{nx$Y2WD-|2AytXVDE?nTBwyAb7QU6}zj$T=3V9zU|iC<&?xxa@K zqe_3Xt%qk^QxP8WcJ7q$R?uhr^hZtwIys&x;Yy{X?Fzg2T?LPsG;ji9c5}rJemdup zAN+(>JM}yk-uW4Qr%O|;p)i7vcO5i?4lN);3?>pL*i_y}gI0>%b|w?fzggmPKjabH zdUb7#)B~G1udph^wTrR|fg5^E6<3_=M7jw9i`rv7{kh?b^>jFyHL*a06Q$BDp$5(4 zWR#ap%eb1oG(VyG=pARr3d7;+`28@cv*1x2_qNaV8`Wy!V!I8H{-N0NJd+`R+dF?sUe%ip`-<-kPQxo}ctM$ZciZkhsRzheaYlZ@Nq z5~8%{T_h&+b-viT5Z!AXjl!(`PJC>Dlmd2j91!{x#+C z0rH_27*SO|E;Lo6)4t$-S$#&Nykf7qqF>Q~U(vv)rmt1ffM3^uU)Dgcyb`|bo_*TG zzHIM?=UzHv#gY>zSvo|6UyUm18Aliw_9TmvL`% z7vidK?4 z(0?XXe|-n`hJl6JB*fn&UAs|9p zX}i+K)%~&-wTq~swr}0C#j76IyUcYvu!Ph{U2i*Aj7TEc^VT9UqBvE-<^oMTm1-2>`AFGBtG+pip) zbxfvjh056VJK-rywX3=n*05tW)pzR?2PrH8s(22zwlGX^kt4BK?RR%Z>trG$d$f^- zYh2kJrkCE#Z;6S&(5RPlScdL+x;cToMbgaDL8FPoB={7e!^ka+78gRchH_5h17x8! zvdZ25Y+7lEDKF`*1^6YHvK>0s`O z`4#O2))&b)r1h@;r(H9SQS^EzNR3W&mUq8FXDior+Q(|Z29TKmqVl2sr%8KF({+;b zO#}{O&GPV>f`Z3`g+>d+xBekPRh$qPneetq3XU;i^yMYPSh3^4`=aqcW#l-_`ku zE7cKj(_+!t=KcPJq|A?-mbwF#hXI*{1#=9e4QdMt7DTUrTn1`gMMpmxooynJznr=< z=%va@Gjy1bVNOQQwiqriST36kOJUi?$`*vMgvdAowBrNXX$A1})KUy#7GNBb&{I>x z^6(!-l0jdYQv!l#hQo4-`;+Snzn@Ok(iEs`QFJW~XdE3J`6gXLYEV`Eg651=+my~JLhXeFNdws6r;fp+eH?85qC$)yJ zZgtQ$GTv+&{@P=VzJ!E-7J-!SJ_4Hm_Kh@}FcMzTgTSF{)ftKGoI7RLVq!;xl@F@1 zNYHDQrEG9IffQ5FBTk9h1HoF_TnJ!@v!--K9{)BvlJ*uwvapso8C3Wdg#vaibt{$h zHW?cC7Q_&?ii{KVehzI0&x?|M?n?v&Mu#QO3`jK;dE-nbTo;>5sRS|e#fVIrOF2Vb zuc}~>6%tCI!U6vY(6AmXzd(j+ysIz%$YmVKOPXGI4J!iJi5wMKP${t2b;nEeIr4rgRQ6nwm;ky&Eyh9$v2ygF-eK$M)SrO_$42-^hh1x$fE(LdN?sg;RY zVeZ7rsL&LuqG^@|{it=81zv6KD2wr!fW2jQJ_LUCs0&8n+*Oa^SdSgJ6L}HX0kODd znZ;y9Z_%XG48pcnsU4+ruEv1YhUmIlsU3%PPn)r0a!(sTd93=)ywC{uS2K|1DYHqb zNp#N8RPY5Nvn1U=Zn`N5xM@yuH=)F8R@4jT{1Lrv#Bw&8u071_oL;20uXRqY7g~N! zUN_8okJ^BF%UfqeY|Ifb^PX_#O#8z31Lj#*Z~Q$0--+i1#kM)cKgvC1D{8w5*%`gT z4BDBk!2;Sjwy1Lt&jY2?7?Uq*y*Y+(@DidQe5Dz@3%zy?NCLIe3f={8y9&C&cuahy zdk^}v)$?m!1--)Nfsm2Mqy+CzWbG=Y6&K3H?>dzI<$2sq*?v40- z(V6z0@1gF=#rV!<(b;0FEH_1yC13ev#b7eHxX=?h3N()S9z7+dj5y%-~X zO}`j37Wp!yYsWM&#s}PtY_CpplO3z{O&g3qcqLv8A$t{Gj3+(@U5qPn4|?q5Ahm3A zCm^pmyfRpEy?^&8g(hy^G&(+b{!lXZ5jOHsHu8xWyq%-XdJi4EB}N$sxd(TFoI#%q z;FX`n%qpN}7BDpO0p$xB3dt}+;R{jC8%ltY7rHJSz9l`^MLj+UnjFlCjZS-s$d=eSRQW40={AL?`VhAsPiI%lR$=okzKNanZ74_oH9sKHxu;HWP`Atzt_3g5T0{=7f%E4~0nM+`o3gpm)_H+nt;TQtPZ zdVgjbztw`Q_(I40rV)J7_^xF9EEs(90vrQ9Ye329uf}_)DR2A-YS{3sg?ikE{1iF` zF;rEX8$1S&q1rFY*|e5mP0Fz0&dhkYuyAR}A* z^0@N~t~EMdn_Q~j^;SvYzRu!^<6)y{Strw>uBrApI>jz2=1C>q`ymc*`)Wzj5YAmW zm5nOBy40x9rN|=05phk%sH9?+u2I;2=8eK9fugixuc4#h$x?t_ZZTFjHFNHDAc?^7 z_UJ7+Zn#0e6&p4b{ei#%aB$?K#_`tTV;l`Orc{Bv|bhfjxQZQ;IM(s$4A>A$8J$79>E zqb}K zrDJAP>=tL8MC9sdJ0ad@>tVA5_z;y^Lb!tY2r|t^;R%S&&(eVWCVuS(47qr@4Nx zZ|gNnC&zJM!*7rw8(x)8&FZT|ss(HP+_zu3?LjSy#R_mL7=|%3c?ZigM2(gAsDRT@ zgJLa|!Vw*Vxh|5vS7rcKSZ3g4_4`H0q0fGZW!H)y(;-f2a2bZ}|uZMjWRbmqF6 zqA3}q=r+B&{W|^|xu9pQ9w_Xg z$s0iQG)ms-CTE+lypS0{B4K;^;+=IniJ8dXx^o1D^4>`amAe3nolRtIoti;2ZKv8@ zKg20#-CVzv4w|7ljWB_>h;~Egldr*HLzQaNde*bN>vqy3*V%)HzGT8#nXBG8Ri?UW zqo7r-t5LmXR^r!FqsH*5RxsQ`modW*r~U^H50*@`Rayf{&YIn>CP(aHSB2zKI-Q2; zLC&PGRnPAQFSjl|`nE@P$@+?(R#^EOq{LH|O)8ce9|;qqk>^in27)<>dZu1aRgYbo zD1t%J&aV|JWun9IN^}%4?*%xTQN>G7+M1d$`+odd`ak&!p0=8jD=QIn{DvJC!Kvh$ z@l2sRvlzx;BA-w=L-wJG#ROv-$k5149xakeDg(8d`D>ZocYfpplXuZw-aSh6TbZ}# zNXe?w!jcqaNTa2*le0*(uNT!s zv#3}pXH?}NmJStFpTb#uofeYxEOLl8~-h#?}Mb>y-UkF;bAB#ltY zfs~70*6+#rk@OR=VZc2gT1^Q?`wY(DoVKWsvMC z5ERmv4NUnYLECbydNuZ(I(}7kiQjwM0Q~k)+1%#xC~m23X{qgPPHkN7kh?n?J@q$P zdMw$!O`|s9STuq$H$(jNiI$e}#PBm~mzS_6%}5av4J|F*f#ZB_3hC4Zta&#A)Ussi z#*{=jC1py$Q0b!M7VqzzU#*j6$udvr(^y+LetqY?gtJUF5BY0MPtGqoI!80lBaRWB z>`H4(Zp&RgLiILX4k3#sa`@ho<{!h^@z2CWT}2)4sz z`j04y*%Ie$JUT=%>UGgsU(2x`&X?8^TQa}obIEvOWac(_&Q(`4J~y_TKNCuh?I?O6 zFV#p3)N|pTzuBXIEBhc}HzrK(wMDgyw0CZ79Hd_gfM5S3GdNRvOm*{w@(dC1Zp2pfOCV>ZE%IKn(P;i%$6Y9&ua89XaDqK6493`9P(Ykeeo0ge;PGv;Oe0#oG3nyP`P}m%oRH|Hy z>@?D{IrU_9sfb)jD%?Jg-Z485TdcBYj%5e7?zbg7|20iVZ=FsCQ}k zo}T(7IW>KnacRo?3$$aP^;>ayV0O2g?d-sdFVvv{yUSRdZ9@*r`CbO9rvuN`c&piJ zME>nJ)AobvCwl67zvESNE`;v)#@D;b*j3AGW^Wq5$-xFfn3hmf1y76@@SalcY~S(% z-?5~8=l%zu!t=ZQd{GU%8-dHzmNLDYMpe!7$(9hK1#v3$ zgQYaR3Em?pYIoklpzRW$*OoQhQZ5PAO;A%!8b+f;FR-zuvwO`K&|W*@pF*}){QSd! z$EaQ@2Pp(hL7)HmpXjdKtU{++j?vC67{3hAQcRVk$c=?>q^%Nc$Vs zRNWfE)D$U=gD|csc}I}s2D_FEPksvnZc3}MOM7=YXFl4got*4KO6pnhlzo^LVZ zj=STXmG2L)k$ziANZRA`RueZYb`Pw)RXf-7TVdjytu_isGMX#A)*t;7C&q-$QwA;}bfP;QlGW8f&jPW@qTfDbW{V1n@JpfOnC-WsAu zBXZ(2oB#G8f}_u`Z8eee(}BT(Z>~Wml}AlHJX%VZ(NhEZ3l89dcXwAq)-PVoK3Xbg zd_3GrPgy*M0_hxVMXW&_2T#2^2g5;^|7N~gYZIf(Wxb{ib$PMl+qZ7zljAKu`-MCB zX@|3S#(o!tkG2`p*D` zYg@>lJ{K(ZmE-K-7&=rbBIP8ioEpnX@*90-ybtvvELCeQ(W(j>OvxPjUNf}Q8$iCw zI#3?EE}y*(>ib z9+KtR``(a7{#{uwjgzL}o<6FwAgt!suNrG`h|V$WI{riVt%yJ_$>^Y?w%S<(8I5Og zZ!b_kre77qY3b6-#PeJ(W!82YQp@BNA@b1q0C2~$=g< z*OLajEEm&*_NZn1mApF#!cUtL`YbNaqo+!Xi)Y}xuRVp&-qFPBv(?nkGW=NtRJ>q4 z+x5L($`ePvulPcf+|CI@t^TgF$&V}w5)xyuO&1HjX&O)Q#-QL|Yy2*&*HW`keiflO zFt}h=gQ4+PLPiWc)gX76f7jdQemgC5zF2G=_}S{QuF$ZHxld$;Fth2AD_G~X6pC%$ zHmQ@yn6=?D6nB!z$Zsn0ApU%N@NF-~`t0)TcZKgP09&d;z(Xk!7K07A5PNx7JqB`R z{0<5wjFWHTiBSXRlmdXnvzxbBD2Jxx94KbuZK$PCRVv-jD%o7)*I+DEFgZ6$>l6%V zs6IcLFQ0JbUVw^U!^I?H-a;0g+SJlj$FjCq+^?;KOO0{4`_Z=sv2$Ka{4CEL=TjI{ z)&H7#RNUst#I_GuPyGFSolzjx`QbA=w*F&=xW(zSLdwUu996vzbJm8utYN^;)pX(m z|Hq)j?3UO1C47!%p1|9y``N_iovaCE%JUe+?o1($96 zU%HGf*^#m&!2b`{3C2VkH0)h53>oz=H?6kJ(rwGlf7#BcCX@#AqrIFvqKgj{F&NRYe}ZnIHfB5D(wWdq)oMQ%La`8aAS)NC1dr zikflDf;pwb%(VjCE(d~av&G=z1`bHO_&yqox}@X^`5{c^wAs&Lre=P+C|tWS_RzSC z)iw0f*kWkZ^BcKEjbVQMeDiTdF}a^*3I1>!`S=vLGw;?abzJBY9BJ zoZ}z`tbfBfK}_-5TcAL>Wj3E+ews;%YHCVwfJ;5jVV|VmuQ>S%9ln%Fhs_6J%|nRe zrH_h|l5fpY-A&2gCC*L!eCt`3c;4UC5BvGoiyhlp{y!r;5JRW9dmq1Gzr6;?Sc-DZSp*ZegMLPwwBbBNMOV zO{*VkZh+%)uAu0n4pl9c;mp_QLRZqM&YLmJPRqItkIXWWMa6hykv#s z%bv^_i^H<{CTX1KhAPz`=EqZ^c?mq?{5gB~K-z6=-ZV?6PH3riBZ`)M%f!Y7@dUOD z^!O9xx7YebzMls4o#aDu%}+}N&ao*DsDBT^{}L+?LxIdH#gKfUK?OvO)=%Y3q?vwd z#fy`iv1zR)k#RyTHCwqOTmGe~k-Kc6>ON)Dwr)q2YQdaS7Bub9xMDBfiJDt&Ku&l| zMS*I4gXgGy$#6_(rH3O_B10fY86eFA7?FKFkxo0lb{&VCXOyb;n*79wsZS;mW*XdW z=VUGE07#nA9rqzT*sScCExhkNNf&4(TJRsbIhq9T71IA=zvbu9XdtSH?g{+|o9 zS-JkJ3hjSED*lF8{H>fV{!b{$-(Zh_fl0W4CDbCWrsfWAK*e8|?{6K~3KZn6Fi5k0_|Jg;t z^nXdi|KC6*|CG=M3RM47#TwY;Cei&5ZRdZ(kZ=GoB>w^X_`l;rfI`v#t==^AKOiIj zl9T=e_4rroUjh8n`Y&+E|65lYIJe?jB>yfX{YUcreK^#@+P;7r?F5(?&Q!V9bQBAD(m%VKE@J|%nH$9oj;+qA!Kq2YN08PSw2}x_= z#G9*pYggG-^s24)lwZ2&)&&Yl+eT)mQy%Ss|0N_{nOe};WV$zFdo`Z$dZOydN7a+- zy3HJnsMk`nhX+MS}B^;9|ZJm&YA*~}T-W}&+9g`*{ts}pL zvMfD@`nHkYYDkQ{9zEJZK{mrSGZQV%phWX1FOri>OtYFqoRhLbk*|{UGxqU!5PRpL zUEo9sRKSXTxvgx)G%03FzJY-pdd1^bOam(G!tR+A{djh(H2x0QD`mkC#&4g>TN$1 z)AxY9iD30H4U$pzL-ndnG4W~bpt{ly9hd#Mdq)ldUpC(^-tYVJK73uby+3>}yN?2( zU_i8sK~ZWP^74tb0Y9R#Kw5A?YOt0W^*;46-hwB=gEYC!*QEb;Z9M)4vPT3$s@(c| z--GFi@d$d11wwjr&$qIa#^_H4k%R%-6y3h;{*d4Jk!b=VgIu(&-|J<};qSVR0-_2E zQfgz1&9wA|VFONB5^Rv8-JSmOrGR!955x^TDc$pvZky9W%vl_WCO$j*SR@umriNU{S6N+wgUrTIrFGjR}i+QamvLEmfZb{`(dTp&Wxv^pcEZ~6E1 z5L}lXBoq-4*p6VrpqXWJFmSM{&!Qim#s=S>r$s^B-1!NEJPg)W3kQFGu~4h7fa%H0 z$z(e3U*>!#Gdo?zmeQiarh5?bOX@uRIxaZ;^KKgy>H z6d@2WWL?HE2cksZ!tu1>rj0r3PA;{+#8fhceeOd4t-0_r>-Y8yr8GA7fVdJ?yTa%M zU-x`D5OsyPV&kGLY}|9zb(L_1ga`212*P(lCX~~fE1Z|RMeEJzpX`xn>=L(J)^R_x zt~@2zusZ7efoxSt5+D$-N8HO5@RIq#bs$u;u62%QP2DHTR~+gg>Mze{a+%h4(}sRO z5nx!9uZ%6X4J04Xm!p=mrgocG)F$@TBAhh@JWTT@t6;z!^pr>KIAY-ky*z9SOYIGbz2eR?gNrNk!N8F-YnfX#ASZ z7wjb?drUJlCrz9v)HSFWP;-fAHVk{J(3IGSwb@iqP4%=(ZS$%Vf_vULQJI^qdxRw2 zMwXBXG{yM3@DNON^#k&q2FGRd_cf(Cs_J242n!cn#4b@FhJ5$$Db!nq0*zh7?%WLp zwc6Z`)XjGITJojJElUkAY_9O@P1G#?=26069?Sx1<}{x>XJ?wS0|!m7s;`R}E=nFu z@hl7)xH+Ov{_ix}E|tCHSpuzl6*1CcIyMyASh9Cs8;8kaZ1iN2UsVN)lZ4=Y)Ka?l zPOp5DiAi6}z=u3@3dEp@H}{aB$ifR&R!hB~K8t2&=P2j&76WXnaNnjwfEg;ljH8tl zv6eLQ%i>woG~)FYs8bG|0enQO3zV~k;93^g56!EIlqQi;!cA)grHF!QmV#1RM6{uY zm+9dMoe&_FKglK}$D0WegjN<~Ck**K#^C_C%-HL+_M1a|c5uRsE1%7AghG4)AOw*s zI~W_W#K|Tb$P<&!S4j_~aQM(JLmsOzgsVt*s|lDCsY^qjuE9W-#L^f--9-h&!*x(1 zxR#Ft&^ZU8yf8e5SiRI3*L<#FUg^(+Esle!!(5q>?*{|8Wd#O@Y7RwucF^k33(y-d zZHjOcL~%MsJX(l)c8K6cVF(mkKaoOv3=yruf^-fk{unDzejV!3#_k2_1tHOoi$TiI zB+z=hXXg=?gkjs^W)T(mHl*tWSwI%QB&W5{0|OtV(S)&OqF(|&%*zxuhSw6IS*_Kt zDrC%2Pc}QmGhf_`_yKhn0-Z3d*gg*88>V9il`Fzm4COJbh&h56gVqwU~+nu1DWN!TC87vJEE=2HT7)!!nUgP!4E0KqctPA z7IRbsFijwSqfPf81t?WNl1{XG?%*Z_+Kns{Q?xE-0z%FF0_op__rJLKU8be>PXN-; zl^n*lKfX@|%mO@f<i z;(n?7___e?)?LzkuN;I*JI|d#P3-r`gf!4F3n#LJ>b_z0OdA*&3J*v zV^M^G-vN+B=OcyAeg*qV7moxJmY%w6t)LtBW0nOOYiwcwYuv)0hn7n9WBLKFuoKig z?^&j2i77g^9Ph`GXfG*IiEem{QxWPt(9PQf4J z9WH)$a+JPxh{U!P`T9 zZJq6*1P7b9Vjf)eW}Go6e6@1c`Z@c!WJ$bI8rb*0iro_NZK0QWy6O!%^Guj~&R9%$ z?CHCUt?9QmJJ4)R0TMty9d=O!wPynEIqP=2vP?N9Bs$HTBnTYAqc<~x;dwNj`_lJA zys0_{W73zsrfaza3!-N{clgmGxHY+*K27BE1Wr6F)Pskm* zk2pH(u;b;AuSguTSV7fnUFv*F!Izs8wvtZWe8#PqZDy%fet1Z*MSHgb8o_4~R3oU)aI19PzYSsyN&OXhT(D*%Vc0wtvvZmz4 z<|dMGOc#X7a)v?Yux@Da^ z7xH!mGe(@dNRtsCcA1SC@W-8LCP)cd?T_Uc%m-Zh#v=?8bU5*+_l})kvMm{V-m-WI z*$z}QhFJ1VKija%?E{|#%PEXwBuo*cas!prvTa$Zc;6VBG4he3dESnbm_aErc7%KN zzMd19?^(Lg%5vhTnx(OCuhm&tv=%Ge%jJjLUpgemayzZaQ_&P|(35 z9b9&1gp9z!xgxkx_5`?eGj=c>4*F84@u6#E96XJ`hD-T~d_tF}0!g(nUl?T9eg_px z{o8|LEaYH`jt+a%Umi;S@}QBjT$6WHZL&Pb`^U2OZ_DZw;Jt9o6sQHGCuju9zr$TH z#})ojXNGw2XQ;0=!t(o7%H8N_AZYBh5Qu0{(?Y;H%fEw~*j4T%h~Z{;`fHrxzdM;& zRCt=zC{;p7{~S+M1I7|xD$2pngG-{*D*J=PyXh4?V(M?Nhvns%uqh^q){c?|+A(}ChnBXGpEUFD91AxYk-$kpqGn+N(a=GM z%JY!Vp~1kiTu9)Oh#^x9nL{QGbRHL>O-#1QhgnGue27p5$>o9&{XoGDl@H+)<9Z-k z3gezeYCV%FUtI&xNl`&c@<8EDnd_Z zO(IBwbKuQcvBHT1xq3^KDpy#D&3*b6uZoSJ*Z{%ZOOp^wr7*toKCM$$bGFbmRD=g# zcIk*fpZ0wxh?DilAQvsQj#n#rWr)@8o;dPH4HlbM(k7ID#L7U4(uKmavZPwz-LMq? z!jWqVOJMnq{);7bI*k!QikR?w#HlNSpjt<_G)}C98v}kNu`P}@o_PVd>m+|M*wI4n znxFH4Lq5*-gZewP zlQ!X+3v_LGx(Z5E9X+2@Kd0)d)uoT-Qt}c;hX<>a#!60ak&O?rj5KQ(rFq_8?mvx4Sa&0-ndyzXT`}`M3=gKXKS&&PX-Rc)*9#XD}HA z_^uwD5iVOMLOiyfmk#nO*_s{XI`g!z=PTg_j|Qt!X7x;$klQLYBMvuZ0(mz5}Px(PKP3W(dwG(70^; z59!gSLS8TRi~CeG0o9j6VizUg6f;Z+1hkBrQn3NK?fK`z*pMn&Wa|nmv;iu3uhRj^ z@TQE^lPUeoNzzLp7}dXrz2~jAI!;ZG1ik$M9uB@;&CT82%>d(b463(&-^KH8GXiI{ z?6`tyh06lJOYxQJRKPV&WvQZcsAzp4{f9RDp}0s=Nz%Os#=^C+P?Qm<+V=qIAhWvy ztjib0L^bvP-ME)(W}_8rQi)n1{WkJ|vU8P#%!FS+cp=4a_{#ty7NKjW{TrWR^Mc3S zTGJTA?^C2>6v0_CNgum_^jXQ@s_XDUNT`HKAmpL6@?;io2FY!MNVQ(8G!(~!gW|C> z2T6)?LJNHF(!v*5mf-!H3r|7%fV9P2$_n(vMRH$rrQ}MhgDO$pGS_*;1CfDGUwfs$ zw=zX1*mG?T&}`%;=I`RpWAAlW)O7!XN=49AR}|Gf@VG%DM-|VqV2P@jLZUQT4kFy% zTx9HB@&J7OJo(k2TUnD2O<}XsZ7g(V{y1v$;q_L>*m0ZP_;P+57SFqCKz*ZXJ&(p0X-tW?7*7 zaJVgzPXo6YA7)#9R!hOe5shtb1l!%3ey4eRC-5L{1zBKNI3>&LC7P6QShR2v4@N@D zMmC!aMoVNf$=r(8KhDW0nRe@+inj}VPcvU14*aiI!M8V^UzrUy>X=tR=gixPT6U<1 zNM$^7gHK5WG?sW~7#-}C1o9Y8ggZ_gQ7k99RxQdXH?dyE%e;BFHtL#>;bKf@~07D3htGt6Ng!y`bBgQ>~ z;|^#v3@R#!Xbm=rfEw<-$-NnvM~Q&QRH7{iXc!~}9}=oqpvn@lsFj(Zq96!J5E&w% zOkz<9qd){f5G*R{k|0>D$nb9Ls*>RAd*9yuxbr{ztn9n*Ia&Fg{Nr^p51)%K$7kV% z_^n0*HP=yEe3_XH%|xm4+KBrre>TG z>`4j8EcPi-$*al}o@yfRNsahU(vz)}hkB)jHX%Wtk;r>aSI7HQU!|6`hKMHPfrx>E zCW89j_Fs#9XOi&77_KWW9o{GNlj10^4 zs1?WHu?IZk>2k~x0p?QZxViPuD{kXAxAz>-yFYk6yucw4TC&Qbo;x*q{y{H!I=ZbG z{V9ldjGi)7w9`CoP*Lsi$A>RV)0~LP30lylB+2&y5mlh^k>bi|28r^8J zRymhA4cjd@eY3Z6cMQfWY>O!=LD*l-$o2WrLc*G^yb|`&%HY=1554mrT?`Gb5#2$BtBm@eA@Lzc);w zpL~$Zj-zVvM^hoK_)JBe6s!1MsaoO`FA>GZ9MK@|EB1T}TyVYUPg1ig^eSYz=4=Qg zb=t$Wh#mQfpa5uuk2k`#s)BTzF2_4w?YaZuAs46T-{~b*H>GUR?up)) z1{^(2b@x%yNXFW*@(bNrC;W#Pp~gpQ%9>N0nb(G~(M6lPdLB$fZqgqgZHP^FKh=7* zPi*G5N1t2KrrYr@z;(AU>51)zOc#$64?W83*h1}Q%F@NfiVkPpLay78&MAoOlD2#o z)5I3;-kznP$Wq>VQ{_=8%`}Olc3CAjq%!QP(7^N&aGxZM)Lr5F183%LlB@H}+&K58 z$G{MFLxNeBOWdVo^la(DB0^7UfabUMiP_!eYI_OJst%im1QzFpwyh)>9B}VTu-tXn zu9TB|>t&M8_ z{f#9-R6_x&s8gK`mxSmf06;zJuzLU5;|?W`BoKfpRH?@ug#?2j6+$5yiaDhy6bAwn zkOWJU$WX~ogklzzBukC&{yUZYR2~^B`Sl|FAE6{2!XW@e0$_kj`wP~g?rWdH%q$1P zf3$1^WG&lbTex>{N_Qm&i|&o@G)4c)B1_wGo4U@4sRwOFCfFTOCCe>_v;vLmh8cbs z6XP*{OP85AyZh1ox@~KC3uAwL$e-7KNOA3-t3zM2;)3?_Dpn4M`WmjhY6Oq1^2~9g z7G?DR@RM0!_8RXhM(SIvKd~?JsE1pNtGZag_vQ9Q+?huTsu#s+4yEiY$dB;H^e<>f zg!9z{&QsOJlRC}Cn6!zPoeb=FEhmK}#1Gm--rh#Cv_w&5(&a<($5x zinCB6p)Js)IZ_5uea3yNasE^vMik=OKVwQ!SO zIPTvu)IAc-BpU zvV066BXsoqfs777=;#U|7enne=ZvL-=%EH#9Ymqi7ff59Swx$ z))|E7%!|HT8rtWwVDDD}^Mk>jLBXGzoQAd-fF%$t?X9r?263+hasU7T literal 0 HcmV?d00001 diff --git a/ProjectProposals/Meilisearch UI/proposal.txt b/ProjectProposals/Meilisearch UI/proposal.txt new file mode 100644 index 0000000..571097e --- /dev/null +++ b/ProjectProposals/Meilisearch UI/proposal.txt @@ -0,0 +1,36 @@ +## Brief Description +I have a local deployment of Mellisearch going. It's job is going to be to provide an alternative to Google for a very wide amount of resources on a local internet. The current resources the internet has are the following. + +- Downloaded Youtube videos (Jellyfin Urls) +- MKV Backups of Blurays (jellyfin urls) +- A local copy of Wikipedia +- Constantly updating archive of papers from Arxiv +- Local copies of Blogs from people on substack +- Archive copies of pages from websites like reddit and many news websites (mainly available via archivebox at archive.example.com urls) + +I really need a google like UI for being able to search through all of this content. You can assume some other process will handling indexing all this material,but I really need someone's help to build the UI. It needs to be responsive and fast. I'm thinking we can try making a react app, since everything is on the local network and there's no bandwidth concerns. + +When typing in something to the big query bar, it'd be good if you saw suggested queries or it start auto querying and showing suggested results on the bottom. When the user presses enter, it'd be nice to show a google like interface of the top links for the person to be able to click through. And of course have pagination buttons for the user to click for the next set of links. + +## Required tech +React + +### Hardware running on +### CPU = AMD 9950x3d +### Ram = 192 GB of DDR5 RAM +### GPU = RTX 5090 32GB + RTX 5060 TI 16GB + +## User Count = 10 +## Commercial or Open Source = Open Source +## Who is it for? + +Mainly humans will be using it. Once again, it's going to be an easy way to index through all the content on the server. I expect other media to come online like local social media content or pinterest like content. Maybe some iamges will get generated in the future too, so some image interface that's like google would be good too, but we don't have to do that in this prototype. Maybe mark this as a follow up though. + +## Project Goals +- Goal 1: Build the UI that integrates easily into our currently running Meilisearch server +- Goal 2: Make it very similar and easy to use as Google, since that's what many of the users are already used to. +- Goal 3: Make sure we can add features like looking at just images in the future. +- Goal 4: Make sure it's pretty and very reactive. Should use a modern tech stack +## How to Test + +Mainly make sure it's very pretty and of course works with a locally running Meilisearch server. diff --git a/ProjectProposals/Meilisearch UI/system-prompt.txt b/ProjectProposals/Meilisearch UI/system-prompt.txt new file mode 100644 index 0000000..eec15a4 --- /dev/null +++ b/ProjectProposals/Meilisearch UI/system-prompt.txt @@ -0,0 +1,13 @@ +You are an employee at Master Mind working on a very high achieving team. You're on the company's best team, and our team has a large record of success on many of our projects. You're known for being very attentive to details, and you're extremely hard working, considering all reasonable routes to the answer. + +Our consulting practice is very organized. When we take on a new project, we receive it as a Project Proposal document. The document follows a very specific format, and you can use it to get all details from the client on their proposal. You will not get any more input from the client other than the project proposal. It's very rude to ask the client for more details, so do not do that. Only implement with the information given in the project proposal. + +You will always be given the project proposal in your context. + +Before you ever implement any code, you always make sure to follow the IDIOT Method. You can call the IDIOT method tool + +When you are prompted, you will be given the following + - The Question you are trying to answer + - The stage of IDIOT Method you are working within + - The full IDIOT Method + - The full project proposal diff --git a/The IDIOT Method.pdf b/The IDIOT Method.pdf new file mode 100644 index 0000000000000000000000000000000000000000..24fd32fd7f9f33c7b061968782db00af1c3aa880 GIT binary patch literal 63154 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

Pc4?-c3gw2sJ01mKew{2_J|IT*iO?K+Mn0nAeTQ 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 B!uS9H literal 0 HcmV?d00001 diff --git a/pyvenv.cfg b/pyvenv.cfg new file mode 100644 index 0000000..e11e79f --- /dev/null +++ b/pyvenv.cfg @@ -0,0 +1,5 @@ +home = /opt/homebrew/opt/python@3.13/bin +include-system-site-packages = false +version = 3.13.5 +executable = /opt/homebrew/Cellar/python@3.13/3.13.5/Frameworks/Python.framework/Versions/3.13/bin/python3.13 +command = /opt/homebrew/opt/python@3.13/bin/python3.13 -m venv /Users/user/Projects/Master Mind diff --git a/questions.json b/questions.json new file mode 100644 index 0000000..7e00759 --- /dev/null +++ b/questions.json @@ -0,0 +1,136 @@ +[ + { + "phase": "Investigation", + "questions": [ + { + "text": "Who is this for?" + }, + { + "text": "What is this project trying to accomplish?" + }, + { + "text": "What are the sub‑problems I can break this project into?" + }, + { + "text": "What questions would I like to answer before I dive into this?" + }, + { + "text": "Is there something like this project already?", + "subQuestions": [ + { + "text": "For each project we ask", + "subQuestions": [ + { + "text": "What did that project try to accomplish?" + }, + { + "text": "What technologies did that project try to use?" + }, + { + "text": "How many people are using this project?" + }, + { + "text": "How relevant is this project?" + } + ] + }, + { + "text": "Based on my learnings, can I use code from one of those projects to help me?" + }, + { + "text": "Is it open source with a license that is friendly to my project?", + "subQuestions": [ + { + "text": "If so, can we cherry‑pick relevant code?" + } + ] + } + ] + }, + { + "text": "What technology is the best for this project?", + "subQuestions": [ + { + "text": "What frameworks am I considering using and are they commercially friendly?" + } + ] + }, + { + "text": "What tools are available to you for solving this problem?", + "subQuestions": [ + { + "text": "What MCP Servers do you think you will use to solve this problem?" + }, + { + "text": "Are there certain MCP servers you would like to have at your disposal to solve this problem?" + } + ] + } + ] + }, + { + "phase": "Design", + "questions": [ + { + "text": "Draw the architectural schema for all the classes I plan to create to implement this project", + "subQuestions": [ + { + "text": "Describe each of the classes in detail with a list of functions and return values that we plan to create." + } + ] + }, + { + "text": "What technologies are required to build it?" + }, + { + "text": "What will be the cost of running this given the hardware for the project?" + }, + { + "text": "How many users are using this system?" + } + ] + }, + { + "phase": "Implementation", + "questions": [ + { + "text": "Based on the design, create each class one by one." + } + ] + }, + { + "phase": "Optimization", + "questions": [ + { + "text": "Without compromising the quality of the code, perform optimization on the code." + } + ] + }, + { + "phase": "Testing", + "questions": [ + { + "text": "Run through all the user‑proposed suggestions for testing." + }, + { + "text": "Think of other test cases that will test all the business requirements of this project." + }, + { + "text": "Create unit tests that can be easily run to ensure the proper execution of this code", + "subQuestions": [ + { + "text": "Create E2E tests that can be executed against the service (if applicable)." + } + ] + } + ] + }, + { + "phase": "Follow‑up", + "questions": [ + { + "text": "Create a list of follow‑up items that would be likely next steps for a project like this. Give this as a suggestion to the person that proposed the project." + } + ] + } +] diff --git a/scripts/mastermind_cli.py b/scripts/mastermind_cli.py new file mode 100644 index 0000000..c504f22 --- /dev/null +++ b/scripts/mastermind_cli.py @@ -0,0 +1,256 @@ +#!/usr/bin/env python3 +""" +MasterMind CLI + +This script will: + +1. Load the list of questions from `Master Mind/questions.json`. +2. Load the system prompt from a user‑provided file (default: `system_prompt.txt`). +3. Load the proposal and IDIOT method documents. +4. For each question: + - Send a request to a local AI model. + - Store the response in a file inside a project‑named folder. + - Log the activity to the console. + +A very small helper is used to talk to a local model; it can be replaced with a real +LLM client (Llama.cpp, Ollama, FastLLM, etc.) by editing the ``fetch_response`` function. + +Usage: + mastermind_cli.py \ + --project ProjectName \ + --proposal path/to/ProjectProposal.txt \ + --idiot path/to/IDIOTMethod.txt \ + [--prompt-file path/to/system_prompt.txt] \ + [--model-magic "llama3"] # optional flag for the local model name +""" + +from __future__ import annotations + +import argparse +import json +import logging +import pathlib +import sys +import urllib.request +from typing import List + +logging.basicConfig(level=logging.INFO, format="%(message)s") + + +def read_file(path: pathlib.Path) -> str: + """Return the contents of a text file.""" + try: + return path.read_text(encoding="utf-8") + except Exception as exc: # pragma: no cover + logging.error("Could not read %s: %s", path, exc) + sys.exit(1) + + +def load_questions(json_path: pathlib.Path) -> List[dict]: + """Load questions from the JSON file.""" + text = read_file(json_path) + try: + return json.loads(text) + except json.JSONDecodeError as exc: # pragma: no cover + logging.error("Invalid JSON in %s: %s", json_path, exc) + sys.exit(1) + + +def fetch_response( + system_prompt: str, + user_prompt: str, + context: List[str], + model: str = "gpt-oss:20b", +) -> str: + """ + Send a request to a local AI model and return the response. + + This is a placeholder implementation. Replace the body of this function + with actual calls to your local model (e.g., llama.cpp, Ollama, FastLLM, etc.). + + Parameters + ---------- + system_prompt : str + The system‑level instruction to the AI. + user_prompt : str + The question or user message. + context : List[str] + Optional additional context to prepend to the request. + + Returns + ------- + str + The AI’s reply. + """ + # Combine system prompt, context, and user prompt. + prompt_parts = [system_prompt] + prompt_parts.extend(f"{ctx}" for ctx in context) + prompt_parts.append(f"Question: {user_prompt}") + prompt = "\n\n".join(prompt_parts) + "\n" + + # Call Ollama API + url = "http://192.168.8.112:11434/api/generate" + payload = json.dumps({ + "model": model, + "prompt": prompt, + "stream": False + }).encode("utf-8") + headers = {"Content-Type": "application/json"} + req = urllib.request.Request(url, data=payload, headers=headers, method="POST") + try: + with urllib.request.urlopen(req) as resp: + data = resp.read().decode("utf-8") + result = json.loads(data) + return result.get("response", "").strip() + except Exception as exc: # pragma: no cover + logging.error("Ollama request failed: %s", exc) + return f"Simulated response to: {user_prompt}" + + +def main() -> None: + parser = argparse.ArgumentParser( + description="Send MasterMind questions to a local AI and log responses." + ) + parser.add_argument( + "--project", + required=True, + help="Name of the project – creates a folder with this name to store outputs.", + ) + parser.add_argument( + "--proposal", + required=True, + help="Path to the Project Proposal document (text file).", + ) + parser.add_argument( + "--idiot", + required=True, + help="Path to the IDIOT Method document (text file).", + ) + parser.add_argument( + "--prompt-file", + default="system_prompt.txt", + help="Path to the file that contains the system prompt.", + ) + parser.add_argument( + "--model", + default="gpt-oss:20b", + choices=[ + "gpt-oss:20b", + "qwen3:30b", + "devstral:24b", + "llama3.3:70b", + ], + help="LLM model to use.", + ) + parser.add_argument( + "--output-dir", + default="", + help="Custom output directory for the project folder (default: current dir).", + ) + + args = parser.parse_args() + + base_dir = pathlib.Path.cwd() + + # Resolve project output directory + if args.output_dir: + out_base = pathlib.Path(args.output_dir).expanduser().resolve() + else: + out_base = base_dir + project_dir = out_base / args.project + + try: + project_dir.mkdir(parents=True, exist_ok=True) + except Exception as exc: # pragma: no cover + logging.error("Could not create project directory %s: %s", project_dir, exc) + sys.exit(1) + + # Load documents + system_prompt_path = pathlib.Path(args.prompt_file) + proposal_path = pathlib.Path(args.proposal) + idiot_path = pathlib.Path(args.idiot) + + project_prompt = read_file(system_prompt_path) + proposal_text = read_file(proposal_path) + idiot_text = read_file(idiot_path) + + questions_path = base_dir.parent / "questions.json" + questions = load_questions(questions_path) + + # Merge context into system prompt for easier reuse + full_system_prompt = ( + f"{project_prompt}\n\n" + f"--- PROPOSAL ---\n{proposal_text}\n\n" + f"--- IDIOT METHOD ---\n{idiot_text}\n\n" + ) + + logging.info("Project folder: %s", project_dir) + logging.info("Processing %d phases of questions.", len(questions)) + + accumulated_summaries: List[str] = [] + experiment_results: List[dict] = [] + counter = 1 + + for phase in questions: + phase_name = phase.get("phase", "Unnamed Phase") + phase_qs = phase.get("questions", []) + logging.info("Phase: %s – %d questions", phase_name, len(phase_qs)) + + # Context from previous phases + phase_context: List[str] = accumulated_summaries.copy() + + for q in phase_qs: + question_text = q.get("text", "") + if not question_text: + continue # skip empty + + logging.info("Q%d: %s", counter, question_text) + response = fetch_response( + full_system_prompt, question_text, phase_context, args.model + ) + output_file = project_dir / f"question_{counter:03d}.txt" + try: + output_file.write_text(response, encoding="utf-8") + except Exception as exc: # pragma: no cover + logging.error("Could not write %s: %s", output_file, exc) + continue + logging.info("Saved response to %s", output_file) + + accumulated_summaries.append(response) + counter += 1 + + # After finishing the phase, write a short summary file for this phase + phase_summary_file = ( + project_dir / f"{phase_name.replace(' ', '_').lower()}_summary.txt" + ) + try: + summary = fetch_response("Make a clear and concise summary that's no more than 500 tokens on the following input", + "\n\n".join(accumulated_summaries), + []) + + phase_summary_file.write_text( + summary, encoding="utf-8" + ) + logging.info("Saved per‑phase summary to %s", phase_summary_file) + except Exception as exc: # pragma: no cover + logging.error("Could not write %s: %s", phase_summary_file, exc) + + experiment_results.append({ + "phase": phase_name, + "summary_file": str(phase_summary_file), + }) + + logging.info("All done! Total responses: %d", counter - 1) + + results_file = project_dir / "experiment_results.json" + try: + results_file.write_text( + json.dumps(experiment_results, indent=2), encoding="utf-8" + ) + logging.info("Saved experiment results to %s", results_file) + except Exception as exc: + logging.error("Could not write experiment results: %s", exc) + + +if __name__ == "__main__": + main()