From 6ae03e6223f2d7c2e66966a34573bbe5a22a10d2 Mon Sep 17 00:00:00 2001 From: Frank Tovar Date: Sun, 12 Apr 2026 22:43:46 +0200 Subject: [PATCH] Updated agents and db --- AGENTS.md | 9 +++++++-- src/RolemasterDb.App/rolemaster.db | Bin 4317184 -> 4333568 bytes 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 3909f22..1515097 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -22,8 +22,12 @@ These tool paths should be used instead of any entry in the PATH environment var - If there's documnentation present, always keep it updated. - After every iteration, evaluate if the test coverage would fall below 100%, and write tests if necessary. - After every iteration, run `jb cleanupcode --build=False '$file1' '$file2' ...` for every file you touched. -- After every frontend change, verify the results with `npx playwright test`. - +- After every frontend change, verify the results using an ephemeral Playwright run. + - For ad hoc verification in this repo, do not default to `npx playwright test` with a temp spec outside the repo. + - Prefer a repo-local ephemeral Node script under `artifacts_verify/` that imports `playwright` with `require('playwright')` and drives the browser directly. + - If using the Playwright test runner, use the repo-local CLI at `node_modules\.bin\playwright.cmd` and keep the spec inside the repo so local `node_modules` resolution works. + - Do not mix the global Playwright CLI with the repo-local `@playwright/test` package. + - When browser verification needs the app running, launch the app against a temporary copy of `src\RolemasterDb.App\rolemaster.db` so verification does not mutate the canonical DB. ### Git - Never change the .gitignore file without consent. @@ -48,3 +52,4 @@ These tool paths should be used instead of any entry in the PATH environment var - Consider using `$env:DOTNET_SKIP_FIRST_TIME_EXPERIENCE = '1'` - Consider using `$env:NUGET_PACKAGES = Join-Path $env:USERPROFILE '.nuget\packages'` - If you need a separate output directory, use a subfolder under `artifacts`, and clean it up afterwards. +- Avoid running `dotnet build` and `dotnet test` in parallel in this repo; that can cause file-lock failures in `obj\Debug\net10.0`. diff --git a/src/RolemasterDb.App/rolemaster.db b/src/RolemasterDb.App/rolemaster.db index 23f1301cd435fb61564a05488f5b2c2f0cb86a49..b8141c01f93156c22469491a8b2a52b9879089cd 100644 GIT binary patch delta 6637 zcmeHLdw3L8makVos=B(XJDpc20jdLmytOC;Pw>W(o~>_91okrxM+z<5g6 zLr}5uF-o^yPcFvS$+sJIEx42XW}pI1`Fg;E=%s;Tq&PPihNyASiYPu9f+#jy}wJ&I&)9!%5vn3>U9$3FFTn@W3B z`ix4qLTb83lt;c}v^IUJX-Ls33RtsYF<~0&kZkf=vtf}b5^-%Ud5DI#{0>p3B@0b_ zvSo(+!*~O0p$;+&FnE4O&N#RbOU;6sCj6Xb0rQ_sAJfJ(G5yR5rh<7uE^-;Z(?e~R zL1Qf^3UnkvI5rab!7)!p4>oGZgY;ZkCmITH%Ut@u=~HwYy_)`revdAu7sy4D;Y(eN zo+4<%fp(xN0#~*m@&l}mL|*H%Sq6F8EOyIu^Lo4t)BK|OT=O?gAN2%vD}*$$$Mn=f zDv>gi-$8#9dn*j}8JzO%&8!#4bLE%Uuvs|FdzpzOoZEuq*5J4W@M6YFI3akyQ5{>? zx3CCCd3}p%Wh2>-o$l6fh20*`-u)OC8_8@lgtJT8OXPUcNc>EkCtJumvY4FL{Tz2$ z-iLGZ@bsN#aw1V$>GPD-FR7@kuXFCWp0WLUMlYn0Tw40G*Yo#W&)9uEW0%}ba#1?G z9riQagLt<*#lYQyTdtq>6g0Bjg4EbiYB^esq1YJ4+Ur+6(@GjS1T%sKAq2sS5Q-3n z5RMRm5Q$(zh(d@)h(Q>KFdkt70*_!vh((x)FbN?JVKTxLgm{DmghYfSgk%HNthO&g=qG8DJmf@J;-way~>zRJTzsl6v z>@zgp1!q6czMEpL*sYLtK3h~hRp#|9srA&jtLht^n_>O=>^6$qjalS~FS5^DwL^G2 zS%E=sv1RkY-kj%gf;$Xzh@3VvSHbmin@ts_2e@|b1lI=xM9yuplgycg)7#Zopvc(^ zO;k=s!n5janRAaimN<8-W3h9WI=Y=Z)p4R9U7ua4!;ed^fd+!7o&%l%xA%dF#W$6ml+ z#9&Szvujf`8wPU=(>dtpbGl&3s|H%GvgZu54_nCuqON{LO^v5?iO;*DrnJtv?--t1B7Zk6s*=}wjIQ0aD+_R4z;az4W|LmXeQ?_kp%=MhbH ze6BtVPSH$-PUZovkNt&q4T|eDe0(i~~m9bX1sTVAu?{LjOs(Nl3S> z^9>YPFdQR@Ooyd)Wi$=RMq#qS&DT}9OT8T_#l*xSZid_E zscPV_OoJ~p!X(Ho4xbABuVp(RlM~*M50k=bl0pT2znrBLp2IEcRu3!=$daa6S|3KT z@^pfOSy9WE`Mh=Y4R+a{Ae_NN=X-n)diaXUYW~_I5R!z6;P@~h4fthZ3fxZ%$1Sa) z1NR3uoGn?~tZ2h@M!4e@v7hX^Lke=LkgsxosgrZ1k@$<6%h#vS#r)TRJq|E2Y4pDS{Px8ch-K zR;ciFNNdf2J0zfquF=|d2U6rrjLbE1yK8`{5^n0*1UCqPwa$~$;q>$GJO0F7hwYGVX ztPM6{i~P;2xdAWg;WL|%t;k}aJOi1Ty93Ee{T{ipY?2TPkukyx^3pKDL=og1xydFJ zkepG!1Bv^Yz<#FR(9F_+r77V{Yul`WvY@D0&6$=*NhIp&WWg6z?&ZBJ>iIG+@-koT ztwz3e@(UHG!>MFsYvDgajra|oj=QVE!&g<7SJc<>|BD@1a6}6FfCVGFbU|-TPZ3VY z@7jfhYM{o+sd0iGw>~~~pggGQ#AedoF%fAh#0huV6_KTG-?A&wpvG+-(%dtpj<0Z6 z`rySlq;Tg&d@@<@TLG@mh%EKu)o<}A^};=0I0Loc+G3zz6I%fMOu`0@f41KZwfTHy zV$F)Gs^nO&ud=+dX11pxHY>oWteg9w$LFgoE%nsIW}%Het6*fIlxYt6#`q-@4Tdv&mE^yx`#j>LqS#a@^I5{-1u-5IX^OP3UdC{)1jquh{aa_c&NQARC zDG~7TQba`XO}J)z(Tdd6v<%oCCnP}XIa@F!P5Q8F(fvA%qzHOhD+)jT$;iBh;rL4! z{t|N$yMSWxtbAce{2NVZa^>Tni&+|@kvWZK+=JowFsD)Qv}Z;hXdiar*3SCDkifaD zu{F=1xiuS|3w2)HK-}g9ccRM*d(VqD((S8;SI`Cc5s6B2r6%)J>ymj_b!{^5Q0^RQ zrLI&*CiKTjZ^Mwp2NIjyz=&QPM)LUM%Ih3PxT-;VUkHQT56KXCrIC+^{hx?WKzn@R zG${N)h=7q2$pYprk@3*`fv|!=JBlEzg|8chWZ)Ad0ZI~GmYe7lQ&gk6Y{t!0gJ*s( z*kNR6mKvc>$h;uFNodmKcP>ze%)DQLD7{tCM zeI$1^i_6F34WQ{2FX>O?`|(cn18IjC4q@BH16sPqyQJ0)mUG!*gtJo}<;&Ye-FPE& z0UbadhUYOCmzBuV14$&V7mkCFP z>QFob>^(w~;?i6woNU+sQ;CK4s~&d!nr!z8AqGrq!-9$6zGyK5?)XJGfO4nCBER~r zP)49j;tz7t55i7j)38X%RKNHS&V;;65c3J@C?fX|U=fYsC_0^leDqskDPcV{Z7?+G zCU^5(?3@F+Df0*6B)ihxfSgkARo%kG07}af-syLAzU;1BDOSli}Qv#J~%sDli4N{IkyJK zr-S2Da_TJUz3Cd>RN z-yCCn{|RvutlB7csNN5Fo6nLSz3Sk;Zn5dw&2ceanJCD!+oU5pJz=;PGdyXyS7!V5 zvke95Ed?x69-C;1Gh!CnQGT@uxT{8``^HtHZn7FzwbiubD@IS5V401Ko`55x=dHF_ z;mA*uqEyS%lKJ#eF{W649V=jY+OJ!lrdU21`l=->Wd9_ZL3l>&g1)DujsP$5KTxp! zrsc`-_)=*Sys|}#KGZ8w{KI!)2Qcn^ZXdUro5xKueQ!ExYB!ab&>-01A z;kr+CM|A6T_v=!0xb|J`ZtY5KzBWqprRJEXLsP7ouF+FPA5ed!mQuOse}S{)L9(9A zC!>fDh(8jmh%Ca4{~bSqKaRWcbezV{AWboBvOm#`5mRF6#v?q zi4gHuDKRYGAA7@^#V}#57)~bm?Xdi>QbO1iKOdN*zottOxG&{~hNp`D31*Z5r=fqk z#s&1W6Zx=xofw%E%o?heS8^1JAOCn|K>}KUT3XdGv|z#$qD@Nhk5e9vve`=HkJX~L(N=%B@?^Bn z9MEB#Vuj&HMZM?`3&^+{DrntU^$kJwUAg{HW$qaDJ5}`)0$tE3^)nUqt%0pasox3n z+Qf)3r$0n_lrmb|PFU{KhJyKVQ5#W>PTHc(7^5|s(IVQC6a41DzN1v`9IG-DR5?{H zeNAeidj5_qTm~f?j*`TlowRSIgq}D6N_4+KQ7T2-N(Zx0GCdD;PDXzIn?&9R6Z!m`m*>d zjYa<0=A^b3O-u1!H!BUz8eLvMZNmyr2^0)Rrlcre=&9)615`MoE(&eOwBypQLck4;ds+`s2XfD`Am7HDB}g=7Ncw#wpQb)DKoH+$^LjX lCY7N1%|wizJD~KGl<@zV7`Xzat^Y$N4!?N?*pn)l{|6b4zo`HK delta 3495 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 F@&B2(`?&xB