From f624d3a00ac271db7947443ddeb0c8bc2e93d3eb Mon Sep 17 00:00:00 2001 From: Tejas Chopra Date: Sun, 9 Aug 2026 16:24:33 -0700 Subject: [PATCH] perf(proxy): bound upstream calls and hot-path costs (#2852) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Seven commits from one week of load testing: one hang, two request-path correctness fixes, and four hot-path costs that only show up in production. ## Reliability **Bound every upstream call.** The litellm backend had no timeout at all, so a request the upstream never answered blocked its caller forever. Observed under load on 2026-08-07: four agent workers on ESTABLISHED connections for 36+ minutes while `/readyz` answered in 0.11s. No error, no retry, no log line — indistinguishable from slow work, which is the worst shape a failure can take. A float rather than an `httpx.Timeout`, deliberately: litellm expands a float across all four httpx phases, so on a streaming call it becomes the maximum gap *between chunks*, not a cap on total generation. A long answer streaming steadily is never cut off; a stalled one dies. Default 600s via `HEADROOM_UPSTREAM_TIMEOUT`; 0, negative, and junk fall back to the default rather than meaning "no timeout". **Keep the consistency re-count off the event loop.** It ran `tokenizer.count_messages` twice directly on the loop. Since Claude counting moved to a real BPE that is CPU-bound work stalling every other in-flight request — ~1s on a 2.3 MB body, with `/healthz` gaps tracking body size. Offloaded via `asyncio.to_thread` on the same tokenizer instance, so reported values are unchanged. (#2810) **Survive a re-parse MemoryError.** `MemoryError` is not a `ValueError`, so on 1M-context payloads the byte-faithful forwarder's verification re-parse escaped the handler and aborted an otherwise-fine request — 14 aborts across 8 days of reporter logs. (#2768) ## Performance All four are measured, not guessed. Each degrades with something a short benchmark does not vary: uptime, content shape, or process age. | fix | before | after | |---|---|---| | Cost-record walk per request (at 100k records) | 13.6 ms | bounded by model count | | JSON-block scan, JS-style object logs (1200 lines) | 4643 ms | 183 ms | | JSON-block scan, truncated JSONL | 3737 ms | 116 ms | | Lazy imports inside user requests | multi-second | paid at startup | | `count_text` (80% of local CPU) | — | memoised | Two worth calling out: - **The cost walk degrades with proxy *uptime*, not load.** A freshly started proxy pays ~0.01 ms; a month-old one pays 4–13 ms on every request, on the event loop, holding the metrics lock. Deliberately not a TTL cache over `stats()`: those values feed `check_budget()` when `--budget` is set, and a stale reading under-enforces the budget. The fix is to stop computing what the caller discards. - **The JSON-block memo is built only *after* a scan fails to balance.** That ordering is load-bearing, not an optimisation — caching from the start made pretty-printed JSON ~2x slower, since content that balances on the first scan has nothing to reuse and just pays the per-line dict traffic. Still a constant-factor fix, not an asymptotic one. ## Tests +1202 lines, 20 files. Each fix is pinned by a test that fails on the unmodified code: the re-count test asserts no `count_messages` pass runs with a live event loop in its thread; the re-parse test drives a `MemoryError` through the real request path and expects a 200; `totals()` equality with `stats()` is asserted across model counts, request volumes, and both pricing branches. The timeout test is structural rather than a mock — the failure mode is a dispatch path someone adds later without a guard, which mocking the existing four cannot catch. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 5 (1M context) --- dashboard-cache-ttl-main.png | Bin 0 -> 265727 bytes docs/context-mode-integration-analysis.md | 378 ++++++++++++++++++ headroom/backends/litellm.py | 46 +++ headroom/proxy/handlers/anthropic.py | 16 +- headroom/proxy/handlers/openai.py | 7 +- headroom/proxy/prometheus_metrics.py | 8 +- run-all-plugins.sh | 171 ++++++++ tests/test_litellm_upstream_timeout.py | 70 ++++ ...st_anthropic_recount_and_reparse_safety.py | 158 ++++++++ 9 files changed, 845 insertions(+), 9 deletions(-) create mode 100644 dashboard-cache-ttl-main.png create mode 100644 docs/context-mode-integration-analysis.md create mode 100755 run-all-plugins.sh create mode 100644 tests/test_litellm_upstream_timeout.py create mode 100644 tests/test_proxy/test_anthropic_recount_and_reparse_safety.py diff --git a/dashboard-cache-ttl-main.png b/dashboard-cache-ttl-main.png new file mode 100644 index 0000000000000000000000000000000000000000..3433b1c5620ed5ae2a36d7c7582acec6c9abff90 GIT binary patch literal 265727 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

KUU)%1 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 z z@%w?GXAjot1s~tQq7Fr5{wsd`C#3u*#q|I8f&V(~e>)EThs~b!5lAWmS~8;>aZw8k zrj_W^7!}ty6uXBzGXB-%#*|DsXPy zl6R7lk}@)yOFrUH*7Eb^Iu*`XGcFmYc>LJgvN_E^ZA)wbgqkAR4%S~I^8=(-Z{EDA zGR3yVWiUKoETpt-8iOsXB78V1hNVm;!G_h4{^N(V*qSgl27}q}l4==i5L>>``!ioT z16|9Q!gA?Dh@YiT)u&%P&qz%z0RlM1==b@{s==Q=0=swY7oPx55}>b>xZo@ZM9dHs zrZrzlH^BdwKaBg9mG!>$k37&21AHTW&M}cN{AV`SDKI1`HUzLnC;^}X_-lABbadzT z?dKHuGC?v_M3T=+#(g`zimne~8A>mYmDkiv3=XQ^5PV-igB=M`DVWDlT^}1-0b&Rm z(A`tOhEPn|^Iww@u5|ZO|cRq_V-dhfwiy&2rFd%1(hts{sWK% z0d2(VWa+L?WT*~AhzsGF_pPP>g`aTh8T#Jk{rwmE;w-=TmNAIyKV9Y@cm+Ucf{1q1 zZvVL<5*o{!f1dDPhl3Q!t{?9Ia+!ZH9H7m@$N%$v|IF)>eD+^mrY;VRhjX;e!`yuG z#6#s4ZZOWR&|;NN+asbo(cF*kwqQ4&Y;$3c>nU!`Grh3{~b&HEVmGMQJL9c_yI z*qnS1%3mT@|4pos*D=Ut+V=GYOnSUNS;>+G92E3qJSJD^>>dR1Iw>dL){m`6b zIKh9u2;^bK9^6;fT+`kLE~LWt>Qx6&)0~l!Xr!V1#+x%ZL{^_Y!6F=yNFwR`5bW0t zznH=ahNaRo%r*x|?F>uBx-sPCD*iC7&}ZP(d=zDV1E@jlfs0q!ARkrpjjIj2baW{t z^Dcc^Q51iZCdp*de4zAUH6^9^;9�r(eA8xx}QU2)G;vFgmImeNom$Uw;O7X$RD2 z`Z&1^SES8MR5LMXK7y}#`W??*-*_51u)_N%*G&)`X<1vZZ{UImyKH!;u!d4zc62Iq zzO5C&!NH{#8MgfKt|E#`z~MBhsQLUJpeH3Iqx4Pp;!s9)xFYOXmkOn@t@_F!!BVgbADUkx;aO3p=#L-piGuLQs(k^4`ln}d@zM_K3WH%t!AvQVZ_q> zc2SLI4Uy!woY~ndQ!ZuZif7oYv~|&= zd;0+BO3D51-Jtl#SFfHemm08mMH^#>0#vuhB;1}ORDiDa2QyhbLTVA)*+a}n*`G}L zWRF$_L<;y0DS2J{J|%O%a<5F8$T*GMZ-!R`*k=knN&(M@O;nAn2vm}u9RE2M4+3_QQYx7-Gu$|;o+X6N%psSFBVVH`(s zA*JdQ-y>SEWe+I@xzBe41D4g6EW2Ob*@vY%g_jNjC4+hX<`|e&NeQd@MNpe*00O=l z93n$P)f*EZw|G$2(r;gLms&{PR>!i_Q?Fw+-mUM4P&J>H3CC4cON;hz#Ugw4CUrs> zJ4>PXWoSGJH5QJJRRj?HHSylPxh`%edG!*mDA`8}=-SATZ zI#HR$uh97OOYtO`fmFw@uu6+i1?8_ti5->I)Ib%Za@OJl;^*+T*mi&PkQ_=Zvl!<8 z<1zHPg`0WJ*^8|-!zdB?Y>UyRE}igr4Ihd+`QSu(GJMCCzp(({BkEF)7bcsP20c^O zyzFO~xUhiD`sDBTQ@?w*@IGj^SAf?JX?YbUh7Mj9Be#aW zb*t^);L|@3DuzO12O-;~N<};zfjvI=644p{(gITfmf?9m!5MBp``<3cxQg~@suSf+ zpB{JqV7NysrpKk*92erpDsOM7uJ$s$#mb{!qBgHEZ$#lWwUDDsx%kIr4s_CyV;zbq zh~4f-QW31n0=j8ycNBdxAugF~5cu`0F+KxeoXxLCWV|XJ3xQBo-u?-t;46N;FDea3 zdOp>aE$E5JnqET*nYbAaAiXC!WiE6K(AD*4m4sCC9J?EA;)l#*sYytvgwJ8ARcR~e z3gsH>p>KOrvfLI0b&vtr$kTua8kR;JBCl67u^?W=xtdy9ESYS;+9&zU)oo!L4ljV< z(h4=9y0Zd^<>h)Zi4yB%+hKjpGd!M-n>dXm7DjY^PL(a}Bz?Px1 zGHiqBN{CQz^85f4PQ>N45xqj zD>t=;7&gC5>VPuRP63Pj{D2S&{Uj(4WxD(p0@y~h9=Qv6z{Gf=_GXk{%@Q!17c z&%#ujo@@<8Sr~*wL7uER%?Om^`WkE~2 zx<=JAn@74`rhI;44-U}LOj>iTH-~%>MUuFmCb77B2ACpLd~^ujaB&7a#Jx)n4)8{# zQ&R>c64PYO5wcG*!H@d<4`4r0fEbmkN^Eln!cA=k^+4G?$j;W*bJmS+)w_iFOsex#%4RZ`gx!0Wkq#O194 zlsf5`(!i|s+?K*vIYfG|ejpbC)sXnOlt5DyVX|~Kncl;IQ<77lTq;iOvS9Il3P9I+r`nB41e z#p<8P>E;07&*-&YnC2_7C))ZG{Hxtr&F4Hd^2Us*IiiVuy~~Ra=FBh5>h)j>Fty_T z9u`Fi_W|o5v4Da-$J@igicwXH?}Y)ra;JIIrPp)!r^iIKw`ony{@ME{71KLN%3Sg8 zfyhWz^>o!q`BAP!Q|q+}51}bM`lL~-`RM|P&cU+=_>NsgJ8HT{B~}Q{3ocs5vL9h% zctY!VcCq4CDm#dgCESURK3N!Y4jb`Lod3O6<4@lc3hWYX0=LTlRG>DzS3JceX&c?5 z-c9_);lN*4IZ0Txb8%yz=<4lc!KgLa_xg` zOJRpZBq)P3%IRDBW*ht8R%&U*!L91VK`d?Eg-PufDwF=Cb&vO+Km5y$re|K>G+SVY z!=oWlJ@Vy{NFr*X7j!Q;PS)wJf+U4F;&7BzdMzOBA0WvGjze9E2ehGcHMUbsj){r` zmTQK49zu(=u(!b@JGgI7#=ihN3C3q6ilK@PeuGEoo4|64uo^QVJ>}_-Rh<$~+TK-A z300X`KD}~vBLrxt@ZC%DnH74&j4(*x$ws*axeGpvD{-AU9Pey5B;@RSN7u$d%z>nk z*`&_4?oJHg4NyGH*rxn6y$wiObJS`zHeiK>W@bd?-#BOVKJxjMx6dy8p z=82jz8Bipm?fwb|h2a8Ac?yY~%iHvmv)?^E-117xvyDwv%qDkUgs#$v8R{5tIKlBN zA)}iP{CWQBBfdUf84*vcnuv=xd1jjeeFkE%l@p#$g*GYRWU6F%8PI><+b(i&o##9k zd&(-q&&tTj@|@XwBipN3)WOZZ#uw^QJg&+`hA&xLYBE0!VGtaxndW&r1I#yQO!j9* zxdiF+ASN6Z7S1H$E!#_|hIZ<4xv?E3=K~)*MJMEfeye2|RS-6A^v;ymH_cW?x+1PH zKEQw6{F~?&I~&E25t-NVBr>*j?l`!(O!>LJ5Q7;`F~O3eqLIWr zCh^$S^;DaRQ+W*MTV|M-lshHzOzno=KqAS3P=j4a7CqjC{fY#*RRlCUkw+ zEeM*0@eY<~Qniht`L;|uOUs39X>&|WNU&*O zzQF198fr4(mW0$o@WpTChG#(F0%x!o-ZzVtE^&Rsly~?T@HQnSP36^E0;lRe#pZOX zCc2m_=FRt*7^FPB2}CzQ4BA#tZGM;yxD#c;mUk;SHlW+5{DM-%Cdz9dM(ssQSTqh5aS!04 z0Na?3{kHM49hNb%u+{y3B7wn2Pv5t7 zcb7RCWM2F0?BQCTdeXdILbN6IS8Fp2UoCB~5IX~^e)E7H<^gM#@>RNf`|e2UT9R_X zDR*Y=o)U^rl8ZSk;OISJsHaC33hrrE;m7$ceyqA|=g@Iup^+ojrYA7t1qxT5Ja?9U z&qbITw#cnA9>%MDT(qq4Am&9dS|2&WWojQ8SYhRt4w-p(WUZW3fHn`D-`nK4_0$Sg z959}LSu!~tvNd_ZZ_;3Uxe%MYJy)HFYFpHbCp|y5*MN>HSs{Q*raj!!}c1g~%gJ{%=>? z8zmPDW5+2ZWXtucV^n+bK_LvU~y#TE+*sPsG2ye%01~G5dV*MxF{L zGyL|yM!t8qj>@Rgd0AJB+@V-l(^@Mo>@js{?q z0o<2#L!VbawdutwN&jZrNaA195BO}(>?&?~@WY%eT#M-LtfPf68dg4?vLxUW<3^9# zC^_*TH_rD3?z4nT*|zwuQR7CI;`V=spmCGe=P z*pRL_d+Yg7oUT)!jpq|Dqss~c1zwb||N0R&$_dt!FV@m9B7K;;9?-i|Nq07tDbVeF zW>~r5+L))SZ;+5-(ze~(nqO6ku$L!T#`$$VYlV3DI!q^l)3?CSxApW#RoqT<-gBM6 zy$Y1CLfn*9+qZq#?~&iHgkG!SZ|14Ij^+crS_+CPYGyWV6CF0IpO)dTt6_FMiq&M{ zS&K2sj-&Y*m;B^YURG$waQ4?K(W4{hjPzc#;=cQBS!M~G{xfbu^(F9A8SwB-xjxg{ zact`+S!s(5e_3%owt~?OKTri(NvM}cYH5veasaJTDQfRn^V%ktQ10+o)w!3G5pf2z z)T3a1<&u+KyO+h9AVVVs9rt82Gp&;S8N+PgG=f&wT3i1mzbn!|V-fvdwti<-a3 z>ub4nSnpHSyRmP43fd>2Lfjy3(G&A>8cJ4e>1(anuR17~S3K(1@#~r0IK2Gi<#V-* z-jOZBZOPdHomMq^)+>Wt8eR2!ZNvrFh0CmV3*H- zR-O@f+7L+0oHaAc=A^PQd=9vfD>n9ZF33kc2PC&q==qA-(n7}yksANJ6NMhr=jmrv zjW3D?UrH$7yB9uWpnVH3)TisP@{CrfifhJ=VH(2bxHDe~^3d{;Ha|S>w>uQEg3Ifp z0;dD86%`4pM0N^}Cd!$&MNI3&AL1)4Lv{3+>d-vOd*9p7Bad?k3y(EZ1<>-WnnT^BNK@V^@0C`ux_-vdQj`T)_ z8w#8Zqdl$S*dZshydx4%x@(IRZGBDfBMwUz>1UPX?f94v(*qL|Z3F<~f;h8?A}!5h z5_KJehcr{rYMZ=Id4z|wqCF?DYfT2}*IgX`S6VF2@=rxi&?7zc&jqWp@?`zjvyd%f z1}i4gntfw>I$eyp-YLg-4*}txnI&nDQT@kS-mdUtW-bl|VLB(*Z~fc4Co!hGa3&%Xo)KHn@zM907D17{!akNXJW%)YBJoPQpI&ZyVIf)2&vS z2Q}Qy?*)MSR{=}zs z-oC%DcjB)LjWQo=3u}g9duV&DMty;}d$|19JT_J2=6t2e#P{ZYgI{T`PG_;MU$b|} zQk{SB7~r4e(j<_qZQ1?$jrVz5Z)$hptFutT%BWP2LR$WD`CE}*LvgbsnHU%b)_UkC z&PzAmb`r{frlf1-T+iS)W9*Al(i3-+iAZknT(LU44Zw#{8Qfgevb5-1DuLeCsw(%e z+H8PobqbegVASRvt)~JAQtg9JkV~@VwZrwPtG0P+ky53X5AK^l+7_1vB^?{YoCA@yv8S(uxlE{==&^@AGn+w0a?X6j}S1N!@oq-bplO}Htj+^FTe_H(0Z2$n+ z+gEJ^G)9{W^`yjiWK(FLTeBZF1}l zAq6l#L7OvDKQE^;b}k??OE7xEG}CgjVF&e%^W)T}7BufG1Hv{=hJvH9^324i@p|_t z`ScWK-qzlu5&teyGEv-5UYb4z24JP?yjo9Z`Fn}E^2hm9S+2QqaV)7rzghWs$K=1z z@g%;FRp{>Nj@hcGZ`DGU78(cNs)su0Xj%9ezAG-(rHou6IB+wMXH;plU(-g?k#@+c z#_Y#0ddD(7%%A43yI%0uW$4cgDhKE4w2RHkYC!nFruj34c>nY0WD7pmQ++ob_=pIcx9SF+6;Nm5-X9Uoq~k$Okio zT>vspw1Z$^$+{rmGuye>W_NTjX#n!Jpq&=5 zy@&wfT{r<-kHYVVqsvOV@9v-u$i5J`0+0!x=`OR7hI+ceDRQ_zDPn=U8P~7?1G(+g@ch({$|lEq@!{bQ8?&-5*3NL@g9hHUrn&z0YdI(j`JiqhOZAvN5t z!mKfc;vX4TIIMD;*+SuP&>QFV9pu&|`;{hvC!m7IWO<%!pGlVsmBj(VMfyG242%>5 zo?1HFJqDBB!ykD23ES(3^VrK7V_!O-Y%F^S`ah9k9p4=WAHh$ye-$DO?T-@g(0>@S zGSD}CGV{xSBlcI1ial`$%OD3utA2%b_vf%2l~1`aZh*OV618w#rQ%TGD_6>BK)<#I zW6Qg5{xDm$3R}PO_vjvYEpkt^OlLFwr|tNis%l#|+!Cf+^V1=u4 zqBB2-sRBZ(JDXe*MI|CEGwR~t-kx3;0l3DRMVM~~ux0rH!}kOwZrj}HdU5?4V0-Yxfo zrE;#urdrcx{0#3iRhHtTX7JZBsleD6YC6ToFDw-fd@`(mPrKim)&Rmmjn!#UqU{*x z8dT6CF;YIt=c2q5&I9&^SzHpxFRs+$O+jN-qB)eZST`fm{rpFKq`i@w6 zl^x5ii=QniN8p-Cn!Yi0F1(4gK=tBNa4>+1Dkv$5&LM(NS@74NxW+Ot73MJnpHd(Y;ef*s8`hni?xdK_Qdw434%KU2 zbqgO?4e=YyV7QseeNg=K4#vPh1G%OkY|gI4=!Ur%Z0Ukyj2AkU8>2nRK%O3r(>C# zeojrdGhbUdQ!s;<|CA(Uzy1?8N#e!u&#~RN*Wm}c-l~K=P zViKx^3O6^(XWcu6f?7MHxxU_$h4G8U)r!=qsGdr_Ke?4V95Zgt)y)cy4u}kymeGMP zn73*A_-DD2xtm%tDZf?u@YiR3_UDO!DZp)K~-`O{`a^H`r(PN+3 z?l@PiMUME4;_H-y6CXP(?1%X-FBqp9DUu!>z`PucbiRT#jRa%kACazBGs)XaT(vy` zU1c^m^7rDhVm*q(VF8LA2-d&U9X>XiAUE^{sxhx?Bo<=Z^SXk#a&9``yl4NXXrhe) z$oXF`Rj6B>J2iF~sM&+m0o2cC)=U?5xn0G{8SKM(~yGHFr_eyvdZcKtD+oH(d{$stvK zW5n*U5U@KYTV4)aB5~ZrIP#!uRJKO+fM}~EJg?(y|7ieDa^(tMs|Ow~T(TB!f7!8x zL6sj|p}4m|iA4a#0=;!rdWHGnewo&#vjOI4xufn9cIJFAhd45+>OkcMV^B~&(8yZoLGHKPeE?D#_seKY{}WU@zEn6FFn?ADb6RsNi1vNL2|s! zzM)4t8clhA??r#>yz8XbxR87C6h%3(Q*qdg#BQA1KF2Ph1(oQC{}s_#GWWc5EgHi_ zinU-a+K00Xl$2bTstncV=2L!0BAHdTtG>zBlaB=`vd7rOb#NH?{X(w>vs9 zp4#2*AF%?VqenQd?y7XjS8_kD0<~Ma@5~K5pIAg)U5xVrx6&X|Eo9`^=+gErL>5)p zY7s*BWN3e#>+r=&-eLg}pXi~7j!MExOP3~q=q^+02>7G;9rUg+AKAN&yp>Wrw(a@^ z=C)4PoVHep98QmwcclDg=3!?dtG{UK$Bne!`dpCL?w!^?SgPtZH;a76=q+0*ex_)_ zJ&6!1-|2}t23^RE18O$EJp~W@<3Ke|hT~_hcO3&tRPCdhC`6?wXc|Y4Kc1TpCorXZ z_$k1a^w}xQi0QxDau1pEQ~Dk9fBIBZ`Rx3smf^zuemqKY6k-<#%3O+UEh@`mMqqNB zgmnD#2cR1L6Ry3rhP{u-H|@rYAhkEW%5-NfgC%Zhw0;kH|BM6+OLFVlWd(|UBnzHy zq?W+is~wu*Ya?npYAxt_SyhViC#uw9%RS=EY5MkFhhLA&?^W~d%sv|+GWMbtGCekQ zw@LTNb8qx=(EfQVih(w5j9ukbVSotrplE)iCwj7q&Sz?8TWa2d+>p~ji$NX8W~{Q@ z$P;m^Jy^Obu31@YIN5QA>YDEoJ@=+~u3%}k&C|Wt`pDw5u!~EHw9UXu_*g|wNQm!b zms11L*>d!mCEyv(WUFK}KACKGXkKy}q+r)xT4!;HB!9eo@?Cf9QBo;Vt zuGF{VJR6|s=nm^*^569G4Oeq;VM@vAp`Vycur_O{dV@yum5nQ(=$m-=?tes_am+Ga z9VRDnw#wJMqSRB^{t+0bT#4~Y=AU`UVA`6;mf zYU;eSDShv~N%t)6>bmd-qx~eDRGIA|+>`eyIBn|Y*(zb8=h*;7%Kio7SP~qQN^)Xo{rU{)#c3ZpqPn(C!w7COtZImCBHyf4EgnK5T0&{=<9?8wO zOWmE|?sYO2F1o+tFNe@g1}(*-=-wunTp3Jg)9&ymM?SQ)b)yuR`;`-IOnNliy7HkJ zqp~G2->>BNHx?jnuWof0I|R--I8b8S?jgNy)*iX5g-;{b+eDpKA z8ZI$!zE6_q(n$(qgbDd_5@DqgT(1>?<&OlaVBJ~s!zvADCL1T%`3|?43eL_XyC^|C zjCmW67Sm(V3Fj+u#u)N*0ZIwJxvxp9)3qAH_a4m6)=zbXu2CguDx%X4eXOa(RgBX_ z_^WE3NNHBNtuc-}PDnI42DrROzb~N50OcO?hdpEJaZN)tZ_I76MAK~`5?#bt`SnG8=w)Jb zgCYSGaiz6nZ}z*|<94(?Ot3eNsN_t4?KhE%{-PQda_qIqPk4?hvPqlWoJs zmvXz0^ylXrcgnE+>{aL2#J_c&@+!M3l)&m`71Eh>9%w|T< zM%CrT10BndBR`4Br^UO>@}|gEpOK`b&FP9^kL66X-AVE2$OtU1fIJgjYyjz%xHgGV zs+fXy(X~L_k4uO_KK}!Xu5i#-=h@k)nTuqU|F3!rD9%ck06*{S5UB7{RaIot|82|B z4P;0<^iiE>1=`7YALJE@E>1P-C2OGegqFsR%*qnYqzAO$e_(^@T{QfDQAVGPf<#rkOoj zBIn*V*;*O98>e?KuX&ZGrIc=+&6!2)xPAsmO79XW;inrY`c2N|Cqsj$;|K*K=)~qK znqNV?e z2hKWiMNK*SiG$6%N*!I~j~v0Y>^ z;}UlXz{J=c=&ZusA_8#hPmu0bJKA%8il6g6yn&^HlVeO{IXJJF6$M2ZX@_buUu&WWw* zj}E<1L1WfzAnUWRfv@vj)pp_93?Y$j4n|w2qob_c(}I>?*aUj%g*1IlfW^vYSFWq; z%7f#4tom)<#-)cc|J3niV{`9F>hx54psr_Ghs4m?FRr`9wtleZ=LZt;$k;SHUni(b zkEp|TwtsTL`T3x*j=v?9Xb-O?Oqkko@aR-IVPyc$ZR82w8Vc-klNjdTm7WqtfRx$F zDm3n4Fl8aWQso$j!P)25xi9GI7dJxv@ocwRPqD)+lwodNgI}qkDWrAu(-T&htPfIo znv{X=t$s_a4hvyIzd#tHB9#GgY~@kTgJ!-UVBr=)_~@Y$xSfm*%e;)$YjBHLcW9bb zSwC&U}ybga(TVb^lcFV1pDRYldMp%-OZidFAR64t3(`UK{4W;w&!{P7gtSSTTj z5Z^|6jf`2tq9@e!b1ekY*`)IBDnGQ^d?weqd|X9WeQ`{>)V8=|COelNq>jcbT)1CE zxpSHR1DZb#MKF$ttW9r%iQ((sut;_vX+%i#ZwYB$3=hU1uBe&|j zjF{wR-R{2?hG!l;S58IQ7EY=z%~kU;;xnq?1W(UhM$vF1Fb*Cvvkb4x#xn#;jaE-4 z2znp3)__p_UV0UDELxz+uM-AO={f55oSUxn!HiDO{!u~qDq-av2s``{eL3&)ngYcN zD+hmCom!gBD(OING$Ooz!Cg=SQ%+ydsRoW?Vzx(JFl-C%<&ubnj?|2S5jM~Rf@t}& zw?4a}1L>Euc-;DFVQ}-5fa;52!Pn{D?+(du>*so`?cZkBXe+mdk&pN`gx@(_)z{z2 zA=(!CHPoDFH>r)9W2zR}GXfPHjCwWsZJufeF1bt&cc@Eg&e-XdR$Enxxt4ri0l#GM z5V%J(wL3J)kRQj80!*A^EXXD+6hED5FQ!|y@nbH^KV>;Yy(yN}H{~-$gWq&ZJn7cU ztiv8p8=dJMDuwX)QCP<7CwYzQW-Cqpz&~ei%2s_evKfz8)J1iaR8d*NSeNeYPM?^s75Ju?lfDLMPO!JyE2+F; zYQOrN{-Jx*$rn5HQz%YVH6J-dg+06U+<5Jzu@vs4M%vk@;D14WG z*J05S%Mn`t)(r9fE>JJ1jWnyj!rPHLwb$CB-d+>_(e1lW4DrVnTQzO|B$;g z|6u#-6uS50;Qm0w54Nbpbe?;U8Dl=VZFF@m(}ZN1Y1ZnF9-_-8P_GN+l?8H7##irW zuv4Gq;6t1)j8?B5ZfKfj#>;#=N0Fbu!3~tS(XmPDA4KIFmE6i=++mC9y+_FS<=3sk z<{O5iT}eL}6o3GCkEpRdGN;GC6N zmzZjFa>or1cVqA;zqGUs+b*;dH+3hV(OgVRscB;%bUGbscS+zdx8oz7+M#@+(7xUy zzAWBk;#r0!8}ytz5Odf_AJ#Xc;+X=L8Jo?Ed>)h9+51%QsKoSIIa_{O_{bPoZVO2J zS%+xGE-qCM4Q<2;j^8KSI6e?SoEI)GJJ-PNgIDIes_r0bp-!-y`SO+3>_;gxRR)-i zd!h!c&Qp~@^j*Ce5=P9|!&!q_sGS!Hv|S9e|6ntrrN27!Wt5e3t!FSo-lkJe$3{!h zb12fwPO5};_BC34apgYv)pH=< z`;u0s6nyfEL)!lNCk-{w$ue;o{!Wn(z;X@v7Q+XnVcWsmV_$ZHFsKnVvalCUx`Z!IGzv}}b#6{zZf$A@Y zx!rQE3j@^!u0jUVJKQ=wijZ}|*x*g;h>GGYJ_6W)5lALrI|@CCi#zn!fY9Q0*JGq1T7y&gDJt?d0C5-`bmxhYHRBvg*q>%>ejOl z=o-AERMLj6Eyx{&wk(m5Kq*Wd8XT?C9F}LL&*Hh|WPA*|bi-ddoUnzupr%$&x5aur zyt*ZzZJ^6fBz3OB+n`ekdHo|K40M=3A>*+R=_DQ{=$~^pOU;v;9<2qOGM}?S*vXbt z>i9m)90T&{{2G@phP@2LA|Vn-%D|u!xT2#=^T8aYi=4$%>SsV*1(kA`rUEa`@1(A| z$~TV_n9sRh(lK$6c`rd~p|!oOnWmRt%s52A)$vLbj+L#LL~y5jJ%tW@V(67i^{d!- zX3;I$@)cq)Yqt5CsU16rS~pI%602qmd-Mgy>_l{EuXexuYSe6PJ|a-5`+qH6yl8;#QENj&+@F&?vQz zxI&P_D@xg#gW_QPqr~LjSOB-gvEpdm#=Xf%JMLM~9_I{CbiJqJ#5B{UYO7G%O#z8r z>?yl@wS$gUFKV<6^UrB`23r~cGr<&zTyv6>bMZ^RO(r0BP^wl`X~Gp-@fP2hka1 z<#@d%1oZJ}F@u*jut|R5bvq?Vy0GFs0`2$Ti?QR2ct8PeCuv4Q- z;O%`I(mJ;eRMuy%wPBJP+lcbIgzaBYydmuRMz1kzpxZ($@qb4L{Qh^#_W!78 z`g2KV`0o+3%m*ibNXtQr|Bl*RAOCmoA86z69R2G0=epcKw)g*hL;w3_{^luSwE?$6 z3sCZbNE+DQ5x(#*)?mz>qt5j&0ArD!Qw*0vkDUw*&;9EMETJ3A+DCuLg)yTWcW>Wz zZk+qmeJBrJlmWq-2B?yM7>+T$E3p#9Ko%e97o_+yAfOonBs-V@>MoNFAlK3Q5D@0| z{38hUhrc;xpKu@^+L85#z^U>S#2U9|8Jv}swV(L0?oZ02fmmqx&Ye3;?nKrPRK;-h zO)IAWw&u9)c*aL6;FXI$V${*r_8c&V3#_QlvG`f!6c-l*TvZ#WIg=j1RgIL%q3LEVZ3~a7QPruxEO?K^-RZv#$N2A12vm4)R`49N5m_HE| zJpJpKN#6AI^Z~+;|Fu`v1p2P;%H;RV%qJ`L#hGPgJO7!23njRFSG02ePRqa%&06b; z{g<6r&;# z+Kk-_GM-2tU1;B^(?Z;fU`LCW3Ou~AuysoQZ0Lxdkuf1Lk?qe%8A#jR-TjL@4UFSI zKVkhtg8vV7=YOcA|L~K8(*Vt?>!FS19Mx@;53y&>41dZjooG=zqs$2Y!?9hU ziWyZBn$nbf^!m+b&R)yPVZc^gcOWE>>*>0Kdf1-H91L1Ne_?e zn+*UV-`yfFFK?f&?79z@pq=XnmV#u0^#&z?HB7LcO+^^mgnR3j%N;=O5|{;3x9{F9 zEh;K1FV~TryuO~w(^rYTqz@h}dNu-L&rN?A!&uWV2cGuReE4)Ht z+uPeohVp=cD=jTOHa=c&$SI@-G?ae*djB&26L5$Poy48m z5A4}-{Z-q7Wv&G+v`gYsiEpki10n_)85!5FFh~WM6-Eg^-(?BW1*xcr=P!3CTz8OU zGS!xRWWk*bG`$(5qV#VEB*Xt0S)kEB%fUZ`;eR3}0h|c<`)`#71SLlNj(zvy1sIjn zr!SzCjt%Irg22+hdUG;Y-dtE3W#|Ql`#jRMp5V?MAQ!00eS*@kvg-S_7ZxTzYT2h> z?dk)rUF~aBnm;?@ksL9| zjoZXaxF$#)-O({LDSIPqKlRVue>fQ4&Cc>~g9jvGwf|;S#AW3zM(T8K?p9-vC&3p< zNiUf7{XTpK9lQ|rTbgi$ArQ{rr0A;D%<27hgXJHa4|&8*3^6JxsT?}=HH2;iG_9N* z*P#9`?H?;-f}W?DQ3WlQbCnF@EAT+};Pknm&YP0@W@YaV`hgM^JRup@x>EP_@QqPQ%FVA|zaAYOnK5<_ zVhlNE-$HeD-Culh;XB@s#3PP=Eb18Tb$+H~W@5&fZ@7supz9Pq0?!Gv=L*-daZi`L z5j03Xk_8p#ian+uPI8>we+62fcFT%9?$2)NKX7Oa2je6eIGG))nK8krKz# zB=!ySTbx7YSy@?%?RUUe!qSy$|DAIdz+PJV8kOB{qWXJkANppJ~tEYdDCg@=c$1D4ydKAmt8 z^0dzrvN=WgeJf0{w8we7|6M%(Ae2^M1VT~X`pM@jH(_Ha*6749crOf&d?*m!`bZq_ z|92Y^(F6bunu#*ob$|6tW3MADb{&x*XqGVW;lv87cv>7L?T+&dBi1Cg) z5jOep;~CK#+sl(E97-oV;0{j8$7UTZU&BszhL95O_xHLAOM%q_ewZ)Sjvu&ZpR|>F zb1@KM^VqdD#ZFSzgq}{(g1x;%APm4X36a(8sQr*`# zAqp1`2S_j_288U%#RJ32UUPgm8A>!cRNt;)J`o3(`zk@i8!Kt&{ntf&e$cb`<5JqX zg0eC?d%JSiv>f#)bvBuadd3#6L|O9GBpE3q-Vj)&+60l3SZyo0fwbP zPjgF)v$Gmr;Ou1kZ=aQm?lL>arH>VVVH^PWGidVnbN<(E8h=0Y|8j5nfBdqmkw_%+ zLVZSmfBzXJ=pNufgwP7?Z2vr6GiaDgC>3id0!sHLi^>i8dN zX`;S;!|A~!CP~mz(a6Y7!LbZ;7@4aKTbY#`9IR&)aZj5KmU3R8bkx!UAWX1PlJypy zOY)_u;G3zio-AvmU)>tE_>pDljCivfAeQ^QrCBZ{`S$JGNw9@)7y94XA?HgPFm-$! z9P;(JjqxU{MN-(ICkB3-jv7>Z1;3mJ#xi82q$LO^#D154D!hzILZY#x#BFea69=2u zhab;7mm&`W|NZ2kTL2Pb(f9U|a{S{`$jqk#W-aX~X?z7c0rv}e=VR#ppBhFdv1I&# zxgZU~ZBu8)b0OW)xFnDHUK}8dh%kgQ>ypg4FWTRv?}>vQ_1`eTZA=I`?O%!IJ!rsBaMYjnHhAnYc)0o4eqmeQp2wUE0DI);8=KX z@}SJ@C7FW%)v1{ga z%Ig&2D-PTJ;arFlWsT-afXTRi&&Wt`_sD{=v%!yY%XoK{oR}KB zZdiyT;tDP}7=7{eLmnK%4S7dTXByQQ`Q0|$6|RA~Pr!{N`dlGT5rX}aCSnI+ICS>e zwf&g`i?<*tIT>*aSCtsf&?{wN5SRKbZo@?cTVtS_3lW5@3oAMwH7+KP2n0+{+6vM# zsQT6D@V|gQp$VIr=%KrBrCDcaUeN|2@D~p)zFsMiayOjD#XS$oa^R&0D<84x)adQo zKNoTE`R&SGarqB5o!Yw%`wvK|kAl{H{m){2u;^)A(02p?D6iXieH74sg-C zosrxfD9x1IAo5}zV-gq(FEcwA1IXHgQ43?~ZNE2}8s z!BTUaD=j7Lb?CpppMrID&H8fo*m;f4Its7hDa^MR#NG#=6c!Y5bf7BqPAkDIof(*t zYPxx#pa+?praULm1*Cj7-wjrHDLU1JZ!bX~P(3XU{SYvBJ zTChIO!0}as5ll0dW(#d(GpR!ByW(4?q5EAE-iQ_E%YO`NHxIG$^#@i*+BwiAw523o=6qqqpl zzjrVhh-3BKiM>ECIG3C>@WJN8hrhDKwKL%X=v6?*dws4y0B9etb#(q+qgO6nB^`*4 zj*00~s0CVqf>hdq$zKs+`Ry(ar}LD0(LrS42?vM2{>SqxHbC&Qwz67VU;ptJ=rOp7*{_JWd-#+Rn1j5J*Dc_#|7OT$2C8!HHd$hdg0RvLIaQJ=MHizjs>Oepc zH0HAr(*MutNcGp5V3oUg_Ll#D3RY*|+uG^6y^10?0k3z>fi_jzG`=Fa4`D)-Mc6aB$?+*XuDozef6Z)NU^A zp24Lxm1-t8LBBx1D`@2WAN8uU&+q%3q^GDY@66?5dnR*&1{Lo%zy}9Ee~LP;42RO-MB#ME&c;Ozwp|39b$+0?4aN%Q&HyMBl+fS~^5$^N!WRx$4UdSJk3#C6D3?g#y@$E6B#6_LV zbrW|E#OOm!+IPK=GuiicorZm#yKNy~zkE44E#>0?SCUq^BK_etz(4?~hk7pGLor?s z5pMi8g0015Uh|h~0uRH>Oh;mhZ3D#S+t%-UFu$;r4F(JNuY>8y(L(1eIm~&sNa$X@ zS-B{0tn+k18&9Z^*M5|wxbVH+uGb8l*`BGu#4{qpYnZdM17_pnRp_BqPW&(k;+ z<_LQe-B*0l)n>ezWp2#*X{Ar33)95_`TpYQZto>s;n&cpK^?E zxJTZ#$n7&e+Abw}9j$d+6p}3$6qb@*z0Pu$*LfQIUW9Nnqz&vrHSNQ_3uGVcy%dL#uHTuE!=b z#GkQB(u@LbUT@spRr>~XjE+Zj3U#D#%`?aQtL&Pm#}If=uc!x6c+09>TUOThSnm`F zghodw;(L?%W6Hag7PvmDSfZFya4hk@^gF<+^YpkMB`k;)r)R;3@*7-$M7^;^;IMbivcE zt?yeFYa?4o4(LU*vi2 zigfjKbmn2!9sWB`Zr?o{M!q`!=`YKdJiZ%}1K4gXX)X;0Ajh^jbQIo(G z=p#-xn(8O4U{V0f7&Ax~7OX0-h*|&P(RAD2 z-}q#$21s8w<4?Ehq}f?><=u7Oymlw-1MLUq=*&TK4YwWhNvNm;ha_WL0aWEQ$ z$)t9`Y}UN|$n551b!C(G`STM_WMq5#`hg2R(#M^sOq2Ic&dvpeg6f3lUN#1mjy_Q><)E@vB%%eBm3y&Sv} z)i#|Z*=?6i*!vA9HT7%{2vEBB*ll77+YJmwb`6G2 z%iaLsp?B4L^>^N?fH=qE80jcfbR_Yh4*zEs)IFGEsO>LBfFW@OAvCSQZ&{y2%@ zwkDW@A`k6X@)ROEwWDG?Zf0i8FI=)1rY18*1_Qq*6yMVb6&mBu$U92X5&Lfa{f_)H zu%5Lpr}%W1Y8Z)?K9HvERywZT)GRsPjm%oONBX1l11NGc0|7de2)Tac2~hX;MET z3Z=9*>Qy}Ve%`Ejp|q;i4K%=Zb@u|cU_+cVO{SdfRQ zZW@M6K})^p4$&=?_d2FP%jV%o1EVn%TV+pJ9`-&x?ruOy?FlG6nt|8U6r~TNFc#8B zvy&K}t5>gktp&&}f&lQiQ#b|a;e_o5i)bo-BXC^I1|#ny@4KDP!qM!mVovVH8dmkD z@3hs9*-CF_@Ek4hz$)t}Xd8;3*;kAtnFeM4LXB0Jn8^5yjP;|Wf4tv`>`*orH*fBF z$IPy9eVIX2L{Q?lxj6U!Dnq<$#+mb9Px8;`Cj;z;p7OGPDJD8({Uq(n^klT zu~Z7bEUJzH9}NI*5Br`ym*Kocqp2a!Sra$*qEjC%s;0@ACbuFrJOC>6AT%i|g12I@ zbh>Y>&a$H;0HC*e`X*9i(2(8W!V4FCr0|F2Fy+|ps&~B_vE90Q8sEN6$uNyhZTK)Y zon}n(h_^k2z6U5OshnxMQF~I(&a@XHgAYXWxh0)3ZnhUkVWQ4xa?+3g9ty6JmLd*3 zfH2{3axjW4Dk@46lEE*2m-9f4qTS^zQ8$KY7s(lfm^z#e?uDN@3g#90xx>B$M(WMm)zA0-uc3^z9NG9xd3&iU^;1ok=1w0&L@8$CuiFK{;k=2=Za zCkbsG%RhpSN9>H#u1&`IoaMXb6|c>kK7@7TR2g@%xHYKM*VrFfb@*RH%;Q$ZrNQ}W zWU1QpC)~DrK8TDwC{N^uisGgCNZ9u_h0ik0T-{+|OLS(6iX5d{(ThB)TE;q)B2Zt* zZuvQs!nZG3fSecna;PkcTVF;-*&w4e3J7;v#aBrwhGVoGPrhzMN1I(!utYGkB_imm9QZ72`!{hiD zt`T>@^s~qA4Y6DD--5$!-4zrZo0hj&u4JY+Ha3Dtga4r-9dh>2SR_8(Dz(Lrg0LW` zMnTKJzr*g$(F9C!Cf)?1T?QJo$=RuL_s}WhIH_Ltd+|;Zm!e9aUB2ADP`a^Rig^9% z8@#tln1ziMl?*@X8F$7Ie;FS4(ljlQG~u@p*cAL0qtyE>mWW;Z-33cE;sWQ{!!uX_ zgBnjsTL&8Wox<*sl7}To0f^Qi0C57wX+)L{V6y_B&DcL`bQ6QlG7E_ZU-I`@+w_q+ zJEQxp3-_R+x*o4q9LC7MM$Q#8=p!QF1q=m+3#}{~n3x{kM;tFcS1e@?4{NWBChr=A z*$BmB^=X#qMLF_kfRi8caD!o{fl4TKYO-0KDm^zN;@bhuqaM?8n-i=2B#&119ACMY z)FrwT&HG>H1;R%^rv0%}BS4v zTl2m=k-xQdSabJ-m6Qz;3l}>bJh2QB6Pd$tRXO!t`nNsiuKl0}wND8VV}*Hnugbrp zV!hblzZvlesvg^^??y&vDX|V2$_^wuBYXh^hrJsPG)ojJ(v(uUEEi0FIz8RZkBr*TCZ~7rc*g3HxD2aI6_;p!X>WeWw`r>>sVz z-ib=brc3@6=BOd|$H}$fitg?&oSfEX01ZE}q+vG^H^r+Na`(x<0s{4eiZ&+QID*;* z&Qm3O8CWtv7Pr1)WM|`rE}bN@WIW`R(AG3ub+cAu4(E8pBFJ<tIv*#FC4BDB`xikWH^5uNYY# z-C9BXqkhKiy$IIrTM-R#fNxy#v^0wVzxptq?R1QIH>UtzJX8qKRs zll2J&kEGdoABgfkkX5u<=}`E)w^y!}!o9tZgLP&6$kh}SqF0K`%ioV}hf8}O$C6M2 zCMUKkV&rr!Rt=Xw9M<3Fq$8X$nCVQ!J88^piAR`GA)7bC)&~ZdZC|it|Cyxh-d3abPWl$dqHE#kIACjx zBy=(oKn>SHH=ooD!dA&j58^skzxuiP^SAzf3poA+95*znj`#UeiVKRo=A}!4#@Cs; z+1z~d-}(Oq9KL$%=GHwR;E*_|Hq$5S zZkRCyNRr7`e{xeuOhHdn8ar#>ORT;=8AoN6fC*$HsdZ_(kRQUR7TS)Yzo zt|v}5!C(&ZV@2JSol1eb*iAqiycywPCzY2aXhV)w`7Ax1-ZKpj7~jhE4u4u37oXSw zno+D_VHFP`&@hWzBQbFx!~o0KJz;2Q(yK8Wa=>MId^aSs9W~Zq?QCe+o8#J@(~DTz zepa0S!dAuA#pXExVSp+zmha{JU`q!i#UA9bcJa8}Go!b!94hXJ5T>D@LxuP6-$RcqXPoAMYSEn zOp_GPS$lQ$>8RY{bW@atjY@9TQc71XAXlhO7Bj~rN#+B2q^E}mMY`on1!9TSR(VPzOLnJudv}z?E{5Q zelPo9TXOe2o-*#DVvW>PRgX~Ce8`<+E*@T4=)FRxWyzWEdd0hYOG_$rFGFc7>^2i} z;U`gFQs5`u(x<1VW=XdCHS*UJU@Ys2DeQ$)#7)2DUZerhw<0U+uuKk-4BvPIs%N}+ z3TL|NJDz_pvo%ljAA6%kF;PF_9NIz3(l5e|9PX^&Y#2u6o5TL+_S|{;_v^ z-PuhR7;B{bH3b1xTO;w8eREB*dy%c*k1FI$-Cw*geMTr_YmsSbUa)uDBl%b<1}_|5 zbxGbbE*gosNk`3h(G$12=O<0jq9n!6J}z^_x>kYere2FX)QrYjy1JUqgRB>yJ$p8L zBfPg};(eLC(AudIcf7f-r2lBHwxi+9fuRyaC~Qn&cS)M4QC$ZxLs06ku=EKgvA27VzWH z$^0KXBVac2_jmtY<@q124#;KyQ|r@!cg;#YD0uj*hMt=Mr7VWJP-xx1*Ysy9U4gXz z5hxMJ}r!YA>%LD~NN;M|Ed;vj@Uf8^d2Qb0_|ajvqPg0W+)+Aq;5AAnjR7)v`mJB9e854&C z)$W{gxr0cx*@X!3v7aI3kM)5)q6rhQr)dT(eK0y(n>}X|QkW z=;&0Ou?O|lr{8zfg3{H$bpdm1s79yp2+D_DiY16uG+XyW9!`UuBR^6GZi$S^4o3l? zG(;^^P9cJANe;I9XT*F?0Xl63ed@O+V`@ht0KrUG=|T}7T`}YEpACG__Sj=)xB?C{ zE@rZYJ;RqSDiYxSqdo&l-elcyr{UI1S^>^ZEn}orErTI7Xa=X($^QdXH0rb=` z#St+m*N^N3I6)C`bTPKp7<5IDqq z7^*jutKc8b?~C>#IUWhg4npS_a18l%<2IT74mJT3z5ev%!Y`G0x*Ie+)4Z`tzh+X) zRGeClMyEg-K&8hx`!Nd;Tjb@p5GyUjF&ixDM-ou|NT8Scp8H5zN9>n!l9skct+Yvl z3*Zi}VU7t`CYvmfn~9^f)4WYJ;J7kzRjOj5+A_pTYp{V!t>=8QF3dLMlCRUl#P~85 zMkZrL7FHLLQ1}o7|NF)bTu+m@Qz-q_Ab(m3ujZ(D9q+OgLyXS5@l{|}4p7LF9+XM6 zv6cHnHS6nEjrLFSDX$bi-zk*($eZ2Ct`Dq9o@?M5lUmjmkm=;)*q4#I7jl05cq{5h zFAVJi4D1L>1(ZlgW}W1-uh*k)bv)^&R)82hSM|b$2c1ZC^#AM>`i8e|vcRXuq$fa4i`2nBiYE-md5#2<`EpvF;iY=})eKq>G{g(lWbAZq2EL%l1o-P$S%u=7QxGYClcmBlsehC1;a$$rtV3C z%YZ{RHtqWpTMVB<)V?9`;eoYbA#Lngl~lLaSc12E9=?HEDNWAw_GkEa#GPgM_18hj z1U55QcJGd;?=LUF0z4P+YBpYh=xUw06c7)5`6BxoK=)&ruaWOLhpiat6;*1)cT|O`UJ*60lHYpM;EcB}?68oMOa~)* zDckP*<*Sl+@o3LxqK=aNb0^Acq!kqA^1k#^9$j;n?I{=qWWBS;kdTH8e|#q2o=*<< zYS4$hZK|9N0fsN%>RAhXIU5LFp<2i%R2OCo?rGP1EZ9*T^RvtCnsP-AsVjD%51sa)*qslbsX#*9g~J&KB4`$+2*yrev14acW7FEn{v0?JZM(q_k<@j{ zOBt{9^|dsjW-={^y{x{#H>eAeIhWxTK(<)?=bz03Wfj`S4$R)Jr)N+_K}iw7AMPG# zoZTaEwg&kM5Zl>EI&SkP^gMP9h|ukTzQq|`tSqD@bGj{-`t93x*DVOu&?=nd;zggy z59cR@0X)b@&GClRyZr2GFE3u;P>3 z6ZZY`nVl^8O+)YadQd8=oAG7Nk>1meKg)iZzqee4EvBNI%#Sjbcsdr8Lh128AIy?c z*JVYefE_fNRNcT`xj+#(0#&!$7u#)2H_58T{!$&>;-6*E)sXdTnYGQIc%d**cG8%6 z(-hsXwbMus>iF3+4Mxah zy`vV+=oCOj7a4esGZ&w5h*TB~dUlz9n^|u1th;t}pt%|ULJoG$!7}1jV`Ea$yUbkE zV*`<;<=iU4@Sf)v{JR1N$*p5XMu*qzkI-E{%iYEfyESTr?IVf-xX=*tBu`-4__(CB zuo#Vis(5dOFI8l$p4OQ?$^!|-F66eqUDGjzf}%>SvcqV#D_f-Q=esoTrWWd+{d`wW z256;DlB1s#B?PTbt{=%tJg$>N540eR4c%;K92{nLa*gEk#!g1uK&{T&GG-5UjXHZJ z?ov=&1Xv?OkL@1sbnR_~e-*N)m;@fsrN$MeOO15<4fX2}xwIK5zPxb}F*y!Q5$lAq^N+U7kTuVk!CFCdO zMwx}!>fQ1Pup0@{RMgjN*tZrBm1-8|i?zg9i+Gx4`ug zg0QGYvM`;jY*Hs)FDfbc7S$zv|5aG9OmnkjMZqf(Y7Z>kLun&LD`O+=MnLm^JRvo# zDDt4LVfW0RRpnMAd&(p>6)!knGzJ$R+yd}<1YUkDMVMW+C zzM0*jCaLcw)p`g7*SQs^jp{3%Y`{Xxx$AM*qA4p&cF0}vO>nOI`7<4Oy#XQM59P{b zm%|?^`)D6FRixMQNEO%(!GH@#ngQ_Z@QkD%zA*2pXXx5t=bq`an~yqD^-w<~e4QUK zmFt6SBr81pqZIFhaVsp>u7ujl_dh2R*6yUj^TGh2o_WT3pUP;LPnu7>%G2JjMLiBa zn0$U=^cALt`iSYZq3g-5uUc)PncHuia{fOzQ+P+K z&D`Dc!Hg;{={;NaJd8`g)y3|zVD9DDD(FGzx{sF@t+-{i)GP0L;~J~73m=1$8nO#t zg8dL!`V|QqTbWdXW6{qC@6Jv*Y0sd20y=#9?z=sbrGaFcsL12`iD6^jyOQsg@_-%M zsJZpG`+TUqEHc*|eE0C6%r&b5u0^%Ayd447sMjgEj71>r6zN?eF2(0|8V|gbRKP(D z{Ba+h#7wfN6gqAb5UMhkI^eGMF;ka>g+p0+D_wf{xMTJdAmCG`VH#!Zx!5SU2M#f< zkChvz1txS{AuM5jl;#^#<=T!(Mz6gf>wrkV@J%qWS5%5}Cvxq9^p!)BOT($|rf!o0 zJ0s+bTdsw%JqhsnoqILby}N3FBr5E(@B-$4((29O3<>IeeO~b0e>X^NY>|A3mP#0D^jQO1?5s5m?V{wEKmieKRlIG5?MA$yI^b$ zIvr27)Lx9eqo?rHx=eZZS?;`x*kKQeDs`CWS+f`T`F|^Z{QK$6MITGJBqR*}HjSh) zfDGc_KYXO}T^a1^?*1DCFH?+`q?2X-Z5#$K`0w(XOTK?!e(v^vm)`uJblv@bpmFej z(O3A>{q_+kiw6#&d8$PgGe3dfhn8P}nzE7-Cbu7yS76#%v-TN8nm4sAg2h19RCXum zk9(Rc2Y%ad0x=eQN9U7F9cKRjG?3#<7E-t_@JHR z<&mU2yvgqhMoAJCsI5HLub=?3VqgKi(jY+#;xJcUk>pTG zXqMl9v;fz_m?HhEH_6N@+9=cNLp(_o6?H+-%-J;-bfPVn(KCm`gT3o9>&VAR&xSV@ z|A#B2@%<{h#*jaa-O>PJPbk~a-Lu~S9t=OrY!(AP0B=1It&2sv_Vdp;*N%oR zn&&&`cCN|3Z0oSLRCq=gSy`Q_)-4*ZK-X6u>bk#HrMcHNl+t9ZZp1{~-xA2H-^{<5 zn;m%@bmxk&o=rco%&Vw?XUYdL$MbL3s;6ZSQ-K{{SAU z^zW9dU9;PGlE%P;(PsK?QYYuJPy1FVQQCW%^{g9mp>?H}C9?Cifs4&v{UX-&$#KWA zgvl+9h2p79KR5fCN3I7?XvBrg879QvcEm0GP6?9okddAhj_;``Jv{yd6BhsmarVHA z6>Q6(b|zMS?gxSaNY8^7cNr2zOj|F}fJ()%MS3(~gAc9VmGF9AzDzo^P-#?Nge{Ey zJv)N$V9FY$I9Xgb>Qs^1!r&szKj;k+vLOQnm z*QkWuTirXI4S97G91+}Q>4@sK!4!$TF5rOywFVvuK61*38=1mWTfaJTLNubW_GQZ8 z{DP$u-0eo8ZSzVKA7S|$n$mL$_<5R2U;6;pRAAQt@w8K6A6QPCosWp{?AUHTNdf^- zaI#24LAimLm#~3iRp;93gYa>iwuGJde6LxYP_qft!s2q^y}$_wXW<`1W%iY`=NVNAN8FDyXo)c>FKH?aNw|}5RI-q zAj_T>9~61Fc9Qm|AC!v#@x%^lxpQ_lp;1ilje|6q{#+mR+A{Q8a#c1Tp8K3o3P&M) zhCIom9zMW66YBTeuX@wFUjynJNhs;qo!!Kep>mYA)3sd?KF=y`+us467Zl?=N-qFm zYSAI)L+KGZe0LOw=&=H22LM}t|BhCwOsTgFa4xBIYh%jo7ImChoD?dFz}jfIf@-k$ za}ilRO@)FW2iO1IAAFa2&v#Cfu4z>vwnj&0DH<)nGEM$n7sW)Gt1Ym812Sv!UC@Vg zuAgR=eeJB0MkEJ9OlQAB$CAd0HGlxAQv}##g40wtt4tRv{G8+9K3C)BKQJ)=x?bO8 zVd(CR_$`z1LpK)A!~6IN-?GEO?CImOfSWJxs<6=vtu0G~Dl>ky&R1X(Dtvr$X2;0? z+kH3xu=TYG+*KfB6UuVj>()o5yT~67zWk)4qb2{4Ws-w4ZnpI$@Q>1e&eT~KNEXJ) zqt_LAByZ{WMOOZVy*v7aTGvA%UdzG#ZhdZBPI4OKxtrI%0*rUePU3=`ZIqR@8Ix|X zO>I$hQSO3bL~|>&1zN{#(4{9C9GmX@7iNZv)DRpK%%xO=*)2= z*!huj4Mt3`)TEdvud_?3;|bVVXyCvM5>!82^a~BoGJ}r>@yeEh#`VcCNPmUW3lz6C%}?Wjj;PV`j-3Lm4oG5JIM5*% z&Dy3js&-@F)Io<`$2K*joAi0^$aFp1U1Y1_v&p2WEGz5fLPj|NeLVY-0Bh!T(wI%# z9RZO0ak&TD)y|~}1O|pyjMLK6t{rTlxjzMcc~&P!>FaB~Ja&xz7-1}5QUlcJBj|*0 z*-gQY)%v6irHDCkMxTMZH)*wvjcb7VxmkTBdm3V&)AnAsZht;v&TBO~$q`g<0aHmJ zpI!6|4)^*gj#`QP5|DB~v$0a1pEKYb&{g;QbT!y*%>v0-GQ&A4zTb!Rma9cOS!_%Q z0=q}x86NBUNQVD1jm7C23R`#|I5uHbM4Ud9E^q^r&T2aYP~GP%*ZFXBs(K4}?(EvV zd#0+Whxz#NM}0kQs*0l$nq46feTy!YDN>2RLHESvBx|HvzL{CK21v~cj|()%8@-Q! zm237}{PnvjK>aO$B>9``VGr3=QU%4;a3Fyo{Nrk~l#2~#DVjvbYCHGlZbq;QM4T&B zund}>6wbn~aGBM5wtr<)vdMfs$#E;7et%hSB|az$tZ0m#8QBYb$b-vLS_+8m+xi=gX92jG2breClFFqBL$}cS>#R&|7s0JoN?f6l4DcaxA z*_d%o6EstJ#w87p3%qwW3h$&s=hRz(JyuK`kKv&-45DNkyOFQ2?DexO6O?4Glivjv zWh@t?i~CFKi#fQ$`*n?D=r2p+uY+bQ%fZ*h3Jj5#L+%PxRb4((zhsp9Fjh-d82`nL-$GyJ6eOVsCfP%i1=&HQPVb>oazK9ds#V#}5bCENpZUu^|EPWGIUd2s<686Eb9odcD@m!wSNYWZ%b{06;rc3m%5zI{IYmwj zrL#PxX(-7i)#x~6>^&>2`Klw=My`!JE~>X~TDb&;UV{;gSiv znW+*dhmagp0(G?FxgW)fAR||k#4R1T!Hf;_o2c=^*83`H%e{(Ii4T7IpxL)Wr7uY= zh1FwrKY)4FDmX?-g zT3Uj#_G)TEe;m`Q1Qr*g9c`&8HW|Er6-9rw8Mf&e{UgNLTg)FG653-$UG`RJR790_ z*2$hXDWT!5ZYAnR(zrVpMc65yA%{Uq#-H7;F0MJ0zc$Ip1j1#<=F1C7Ny$AbUbU8~ zl?&llUKY?PSPN;CpX%wK#GAG1zPdY_)bu33EWe=$ z*r(fvst*c$asfyVd0l0WCp*T0;x7c zxOn42M~D0wlji0k#_pyjd{Q&^GMa82oDyMKLp2jeRtwm-nA5~joO zbaJD^SU3~Y=U{Q~jSd1gfi6`Cj3v5o>ov7~+V`mZq2*SjfFn93W$R>}KAloINy4_a z%N%vT2Xiw1T)FONVnsQR<4^K=Hr8{0sMtUgxxT6)Z*)T(-O2FiXagJ-+SZK;{^uc? zZUSElU8JYYcw6H~PDD#PCiI}0q$C6dOJ($bZe@+9CWf>wq~IAlXNpT}Aj-TxTyNMP zFvW3$l!;@v=au(SNsISQoYZ9(tdB^{9kpJBU^da!4y$XflwP89zijo50$tb^?>*Ep z)bw0AmapvKtZqC$S*xNfGQuAnj_)0eNH)xLHJ5tbuzjI-gU`Gth0za5Slb&AF|leV z*U9{}W=xBH$Q16lF?Bq##h}l`5o}PC&ysnwz`fz3NNZU6)L(H^Wr_f!`qSD zmy45W{2?T%c3-p^N>p~0=!6kOm+`5=D5dbOZmx2?mX@LZqh{Vv2KV~KtFf`zGVZLt zVB5HVAOidiH|$&x+>>Hn4swLKJK->kTc6rhJ_K(--zJCD+kCS@uhoYuZ6ciWo*>S}`feg%E^wiT&AmhzU3xll$T-or1$Zf_Q=MP!5 zt4#&f2-*98cmG1EY6v6xJ#I#DW9ZV&zHSQL!cVf$J$RG$XY2L}%`+px=UtNYk5prM zh8cdEsn||GZ6m9To!1(N)&^KF~YBz^HJn;M+ zzJA>W^slRtnSU z-2oKtNkP|%4Q_JIhY$Nw?@tMu*i8jp{SJ z{H!BS2ASRlUb6j@?svqgVQHYPd-NlK=}C}~wD9j^lb_Z??eyZC`<0X96QgZT%RP|S0Wb6x`z5V_g>PGrcF{crzkTn<;Qb$-bzLuanYi6juSs(ECrTSQ=dp1 zGFnB2I4ad)jtaLL`3zB96=^KZxf|1$m2`5~Kec5CEi<7Dx>&E~OAqA-ePKnpZ1n#} z3uq3?Ya5J)$c^0U?EVR}w?`GLCl)^oXHAcFj(={Z<+>sCZtypHinM@Fl4#mh94%3+ zTYfzQP97Q9Wjop)8}ceMs#}b2u}#CV&Rjk^;UcSjPwQfN^TXy@@`w!YBQv(l;41=>k%t9t*rLs zqL*^zZ`}V?%-vmlNIz}T#<0#*MdS1w@^i7xu)7OI=rK<>C!v63l9BfCnygjoUewoK zV9S*=nljddw)r;Rh#G&3%CB>@;>7*Rii2oet) z)A9lCTkI-4wJA61Ra^!>#Mt!46yAEUd|Wob}G2_Atf-A!nmTsqeVW&)4F{ zH@batLn&+m_?e%?2|3$AAfs)27CFj^caG-6rviWQ#3oKomdd`NvNvp)5c1rblfN~H zje2n5^RIk?krK}pFufz$gk`Ut(m7K*gH5cqnor_5MA9C4=TkG78_bRFOP!3^m;>%N zjpdvfNy+vH`!0OCjyfA&1ZCp)a+{3(IWub}iNO0#=;p;8fazEQ>uq_Z-5=3_BfXOS zQQki9-NV_X^@;$wJoT<#e|qV3$G($n$8eK1+I#LRg%+v|sFC~*$lO?ZbTWgIPD#kv z`a(duH|*`ZeI<>4V5@c^zk^*BBTCpU}W~=u>){ z1`k=PFVns1`Yvx3bvc$ARw`) zs>&$-k)`66Xtemyt6luqQ3bo7xcX0~-!}$$jSxBSPO@b1GxnI;X^MbI69S12U_`ofAw=P#w9o~mWd!LGL^`2}NN)nt34uUBAP^HE2`#xR zdhY#k|DWf%KTiJSdG^}bduQ!$z3ctTdY5w4AbmD4Q2&IOItJs_$iPc&3~b}E-FkvU z{9aA$;op1X2Kn4DZ|aJQ-mTq-=+EVt3eB>Y6s~CyenH)>>*1f=S;$yGJQ+lbDTZFR+f*wAb?dg!9NGjhzR?#PYVC-K)6(um*a3b~cAc4;5pBvkPSOMeoD zPb~`vFs53P{%TM{QNXt$Eqqjo5#)q{9`}O}EB8t zZBgC%;iC8NW87uOf>71fvizdHS~mNHqJsx$JF{?LQnvn?>uh6YkE0g zF|fu*MPVRVP5>V4&+5*#XIZ_P+Rpkm9&S$k6$Cnql-?B8Zd z2v&tXFSS@j^E)oT>2S3y>|aHnfZeEER*XJ;ez>&N<(zI+;Kw(`7O^X;%k6AI5Q#{S zyp?2VP$9Tznx&(7sLuG|g_~K!TK>CLqP{mwdZmpoDU?q%Eo@7{@GU5N7)jCq-_8iH zaBQo2h#)3<+=jzNc}=P&>MJi6nq^9~cMSLh+qo)?y^XaL@9xK7yw|5j$9hUK>gbio zc%xh^Xuy8FCPH-ozv}jTV{z3FRwRb1j~vM`#j1Oe-V_g=5=`Xdf}}(6GHOUaWOh~? z**Ywzkz3mpQPV_wfT|4(X*Mk_mG`>7J0VteN)DX zCjv9sHDgcl*cW!GF-v`jlLiL2v{WL3CQCx5rf|;3j-K`-xIdpbIWCHgl0vR6ci8h! zAAMFzNzCR@R)ol>PY*d%`0kqJH2y-Wd=_xu5f7HKaHQ5B>wJaecN7GYVLQ6`oyPhQ>HG9 z)vOBvGssm;gP}#}sZ2*}3k#ptU)~>*mCfJgTaZcX=^&$SsRht}Uzc8sR^`9C;$N4H z$Kzw4y=3a#E)9E-d0hVNB~txUL1zoLlX)ogWE0;YTbjTk^J&ar%gk)u#OY`0;6-h$ie6|IomP>;A$P#M?*ACMEY|iy!x{5PNQDR;dVXI>SC?>2 z$vjIU8{Jy}#?`8L?Dy`rpLJ!bR)6vMEu1C<>Um)!S}q;0f1=u0kN3gq8mp?d!22mk z@C%Lr_CE4KTZalgUQvEvKP?w4;i7-$k3|-5iinb(g!Sd@Or}g#p1G7`(Ix{`z zWkS6TE$Ll^`*qKnUgK3$**LLD2hQyQQ?OfU6>#zrQcf0F5X;qWI^E#?$6T5$2z)&| z5#2XhGZvmN$*#W)^B?@wZ3)9U%^`erYd)pSpv-2N-aNu{rtgcBC#*p7 zrx`;%mG$(Ys0-lDJ#cFpMlCp<^l||P1Ue~N%+|qScw}UgcI4ur&x7C>PKF?tRNJg4 zKaYvIfL9cWO*|RqT+iFZ%X9Z|`*+P$R-X_!<$rUP|4Or-|B~k3 z(&GOYjgQ3ER#pJ7yaAreJLS`OAM5?AISpC4#Tu~S+xqrxuv0eA+=b}!S2P#ZR*xIE zx;#oND@US0Mu^8Vmqa4P$HyP8mH$Jkwk$0z4G2MSMHDozgS{5r+}y&aQ~yq!o@|d5 zSvW`IHk^Znw#Jpe;`Kzxf--SlPfG%UK*JXlbjX|stt>6DRCpTb|4vT}%`_j5oLQ2V zrmU}fJb3VRZA}4CUm~}s4W*h5(w4rAjlr8k?QV2=lovHO>$M_3yu9KB^2fbBJ(nYa zJnx4GTU%Rx{{H>}0X0=s=UK<)OutReVYz9yCxTr60DS%>hw>x2{7>Frxk>3K-xUOS zc#?kzPaFTIk%#9$od68ue>x#mLtR~#Ydv$7Wn9bqUde#<0Eogp_`_WOO@sfn8tPYT zE2}tB)q<+3syA<(7j;7(0~Usd+1qPtYoFvkfJ&S>;?^BIyQ^XQEQ<|?WT9440RvdaIx$ADvoU#KKBd<6qGxnVeB{4}6Qk$k9cS$Rg6A78%Dvd>=06T~OB;jTa5^CT{qt-h8P=t|$*U)_PKB%ZsMwsj;&=eK43t4Oj+J8@IYTwG(Tj&r;2hSY7KR?0s+& z8N@ctgi4{_dp^?G!6UVI-)}z&kojfRk zGmFz&eZgnm$shRkV1MRk6H5dUL~N;3HNo9}tbG8V3gjFi&L!L93s29>NVnjN@;vBG*kPwl*Y3wyi z*tT&O{f*I0$~I2?YoWk4XKigA$eXaYO4V0`vL=`yIpi@Ssrz-;p>CzW6w1QV(HdFwI zi@8)F;@0^Ez0!+51u+V!+94woBxg0f=IP*xVHS4&^ZT#(26gSMty5asUX65OSz}nv z0%vb+12^!DmaijCZjZ%^|>Kk{hPR8V>qxb3gc{>^I+s81YYm zxomt~gtnd)97~+swz0xjRZ(6;SxX@IG00v*3Jx0Nb>{dkE56cj+88lsv+|eGr+KGX z(HI~1nUAJoSk!7dw50SL1WoI)$Whzq0oTdJ7#j1owH{C&^a1 zUhas;ss#5m{@lx;q9D^jTc4YosGbQTKqu`IU z06Ht_9A_P!FrJj$L8a4U6w;M-cbI5M#%9L=hX&Lol9Q7e3^#xn&&7u)1&bYFwn(GR z{LNzMYuE|q1^QA@6JWkC0^i0eT-I6y!>zW)Azoxt_%Z=R|3PBt(;8SoIgo*u8zz@} zC^|Z3+qo8_@3`!VWx~(YG`orRN1ub7j__5_dXSchQ zptb61W|-@y!eIN_f{}ovUR@!lJ?Q{QoKFH|Nb5}}4PJ)CoRB~HuDRLD!a~sX4(0Ro zNJ`7K>#lYIt6kbACMJl6Eyh~7~=B2!1GKG=4g)|1q;03pPO2B0L*%2JQ=epR40K~gBoErCeu05T zZB6w%`6eQRO-)X{04*Cgo*J2pL$;Bj*V#tEypt$f~#V!-x90Ef|~ES^}c95 zR>OrYl^aRj4n2{c*E;kL#FY8mb)b(d*2i%j)STIzFHqK74$ViGK#*tl)rnRv8-3Z# zhVJw}&92Okk(ushySsT5zs1SRy{mh(I6DZ{K#et$1YqNJo)lKim_pJ?M!G{P&Y}5> zO4y&mr|u_N1$g9-N3 zmX_&FxZ*OgtEq7?`T(w0`t!{^6$g}8RRH(T#@)8|?+1BKSnZZ_#1&_XkQhKqq*!kc zC^PHD!9CX3*UR3%?a@d}i@$UQ;zPOR-~STRvgh9*=)0uknQ>)#17UL6>}hH)3UA1_Hc38?tzTy zvWz*}?L&3-oo5*!1h_rw#kQMi1Xx?^;2OWDwri=w=}RG#$$_&dVi(>KKPEiyEQMvAV`>i2mq?*4?nIDK3_&-0|`8 zaYp-Z^ZANg4%rfD38^kq&lJ>grhu62Q*tS_SPY_+Tie;fILKF^-l(t70ol>m8E*hX z*9J5tD4#0YRPXo478SmE<2Rbk)MJc7B|Qg?b4g4P#5#!J_ci~sF<||n!?%yJrAMeL z-e16A$b%>817An^PGd`_TfP3#l*wKUB7x~%|Z zS{KkSDnKmb`ZF6}U!zdP<<(^Rc=N$>G5RoKvmhNSQ9t2+_S<$%DzeD--{)C3aH7sJNQQRwbS5Q;ssBH`r` zBjV*b`z`W0mNg*2M)kf}GN#=oJ}*=)G!vh#_uq_2&=K^38ySI(!bJELDR@bmzVIpA z?XCslz<<6cPS`NaV7D zGDG>bU^H^KNgimsn`7&Yk$7zgy*4%N1#`=fN#-k8P*RGv8Ss4ATu@N3m6WAr!J7N1 z)&Ai)8Mvppxw*4B0-5i0NY#8uZ(#D@9Y4JcDJN_$+ppj}G^<-t<+dozp+PVYddX~J zWF$rRczI*)Zy$4;1v-*;Ad3ph100 KB into FTS5 and returns a pointer. +Nothing is discarded; the model queries on demand. + +### Tier 2 — valuable, but partially duplicated in Headroom + +**5. Counterfactual savings accounting** — `src/session/analytics.ts` (3,085 lines), +`src/session/project-attribution.ts`, `src/session/db.ts` (1,726). +`ContextSavings`, `ThinkInCodeComparison`, `RealBytesStats`, `MultiAdapterLifetimeStats`, +`enumerateAdapterDirs()`. Measures *what would have entered context but didn't* — a different and +harder quantity than Headroom's `savings_ledger.py`, which records actual compression deltas. +Session event ledger + `tool_calls` + resume + per-project attribution. + +**6. Multi-vendor pricing catalog** — `src/session/pricing.ts` + `model-prices.json`. +61 curated models × 4 rate buckets (input / output / cache-read / cache-write), refreshed from +litellm, unknown model → `null` rather than a silently wrong Claude rate. +**Overlaps `headroom/pricing/*` heavily. Do not port.** + +### Tier 3 — do not port + +Compression heuristics, memory/graph/relevance, telemetry transport, dashboard, install UX, +update-check. Headroom has all of these, more mature, and Phase B/H is actively consolidating them. + +--- + +## 3. Headroom's actual extension seams + +Verified entry-point groups (all `importlib.metadata`-discovered, all opt-in): + +| Seam | Group | Contract | Source | +|---|---|---|---| +| Proxy extension | `headroom.proxy_extension` | `install(app: FastAPI, config: ProxyConfig) -> None` | `headroom/proxy/extensions.py:52` | +| Pipeline extension | `headroom.pipeline_extension` | `on_pipeline_event(PipelineEvent) -> PipelineEvent \| None` over 11 stages | `headroom/pipeline.py:13,68` | +| Learn plugin | `headroom.learn_plugin` | — | `headroom/learn/registry.py:44` | +| Memory text store | `headroom.memory_text` | — | `headroom/memory/config.py:41`, `factory.py:57` | +| Memory vector store | `headroom.memory_vector` | — | `headroom/memory/config.py:34` | +| Memory store | `headroom.memory_store` | — | `headroom/memory/config.py:25` | +| CCR backend | `headroom.ccr_backend` | — | `headroom/cache/compression_store.py:981` | +| Compression hooks | (subclass, not entry point) | `pre_compress` / `compute_biases` / `post_compress` | `headroom/hooks.py:1-31` | + +Two things worth noting: + +- `headroom/proxy/extensions.py:32` states an explicit **stability contract**: changing + `install(app, config)` or the group name requires a deprecation cycle. This is a supported public + seam, not an accident. +- `headroom/hooks.py:16` says outright: *"Headroom SaaS implements position-aware compression and + cross-turn deduplication via these hooks."* The open-core split is already designed in. + +**The exemplar to copy:** `plugins/headroom-oauth2/` — own `pyproject.toml`, own `LICENSE`, own +`SPEC.md`, registers on `headroom.proxy_extension`, dormant until `--proxy-extension oauth2`, +all config via env, "zero core changes." That is the enterprise plugin template. + +**The precedent to copy:** `headroom/lean_ctx/installer.py` and `headroom/rtk/installer.py` — +Headroom already ships thin installers that adopt sibling products. `plugins/headroom-agent-hooks` +already installs startup hooks into Claude Code and Copilot CLI. The socket exists. + +**The gap:** Headroom has *no tool-boundary interception anywhere*. It sees `tool_use`/`tool_result` +only as message content after the fact (`headroom/parser.py`, `headroom/tokenizers/*`). Its +`PipelineStage` enum has no tool-result stage. Everything context-mode does is upstream of +Headroom's earliest hook. + +--- + +## 4. Proposed plugins & variants + +Ranked by value ÷ effort. + +### P1 — `headroom-recall`: FTS5+trigram lossless store as `headroom.memory_text` + +**What:** port `src/store.ts` behind the existing `headroom.memory_text` seam. + +**Why this first:** it is the smallest diff onto an *already-existing* contract, and it fixes a real +product limitation. Today `headroom_retrieve(hash)` requires you to *know the hash* — the tool +description literally says "hash comes from compression markers like `[N items compressed... hash=abc123]`". +With an FTS5-backed store you get `retrieve-by-query`: "what did that build log say about OOM" +instead of "paste hash abc123". The trigram index matters specifically because BM25 tokenization +loses identifiers and stack frames. + +Composes rather than replaces: `compress` → return squeezed text + hash → store the *original* in +FTS5 → rehydrate by hash **or** by query. Also a natural `headroom.ccr_backend` implementation — +the realignment wants "CCR hardens: persistent backend" (Phase B), and this is one. + +**Enterprise variant:** shared team store, retention/TTL policy, per-project scoping (context-mode +already has `project-attribution.ts`), audit of every retrieval. + +**Effort:** medium. Reimplement in Python/Rust against Headroom's memory interface, or ship the +node store as a sidecar. Do not port the MCP tool surface — only the store. + +### P2 — `headroom-admission`: tool-boundary admission control across 18 hosts + +**What:** context-mode's adapter + hook layer, distributed the way `plugins/openclaw` and +`plugins/opencode` already are (TS package under `plugins/`), reporting savings into Headroom's +`savings_ledger.py` JSONL and emitting Headroom pipeline events. + +**Why:** this is the strategic piece. It gives Headroom: +- a **pre-wire** enforcement point, upstream of Phase B's live-zone engine, with no cache-bust and + no token-validation fallback required; +- coverage of **18 agent hosts** — the realignment's Phase G wants to "extend wrap CLIs (cline, + continue, goose, openhands)"; this is that work already done, and then some; +- a deployment mode that works under **subscription auth**, where the proxy is a revocation risk. + +**Enterprise value — this is the DLP story Headroom cannot currently tell.** A `curl` inside a Bash +tool call never touches the proxy, so Headroom is blind to it. context-mode blocks +`curl`/`wget`/`WebFetch`/inline `fetch()`/`requests.get` at the tool boundary and forces network +egress through `ctx_fetch_and_index`. That converts a token-savings feature into an +**egress-control** feature — a different budget line and a different buyer. + +**Effort:** high, but it's mostly packaging + a reporting bridge, not a rewrite. Keep it TypeScript; +Phase H retires Python *proxy* code but explicitly preserves "CLI wrappers, RTK installer" — the +installer layer is the surviving Python, and it can shell out. + +### P3 — `headroom-policy` (Enterprise, license-gated): the PDP + +**What:** `src/security.ts` as a policy decision point, plus centrally-managed org rulesets. + +Two attach points: the hook layer from P2 (tool-level `allow/deny/ask`), and +`headroom.pipeline_extension` at `PRE_SEND` (prompt-level policy). Feeds `headroom/audit/`. + +**Enterprise features that only make sense paid:** central policy service, org-wide allow/deny +rulesets, project-boundary containment enforcement, shell-escape detection inside sandboxed code, +tamper-evident audit trail, per-team reporting. Gate it with the ELv2 license key (see §6). + +**Effort:** medium. The engine exists and is tested (`tests/security/`, `src/security.ts` 889 lines); +the work is the control plane. + +### P4 — `headroom-sandbox`: Think-in-Code execution + +**What:** `executor.ts` exposed as a Headroom MCP tool (`headroom_execute`), 12 languages, +stdout-only. + +**Why:** this is the mechanism behind context-mode's largest measured savings — +`ctx_execute_file` returns 98% savings across 315 KB of real fixtures (`BENCHMARK.md` Part 1), +versus 82% for index+search (Part 2). Programming the analysis beats compressing the output. + +Must ship *with* P3: the shell-escape scanner is what stops the sandbox being an escape hatch. + +**Effort:** medium-high. Runtime isolation is the hard part; `headroom` already has a `sandbox` extra +in `pyproject.toml` to build on. + +### P5 — `headroom-attribution`: counterfactual savings + per-project cost + +**What:** port the *methodology* from `session/analytics.ts` — `RealBytesStats`, +`ThinkInCodeComparison`, `enumerateAdapterDirs`, `project-attribution.ts` — into Headroom's +`savings_ledger` / `reporting` / `dashboard`. + +**Why:** Headroom measures compression deltas (what it squeezed). context-mode measures the +counterfactual (what never entered). Enterprise buyers want the second number, sliced by team and +repo. Do **not** port `pricing.ts` — `headroom/pricing/*` already does this with litellm resolution. + +**Merge, don't port.** `headroom/audit/reads.py` is already a counterfactual measurement tool over +the same Claude Code transcript corpus (see §8). It has the better mechanism taxonomy — identical +repeat, subset containment, write-readback, stale, line-number scaffolding, context residency, +cache-death windows. `analytics.ts` has the multi-host coverage and per-project attribution it +lacks. Combine the two rather than adding a third implementation. + +**Effort:** low-medium, mostly a metrics-definition merge. + +### Variants (packaging, not code) + +- **Headroom No-Proxy Edition** — P1+P2 only, zero API interposition. Sells to buyers who cannot + reroute model traffic and to every subscription-auth user. Removes the single biggest deployment + blocker Headroom has. +- **Headroom Admission Control (Enterprise)** — P2+P3+P4 with a central policy plane and fleet + enrollment across 18 hosts. Positioned as AI-agent DLP/governance, not token savings. +- **Headroom Fleet** — P5 + `enumerateAdapterDirs` for org-wide rollout state and cost reporting. + +--- + +## 5. Evidence base + +context-mode's `BENCHMARK.md`: 21 scenarios, 376 KB raw → 16.5 KB context, **96% overall**, all +fixtures captured from real tool invocations (Context7, Playwright, `gh`, vitest, tsc, nginx logs, +`git log`, analytics CSV) rather than synthetic. Honest about its weak cases — 13% on a 0.4 KB +Playwright network dump, and Part 2 openly explains why index+search only reaches 50-93% (it returns +exact code blocks rather than summaries, by design). + +Test suite: 125 tests across executor/store/MCP-integration/ecosystem, plus 45 test dirs in `tests/` +covering adapters, security, session, hooks, analytics. + +That's a defensible enough evidence base to reuse in Headroom's own materials, and the fixture corpus +itself is reusable for Headroom's `benchmarks/`. + +--- + +## 6. Blockers — resolve these before writing code + +**1. License incompatibility (hard blocker).** +context-mode is **Elastic License 2.0**, "Copyright 2026 Mert Koseoglu". Headroom is +**Apache-2.0**, "Copyright 2025 Headroom Contributors". + +- ELv2 code **cannot** be merged into the Apache-2.0 core. Not a technicality — it would relicense + Headroom's core. +- ELv2 forbids providing the software "to third parties as a hosted or managed service." That + directly constrains `headroom-managed/`. +- Different copyright holders means this needs an **IP arrangement between entities**, not an + engineering decision. + +The good news: Headroom's plugin architecture is exactly the boundary that makes this tractable. +A separate package with its own `pyproject.toml` and its own `LICENSE`, registered on an entry +point — the `plugins/headroom-oauth2/` shape — can carry ELv2 while core stays Apache-2.0. ELv2 is +also the *right* license for a license-key-gated enterprise tier; it explicitly contemplates one. + +Recommendation: any context-mode-derived code ships as separately-licensed plugin packages under +`plugins/`, never vendored into `headroom/`. Get the IP arrangement in writing first. + +**2. Realignment collision.** +Phases A–I are ~40 PRs / 8–13 weeks and include deleting ~25K LOC. Do not open a new integration +front mid-Phase-B. P1 (`headroom.memory_text` / `ccr_backend`) is the exception — it *serves* Phase +B's "CCR hardens: persistent backend" goal rather than competing with it. + +**3. Phase H direction.** +Python proxy code is being retired. Write nothing new in `headroom/proxy/`. Target the surviving +layers: installers, memory writers, CLI wrappers, and Rust. + +--- + +## 7. Sequencing + +| Order | Item | Gate | +|---|---|---| +| 0 | IP/licensing arrangement | before any code | +| 1 | P1 `headroom-recall` — FTS5 store on `memory_text`/`ccr_backend` | lands inside Phase B, serves it | +| 2 | P2 `headroom-admission` — 18-host hook layer under `plugins/` | after Phase A stabilizes | +| 3 | Variant: **No-Proxy Edition** = P1+P2 | as soon as P2 works on 3+ hosts | +| 4 | P3 `headroom-policy` (Enterprise, ELv2, key-gated) | after P2 | +| 5 | P4 `headroom-sandbox` | with P3, never before | +| 6 | P5 `headroom-attribution` | opportunistic | + +--- + +## 8. Follow-up verification + +All four items flagged as open in the first pass are now resolved. + +**`headroom-managed/` is the SaaS arm, and it is unlicensed.** +`headroom-managed/pyproject.toml`: `name = "headroom-managed"`, `description = "Headroom SaaS +Platform - Managed context window optimization"`, `version = 0.1.0`. It has `app/auth.py`, +`app/middleware/`, `app/routes/`, `app/services/`, `app/models.py`, alembic migrations, and a +`pilot/`. There is **no `license` field and no LICENSE file** — i.e. proprietary by default. + +This *sharpens* the §6 blocker rather than easing it. ELv2 forbids providing the software "to third +parties as a hosted or managed service." The product whose name is literally *Managed* is the one +place context-mode-derived code cannot go without an explicit commercial grant from the copyright +holder. Plan the plugin boundary so that `headroom-managed` consumes only Apache-2.0 core +interfaces, never ELv2 implementations. + +**`headroom/audit/reads.py` does not overlap P3 — and it independently validates the whole thesis.** +It is a *measurement* tool, not an audit trail: it streams Claude Code `*.jsonl` transcripts to size +"the addressable bytes for each Read compression mechanism... so defaults are set from traffic, not +theory." No policy, no tamper-evidence. P3's audit trail remains a gap. + +Two lines in its docstring are the most useful corroboration in either repo: + +- *"context residency — how many assistant turns each Read stays in context (the multiplier on its + prefix-cache read cost; **the case for compress-before-cache-entry**)"* — Headroom is already + arguing, from its own traffic, for moving earlier in the pipeline. context-mode is the terminus of + that argument: compress before **context** entry, not merely before cache entry. +- *"identical repeat — a dedup mechanism for this was prototyped and removed: it measured 0.1% of + Read bytes on real traffic."* — Headroom has already empirically established that + message-history-level dedup is worthless. The addressable bytes are at the tool boundary, not in + history. That is the same conclusion the realignment reached from the cache side, arrived at + independently from the traffic side. + +It *does* overlap **P5** — `audit/reads.py` and context-mode's `session/analytics.ts` are two +independent implementations of counterfactual measurement over the same transcript corpus. Merge +them rather than porting; `audit/reads.py` has the better mechanism taxonomy, `analytics.ts` has +multi-host coverage and per-project attribution. + +**No plugin-authoring docs exist.** `docs/` is a Next.js site (`app/`, `content/`, `components/`); +`wiki/` has nothing on extension authoring (only `macos-deployment.md` matched). `plugins/headroom-oauth2/SPEC.md` +remains the de-facto authoring reference — which means whichever plugin lands first sets the house +style. Worth writing the authoring doc as part of P1. + +**Headroom publishes no benchmark results.** `benchmarks/` is 29 runner scripts with no committed +results artifacts, so no like-for-like number exists to compare against context-mode's 96%. The +comparison has to be run. The harness is there and is unusually strong on exactly the axis that +matters: `prefix_cache_benchmark.py`, `cache_bust_trace_report.py`, `cache_validation_bundle.py`, +`synthetic_token_cache_bust_report.py`, `proxy_mode_benchmark.py`, `agent_cost_benchmark.py`, +`real_world_agent_benchmark.py`. Use it to *prove* the §1 cache-safety claim empirically rather than +asserting it — a measured "zero cache-bust events" result is the strongest possible artifact for the +No-Proxy Edition. + +**Bonus finding — the platform axes are orthogonal.** +`docs/platform-feature-matrix.json` (schema v1, updated 2026-07-06) tracks coverage across +`["linux", "macos", "windows"]` — Headroom's platform axis is **operating system**. context-mode's +platform axis is **agent host** (18 of them). Headroom tracks no host-coverage matrix at all. P2 +therefore fills a dimension that does not currently exist in Headroom's own feature accounting, +which also means it needs a second matrix rather than new rows in this one. + +*Process note:* six subagents were dispatched across this analysis and all six stalled at the +600-second watchdog; one reported "Bash is temporarily unavailable" before dying, so the failures +were tool-layer, not analytical. Every finding in this document was verified directly. diff --git a/headroom/backends/litellm.py b/headroom/backends/litellm.py index 8430789ce..60fedfc3a 100644 --- a/headroom/backends/litellm.py +++ b/headroom/backends/litellm.py @@ -413,6 +413,40 @@ PROVIDER_REGISTRY: dict[str, ProviderConfig] = { } +# How long an upstream call may go silent before we give up on it. +# +# WHY THIS EXISTS. There was no timeout here at all, so a request the upstream +# never answered blocked its caller forever. Observed 2026-08-07 under load: +# four agent workers sat on ESTABLISHED connections for 36+ minutes while this +# proxy answered /readyz in 0.11s. No error, no retry, no log line -- the +# client just stops. That is the worst shape a failure can take, because it is +# indistinguishable from slow work and no supervisor can tell the difference. +# +# A float, not an httpx.Timeout, on purpose: litellm expands a float into all +# four httpx phases, so for a STREAMING call this becomes the maximum gap +# BETWEEN CHUNKS rather than a cap on total generation time. A long answer +# streaming steadily is never cut off; a stalled one dies. That is the +# semantic we want, and it falls out of the simpler type. +# +# 600s is deliberately generous -- long enough that no healthy call is at +# risk, short enough that a hang surfaces within a coffee break instead of +# never. +UPSTREAM_TIMEOUT_ENV = "HEADROOM_UPSTREAM_TIMEOUT" +DEFAULT_UPSTREAM_TIMEOUT = 600.0 + + +def _upstream_timeout() -> float: + """Seconds. Never raises; a junk env value must not disable the timeout.""" + import os + + try: + v = float(os.getenv(UPSTREAM_TIMEOUT_ENV, DEFAULT_UPSTREAM_TIMEOUT)) + except (TypeError, ValueError): + return DEFAULT_UPSTREAM_TIMEOUT + # 0 or negative would mean "no timeout" to httpx, which is the bug. + return v if v > 0 else DEFAULT_UPSTREAM_TIMEOUT + + def get_provider_config(provider: str) -> ProviderConfig: """Get provider config, with fallback for unknown providers.""" if provider in PROVIDER_REGISTRY: @@ -925,6 +959,9 @@ class LiteLLMBackend(Backend): logger.debug(f"LiteLLM request: model={litellm_model}") # Make the call + # Bounded, always: an upstream that never answers must not + # block the caller forever. setdefault so an explicit value wins. + kwargs.setdefault("timeout", _upstream_timeout()) response = await acompletion(**kwargs) # Convert to Anthropic format @@ -1055,6 +1092,9 @@ class LiteLLMBackend(Backend): kwargs["stream_options"] = {"include_usage": True} # Stream content — blocks emitted dynamically based on response + # Bounded, always: an upstream that never answers must not + # block the caller forever. setdefault so an explicit value wins. + kwargs.setdefault("timeout", _upstream_timeout()) response = await acompletion(**kwargs) output_tokens = 0 current_block_index = -1 @@ -1283,6 +1323,9 @@ class LiteLLMBackend(Backend): logger.debug(f"LiteLLM OpenAI request: model={litellm_model}") # Make the call + # Bounded, always: an upstream that never answers must not + # block the caller forever. setdefault so an explicit value wins. + kwargs.setdefault("timeout", _upstream_timeout()) response = await acompletion(**kwargs) # Build the usage block. LiteLLM normalizes prompt-cache stats from @@ -1452,6 +1495,9 @@ class LiteLLMBackend(Backend): elif headers.get("x-api-key"): kwargs["api_key"] = headers["x-api-key"] + # Bounded, always: an upstream that never answers must not + # block the caller forever. setdefault so an explicit value wins. + kwargs.setdefault("timeout", _upstream_timeout()) response = await acompletion(**kwargs) async for chunk in response: diff --git a/headroom/proxy/handlers/anthropic.py b/headroom/proxy/handlers/anthropic.py index 26e9f68ee..8251b3590 100644 --- a/headroom/proxy/handlers/anthropic.py +++ b/headroom/proxy/handlers/anthropic.py @@ -2562,8 +2562,14 @@ class AnthropicHandlerMixin: # turn-hook fold (optimized_messages is post-hook). Runs unconditionally. try: _orig_snapshot = original_client_messages # noqa: F821 (bound at request start) - original_tokens = tokenizer.count_messages(_orig_snapshot) - optimized_tokens = tokenizer.count_messages(optimized_messages) + # Off the event loop (#2810): both passes are CPU-bound real BPE + # since #2543, and running them inline stalled every other + # in-flight request on the same process (~1s on a 2.3 MB body). + # Same tokenizer instance, so the reported values are unchanged. + original_tokens = await asyncio.to_thread(tokenizer.count_messages, _orig_snapshot) + optimized_tokens = await asyncio.to_thread( + tokenizer.count_messages, optimized_messages + ) # Fold the tool-schema/desc compaction delta into BOTH endpoints so # tok_before - tok_after == tok_saved stays coherent in the PERF line # (count_messages never sees tool bytes). Same shape as the OpenAI chat @@ -2657,7 +2663,11 @@ class AnthropicHandlerMixin: parsed_original = json.loads(original_body_bytes) if parsed_original != body: body_mutation_tracker.mark_mutated("structural_diff_vs_original") - except (json.JSONDecodeError, ValueError): + # MemoryError is not a ValueError, so a re-parse spike on 1M-context + # bodies used to escape and abort an otherwise-fine request (#2768). + # This block is a safety net; marking mutated is already the safe + # outcome (it forces canonical re-serialization). + except (json.JSONDecodeError, ValueError, MemoryError, RecursionError): body_mutation_tracker.mark_mutated("original_unparseable") if ( diff --git a/headroom/proxy/handlers/openai.py b/headroom/proxy/handlers/openai.py index a7d22449b..23751c65e 100644 --- a/headroom/proxy/handlers/openai.py +++ b/headroom/proxy/handlers/openai.py @@ -3721,8 +3721,11 @@ class OpenAIHandlerMixin: # (result.tokens_before), which mismatches optimized_tokens (provider tokenizer) # and yields impossible tok_after>tok_before. Recount original from the # pre-compression snapshot so the message delta is on one scale. - original_tokens = tokenizer.count_messages(original_client_messages) - optimized_tokens = tokenizer.count_messages(body["messages"]) + # Off the event loop (#2810): see the matching note in the Anthropic handler. + original_tokens = await asyncio.to_thread( + tokenizer.count_messages, original_client_messages + ) + optimized_tokens = await asyncio.to_thread(tokenizer.count_messages, body["messages"]) if tool_tokens_before_compaction > 0: try: tool_tokens_after_compaction = tokenizer.count_text(_json_debug_dumps(tools)) diff --git a/headroom/proxy/prometheus_metrics.py b/headroom/proxy/prometheus_metrics.py index fe477290b..889ed60be 100644 --- a/headroom/proxy/prometheus_metrics.py +++ b/headroom/proxy/prometheus_metrics.py @@ -417,14 +417,14 @@ class PrometheusMetrics: return total_input_tokens, total_input_cost_usd try: - cost_stats = self.cost_tracker.stats() + # totals() rather than stats(): identical numbers, without the + # 31-day cost-record walk that stats()["budget_basis"] performs and + # this caller throws away. See CostTracker.totals. + tracked_input_tokens, tracked_input_cost_usd = self.cost_tracker.totals() except Exception: logger.debug("Failed to read cost tracker totals for savings history", exc_info=True) return total_input_tokens, total_input_cost_usd - tracked_input_tokens = cost_stats.get("total_input_tokens") - tracked_input_cost_usd = cost_stats.get("total_input_cost_usd") - if tracked_input_tokens is not None: try: total_input_tokens = self._savings_tracker_input_tokens_offset + max( diff --git a/run-all-plugins.sh b/run-all-plugins.sh new file mode 100755 index 000000000..f8b9b2ec9 --- /dev/null +++ b/run-all-plugins.sh @@ -0,0 +1,171 @@ +#!/usr/bin/env bash +# ───────────────────────────────────────────────────────────────────────────── +# run-all-plugins.sh — install + configure + run the Headroom proxy with ALL 5 +# enterprise plugins, the coding savings-profile, and ML compression offloaded +# to the Kompress-v2 Modal endpoint. Then confirm everything loaded. +# +# Plugins : lossless_guard, skill_search, observability, tier_router, tool_search +# Extra : headroom-ai[sandbox] (torch-free proxy; ML offloaded to Modal) +# Profile : coding (HEADROOM_SAVINGS_PROFILE) + cache mode (prefix-cache safe) +# +# Secrets are SOURCED from ~/env.txt and ~/.headroom/plugins.env — never inlined. +# Re-runnable: install is skipped when already satisfied (FORCE_INSTALL=1 forces). +# ───────────────────────────────────────────────────────────────────────────── +set -euo pipefail + +HR=/Users/tcms/demo/headroom +VENV="$HR/.venv" +PORT="${HEADROOM_PORT:-8787}" +ENV_TXT="${ENV_TXT:-$HOME/env.txt}" +PLUGINS_ENV="$HOME/.headroom/plugins.env" +LOG="${HEADROOM_LOG:-$HOME/.headroom/logs/proxy-all-plugins.log}" +mkdir -p "$(dirname "$LOG")" + +# ── 1. venv ────────────────────────────────────────────────────────────────── +# `python`/`pip`/`uv` are broken system-wide on this box — always use the venv, +# and `python -m pip` (the .venv/bin/pip shim is broken too). +# shellcheck disable=SC1091 +source "$VENV/bin/activate" +PY="$VENV/bin/python" + +# ── 2. install (guarded) ────────────────────────────────────────────────────── +# headroom-ai[sandbox] pulls proxy,code,relevance,reports,otel,html,mcp,spreadsheet +# (all torch-free — heavy ML is offloaded to the Modal Kompress endpoint below). +# The 5 plugins install --no-deps so pip won't drag PyPI's headroom-ai over the +# local editable one; headroom-license is their shared Ed25519 verifier. +need_install=1 +if [ "${FORCE_INSTALL:-0}" != "1" ]; then + n=$("$PY" -c 'import opentelemetry; from headroom.proxy.extensions import discover; print(len(list(discover())))' 2>/dev/null || echo 0) + [ "$n" = "5" ] && need_install=0 +fi +if [ "$need_install" = "1" ]; then + avail=$(df -g "$HR" 2>/dev/null | awk 'NR==2{print $4}') + echo "▶ disk: ${avail:-?}Gi free before install" + if [ -n "$avail" ] && [ "$avail" -lt 2 ]; then + echo "!! <2Gi free — aborting before heavy install (free space, then re-run)"; exit 1 + fi + echo "▶ installing pip+maturin, then headroom-ai[sandbox] + license + 5 plugins (editable)…" + "$PY" -m pip install -U pip maturin + # litellm >=1.92 ships an sdist-only Rust bridge whose AWS-SDK crates need rustc>=1.94.1; + # the default rustup toolchain here is older (pip builds litellm in a temp dir that misses + # the repo's 1.95 pin), so pin to the last pure-Python wheel line (1.91.4). Satisfies + # headroom's litellm>=1.86.2,<2.0 and skips the Rust build entirely. + "$PY" -m pip install "litellm<1.92" + "$PY" -m pip install -e "${HR}[sandbox]" "litellm<1.92" + "$PY" -m pip install -e /Users/tcms/demo/headroom-license + for p in lossless-guard skill-search observability tier-router tool-search; do + "$PY" -m pip install -e "/Users/tcms/demo/headroom-${p}" --no-deps + done +else + echo "▶ install satisfied (5 extensions discovered) — skipping (FORCE_INSTALL=1 to force)" +fi + +# ── 3. secrets from ~/env.txt ───────────────────────────────────────────────── +# Provides: OPENAI_API_KEY, ANTHROPIC_API_KEY, FIREWORKS_API_KEY (upstream creds); +# LANGFUSE_{PUBLIC,SECRET}_KEY + LANGFUSE_BASE_URL (observability sink); +# HEADROOM_KOMPRESS_ENDPOINT + _TOKEN (Modal ML offload). +[ -f "$ENV_TXT" ] || { echo "!! $ENV_TXT not found"; exit 1; } +set -a; # shellcheck disable=SC1090 +source "$ENV_TXT"; set +a + +# ── 4. plugin license (Ed25519, offline, wildcard) ──────────────────────────── +# HEADROOM_LICENSE + HEADROOM_LICENSE_PUBKEY. This is SEPARATE from the OSS cloud +# key (HEADROOM_LICENSE_KEY) — the banner will still say "OSS (no license key)", +# but each plugin prints "license accepted". Fallback: skip verification entirely. +if [ -f "$PLUGINS_ENV" ]; then + set -a; # shellcheck disable=SC1090 + source "$PLUGINS_ENV"; set +a +else + echo "▶ $PLUGINS_ENV missing — using dev license bypass" + export HEADROOM_LICENSE_DEV=1 +fi + +# ── 5. Kompress ML offload → Modal ──────────────────────────────────────────── +# Setting HEADROOM_KOMPRESS_ENDPOINT (+_TOKEN) alone routes Kompress inference to +# the Modal endpoint (content_router._get_kompress_remote). No other flag needed; +# HEADROOM_COMPRESS_ALLOW_REMOTE is a different thing (remote upstreams, not this). +: "${HEADROOM_KOMPRESS_ENDPOINT:?must be set in $ENV_TXT}" +export HEADROOM_KOMPRESS_ENDPOINT_TOKEN="${HEADROOM_KOMPRESS_ENDPOINT_TOKEN:-}" + +# ── 6. observability sink → Langfuse + spend attribution ────────────────────── +# HEADROOM_LANGFUSE_ENABLED must be explicitly truthy (LANGFUSE_* creds come from +# env.txt). Traces (agent.turn / llm.turn spans with gen_ai.usage.cost) land in +# Langfuse. Spend is opt-in: HEADROOM_MODEL_PRICES is {model-substr:{in,out}} in +# USD per 1K tokens. (Per-request identity — org/team/user/session — is supplied +# by the CLIENT via x-headroom-* headers, not settable here.) +export HEADROOM_LANGFUSE_ENABLED=1 +export HEADROOM_LANGFUSE_SERVICE_NAME=headroom-proxy +export HEADROOM_MODEL_PRICES='{"claude-opus":{"in":0.015,"out":0.075},"claude-sonnet":{"in":0.003,"out":0.015},"gpt-5":{"in":0.00125,"out":0.01},"gpt-4":{"in":0.003,"out":0.012}}' +# Metrics (counters) need a separate OTLP endpoint — none in env.txt, so left off: +# export HEADROOM_OTEL_METRICS_ENABLED=1 HEADROOM_OTEL_METRICS_ENDPOINT=http://localhost:4318 + +# ── 7. tier_router ───────────────────────────────────────────────────────────── +# Only stamps service_tier on the wire (no token delta). OpenAI 'flex' is only +# auto-selected for models declared eligible here. Anthropic tiers are a no-op by +# default. Clients force a tier with x-headroom-tier / x-headroom-background: 1. +export HEADROOM_TIER_FLEX_MODELS="${HEADROOM_TIER_FLEX_MODELS:-gpt-5,gpt-4.1,o4-mini}" + +# ── 8. plugin tuning (defaults shown; override as needed) ───────────────────── +# skill_search fires on Anthropic w/ >=min skills; tool_search on synthetic-tier +# providers w/ >=min tools; lossless_guard lossy tier is opt-in (kept OFF). +export HEADROOM_SKILL_SEARCH_MIN_SKILLS="${HEADROOM_SKILL_SEARCH_MIN_SKILLS:-8}" +export HEADROOM_TOOL_SEARCH_MIN_TOOLS="${HEADROOM_TOOL_SEARCH_MIN_TOOLS:-5}" +# export HEADROOM_LOSSLESS_GUARD_LOSSY=1 # opt-in irreversible Bash-noise drop + +# ── 9. coding profile + mode ─────────────────────────────────────────────────── +# savings_profile=coding tunes the pipeline for coding-agent traffic; cache mode +# freezes prior turns to preserve the provider prefix-cache (what coding wants). +export HEADROOM_SAVINGS_PROFILE=coding + +# ── 10. run + confirm ────────────────────────────────────────────────────────── +cleanup() { [ -n "${PROXY_PID:-}" ] && kill "$PROXY_PID" 2>/dev/null || true; } +trap cleanup INT TERM EXIT + +echo "▶ starting proxy on :$PORT (profile=coding, mode=cache, all 5 extensions)…" +headroom proxy --port "$PORT" --mode cache --proxy-extension '*' > "$LOG" 2>&1 & +PROXY_PID=$! + +# wait for readiness (no foreground sleep on this harness) +curl -s --retry 40 --retry-delay 1 --retry-all-errors --max-time 60 \ + "http://127.0.0.1:$PORT/health" >/dev/null 2>&1 || true + +echo +echo "══════════════════ CONFIRMATION ══════════════════" +echo "── extensions loaded (from $LOG) ──" +grep -iE "Extensions:|license accepted|installed \(" "$LOG" | sed 's/^/ /' || true + +echo "── Modal Kompress endpoint reachable? ──" +code=$(curl -s -o /dev/null -w '%{http_code}' --max-time 30 "$HEADROOM_KOMPRESS_ENDPOINT" || echo "unreachable") +echo " $HEADROOM_KOMPRESS_ENDPOINT -> HTTP $code (any response = up; offload runs on real traffic)" + +echo "── /stats surfaces (empty until traffic flows) ──" +curl -s --max-time 5 "http://127.0.0.1:$PORT/stats" | "$PY" -c ' +import sys,json +d=json.load(sys.stdin) +print(" extension_savings :", d.get("extension_savings")) +print(" by_layer :", list(d.get("savings",{}).get("by_layer",{}))) +print(" tokens_saved_by_strat:", d.get("tokens_saved_by_strategy")) +print(" otel.enabled :", d.get("otel",{}).get("enabled")) +print(" langfuse.enabled :", d.get("langfuse",{}).get("enabled")) +' 2>/dev/null || echo " (stats not ready)" + +cat < dashboard (compression layer) + /stats.tokens_saved_by_strategy + skill_search -> /stats.extension_savings (NOT dashboard) — Anthropic client, >=8 skills + tool_search -> /stats.extension_savings (NOT dashboard) — synthetic-tier client, >=5 tools + observability -> Langfuse UI (spans + gen_ai.usage.cost) — send x-headroom-org/user/session + tier_router -> service_tier on the wire / provider bill (no token delta) + +── drive traffic (two clients — they exercise different plugins) ── + Claude Code : ANTHROPIC_BASE_URL=http://localhost:$PORT claude # lossless_guard + skill_search + OpenAI/opencode: OPENAI_BASE_URL=http://localhost:$PORT/v1 # tool_search + Dashboard : headroom dashboard (http://127.0.0.1:$PORT/dashboard) + Raw stats : curl -s localhost:$PORT/stats | python3 -m json.tool + +Proxy is running (pid $PROXY_PID). Ctrl-C to stop. Logs: $LOG +═══════════════════════════════════════════════════ +EOF + +wait "$PROXY_PID" || true diff --git a/tests/test_litellm_upstream_timeout.py b/tests/test_litellm_upstream_timeout.py new file mode 100644 index 000000000..9d6918e46 --- /dev/null +++ b/tests/test_litellm_upstream_timeout.py @@ -0,0 +1,70 @@ +"""Every upstream call must be bounded. + +There was no timeout in this backend at all. Observed 2026-08-07 under load: +four agent workers blocked on ESTABLISHED connections for 36+ minutes while +the proxy answered /readyz in 0.11s. No error, no retry, no log line -- the +caller simply stops, forever, and that is indistinguishable from slow work. +""" + +from __future__ import annotations + +import ast +from pathlib import Path + +import pytest + +from headroom.backends.litellm import ( + DEFAULT_UPSTREAM_TIMEOUT, + UPSTREAM_TIMEOUT_ENV, + _upstream_timeout, +) + +_SRC = Path(__file__).resolve().parents[1] / "headroom" / "backends" / "litellm.py" + + +def test_every_acompletion_call_is_bounded(): + """A new dispatch path added without a timeout reintroduces the hang. + + Checked structurally rather than by mocking, because the failure mode is a + call site someone ADDS later -- which no mock of the existing paths sees. + """ + tree = ast.parse(_SRC.read_text()) + calls, guards = 0, 0 + for node in ast.walk(tree): + if not isinstance(node, ast.Call): + continue + fn = node.func + if isinstance(fn, ast.Name) and fn.id == "acompletion": + calls += 1 + if ( + isinstance(fn, ast.Attribute) + and fn.attr == "setdefault" + and node.args + and isinstance(node.args[0], ast.Constant) + and node.args[0].value == "timeout" + ): + guards += 1 + assert calls > 0, "no acompletion call sites found -- test is stale" + assert guards >= calls, ( + f"{calls} acompletion call site(s) but only {guards} timeout guard(s); " + "an unbounded upstream call blocks its caller forever" + ) + + +def test_a_junk_env_value_cannot_disable_the_timeout(monkeypatch): + """`0` means 'no timeout' to httpx, i.e. exactly the bug. So does junk.""" + for bad in ("", "0", "-1", "nonsense", "None"): + monkeypatch.setenv(UPSTREAM_TIMEOUT_ENV, bad) + assert _upstream_timeout() == DEFAULT_UPSTREAM_TIMEOUT, bad + + +def test_an_operator_can_still_tune_it(monkeypatch): + monkeypatch.setenv(UPSTREAM_TIMEOUT_ENV, "42.5") + assert _upstream_timeout() == pytest.approx(42.5) + + +def test_the_default_is_generous_enough_for_real_work(): + """Streaming: litellm expands a float across all httpx phases, so this is + the max gap BETWEEN CHUNKS, not a cap on total generation. A steady long + answer is never cut off.""" + assert 60.0 <= DEFAULT_UPSTREAM_TIMEOUT <= 1800.0 diff --git a/tests/test_proxy/test_anthropic_recount_and_reparse_safety.py b/tests/test_proxy/test_anthropic_recount_and_reparse_safety.py new file mode 100644 index 000000000..1e7f67fad --- /dev/null +++ b/tests/test_proxy/test_anthropic_recount_and_reparse_safety.py @@ -0,0 +1,158 @@ +"""Two request-path safety nets in ``handle_anthropic_messages``. + +1. #2810 — the consistency re-count runs ``count_messages`` twice. Both passes + are CPU-bound real BPE (since #2543) and used to run directly on the event + loop, stalling every other in-flight request on the process (~1s on a 2.3 MB + body). They must run off the loop. +2. #2768 — the byte-faithful forwarder's verification re-parse of the original + body is best-effort, but ``MemoryError`` is not a ``ValueError``, so on + 1M-context payloads it escaped and aborted an otherwise-fine request. The + block must never be able to fail the request. +""" + +from __future__ import annotations + +import asyncio +import json +from unittest.mock import AsyncMock, MagicMock + +import pytest + +fastapi = pytest.importorskip("fastapi") + +from fastapi.testclient import TestClient # noqa: E402 + +from headroom.proxy.server import ProxyConfig, create_app # noqa: E402 + +MESSAGES = "/v1/messages" +MODEL = "claude-sonnet-4-6" + +# Only ever present in the PRE-compression snapshot, never in the outbound body. +# Long enough to clear the handler's min-token floors. +SENTINEL = "presnapshot-sentinel " * 500 + + +def _config(**overrides) -> ProxyConfig: + base = { + "optimize": True, + "cache_enabled": False, + "rate_limit_enabled": False, + "cost_tracking_enabled": False, + "mode": "token", + } + base.update(overrides) + return ProxyConfig(**base) + + +def _upstream_200() -> MagicMock: + payload = { + "id": "msg_1", + "type": "message", + "role": "assistant", + "content": [{"type": "text", "text": "ok"}], + "model": MODEL, + "usage": {"input_tokens": 10, "output_tokens": 2}, + } + resp = MagicMock() + resp.status_code = 200 + resp.headers = {"content-type": "application/json"} + resp.content = json.dumps(payload).encode() + resp.text = json.dumps(payload) + resp.json.return_value = payload + return resp + + +def test_consistency_recount_runs_off_the_event_loop(monkeypatch): + """No ``count_messages`` pass over the pre-compression snapshot may run on + the loop thread. The snapshot is identified by SENTINEL, which the pipeline + strips, so this pins the re-count specifically: the already-offloaded count + at request start also sees the sentinel and passes either way, while the + two re-count passes ran inline before #2810 and would fail here. + """ + import headroom.tokenizers as tokenizers_mod + + seen: list[bool] = [] # one entry per snapshot count: True == ran on the loop + + # Patch the class, not the cached instance, so pytest restores it for us. + tokenizer_cls = type(tokenizers_mod.get_tokenizer(MODEL)) + real_count = tokenizer_cls.count_messages + + def counting(self, messages): # noqa: ANN001, ANN202 + if SENTINEL in json.dumps(messages, default=str): + try: + asyncio.get_running_loop() + except RuntimeError: + seen.append(False) # worker thread — no running loop here + else: + seen.append(True) # blocking the event loop + return real_count(self, messages) + + monkeypatch.setattr(tokenizer_cls, "count_messages", counting) + + def stripping_apply(**kwargs): # noqa: ANN003, ANN202 + """Return genuinely-changed messages with the sentinel removed.""" + from types import SimpleNamespace + + compressed = [{**m, "content": "compressed"} for m in kwargs["messages"]] + return SimpleNamespace( + messages=compressed, + transforms_applied=["test_strip"], + timing={}, + tokens_before=100, + tokens_after=80, + waste_signals=None, + ) + + app = create_app(_config()) + with TestClient(app) as client: + proxy = client.app.state.proxy + proxy.anthropic_pipeline.apply = MagicMock(side_effect=stripping_apply) + proxy._retry_request = AsyncMock(return_value=_upstream_200()) + r = client.post( + MESSAGES, + json={ + "model": MODEL, + "max_tokens": 16, + "messages": [{"role": "user", "content": SENTINEL}], + }, + ) + + assert r.status_code == 200, r.text + assert seen, "no count_messages pass saw the snapshot; test is not exercising #2810" + assert not any(seen), f"{sum(seen)}/{len(seen)} snapshot counts blocked the event loop" + + +def test_memoryerror_in_verification_reparse_does_not_abort_the_request(monkeypatch): + """A ``MemoryError`` from the best-effort original-body re-parse must be + swallowed (the safe fallback marks the body mutated, forcing canonical + re-serialization) rather than escaping and killing the request. + """ + import headroom.proxy.handlers.anthropic as anthropic_mod + + real_loads = json.loads + raised = {"n": 0} + + def exploding_loads(s, *args, **kwargs): # noqa: ANN001, ANN002, ANN003, ANN202 + # Only the verification re-parse passes the raw original body bytes. + if isinstance(s, (bytes, bytearray)) and b"reparse-bomb" in s: + raised["n"] += 1 + raise MemoryError("simulated re-parse spike") + return real_loads(s, *args, **kwargs) + + monkeypatch.setattr(anthropic_mod.json, "loads", exploding_loads) + + app = create_app(_config(optimize=False)) + with TestClient(app) as client: + proxy = client.app.state.proxy + proxy._retry_request = AsyncMock(return_value=_upstream_200()) + r = client.post( + MESSAGES, + json={ + "model": MODEL, + "max_tokens": 16, + "messages": [{"role": "user", "content": "reparse-bomb"}], + }, + ) + + assert raised["n"] > 0, "the verification re-parse never ran; test is not exercising #2768" + assert r.status_code == 200, r.text