From c4122503a156977b010f6a96561d9cc6f4df647a Mon Sep 17 00:00:00 2001 From: Ed_ Date: Sun, 10 May 2026 16:05:00 -0400 Subject: [PATCH] minor cleanup --- ARCHITECTURE.md | 58 -------------- BUILD.md | 103 ------------------------- debug_line_296.py | 13 ---- remove_bom.py => scripts/remove_bom.py | 0 sdm_injection_log.txt | Bin 153340 -> 0 bytes temp_cleanup.py | 34 -------- temp_gui.py | Bin 361532 -> 0 bytes test_imports.py | 5 -- test_output.txt | Bin 1396 -> 0 bytes test_presets.toml | 2 - test_task.toml | 6 -- tests.toml | 80 ------------------- 12 files changed, 301 deletions(-) delete mode 100644 ARCHITECTURE.md delete mode 100644 BUILD.md delete mode 100644 debug_line_296.py rename remove_bom.py => scripts/remove_bom.py (100%) delete mode 100644 sdm_injection_log.txt delete mode 100644 temp_cleanup.py delete mode 100644 temp_gui.py delete mode 100644 test_imports.py delete mode 100644 test_output.txt delete mode 100644 test_presets.toml delete mode 100644 test_task.toml delete mode 100644 tests.toml diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md deleted file mode 100644 index 6fe7823..0000000 --- a/ARCHITECTURE.md +++ /dev/null @@ -1,58 +0,0 @@ -# ARCHITECTURE.md - -## Tech Stack -- **Framework**: [Primary framework/language] -- **Database**: [Database system] -- **Frontend**: [Frontend technology] -- **Backend**: [Backend technology] -- **Infrastructure**: [Hosting/deployment] -- **Build Tools**: [Build system] - -## Directory Structure -``` -project/ -├── src/ # Source code -├── tests/ # Test files -├── docs/ # Documentation -├── config/ # Configuration files -└── scripts/ # Build/deployment scripts -``` - -## Key Architectural Decisions - -### [Decision 1] -**Context**: [Why this decision was needed] -**Decision**: [What was decided] -**Rationale**: [Why this approach was chosen] -**Consequences**: [Trade-offs and implications] - -## Component Architecture - -### [ComponentName] Structure -```typescript -// Major classes with exact line numbers -class MainClass { /* lines 100-500 */ } // -class Helper { /* lines 501-600 */ } // -``` - -## System Flow Diagram -``` -[User] -> [Frontend] -> [API] -> [Database] - | | - v v - [Cache] [External Service] -``` - -## Common Patterns - -### [Pattern Name] -**When to use**: [Circumstances] -**Implementation**: [How to implement] -**Example**: [Code example with line numbers] - -## Keywords -- architecture -- system design -- tech stack -- components -- patterns \ No newline at end of file diff --git a/BUILD.md b/BUILD.md deleted file mode 100644 index ab3a8fc..0000000 --- a/BUILD.md +++ /dev/null @@ -1,103 +0,0 @@ -# BUILD.md - -## Prerequisites -- [Runtime requirements] -- [Development tools needed] -- [Environment setup] - -## Build Commands - -### Development -```bash -# Start development server -npm run dev - -# Run in watch mode -npm run watch -``` - -### Production -```bash -# Build for production -npm run build - -# Start production server -npm start -``` - -### Testing -```bash -# Run all tests -npm test - -# Run tests in watch mode -npm run test:watch - -# Run specific test file -npm test -- filename -``` - -### Linting & Formatting -```bash -# Lint code -npm run lint - -# Fix linting issues -npm run lint:fix - -# Format code -npm run format -``` - -## CI/CD Pipeline - -### GitHub Actions -```yaml -# .github/workflows/main.yml -name: CI/CD -on: [push, pull_request] -jobs: - test: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - name: Setup Node.js - uses: actions/setup-node@v3 - with: - node-version: '18' - - run: npm ci - - run: npm test - - run: npm run build -``` - -## Deployment - -### Staging -1. [Deployment steps] -2. [Verification steps] - -### Production -1. [Pre-deployment checklist] -2. [Deployment steps] -3. [Post-deployment verification] - -## Rollback Procedures -1. [Emergency rollback steps] -2. [Database rollback if needed] -3. [Verification steps] - -## Troubleshooting - -### Common Issues -**Issue**: [Problem description] -**Solution**: [How to fix] - -### Build Failures -- [Common build errors and solutions] - -## Keywords -- build -- deployment -- ci/cd -- testing -- production \ No newline at end of file diff --git a/debug_line_296.py b/debug_line_296.py deleted file mode 100644 index 3eb12c6..0000000 --- a/debug_line_296.py +++ /dev/null @@ -1,13 +0,0 @@ -from src.file_cache import ASTParser -from pathlib import Path -parser = ASTParser('cpp') -code = Path('tests/assets/gencpp_samples/ast.hpp').read_text() -tree = parser.get_cached_tree(None, code) -code_bytes = code.encode('utf8') -def find_node(node): - start = node.start_point.row + 1 - if start == 296: - print(f'LINE 296 NODE: {node.type}, NAME: {parser._get_name(node, code_bytes)}, TEXT: {code_bytes[node.start_byte:node.end_byte].decode("utf8")[:50].strip()}...') - for child in node.children: - find_node(child) -find_node(tree.root_node) diff --git a/remove_bom.py b/scripts/remove_bom.py similarity index 100% rename from remove_bom.py rename to scripts/remove_bom.py diff --git a/sdm_injection_log.txt b/sdm_injection_log.txt deleted file mode 100644 index a8aa88888805a4c6a91cb126757b5e847a662eb3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 153340 zcmd6wS+5>PlAh1C0sjYG+OW~)PHHX;G}Q7;10$oS7tF=9L6C=wC~+IEqAvW?ZRb-j zgIQG>wPZ#d$`B-xXZbQR_C5da|9OA$;o_T%e<=U{+r?il{&4Zb#s4aQ{_f(<#p8{aWi~n9e!~3ac(j@vv%FjM4e|j|0|34jY!0!qses@62e<+__dE-Bq6aTI7 z(|;}h|8qI##dP}Pi|-3QFU#MdlyJSi*Z(LKeqR3hbn!3cPY))}Fj&7YG<-AN_m2~A z>R#~bv%<@d3r=2@li9a=P&!XP)EpI~TVm{+XZrw{rhSpXrB;?a9`| zf`w-V3y%svbI->G12@Z`FUwtDmajaXIP|>a-MIMn;%+)bH-ZpdONZ!s2%_5sOKW}^ zrP`xHH8j-w^53`R&(IB8_EYY5p?nrpNXeUvpC{h?I6?HXKz6_ARG^i<{8V`JET`Wn ze4dB17P=>sR;>nF{;fy9<&n?CD?oXnU1fDoIda3s(VE$TT3(s9iBbj;QPskfUe4zpy%N- zK?fd@fam3F56aJcD%8I0p!VJ3H@5QGW7VPZ64Dknybi^h+=uvE781!lPy0KC@>!gT zE;iYiV-r5Wh7;F}XuLZGpE=e-@`9~L%aNzT?|xml;BrR)9-W7ml!d>!>}0`ryU@4Q z$UVGh7WQGm64HPz18e5}p64}SX(hP_7BmUe%Yfxh5HAKxl}zwLd}xOb_W(C_#cX#Ek-{#Kz_OsXoU z$h)W+sPmk2%k@}$D%m3vM$x=5FNDEy*Wrsww2{EW%XI1Knr zIoh9GGSY(ncv~m}e$L~9c&g0+jmXRW0)@O=r1yRo3|^jb3;FBN_!I|3&aCwvd|+LHnkl~wt*c-VYLHmRTXS+TNV zl+3LlA`Xu8Ch_K4+p~bMw5) z(@{jQMR{WQmhwGP`LD$mJ}mu9bhuI7p-&3iO})#r;Cqnd#A*FJn3rK4;lVp4F3gEB zjw8cu?2}nqTm2CYfDCMTcjsjTjIOYlJv3>tk zv^5oRa%(+WDw?TRCXs#sb!Yxs&ZoBs&Qt{K)hxH9Hrl;2t}pHet7k@sxvltPp@{S+ zwLCAkwuJ{T6WzlVq6*QS0vr-uL7D_F}3^!y9wR=ticaf88CjrrT9Hp+|9!C-6aj&*l|IF-DCtVtKHN3%%EwaCuQ@4_v0LsxO5mR~H}@9_6rGLEmQ7)7zq-=k@jANjkOH z+uMdF#^aiFVY&(5tH=M`f+(7OlfF{l0vWHpO7A(XPE9MKqk!n&iB5_^noDOsgJy<-Uwk@rvb{3^LFDjN%KZVxG<#D#O#b^D+YiKA|Lzd$n23ykrOm!Tig%)QkkA3OA^N9>jQ zq|}K_-xiUCDhG-w)RW-r=GO(I7U@!PpiT_6tzy88SXQ?lc`o=GD{nEZ@jH}#U%qd9 zO+31uf%Udy*TyJ&Sv*5<1HW0lgY3jsXB?fo$GFVuT;?R;v)NeD@KM2`Z7Y)Xc{gEo z44cee$Go~_wP?Fabc{JBIbu11byaOH8>9H4ZzUqRy_Ksoc=EdGdTg{Z!OP0kD1M^V zjkZoT3dzkNC)cXfQ8nrejiT`yvR&&@84zV{9x=T%moA_Me|}Ho8GJD(zm~IzR$oE~ z$8TrF&%o!+nML4}RiuxTs(-}h&|jH1X(5|~1+*<}bNI$Q3?RJiWKtsddtJO3vb|&z z$X{H#G5ir_fh-y)ljWt$3;&+^8O@gadDLTguz{_wIEJYw1xMzMk>@qvh02WI%W(!i z&zH@D?>J671EDvMIRasg*yhzzbs@8{;c4-6*(W(-vG5Y%y$qc<&(ze3;!&u)=yC*m zisRTQ2KI;u@Xu_zbiWFCOlADCwyHG(XVkWmi;PyYm{+L1nyoI8r|)k!I*v*NVe7~K zR@h=M$(rwb{MR+MUK9;{zv#D@Mc?^#?_++#KDBx`0+smwY`?`B2%{Z4YrFxWW$2Jj ze7G^Kfh@NETLgRSSS|*gmwO)J{xt?I$01r%RT!7iTWR({^PFUP)WhlR;~S$h(Ow&) zk6{v=(I2Az$xImYb`UUcrk(=qS0;>Jm2(V_my?CH{8c85SsM$eYE@6vAk+pi`2lzc z#2NUg89pGIGRL>V@_sB{%exX`Wb;6tRx(f3aEsSpHwl}Rje4rN8|)r@&Rj3^*cntO z1JrsJqf$lgweJ6j#^^VT=FIU|E&oDCV%72LgL*qzpa+9ioc&L2ze5CnY>-i%A`8A; z`d0YPZ}K|hZ!>S3<8S-aMpIJBk+wv8V(Z6jIq)xoThmg+j|4gNI2b4S1I9F2e;Q% z5s{)Q?Nw}QjdsX~nHenK>SLxEmAjM2i z3dYAYDxC?r7Jr^AUB568&7EFPjE<$ps%G87@F-rRug+lE={lhTV;vr&@ddTNSoX-` zAM113dO78cW~bA&^@4kHSxdj-xGV2C_eYH?29seZ2O4i@e-DOgxA+pCaSrnIZVyD_ z9Gg8O8@l&a%Nagm&a3rTdtf4F(xe8jsV!j|#T0ey7$+g^=p{0DW7-E8T07K(8MrxK zYlUZ8kGKa8(|lXKoX3*QEL#i)lWcN7=VpzLpkiXo^KN@EV^E!+&pHQH4z8>c8TYER z<+6>z5e%-SRveKs;EGDR(J&jT))Dv2S;}J# z4}7sG#qz1-R;fD9VY>f$zXv-$#w3ASek@in9kGN9DcIWKdWWV}wM!04uhmg6wBUiz4hcv9f7%6r{HJPMirQezLc#Ou5Uhb&?t zu|d+P<4}2(;XbHh-#~hUtAZ_(Z4<9m%B|2NI zHfoiwxqeU&EbC4}uvdFAc?}#+^k3XK!+C6Riskv%5Gq2bJ1a9_j9O756{M6Y8mc$U zw%W@Ebe*AZcv0`;giUor;tBITy@EX^HP?zy5}TWBy(Wvk;8L=^)nm7tjY1^sDmc5&akKnW;S(4+}*2Yb|c- zckr+I4drNUcMKLPQVV%sEQ0NWp~FdVtg&HVC%5Q95w%N~lclx^8au5QifBZ@{={mf z=Wk~`YWTxo+`>q7Kc302{6Xr|z1W~qw&sixi8<1EN0{&;pAk4r+dVAaaEl8(WHP!) z(R{bk9mgLZIUP@u8UUYt{`9Q7AJbs#{w)vm=x`!ncu)B)?W<+xfhia71vJ$Nmm89Z z`8Byk{RH}$?#kHJJnun5rvu~GF0MZ4qO-oriaaZp+4LIc6Em&($G#5y#8$dN-47Pc zBQ15jMYyW20h<@UX^)gDf=?%J;_(-{p;=;9XPwD1nAVuthr)}^`nX%%(s!!oz4e@W zB+L7Ej&Aw;zT^*(M=D?P4ZokVUD%s87kdOto1N*wM6Y()hsN9b)&q^bi*#AMY4xc0 z@P$`p=sDf28+HaA$%|+QVtvc+^S2hBXC?Z4Qhv(v zZgX#p>}XpP8G#8o!It8O5Y5#oq6lwsxgAExp!SBmcW;4m_%jtC_OHkk+_Vn_i-Mcc+MP?X=-9|bs^xtp_$sq z;E1AGuL93=Ep}!fezM+%okK!@&C4mvq8?N~dNO!@jp1b$MmS88$5~93tZ`Gj1?y|o za7)cGwdD21Wa2kD0iha`OBqm;Atl2kY z=FI)PU5!1M{C$y*4WEbVnMTN(auF zn?)-CNZ^@sJU!b(!x8=JZQSTNvvSM#pD~J0a*l>x&&`Nkxm@^hoR1cw%Zu0Y@Fl4h z&>y+gYtwd!$-|OgZFxGhRhvf~f!KT}Jb@?0k9%MICOQh(B&$v#JOvMnzm%WjJJ!kO z!|8QWkH9&Hr~0EUFQ0*m4YzCkFap!OC#3pJ_@0`7B0D__VNP6O)Sc6245F+k@mMpQ zpxK4cs`o`FkS{`h;N|1$@E$zG32o2L2tSWt z<90c_m8KqS7>^=1;DR1<{2PnrdT0YQZ3gsf;ez+`W7k`>Ggz`H*7>HJqv6}eldNafJ54F`8_?0-59yIG1Qb#(Oae4AJ zx`=LR0S}({+XDr*eC?(8$i@**^uQ8*srDad*#B$1K;ZIf719T0qvO*+g7uxT3odJG?uloiLTzG~e?_1!kSc6yrV z?8GBz<2##LsCdH*$%;7Fa4l=X$|-wu#U51jBjIqn&+VyixIdU0UTlk2{ ziRk9F>2nZx8#P9FyF#$_{!>d0FyQqk#?B{~WSu3gH{e4N^%2(`s$4FcPN)v6lc7hd z^%7%Fg?bGeIUBke=(ehx!F!-%E1vgS;0WE;(5b@@-GdHf;s^__eE2a(Q$O+E&>e%U z?lT2DP}B1;))s?VG4CzBF&LH>W8PUxw$k4I+{<*e9Pdwujll;*+WRRgc|CkB1Y~d8 zIH=Fh!F$V`_iUl`GaDm#!a~#y?Rc;FuGUka`7pf4wjSa^m6h#5*63-%Gmb&zMH3@< zsuCB4$a|Zthri(Ky{#M`T|8UbbLR1!HG0U~5z<0K1-rE$nb6F)o$>PC8SQ+>$xMy# z$#Imk*2+x7#d05-Sv$uY^rlYpb!xX1kJ`V)1oBiikBq>cB^rgt-< ztNyv*_G!sO+P&MF{od(0H9Wd5@uFT%UKBel`Y{&uZL4QLht1pYc!Ztk%om@ps3!_Zw0gAU zn|^)Z`3F5*a#nAz@nrhQ>$>kb|DPw_{pXdo>*Y;vs%FGb;FgyAUc*2(>P^Y7+Kxti zW3;<=nj1dwyJPx!oed)jR(D99IU0j4>L<^!qkI8yjlvR(#Fnt&?@-|b9%WV9`ouZ< zMSFPXaE)OmYiljj(qKb5LS`Sv;PE!2NqR@D~oS52ha%G$FYfs3=%nXV30y`QFCtSwiu*Kr#r z_H3_V>aiHAT__t5Zu-ur))dP+8;#n2WupePvbu%GQG56SzL;jrqZO}s$09Ss6xaafY3<=;uz;4P8--n!y__6m~~E_ zUKqT6XFWJLwhH^w;`KxKod12P6cd|UH~$Y8-<3=PR$^R&v)*Aa{^+9#7P8f_BU)cl z>g`rBO~<^@dJ7ag@UrxVGWhbapA=bn^SLI>=FwiPL^I;^?c;QT_R1?c@zzV|;nk1j z*1SWFyb_D_Tfg{QTk@2w=3HYFtB&_jCGUlst-jAaK8?TK^1Ap$_doYW;}@|H0-0e~ zGh2Ima6xPq%SSDtA^V6{Gd^jjLHBS&7i5fA1&w@Hwq(Gyc#zorc5CcDEKzN;#0=B> z?2$sR_1Sznwc6>V9tjpC^yCt&vN4vN7#>L2!VFVVapa?I5EY>KOgXW2fKfe-W< zFnpM}Rnrex7I+sg(cc@n$1}{qW`{-LW~MHTLgV%R_DlWyqIGKB1v@G|fc*7yI9bL_97W;5=WM;sek_^9VJ+$&S@b3T zUk^{yMIYnoYTK94P~!t%eb9Iv+CBKO{=V%A>OGlaXKgH&H`%TeC2uG1zt9RMy#E6q782On9p@|E%~z#NAu7pL-lmUMQx4 z463=@#~_OKn;Aq)JVoh8UO0=hjCOIDqPr}8T-6A5f3|v$v(Vf*{9ZXL2QIJf*<(}I zzNA$eBe;rAcKUQ=qQv^Ay=l{Z`bBd;22-V93?5z#iqt@sbc?{kd{zt=(*Sd8Oz)~H zXMK4Gx|?Ei>+{@L^_2ReYo_>PP*~5G;%X|3YG3s z?oc-aJG!4w^&e^-%6-(_P#;8hgY_Twdf~OH=EB?xo^>A#RG}jBi}oj?!MpIcT+Rz^|T6CixF7|DrHt<=1u3e8aD#Vafk5y#m{=a*JC(xzIq_Hx|6-LnSW~| zs*$tD?oJojuqDBZn? zYUKR>yTkEqXa309V|V8b_#AyRa(6G{|9W?)XQz!=N6zoRJDJVa2O2qhjPB$ybNFuL z?%v+buX%TGThYk*BX_@+W8}JaYEv-G4j3j*0KqyZ?H3XK%o7CGSYv zZ|T=jwf*hx?ri`Wp}S>7loPehvS;EcZOr-Y{Ax18IrQ(>x19Z3#*$QdbL{-c-SO@+ z=swPSSi81>HSg|C%#WPke|NU!g}ClVj^m z?&h1P9!#%9>3!F_70k;;x0yA6PGN*2MycZEz(>v>;Ye?L?a0}p${EW`S5{7hsk#Rp zk7Rl2HMFfi=is16H^UOp8KypA+obh=%6aeYhx78B?6S(S%M~;Hi5I-c!S}+0mzLur zR(R@UrC$qZ<jPU4~e3FOD;n#loBsR>UK&?Q`D>T@h>(pejdgnH`+e z?dbF0es}Rj;ac8_V3({qceR05@XueHwHgI}Z7b0|HN1)&<{#*!-r4~*0-fjeMWCBo zz^%TbSHwpgSH{si_^w1HWVmc4}{8au=C2+aV z)bm_=DM^o3>*e>rDeAFN2T9Nzq1TJq51Cif>VfR%q7|6qTWXb7oApB$oe6zkIKK8C zgEM+YD*n8Ujr}|b2ey$!4+iyC<(tBL%!7w!E}}=Ofv~D`D?OyVa~;b9kFcMj*8p9<944PFp%$BD|OBt3^Gve=QU$a1n@4=SAR&izB(J?AU?a#-88Ext$PrARgu}>pJXOL^}b}n3AUrP@q=a~Z2 z4S9Mr+FL!Rr$HCvu;^S_rDGO6aV@d7(Pj@@E4bxj;ibL!;%Rw(Vm&`| zb0z2C%-YSf^*-csatf)CpKTtg_qNwaq@!$v_9j$s84X6QLUk2YS(K%2wZH#c2B&AO zN8mKN`lnfCY81xS!x@3G;&QDge5egaS^cRwHmoH_k^VQD?%QC$2~tRRv8UL3ZM znXI>Oln*5Sionup%Mr}j{5#xIF?2b}+VfKBS3J>2wXFU22HPB8QOMdX{Rq~S)0%4~ zdo8GqZ}xdAs{_4iBqCKjV{(Dx{N-gQM=%9n=^Z-$2~++P z&xQ@FQK+&kyW)r1=S#;FUu!Gk{s!Z1zRK#jm3Pdh(|joDfX%VthDSPKdHuZYXz9Zr z5l7o`IjSe9rGURY=)4?YPp-6XA$m}HG1@)Dz1WIMDez|sCiw7hzTNmNK0KQA$eVHT@^mP)@9P+xSK;j$Z!BRtixDqd z)Ps@A7sS$D_HIt6dVjAHI>womCUi)7p0*D`w5MF!!zlYhkx?q>K;zY;d>C?OQqO6K zdE93DA!|DFoPO{i$l8}XkN@`N(Ssr@i@VlQ^{iGN>-VZucrkL1G*(M7$H%#|*?gPR zQ?;cDyc;ut7diD$McOPMaU_HFCo9I=?0pZu!7_7@ynk#x{mff=7=JaZtSzh8CXICQ zx4wN3JP!*z=pp(>l@G=;(Xq~+cs#FB$h`b@4`iy?0SoL+5Y*{Yzduqq?o2J|Hlu6shO=O5$wdcHv<_{KDp zH}^kEy_&Jp8-jE>3))s=VGXF6@_n0NH4L#YvW?Y7prY_gz~=k3u-&}{TV-Y@@Uqlmv(>>OS^O*=v>dT8OCA19jq+(`5}Xrj5enqMOWJLlCAPUiK67}v~a5907d z-vCrE3_g1tmgv5Zc`yBwVh!IU8Qjs8N9yMHX-!FEuCGu=b>Et1Q9 zR6gxN*;)mL=oBUEKu0|%@s>%;MLra37)HDVc$p4*Zir9J42xw!cnewFy$8{jugCts z7EdEE!biL&_j(7yia~BN25;8B>LpHXs)Q_nwr#W>_eOnD!O!_-ZO@-$(}OLJNiV-N zLU$-$Hy*L4gw1Yr@A;OfO34;adVb{yWU`0YBK-b1##%Y)v5vNV1L@@@By`n}<^Nut zx_*aOoxrK4NKLmzw^XqS^8JJt-o|Fy^I@SPoNu~BanA==Mg_AEnWs&9ur#mTqVql! z_>{lY8&00i*n=k;AFT0IUt1IRvgJkgpsi-jr)Zx|drgdf_%<#Wwxwx;rR&_3(Dr=V<3YDMYM;@a-p7W zJ38B&IOwB;W|ZeRZr{LLepk`m5(l?~5p|`*{Kl=^&cExy;aPz`e5e_}8{GPM!^)g0`)>j+hoTo>BKRas0mB6I5g`O?P2= zV|-gHOUfhf*lrcTMgdy%-nYVeYtCuH7_urn;oAVR>S5JC0wMph$chX^v1>Vz}OGu(Q zZFJ)~ZjYW+u}oJ7eomVUm`l3-jA?%~-^$8P=dMe}+c zZzE8=pJmiWpvb|6aXtRR>&biXhsB$48No=5F40&9xyL(FPc@x0FH7uTw$M6FeQ$O7 zv-Oi|+|YUrBN&2O;!5jbv+AV5sU8e{_i3rCwA8c;>%($4Vl|WHtlcSdodPzML1!B= z^&MWRc{J6JJ$snTM+J1)yJQ=S9b))C3WX#^-?tJHJ(b(2sF|8oHgxwvEgNGN9ePLLvmN;sTVHK z!yJLDPJg4f@pgJ4$=ZS0a&X;Uw1&yscI4M8y-e>2o|fF40a>)8z~`t6S*wfAV~uzs zlB2b^0qTCI9}0JEPivlstnJzyq2~IXq-VuW+nki9w*Fo$9baV|0ewEQd)RS0C9B`i z+P?1`E4|d&hUn{K$0DpOji;RnR;NO{>J=ceu)K7J{?Q~Y(aM8G4ChIf z-mF4bX%hgt%IFuZHn;JnA|Se3UQRlAU)uIyyPd{cbF3(O|5WsV?9@1XUVV6k_p41& zy$$LrUoZ|^)?C6GHmFPIV+69cIyr(h@-1{kk#|-NYdOob521Ne%pa=qB>%$XB5T9Y z+t2b!{rzb6ea@xkVI9GFH%Ue=r_6<6a(|*}1kNn$S?z@K(bNoyo$C~SjP9P!>G4+S zQr1?ar-eJ8eUTG5l+4@Pi@z6+MK{t(tgji*F_F+()1K3nS)&6C-Aiu+@=^UjJ8>V1 z=)MOwPw1s5!DAFTcY1X8zrG17zNnpyXpG05*oaQie3}*Pb__BvPU(TnPNfHe z4lptRU_}`@Fo-A2{s8*ksao=L9)HzOQr2WHm0O=~_-!kCV|S1h#c~p#tAFEuv0K!8 zfE}K|7ghI}GWs@saOO_>{F({kUc@Py*|Xb3xA#;`;$30upn>@V+y?3p_t?$WlW6t{ zaJl{2wB@-ww9)1mMJ#v2<^-T#O46Qu7&VC3d~pW)=w4_$dtP+_Ldyr3PX~v*FS2U> zO$Lud_tI9_>uj3*;H!Yvt4ELViAf(aKc8jJ$FLWd$6#JYKUab0Xb(~4ii&4q6Q%^Q zocUPJv-ZllS%yy?ka%y@kd!+h8-mrZTcPc~t@dCh(sH`Qtjv7LLV2HOn)_bRt1@_i znhYWkXg*xiUBpGq!PHyIW7q5FU-zyzgH<()fITc9YsfMB#AW(Lu}{dsQu{1lH8Lt@ zaaEp-;K4GjEx$!`Cves;@bR7$ zIBgEcJUqAz4Tema*0r1%(HlCB2##!B&1c)^uBEJx1EV`43<}$%2KCr>g3XkznQQB} zQy1dv&-d($*3R6k&J;v*QuSV7-?n)v*R8m%R@0%H^3c)}#CRDzSa0KXagFMUZR%iM z*(!+dL-#1Wc$GBr@>HX@@-)VpCgxA@(lSzr_K+RRrB?I}?aF(~Y_LOUTdFGeJt$U( zn_;gWPBsVYrTrw&%YAci8SN_aZiyvUJSJTz?rWv1>J&daTR$7?tBTg1MXr(--D+P? zHm?GCGra-F*=9EGKp(L-iO~gwv_UZ_3MEyW$hqOoFFuF&7T}oFq2DcsRX0z|5@5IL z9kT3Jy+vN;MV*H4Crx+1*shl|xMh2lVN|3c&ZAE#Lz?P+@;pJfsPfXB3h-^LTP)RlC0x`(f5cDi zCmP;)^)J?IdlvFNzClM3F(4i4lZf0Xy1zH$MiKb){FHrO+M-AV_UH`#S=?Ku!**2? zVdEReWtnX~S+&4@{O{dioCb7be;tV?W_~lpUQi7mo?77J(v=l~J})DFgnhKXv`r4| z-VW?c3r4=r?Cv;*ubR7MOEVyi?%zDpCE!xkRjS#lqZ94mS>r8?ruRbje`Lf1Nb5vJm4iXW8+2W&|IjR`V?1sN5qmxZIoae9CI^`{esym*2F^in?kZ zO}9N$;e1;@iBGSmzx|RS$;-AzZ_54DsdZel-Mdk2b7PeUawTX)_>0$yAVk)$#2gC2%t3{GryMJ`M zk3ps!KU=!ybUnrZS#q}SDu=PJBQx&nO?;1e1|BrX=N#ADbjLcV`_5#SxC6?w6Pf(9 zDtYk7)nmnb)wTyK$_iFF^|?X2VaUhn`^uD15jtZbJ$(0b`?~jdq(9pxZlG2_ZI-o& zs`*SJ^XmC^&S4I*x=5Ha!OyCCm##tLho6e(fsgqE74oB#WTTk2D^i`^%%cc*);OI$sOE)mJ6`Ja-eP606|RTE{%p zUiOq^(w6DGEH62BPjLo*1aB)uJc(_pQnAmPZ8(41wMV(Eb+_`IOW(ZNs`ED%E#YNN zQXsom$HUPVuSO(wo_+8pp70p)O)_ce?Hlazcq}jio^* zE8Uk-E3aWPi#Pv?ajfU{Re5kDkD3)wrYQ$zZ>!&!^m#Dn!<*OZ<-wcB3wb%JBMBt) zt7$>)lR3(E?@8W`;AV;{c}GxNmjreDafyrW`klke9uMotoKF=4sp@6x`Ql?8#~uoF zA^)dW6&WV)|KLl#B>JvIy#ac6d78yc*g(4l5FB&J`jc9?^ZL(ia#RzJ74ztAgZhX= zj^WMgD_5@)lTh@98^@S8FB+4b(WI2+C$K~0Cxm}u9Q>4{%6?1JmJ;;MW%-0ydCnvQ zuKFkN*IEW~xP4dI7TNnb-^FRgE0sAnYVjvOMzr8w>M-Tq(N{$()qTU)do%d$No#&K z|1tgo@Se<*9s0Vr$?F(safsd(#m-f7+fUe{LiF{dJsPw%`7y1#1-rM&cg$yN@imtZ z(^WN|>Xq%S8{ACGv9&iKmS0z;Y@(Z(FzXI^(=P2D=9U}p0ZUP<%UL&wZS1WQASweh zU!&rr_l%UutM8`RERr_QP;Wf0jA{;T`5X0w+IMm@&1TH~X&+)DFUg5;P9LENgtax-OGuo#@C#~L`ol^-3VE543NtQnD z%hR{;kvdWAJ@R?)3Aey+RhFPm(;xX2-ltZd*u06nE-UZ6+MjE;*q00MGg_GQ`lY<{ z&}H&j!FmR~c@w=JynK!5=26j68PK*n$H(Gg%U<*U`L<7cVH*z!?@|@ts#~GAZ6&~( zC|9qRE{O;G48_Vww;<5@mj#k%qW z!0zqktvj6I9z0~~@MmFH?;w`?(-+;6H)l7$L-nQW6hjWYdGU9JSMegg7JNd_Xg;2! zbsBa2Qt5p^bwnCZ+s0=6F8N{+Zpe!km+#xCLJeN+)h;;1=H&5zv76^1C+|~ZOxcAh zlUY)^eFrQ%emn68GN?>L4*Yp@=i+ch=bCC!{~;M$EIwHhboqnHN-0ZzJSTAGQ>*Wi z75$;J>B^!<14|?i2|1NzLKl*kKsszk%sI^{kGcJ9<0o&=-^k1fJc8~8WcX`MOLEDuUbMc6fzOdODHuY2?+O#cl7W)*HrNNvR&;JX=rgfc}fK+J^eD zI)xsWEP%mwCoKo8Y|L`vPI4(NuWeLE^JA4yT3EgJtHz?DiaG0g(7w54*6zF}^l_UP z>ljufZFGPdPVvj>*gd1KOI@)zDNj^IPa@d9G*ztmgC6ursSY|BMQA zRxE_1*$V;Mx}vH~)pAR%d=BgWryBHGR>gQ^X*Fzzc8!G3!MyyG3TxIx$(An7uz^18 zd3|2c6FXxW4s5mTG_R2?PnXBS1hwkk>@J8;QtJ?iT`f3n><@7;>?XA@OHMe0(T0omun^PgSezJsco1#8=5f6{3fLm#o zA{oQHTir{mqSsgpFHiZHDr0#N=glIJ|6cB$FzaYNlX+0zO2aeUslB>S3xB{Z+U6?H zAB~M9F!( zoq&fzCRyFk{Q2k}ugcGovo(#G*O?C9RjY*KvB2oV+Pyi?;~&8}uQBMBd>*ny4r9I( z%kFU}?ae~f9oE&6IrKJVDewKp0nYpHayzX*wZA%aRdFwLU}-5ZPzG zgJkn3{8#m#tSPxKA^p_K%NVd#La{4yt?d!=`{%wdITj>M8SJBJnyN!A)&x6Xb8S`U zlfHQ~klT0Kg2P_RKBAN9#-4lS>E`N}R}5Q)srLr!-!q*S-4)RL(rJ~k?K>H4dELR* z?O?i!3_J4Mz8YjPgd$W$wa1o3FX19lyx)L4k*TluxR%x-rW_eEJb&NMzsC`G??Zhr zZL{$_^MTG>!mexyc>!$tgF{QV5B2S|p2Imcr7@R~$FQ51vqr}$=0)dHLE^v1a|iO8 zsQ5?BZUO&r{YSwQI^geYeosJ@sk$dH3Kl|?`{UDD33X`9QJE5jz$v9LN z>?pG`a{s({fcx(+j|fS`mkNI*YU-RU>1hjqEeNAI}HUDmzor=nLZ}Vd9Tf7SU zkQd9$b&Gi(>gFOMAkPE`VzWd~q67Kjs!*vOk6**j_IP6FC9!rt+)eW$kMC`IETkQGC)M@wcy$$u(xO-m3cZBBZ<0pp33c?3a>FOw* zm#sqcn?>KEcl9@|PxGuU>fzt$i_hxUp-V#jIz&R&6NZgP5{VV44d|t=^Zr=RJ?=WQ z&Lf?=^!eBh3wm%Y!)^0jS3!e2&Xj2scFEIKK%3P&XqpQyp=!L2Dy>(Ss2h%gzv`>N z=Wcf9v(;;5`us*PBaJ44>&aNz4b2i$kGU$i^Sla!`W)`a=qqoXd9(Vd#5Bm^Rno_5 zK*U?Q6xzN=UcPkhcPlHS-6+V-{AOU1$xrK3>$xp82>dSIn?Q@B&Eaa!V?TZEX}FtK zKeu~bFK4aqH9vbk<3dL293P&)(VfH_nNF*3>CQD9dv`RC!QGitAj<(Akwx2V^~=c{ zVzJcb$zwvJx-<#qjq|GUm&J=D3Z-Zg?WJ4+pN^K9pSG_h=Rc|Flx?1(gF%@WVb&?S<+=QAj#E`w_!`|4@f&#cg|Ru} zb2o@XoY(QY1@Y5KOXJ}l?Ic*zYCc8!=1XQbuTufrLERM1XPJ1k0z7%-tDb>0D}#n6 zqk>=eWZ|75ht%rr7CoG>-b6Q_s4-d0^~+2nk!!}MW|m%iXL*s0C|;g+_ARn#0JiIP zQZmg{Z{!^VdF|Ml=b71gaeSk>K0Ox|OjFSy2U1>0D4JOkoN>I#ZQ_=)8_+dky>IaXP(8W(AM{KX#R#U6Iz z9P;y>Q1;tL@Mi6$vGb6~QQZ2!Ya9`+anE@I`CHc+(QxanDEO{*KLc3_bdzEddGPg3 z^&|c{duIJayLlc@q4})mrPl4Rw`|l!Hjo8JthYmhq!)PKBU@2NA|dGL}T|8n{u@+mq;6b zK%PN;f$oT(*-p3o+}cHwXQ7VaU%z79E z=vDjK+Fj9#H0)J-wu};&($}zmV=4~Bu(t}n%)eZ2eX|?qy+JN-V#!B%@kh7Jx=G#~ zu)5Q!M(LdeG9~=2#c5A0<^8@-6R*d3EPrX7Lly1g#1Yim@Oklix42F|J`$t+78x$S zc0AQ}{*HOw9+5keO~U6V8b9hEJAb#V=#to7RbTRRstYf-aVhgiuM6J%_tN%OAHlEq7u`_%3*zwSX<{FKaIRb;c?mlFhy&oPW4pM; z@p*4vs^+PFL}CUsORW@OQ|J{&=6Kmo6JzjF&3KLSOx#3khUO1oMX`R2b${Ku!C(Ryb zx(-KN1cDC%sm~)l;X8!X!UcUsd#Rb7SUaAH6MP47QX$Vf<-=M^bUEx@Aw_m z^Gf_VdW*a_h|b(%E$ib@XGQpDpjHK0+3%w&;oL$kz45F(JSS*BSFPjWdEkwFDF0U< z4s-lRU0M5|WVwYrKHopD_FrJlk9G&_f0n_XhjVI#iqOnPEB}g3BA?7xp#b&NBd+fG zEW1h8yVCRC-1$wwXWbO0-V$OV@e|qRv0IVtLh9*2vb&J8y_Ph~uyvpIMOh@IP7@K8 z=Z4=X}cfcf97z$B#wd=kJ(Dqq}LnFhGJ3XH^Zbp-fR@gOOJBNSzr~ z9SkZQ*=6r@4A!gIuYjhZTLFAy+1C9T`~1FyR`tqy`}ywbXwNB}pzR4+5Jh+FV};PO zNEx}go#k|dS6;5;;IRZ2snhMSFJPqQ!*KjMu c=(Fb~iw?|S7@y>)0ymm%pEu6pSw8Up1FKMMq5uE@ diff --git a/temp_cleanup.py b/temp_cleanup.py deleted file mode 100644 index 50246e8..0000000 --- a/temp_cleanup.py +++ /dev/null @@ -1,34 +0,0 @@ -import re - -with open('src/mcp_client.py', 'r', encoding='utf-8') as f: - content = f.read() - -# 1. Remove nested imports -nested_imports = [ - r'^\s+from src\.paths import get_config_path\n', - r'^\s+from src\.ai_client import get_credentials_path\n', - r'^\s+from src\.file_cache import ASTParser\n', - r'^\s+import re\n' -] - -for pattern in nested_imports: - content = re.sub(pattern, '', content, flags=re.MULTILINE) - -# 2. Update _re to re -content = content.replace('_re.sub', 're.sub') - -# 3. Ensure 1-space indentation for code -# This is tricky without a full parser, but let's try to fix lines that have 4n spaces -# and convert them to n spaces if they are not in multi-line strings. -# BUT the user said "Ensure the entire file uses exactly 1-space indentation." -# If the file is already mostly 1-space, maybe just fixing the ones that are not is enough. - -# Let's try a simple reindentation: -# Every leading space count 's' becomes 's/1'? No, that doesn't make sense. -# Usually this means: if level 1 was 4 spaces, make it 1 space. -# But here level 1 IS already 1 space. -# So if something is 4 spaces, it might be level 4 or it might be level 1 in 4-space indent style. -# Given the project, it's likely already 1-space per level. - -with open('src/mcp_client.py', 'w', encoding='utf-8') as f: - f.write(content) diff --git a/temp_gui.py b/temp_gui.py deleted file mode 100644 index 95f5feea8525a6d24f8f4cf6dd722ceebd9b76c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 361532 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 biM|)>T0S$1{Bi!}+4-EAMStsA814T7#B3d@ diff --git a/test_imports.py b/test_imports.py deleted file mode 100644 index 4b5184f..0000000 --- a/test_imports.py +++ /dev/null @@ -1,5 +0,0 @@ -import math -import os - -def only_imports(): - pass \ No newline at end of file diff --git a/test_output.txt b/test_output.txt deleted file mode 100644 index 51834ae919b182caa130b54f7417691c147089ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1396 zcmds%$xZ@65QgiDiSIB87ff6dIhg2)u!SgM9Pld09uWuwCdPMHzrUN2Z6Kaar)R2b zufMAM`|HfK0?S!wb^ZnGTF-_yX3yCZsK7Edf-maQu2@++f%dk?c4QH{Gh0}jf9y;A zPt!MrME<<5n3vkH@_MOXixgIQEIPyu)>Z{iBbQ$n`5Wse07R}$5m#6LGJWfdb-br{`R5gXN5W<7E$L)WchHM@r|PG}9gb7-y*N?RIfiOhv$ z1f4-+2t9+&vektW6}Levg5LpS#n+a#?3>i<^Npy|*Vl!oQy<9~>nZCQP78FV%V=JA zPDKMJZ{jOsRp;S#D^`;z&841VucPxndRqji1?Z^%CGb}l#^CMGnpMrQCPthZh^b30 z$MaJoUf!WMcRC@mc>ZNmw-0Bf>Fqg<1~}?g_1)OJ`Z5vI^^ diff --git a/test_presets.toml b/test_presets.toml deleted file mode 100644 index 2e62bbb..0000000 --- a/test_presets.toml +++ /dev/null @@ -1,2 +0,0 @@ -[presets.ModalPreset] -system_prompt = "Modal Content" diff --git a/test_task.toml b/test_task.toml deleted file mode 100644 index 7a0779e..0000000 --- a/test_task.toml +++ /dev/null @@ -1,6 +0,0 @@ -role = "tier4" -prompt = "Just a test" -tool_preset = "CustomPreset" -debug = true -failure_count = 1 -docs = [] diff --git a/tests.toml b/tests.toml deleted file mode 100644 index 72356b7..0000000 --- a/tests.toml +++ /dev/null @@ -1,80 +0,0 @@ -# Test Manifest for manual_slop - -[categories.core] -description = "Manual Slop Core and GUI tests" -files = [ - "tests/test_api_events.py", - "tests/test_gui_diagnostics.py", - "tests/test_gui_events.py", - "tests/test_gui_performance_requirements.py", - "tests/test_gui_stress_performance.py", - "tests/test_gui_updates.py", - "tests/test_gui2_events.py", - "tests/test_gui2_layout.py", - "tests/test_gui2_mcp.py", - "tests/test_gui2_parity.py", - "tests/test_gui2_performance.py", - "tests/test_history_management.py", - "tests/test_headless_service.py", - "tests/test_performance_monitor.py", - "tests/test_token_usage.py", - "tests/test_layout_reorganization.py", - "tests/test_async_events.py", - "test_mma_persistence.py", - "tests/test_session_logging.py", - "tests/test_logging_e2e.py", - "tests/test_log_management_ui.py", - "tests/test_log_pruner.py", - "tests/test_log_registry.py" -] - -[categories.mma] -description = "Manual Slop MMA Feature tests (Project Features)" -files = [ - "tests/test_conductor_engine.py", - "tests/test_conductor_tech_lead.py", - "tests/test_orchestrator_pm.py", - "tests/test_orchestrator_pm_history.py", - "tests/test_orchestration_logic.py", - "tests/test_mma_models.py", - "tests/test_mma_prompts.py", - "tests/test_mma_ticket_actions.py", - "tests/test_mma_orchestration_gui.py", - "tests/test_headless_verification.py", - "tests/test_tier4_interceptor.py", - "tests/test_conductor_api_hook_integration.py", - "tests/test_visual_mma.py", - "tests/test_visual_orchestration.py", - "tests/test_visual_sim_gui_ux.py", - "tests/test_visual_sim_mma_v2.py" -] - -[categories.integrations] -description = "MCP and other external integration tests" -files = [ - "tests/test_api_hook_client.py", - "tests/test_api_hook_extensions.py", - "tests/test_hooks.py", - "tests/test_sync_hooks.py", - "tests/test_mcp_perf_tool.py" -] - -[categories.simulations] -description = "AI and Workflow simulation tests" -files = [ - "tests/test_sim_ai_settings.py", - "tests/test_sim_base.py", - "tests/test_sim_context.py", - "tests/test_sim_execution.py", - "tests/test_sim_tools.py", - "tests/test_workflow_sim.py", - "tests/test_extended_sims.py", - "tests/test_user_agent.py", - "tests/test_live_workflow.py", - "tests/test_agent_capabilities.py", - "tests/test_agent_tools_wiring.py" -] - -[execution] -default_categories = ["core", "mma", "integrations", "simulations"] -blacklist_categories = []