[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"summary-4a3442a5ca8c1935-custom-elevated-sandbox-enables-safe-codex-on-wind-summary":3,"summaries-facets-categories":174,"summary-related-4a3442a5ca8c1935-custom-elevated-sandbox-enables-safe-codex-on-wind-summary":3759},{"id":4,"title":5,"ai":6,"body":13,"categories":140,"created_at":142,"date_modified":142,"description":133,"extension":143,"faq":142,"featured":144,"kicker_label":142,"meta":145,"navigation":157,"path":158,"published_at":159,"question":142,"scraped_at":159,"seo":160,"sitemap":161,"source_id":162,"source_name":163,"source_type":164,"source_url":165,"stem":166,"tags":167,"thumbnail_url":142,"tldr":171,"tweet":142,"unknown_tags":172,"__hash__":173},"summaries\u002Fsummaries\u002F4a3442a5ca8c1935-custom-elevated-sandbox-enables-safe-codex-on-wind-summary.md","Custom Elevated Sandbox Enables Safe Codex on Windows",{"provider":7,"model":8,"input_tokens":9,"output_tokens":10,"processing_time_ms":11,"cost_usd":12},"openrouter","x-ai\u002Fgrok-4.1-fast",8671,1926,24099,0.00219035,{"type":14,"value":15,"toc":132},"minimark",[16,21,25,29,71,75,122,126],[17,18,20],"h2",{"id":19},"windows-isolation-shortfalls-demand-custom-sandbox","Windows Isolation Shortfalls Demand Custom Sandbox",[22,23,24],"p",{},"Existing Windows tools fail for AI coding agents like Codex, which drive open-ended developer workflows (shells, Git, Python, builds). AppContainer suits scoped apps but not dynamic agent binaries. Windows Sandbox offers VM isolation but requires host\u002Fguest bridging and excludes Home SKUs, blocking direct workspace access. Mandatory Integrity Control (MIC) labels workspaces low-integrity, exposing them to all low-trust processes—not just Codex—risking broader compromise. Result: Codex defaults force users to approve every command (inefficient) or enable full access (unsafe). Solution: Build OS-enforced sandbox with file write limits to workspace (current directory + config.toml writable_roots), read access matching user, and no outbound network unless approved.",[17,26,28],{"id":27},"unelevated-prototype-uses-sids-and-restricted-tokens-for-granular-writes","Unelevated Prototype Uses SIDs and Restricted Tokens for Granular Writes",[22,30,31,32,36,37,40,41,40,44,47,48,50,51,53,54,40,57,40,60,40,63,66,67,70],{},"First prototype avoids admin elevation by creating synthetic ",[33,34,35],"code",{},"sandbox-write"," SID, granting it write\u002Fexecute\u002Fdelete on workspace and denying on ",[33,38,39],{},".git",", ",[33,42,43],{},".codex",[33,45,46],{},".agents",". Launches commands under write-restricted token requiring dual checks: normal user ACL + ",[33,49,35],{}," SID access (restricted list: Everyone, session SID, ",[33,52,35],{},"). This enforces writes only where intended without modifying host broadly. Network limits use advisory env vars: ",[33,55,56],{},"HTTPS_PROXY=http:\u002F\u002F127.0.0.1:9",[33,58,59],{},"ALL_PROXY=http:\u002F\u002F127.0.0.1:9",[33,61,62],{},"GIT_HTTPS_PROXY=http:\u002F\u002F127.0.0.1:9",[33,64,65],{},"GIT_SSH_COMMAND=cmd \u002Fc exit 1",", plus ",[33,68,69],{},"denybin"," PATH stubs for SSH\u002FSCP. Tradeoffs: Slow ACL setup on large dirs, hard to reconfigure, weak network (bypassable by custom sockets or non-proxy tools). Firewall infeasible unelevated—can't target restricted tokens or child processes like Git\u002FPython.",[17,72,74],{"id":73},"elevated-redesign-leverages-dedicated-users-and-firewall-for-strong-isolation","Elevated Redesign Leverages Dedicated Users and Firewall for Strong Isolation",[22,76,77,78,81,82,85,86,89,90,40,93,40,96,99,100,103,104,107,108,111,112,40,115,40,118,121],{},"Shift to elevation at setup creates local users ",[33,79,80],{},"CodexSandboxOffline"," (firewall-blocked) and ",[33,83,84],{},"CodexSandboxOnline"," (network-allowed), with encrypted DPAPI credentials. Setup binary ",[33,87,88],{},"codex-windows-sandbox-setup.exe"," handles: synthetic SID, users, firewall rules blocking all outbound for Offline user, async read ACLs on dirs like ",[33,91,92],{},"C:\\Users\\\u003Cuser>",[33,94,95],{},"C:\\Windows",[33,97,98],{},"C:\\Program Files",". Command flow splits: ",[33,101,102],{},"codex.exe"," launches ",[33,105,106],{},"codex-command-runner.exe"," as sandbox user via ",[33,109,110],{},"CreateProcessWithLogonW","; runner creates restricted token (same SID list) on sandbox side using ",[33,113,114],{},"OpenProcessToken",[33,116,117],{},"CreateRestrictedToken",[33,119,120],{},"CreateProcessAsUserW"," for child. Ensures read equivalence to real user, write restrictions, and per-session firewall scoping without blocking all Python\u002FGit globally. Setup once, then frictionless: agents run tests, edit files, Git branch in workspace without net exfil or stray writes.",[17,123,125],{"id":124},"safety-usability-balance-matches-macoslinux-sandboxes","Safety-Usability Balance Matches macOS\u002FLinux Sandboxes",[22,127,128,129,131],{},"Final multi-binary architecture (",[33,130,102],{},", setup.exe, runner.exe, child) mirrors macOS Seatbelt\u002F.sbpl and Linux seccomp\u002Fbubblewrap: OS primitives for process tree isolation. Complexity earned—each layer solves privilege walls, token boundaries, async costs—yielding production sandbox where agents act like developers (full reads, targeted writes) but can't escape bounds. Users avoid tedious approvals or risky full access, matching cross-platform delight.",{"title":133,"searchDepth":134,"depth":134,"links":135},"",2,[136,137,138,139],{"id":19,"depth":134,"text":20},{"id":27,"depth":134,"text":28},{"id":73,"depth":134,"text":74},{"id":124,"depth":134,"text":125},[141],"DevOps & Cloud",null,"md",false,{"content_references":146,"triage":152},[147],{"type":148,"title":149,"url":150,"context":151},"tool","Codex","https:\u002F\u002Fopenai.com\u002Fcodex\u002F","mentioned",{"relevance":153,"novelty":154,"quality":153,"actionability":154,"composite":155,"reasoning":156},4,3,3.6,"Category: AI & LLMs. The article discusses a custom sandbox solution for Codex on Windows, addressing specific pain points related to security and usability for AI coding agents. It provides a detailed overview of the sandbox's architecture, which is relevant for developers looking to implement AI tools safely.",true,"\u002Fsummaries\u002F4a3442a5ca8c1935-custom-elevated-sandbox-enables-safe-codex-on-wind-summary","2026-05-13 19:01:08",{"title":5,"description":133},{"loc":158},"4a3442a5ca8c1935","OpenAI News","article","https:\u002F\u002Fopenai.com\u002Findex\u002Fbuilding-codex-windows-sandbox","summaries\u002F4a3442a5ca8c1935-custom-elevated-sandbox-enables-safe-codex-on-wind-summary",[168,169,170],"agents","devops","ai-tools","OpenAI built a custom Windows sandbox for Codex using dedicated users, restricted tokens, firewall rules, and multi-binary setup to limit writes to workspace, block outbound network by default, and grant user-like reads without constant approvals.",[],"12ruRo00cZWNKfq-h3jFzRmeUgZDzM6fv_6K8x5Hb6o",[175,178,181,184,187,190,192,194,196,198,200,202,205,207,209,211,213,215,217,219,221,223,226,229,231,233,236,238,240,243,245,247,249,251,253,255,257,259,261,263,265,267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,305,307,309,311,313,315,317,319,321,323,325,327,329,331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,377,379,381,383,385,387,389,391,393,395,397,399,401,403,405,407,409,411,413,415,417,419,421,423,425,427,429,431,433,435,437,439,441,443,445,447,449,451,453,455,457,459,461,463,465,467,469,471,473,475,477,479,481,483,485,487,489,491,493,495,497,499,501,503,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,545,547,549,551,553,555,557,559,561,563,565,567,569,571,573,575,577,579,581,583,585,587,589,591,593,595,597,599,601,603,605,607,609,611,613,615,617,619,621,623,625,627,629,631,633,635,637,639,641,643,645,647,649,651,653,655,657,659,661,663,665,667,669,671,673,675,677,679,681,683,685,687,689,691,693,695,697,699,701,703,705,707,709,711,713,715,717,719,721,723,725,727,729,731,733,735,737,739,741,743,745,747,749,751,753,755,757,759,761,763,765,767,769,771,773,775,777,779,781,783,785,787,789,791,793,795,797,799,801,803,805,807,809,811,813,815,817,819,821,823,825,827,829,831,833,835,837,839,841,843,845,847,849,851,853,855,857,859,861,863,865,867,869,871,873,875,877,879,881,883,885,887,889,891,893,895,897,899,901,903,905,907,909,911,913,915,917,919,921,923,925,927,929,931,933,935,937,939,941,943,945,947,949,951,953,955,957,959,961,963,965,967,969,971,973,975,977,979,981,983,985,987,989,991,993,995,997,999,1001,1003,1005,1007,1009,1011,1013,1015,1017,1019,1021,1023,1025,1027,1029,1031,1033,1035,1037,1039,1041,1043,1045,1047,1049,1051,1053,1055,1057,1059,1061,1063,1065,1067,1069,1071,1073,1075,1077,1079,1081,1083,1085,1087,1089,1091,1093,1095,1097,1099,1101,1103,1105,1107,1109,1111,1113,1115,1117,1119,1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1155,1157,1159,1161,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1327,1329,1331,1333,1335,1337,1339,1341,1343,1345,1347,1349,1351,1353,1355,1357,1359,1361,1363,1365,1367,1369,1371,1373,1375,1377,1379,1381,1383,1385,1387,1389,1391,1393,1395,1397,1399,1401,1403,1405,1407,1409,1411,1413,1415,1417,1419,1421,1423,1425,1427,1429,1431,1433,1435,1437,1439,1441,1443,1445,1447,1449,1451,1453,1455,1457,1459,1461,1463,1465,1467,1469,1471,1473,1475,1477,1479,1481,1483,1485,1487,1489,1491,1493,1495,1497,1499,1501,1503,1505,1507,1509,1511,1513,1515,1517,1519,1521,1523,1525,1527,1529,1531,1533,1535,1537,1539,1541,1543,1545,1547,1549,1551,1553,1555,1557,1559,1561,1563,1565,1567,1569,1571,1573,1575,1577,1579,1581,1583,1585,1587,1589,1591,1593,1595,1597,1599,1601,1603,1605,1607,1609,1611,1613,1615,1617,1619,1621,1623,1625,1627,1629,1631,1633,1635,1637,1639,1641,1643,1645,1647,1649,1651,1653,1655,1657,1659,1661,1663,1665,1667,1669,1671,1673,1675,1677,1679,1681,1683,1685,1687,1689,1691,1693,1695,1697,1699,1701,1703,1705,1707,1709,1711,1713,1715,1717,1719,1721,1723,1725,1727,1729,1731,1733,1735,1737,1739,1741,1743,1745,1747,1749,1751,1753,1755,1757,1759,1761,1763,1765,1767,1769,1771,1773,1775,1777,1779,1781,1783,1785,1787,1789,1791,1793,1795,1797,1799,1801,1803,1805,1807,1809,1811,1813,1815,1817,1819,1821,1823,1825,1827,1829,1831,1833,1835,1837,1839,1841,1843,1845,1847,1849,1851,1853,1855,1857,1859,1861,1863,1865,1867,1869,1871,1873,1875,1877,1879,1881,1883,1885,1887,1889,1891,1893,1895,1897,1899,1901,1903,1905,1907,1909,1911,1913,1915,1917,1919,1921,1923,1925,1927,1929,1931,1933,1935,1937,1939,1941,1943,1945,1947,1949,1951,1953,1955,1957,1959,1961,1963,1965,1967,1969,1971,1973,1975,1977,1979,1981,1983,1985,1987,1989,1991,1993,1995,1997,1999,2001,2003,2005,2007,2009,2011,2013,2015,2017,2019,2021,2023,2025,2027,2029,2031,2033,2035,2037,2039,2041,2043,2045,2047,2049,2051,2053,2055,2057,2059,2061,2063,2065,2067,2069,2071,2073,2075,2077,2079,2081,2083,2085,2087,2089,2091,2093,2095,2097,2099,2101,2103,2105,2107,2109,2111,2113,2115,2117,2119,2121,2123,2125,2127,2129,2131,2133,2135,2137,2139,2141,2143,2145,2147,2149,2151,2153,2155,2157,2159,2161,2163,2165,2167,2169,2171,2173,2175,2177,2179,2181,2183,2185,2187,2189,2191,2193,2195,2197,2199,2201,2203,2205,2207,2209,2211,2213,2215,2217,2219,2221,2223,2225,2227,2229,2231,2233,2235,2237,2239,2241,2243,2245,2247,2249,2251,2253,2255,2257,2259,2261,2263,2265,2267,2269,2271,2273,2275,2277,2279,2281,2283,2285,2287,2289,2291,2293,2295,2297,2299,2301,2303,2305,2307,2309,2311,2313,2315,2317,2319,2321,2323,2325,2327,2329,2331,2333,2335,2337,2339,2341,2343,2345,2347,2349,2351,2353,2355,2357,2359,2361,2363,2365,2367,2369,2371,2373,2375,2377,2379,2381,2383,2385,2387,2389,2391,2393,2395,2397,2399,2401,2403,2405,2407,2409,2411,2413,2415,2417,2419,2421,2423,2425,2427,2429,2431,2433,2435,2437,2439,2441,2443,2445,2447,2449,2451,2453,2455,2457,2459,2461,2463,2465,2467,2469,2471,2473,2475,2477,2479,2481,2483,2485,2487,2489,2491,2493,2495,2497,2499,2501,2503,2505,2507,2509,2511,2513,2515,2517,2519,2521,2523,2525,2527,2529,2531,2533,2535,2537,2539,2541,2543,2545,2547,2549,2551,2553,2555,2557,2559,2561,2563,2565,2567,2569,2571,2573,2575,2577,2579,2581,2583,2585,2587,2589,2591,2593,2595,2597,2599,2601,2603,2605,2607,2609,2611,2613,2615,2617,2619,2621,2623,2625,2627,2629,2631,2633,2635,2637,2639,2641,2643,2645,2647,2649,2651,2653,2655,2657,2659,2661,2663,2665,2667,2669,2671,2673,2675,2677,2679,2681,2683,2685,2687,2689,2691,2693,2695,2697,2699,2701,2703,2705,2707,2709,2711,2713,2715,2717,2719,2721,2723,2725,2727,2729,2731,2733,2735,2737,2739,2741,2743,2745,2747,2749,2751,2753,2755,2757,2759,2761,2763,2765,2767,2769,2771,2773,2775,2777,2779,2781,2783,2785,2787,2789,2791,2793,2795,2797,2799,2801,2803,2805,2807,2809,2811,2813,2815,2817,2819,2821,2823,2825,2827,2829,2831,2833,2835,2837,2839,2841,2843,2845,2847,2849,2851,2853,2855,2857,2859,2861,2863,2865,2867,2869,2871,2873,2875,2877,2879,2881,2883,2885,2887,2889,2891,2893,2895,2897,2899,2901,2903,2905,2907,2909,2911,2913,2915,2917,2919,2921,2923,2925,2927,2929,2931,2933,2935,2937,2939,2941,2943,2945,2947,2949,2951,2953,2955,2957,2959,2961,2963,2965,2967,2969,2971,2973,2975,2977,2979,2981,2983,2985,2987,2989,2991,2993,2995,2997,2999,3001,3003,3005,3007,3009,3011,3013,3015,3017,3019,3021,3023,3025,3027,3029,3031,3033,3035,3037,3039,3041,3043,3045,3047,3049,3051,3053,3055,3057,3059,3061,3063,3065,3067,3069,3071,3073,3075,3077,3079,3081,3083,3085,3087,3089,3091,3093,3095,3097,3099,3101,3103,3105,3107,3109,3111,3113,3115,3117,3119,3121,3123,3125,3127,3129,3131,3133,3135,3137,3139,3141,3143,3145,3147,3149,3151,3153,3155,3157,3159,3161,3163,3165,3167,3169,3171,3173,3175,3177,3179,3181,3183,3185,3187,3189,3191,3193,3195,3197,3199,3201,3203,3205,3207,3209,3211,3213,3215,3217,3219,3221,3223,3225,3227,3229,3231,3233,3235,3237,3239,3241,3243,3245,3247,3249,3251,3253,3255,3257,3259,3261,3263,3265,3267,3269,3271,3273,3275,3277,3279,3281,3283,3285,3287,3289,3291,3293,3295,3297,3299,3301,3303,3305,3307,3309,3311,3313,3315,3317,3319,3321,3323,3325,3327,3329,3331,3333,3335,3337,3339,3341,3343,3345,3347,3349,3351,3353,3355,3357,3359,3361,3363,3365,3367,3369,3371,3373,3375,3377,3379,3381,3383,3385,3387,3389,3391,3393,3395,3397,3399,3401,3403,3405,3407,3409,3411,3413,3415,3417,3419,3421,3423,3425,3427,3429,3431,3433,3435,3437,3439,3441,3443,3445,3447,3449,3451,3453,3455,3457,3459,3461,3463,3465,3467,3469,3471,3473,3475,3477,3479,3481,3483,3485,3487,3489,3491,3493,3495,3497,3499,3501,3503,3505,3507,3509,3511,3513,3515,3517,3519,3521,3523,3525,3527,3529,3531,3533,3535,3537,3539,3541,3543,3545,3547,3549,3551,3553,3555,3557,3559,3561,3563,3565,3567,3569,3571,3573,3575,3577,3579,3581,3583,3585,3587,3589,3591,3593,3595,3597,3599,3601,3603,3605,3607,3609,3611,3613,3615,3617,3619,3621,3623,3625,3627,3629,3631,3633,3635,3637,3639,3641,3643,3645,3647,3649,3651,3653,3655,3657,3659,3661,3663,3665,3667,3669,3671,3673,3675,3677,3679,3681,3683,3685,3687,3689,3691,3693,3695,3697,3699,3701,3703,3705,3707,3709,3711,3713,3715,3717,3719,3721,3723,3725,3727,3729,3731,3733,3735,3737,3739,3741,3743,3745,3747,3749,3751,3753,3755,3757],{"categories":176},[177],"Developer Productivity",{"categories":179},[180],"Business & SaaS",{"categories":182},[183],"AI & LLMs",{"categories":185},[186],"AI Automation",{"categories":188},[189],"Product Strategy",{"categories":191},[183],{"categories":193},[177],{"categories":195},[180],{"categories":197},[],{"categories":199},[183],{"categories":201},[],{"categories":203},[204],"AI News & Trends",{"categories":206},[186],{"categories":208},[204],{"categories":210},[186],{"categories":212},[186],{"categories":214},[183],{"categories":216},[183],{"categories":218},[204],{"categories":220},[183],{"categories":222},[],{"categories":224},[225],"Design & Frontend",{"categories":227},[228],"Data Science & Visualization",{"categories":230},[204],{"categories":232},[],{"categories":234},[235],"Software Engineering",{"categories":237},[183],{"categories":239},[186],{"categories":241},[242],"Marketing & Growth",{"categories":244},[183],{"categories":246},[186],{"categories":248},[],{"categories":250},[],{"categories":252},[225],{"categories":254},[186],{"categories":256},[177],{"categories":258},[225],{"categories":260},[183],{"categories":262},[186],{"categories":264},[204],{"categories":266},[],{"categories":268},[],{"categories":270},[186],{"categories":272},[235],{"categories":274},[],{"categories":276},[180],{"categories":278},[],{"categories":280},[],{"categories":282},[186],{"categories":284},[186],{"categories":286},[183],{"categories":288},[],{"categories":290},[235],{"categories":292},[],{"categories":294},[],{"categories":296},[],{"categories":298},[183],{"categories":300},[242],{"categories":302},[225],{"categories":304},[225],{"categories":306},[183],{"categories":308},[186],{"categories":310},[183],{"categories":312},[183],{"categories":314},[186],{"categories":316},[186],{"categories":318},[228],{"categories":320},[204],{"categories":322},[186],{"categories":324},[242],{"categories":326},[186],{"categories":328},[189],{"categories":330},[],{"categories":332},[186],{"categories":334},[],{"categories":336},[186],{"categories":338},[235],{"categories":340},[225],{"categories":342},[183],{"categories":344},[],{"categories":346},[],{"categories":348},[186],{"categories":350},[],{"categories":352},[183],{"categories":354},[],{"categories":356},[177],{"categories":358},[235],{"categories":360},[180],{"categories":362},[204],{"categories":364},[183],{"categories":366},[],{"categories":368},[183],{"categories":370},[],{"categories":372},[235],{"categories":374},[228],{"categories":376},[],{"categories":378},[183],{"categories":380},[225],{"categories":382},[],{"categories":384},[225],{"categories":386},[186],{"categories":388},[],{"categories":390},[186],{"categories":392},[204],{"categories":394},[180],{"categories":396},[183],{"categories":398},[],{"categories":400},[186],{"categories":402},[183],{"categories":404},[189],{"categories":406},[],{"categories":408},[183],{"categories":410},[186],{"categories":412},[186],{"categories":414},[],{"categories":416},[228],{"categories":418},[183],{"categories":420},[],{"categories":422},[177],{"categories":424},[180],{"categories":426},[183],{"categories":428},[186],{"categories":430},[235],{"categories":432},[183],{"categories":434},[],{"categories":436},[],{"categories":438},[183],{"categories":440},[],{"categories":442},[225],{"categories":444},[],{"categories":446},[183],{"categories":448},[],{"categories":450},[186],{"categories":452},[183],{"categories":454},[225],{"categories":456},[],{"categories":458},[183],{"categories":460},[183],{"categories":462},[180],{"categories":464},[186],{"categories":466},[183],{"categories":468},[225],{"categories":470},[186],{"categories":472},[],{"categories":474},[],{"categories":476},[204],{"categories":478},[],{"categories":480},[183],{"categories":482},[180,242],{"categories":484},[],{"categories":486},[183],{"categories":488},[],{"categories":490},[],{"categories":492},[183],{"categories":494},[],{"categories":496},[183],{"categories":498},[141],{"categories":500},[],{"categories":502},[204],{"categories":504},[225],{"categories":506},[],{"categories":508},[204],{"categories":510},[204],{"categories":512},[183],{"categories":514},[242],{"categories":516},[],{"categories":518},[180],{"categories":520},[],{"categories":522},[183,141],{"categories":524},[183],{"categories":526},[183],{"categories":528},[186],{"categories":530},[183,235],{"categories":532},[228],{"categories":534},[183],{"categories":536},[242],{"categories":538},[186],{"categories":540},[186],{"categories":542},[],{"categories":544},[186],{"categories":546},[183,180],{"categories":548},[],{"categories":550},[225],{"categories":552},[225],{"categories":554},[],{"categories":556},[],{"categories":558},[204],{"categories":560},[],{"categories":562},[177],{"categories":564},[235],{"categories":566},[183],{"categories":568},[225],{"categories":570},[186],{"categories":572},[235],{"categories":574},[204],{"categories":576},[225],{"categories":578},[],{"categories":580},[183],{"categories":582},[183],{"categories":584},[183],{"categories":586},[204],{"categories":588},[177],{"categories":590},[183],{"categories":592},[186],{"categories":594},[141],{"categories":596},[225],{"categories":598},[186],{"categories":600},[],{"categories":602},[],{"categories":604},[225],{"categories":606},[204],{"categories":608},[228],{"categories":610},[],{"categories":612},[183],{"categories":614},[183],{"categories":616},[180],{"categories":618},[183],{"categories":620},[183],{"categories":622},[204],{"categories":624},[],{"categories":626},[186],{"categories":628},[235],{"categories":630},[],{"categories":632},[183],{"categories":634},[183],{"categories":636},[186],{"categories":638},[],{"categories":640},[],{"categories":642},[183],{"categories":644},[],{"categories":646},[180],{"categories":648},[186],{"categories":650},[],{"categories":652},[177],{"categories":654},[183],{"categories":656},[180],{"categories":658},[204],{"categories":660},[],{"categories":662},[],{"categories":664},[],{"categories":666},[204],{"categories":668},[204],{"categories":670},[],{"categories":672},[],{"categories":674},[180],{"categories":676},[],{"categories":678},[],{"categories":680},[177],{"categories":682},[],{"categories":684},[242],{"categories":686},[186],{"categories":688},[180],{"categories":690},[186],{"categories":692},[235],{"categories":694},[],{"categories":696},[189],{"categories":698},[225],{"categories":700},[235],{"categories":702},[183],{"categories":704},[186],{"categories":706},[180],{"categories":708},[183],{"categories":710},[],{"categories":712},[],{"categories":714},[235],{"categories":716},[228],{"categories":718},[189],{"categories":720},[186],{"categories":722},[183],{"categories":724},[],{"categories":726},[141],{"categories":728},[],{"categories":730},[186],{"categories":732},[],{"categories":734},[],{"categories":736},[183],{"categories":738},[225],{"categories":740},[242],{"categories":742},[186],{"categories":744},[],{"categories":746},[177],{"categories":748},[],{"categories":750},[204],{"categories":752},[183,141],{"categories":754},[204],{"categories":756},[183],{"categories":758},[180],{"categories":760},[183],{"categories":762},[],{"categories":764},[180],{"categories":766},[],{"categories":768},[235],{"categories":770},[225],{"categories":772},[204],{"categories":774},[228],{"categories":776},[177],{"categories":778},[183],{"categories":780},[235],{"categories":782},[],{"categories":784},[],{"categories":786},[189],{"categories":788},[],{"categories":790},[183],{"categories":792},[],{"categories":794},[225],{"categories":796},[225],{"categories":798},[225],{"categories":800},[],{"categories":802},[],{"categories":804},[204],{"categories":806},[186],{"categories":808},[183],{"categories":810},[183],{"categories":812},[183],{"categories":814},[180],{"categories":816},[183],{"categories":818},[],{"categories":820},[235],{"categories":822},[235],{"categories":824},[180],{"categories":826},[],{"categories":828},[183],{"categories":830},[183],{"categories":832},[180],{"categories":834},[204],{"categories":836},[242],{"categories":838},[186],{"categories":840},[],{"categories":842},[225],{"categories":844},[],{"categories":846},[183],{"categories":848},[],{"categories":850},[180],{"categories":852},[186],{"categories":854},[],{"categories":856},[141],{"categories":858},[228],{"categories":860},[235],{"categories":862},[242],{"categories":864},[235],{"categories":866},[186],{"categories":868},[],{"categories":870},[],{"categories":872},[186],{"categories":874},[177],{"categories":876},[186],{"categories":878},[189],{"categories":880},[180],{"categories":882},[],{"categories":884},[183],{"categories":886},[189],{"categories":888},[183],{"categories":890},[183],{"categories":892},[242],{"categories":894},[225],{"categories":896},[186],{"categories":898},[],{"categories":900},[],{"categories":902},[141],{"categories":904},[235],{"categories":906},[],{"categories":908},[186],{"categories":910},[183],{"categories":912},[225,183],{"categories":914},[177],{"categories":916},[],{"categories":918},[183],{"categories":920},[177],{"categories":922},[225],{"categories":924},[186],{"categories":926},[235],{"categories":928},[],{"categories":930},[183],{"categories":932},[],{"categories":934},[177],{"categories":936},[],{"categories":938},[186],{"categories":940},[189],{"categories":942},[183],{"categories":944},[183],{"categories":946},[225],{"categories":948},[186],{"categories":950},[141],{"categories":952},[225],{"categories":954},[186],{"categories":956},[183],{"categories":958},[183],{"categories":960},[183],{"categories":962},[204],{"categories":964},[],{"categories":966},[189],{"categories":968},[186],{"categories":970},[225],{"categories":972},[186],{"categories":974},[235],{"categories":976},[225],{"categories":978},[186],{"categories":980},[204],{"categories":982},[],{"categories":984},[183],{"categories":986},[225],{"categories":988},[183],{"categories":990},[177],{"categories":992},[204],{"categories":994},[183],{"categories":996},[242],{"categories":998},[183],{"categories":1000},[183],{"categories":1002},[186],{"categories":1004},[186],{"categories":1006},[183],{"categories":1008},[186],{"categories":1010},[225],{"categories":1012},[183],{"categories":1014},[],{"categories":1016},[],{"categories":1018},[235],{"categories":1020},[],{"categories":1022},[177],{"categories":1024},[141],{"categories":1026},[],{"categories":1028},[177],{"categories":1030},[180],{"categories":1032},[242],{"categories":1034},[],{"categories":1036},[180],{"categories":1038},[],{"categories":1040},[],{"categories":1042},[],{"categories":1044},[],{"categories":1046},[],{"categories":1048},[183],{"categories":1050},[186],{"categories":1052},[141],{"categories":1054},[177],{"categories":1056},[183],{"categories":1058},[235],{"categories":1060},[189],{"categories":1062},[183],{"categories":1064},[242],{"categories":1066},[183],{"categories":1068},[183],{"categories":1070},[183],{"categories":1072},[183,177],{"categories":1074},[235],{"categories":1076},[235],{"categories":1078},[225],{"categories":1080},[183],{"categories":1082},[],{"categories":1084},[],{"categories":1086},[],{"categories":1088},[235],{"categories":1090},[228],{"categories":1092},[204],{"categories":1094},[225],{"categories":1096},[],{"categories":1098},[183],{"categories":1100},[183],{"categories":1102},[],{"categories":1104},[],{"categories":1106},[186],{"categories":1108},[183],{"categories":1110},[180],{"categories":1112},[],{"categories":1114},[177],{"categories":1116},[183],{"categories":1118},[177],{"categories":1120},[183],{"categories":1122},[235],{"categories":1124},[242],{"categories":1126},[183,225],{"categories":1128},[204],{"categories":1130},[225],{"categories":1132},[],{"categories":1134},[141],{"categories":1136},[225],{"categories":1138},[186],{"categories":1140},[],{"categories":1142},[],{"categories":1144},[],{"categories":1146},[],{"categories":1148},[235],{"categories":1150},[186],{"categories":1152},[186],{"categories":1154},[141],{"categories":1156},[183],{"categories":1158},[183],{"categories":1160},[183],{"categories":1162},[],{"categories":1164},[225],{"categories":1166},[],{"categories":1168},[],{"categories":1170},[186],{"categories":1172},[],{"categories":1174},[],{"categories":1176},[242],{"categories":1178},[242],{"categories":1180},[186],{"categories":1182},[],{"categories":1184},[183],{"categories":1186},[183],{"categories":1188},[235],{"categories":1190},[225],{"categories":1192},[225],{"categories":1194},[186],{"categories":1196},[177],{"categories":1198},[183],{"categories":1200},[225],{"categories":1202},[225],{"categories":1204},[186],{"categories":1206},[186],{"categories":1208},[183],{"categories":1210},[],{"categories":1212},[],{"categories":1214},[183],{"categories":1216},[186],{"categories":1218},[204],{"categories":1220},[235],{"categories":1222},[177],{"categories":1224},[183],{"categories":1226},[],{"categories":1228},[186],{"categories":1230},[186],{"categories":1232},[],{"categories":1234},[177],{"categories":1236},[183],{"categories":1238},[177],{"categories":1240},[177],{"categories":1242},[],{"categories":1244},[],{"categories":1246},[186],{"categories":1248},[186],{"categories":1250},[183],{"categories":1252},[183],{"categories":1254},[204],{"categories":1256},[228],{"categories":1258},[189],{"categories":1260},[204],{"categories":1262},[225],{"categories":1264},[],{"categories":1266},[204],{"categories":1268},[],{"categories":1270},[],{"categories":1272},[],{"categories":1274},[],{"categories":1276},[235],{"categories":1278},[228],{"categories":1280},[],{"categories":1282},[183],{"categories":1284},[183],{"categories":1286},[228],{"categories":1288},[235],{"categories":1290},[],{"categories":1292},[],{"categories":1294},[186],{"categories":1296},[204],{"categories":1298},[204],{"categories":1300},[186],{"categories":1302},[177],{"categories":1304},[183,141],{"categories":1306},[],{"categories":1308},[225],{"categories":1310},[177],{"categories":1312},[186],{"categories":1314},[225],{"categories":1316},[],{"categories":1318},[186],{"categories":1320},[186],{"categories":1322},[183],{"categories":1324},[242],{"categories":1326},[235],{"categories":1328},[225],{"categories":1330},[],{"categories":1332},[186],{"categories":1334},[183],{"categories":1336},[186],{"categories":1338},[186],{"categories":1340},[186],{"categories":1342},[242],{"categories":1344},[186],{"categories":1346},[183],{"categories":1348},[],{"categories":1350},[242],{"categories":1352},[204],{"categories":1354},[186],{"categories":1356},[],{"categories":1358},[],{"categories":1360},[183],{"categories":1362},[186],{"categories":1364},[204],{"categories":1366},[186],{"categories":1368},[],{"categories":1370},[],{"categories":1372},[],{"categories":1374},[186],{"categories":1376},[],{"categories":1378},[],{"categories":1380},[228],{"categories":1382},[183],{"categories":1384},[228],{"categories":1386},[204],{"categories":1388},[183],{"categories":1390},[183],{"categories":1392},[186],{"categories":1394},[183],{"categories":1396},[],{"categories":1398},[],{"categories":1400},[141],{"categories":1402},[],{"categories":1404},[],{"categories":1406},[177],{"categories":1408},[],{"categories":1410},[],{"categories":1412},[],{"categories":1414},[],{"categories":1416},[235],{"categories":1418},[204],{"categories":1420},[242],{"categories":1422},[180],{"categories":1424},[183],{"categories":1426},[183],{"categories":1428},[180],{"categories":1430},[],{"categories":1432},[225],{"categories":1434},[186],{"categories":1436},[180],{"categories":1438},[183],{"categories":1440},[183],{"categories":1442},[177],{"categories":1444},[],{"categories":1446},[177],{"categories":1448},[183],{"categories":1450},[242],{"categories":1452},[186],{"categories":1454},[204],{"categories":1456},[180],{"categories":1458},[183],{"categories":1460},[186],{"categories":1462},[],{"categories":1464},[183],{"categories":1466},[177],{"categories":1468},[183],{"categories":1470},[],{"categories":1472},[204],{"categories":1474},[183],{"categories":1476},[],{"categories":1478},[180],{"categories":1480},[183],{"categories":1482},[],{"categories":1484},[],{"categories":1486},[],{"categories":1488},[183],{"categories":1490},[],{"categories":1492},[141],{"categories":1494},[183],{"categories":1496},[],{"categories":1498},[183],{"categories":1500},[183],{"categories":1502},[183],{"categories":1504},[183,141],{"categories":1506},[183],{"categories":1508},[183],{"categories":1510},[225],{"categories":1512},[186],{"categories":1514},[],{"categories":1516},[186],{"categories":1518},[183],{"categories":1520},[183],{"categories":1522},[183],{"categories":1524},[177],{"categories":1526},[177],{"categories":1528},[235],{"categories":1530},[225],{"categories":1532},[186],{"categories":1534},[],{"categories":1536},[183],{"categories":1538},[204],{"categories":1540},[183],{"categories":1542},[180],{"categories":1544},[],{"categories":1546},[141],{"categories":1548},[225],{"categories":1550},[225],{"categories":1552},[186],{"categories":1554},[204],{"categories":1556},[186],{"categories":1558},[183],{"categories":1560},[],{"categories":1562},[183],{"categories":1564},[],{"categories":1566},[],{"categories":1568},[183],{"categories":1570},[183],{"categories":1572},[183],{"categories":1574},[186],{"categories":1576},[183],{"categories":1578},[],{"categories":1580},[228],{"categories":1582},[186],{"categories":1584},[],{"categories":1586},[],{"categories":1588},[183],{"categories":1590},[204],{"categories":1592},[],{"categories":1594},[225],{"categories":1596},[141],{"categories":1598},[204],{"categories":1600},[235],{"categories":1602},[235],{"categories":1604},[204],{"categories":1606},[204],{"categories":1608},[141],{"categories":1610},[],{"categories":1612},[204],{"categories":1614},[183],{"categories":1616},[177],{"categories":1618},[204],{"categories":1620},[],{"categories":1622},[228],{"categories":1624},[204],{"categories":1626},[235],{"categories":1628},[204],{"categories":1630},[141],{"categories":1632},[183],{"categories":1634},[183],{"categories":1636},[],{"categories":1638},[180],{"categories":1640},[],{"categories":1642},[],{"categories":1644},[183],{"categories":1646},[183],{"categories":1648},[183],{"categories":1650},[183],{"categories":1652},[],{"categories":1654},[228],{"categories":1656},[177],{"categories":1658},[],{"categories":1660},[183],{"categories":1662},[183],{"categories":1664},[141],{"categories":1666},[141],{"categories":1668},[],{"categories":1670},[186],{"categories":1672},[204],{"categories":1674},[204],{"categories":1676},[183],{"categories":1678},[186],{"categories":1680},[],{"categories":1682},[225],{"categories":1684},[183],{"categories":1686},[183],{"categories":1688},[],{"categories":1690},[],{"categories":1692},[141],{"categories":1694},[183],{"categories":1696},[235],{"categories":1698},[180],{"categories":1700},[183],{"categories":1702},[],{"categories":1704},[186],{"categories":1706},[177],{"categories":1708},[177],{"categories":1710},[],{"categories":1712},[183],{"categories":1714},[225],{"categories":1716},[186],{"categories":1718},[],{"categories":1720},[183],{"categories":1722},[183],{"categories":1724},[186],{"categories":1726},[],{"categories":1728},[186],{"categories":1730},[235],{"categories":1732},[],{"categories":1734},[183],{"categories":1736},[],{"categories":1738},[183],{"categories":1740},[],{"categories":1742},[183],{"categories":1744},[183],{"categories":1746},[],{"categories":1748},[183],{"categories":1750},[204],{"categories":1752},[183],{"categories":1754},[183],{"categories":1756},[177],{"categories":1758},[183],{"categories":1760},[204],{"categories":1762},[186],{"categories":1764},[],{"categories":1766},[183],{"categories":1768},[242],{"categories":1770},[],{"categories":1772},[],{"categories":1774},[],{"categories":1776},[177],{"categories":1778},[204],{"categories":1780},[186],{"categories":1782},[183],{"categories":1784},[225],{"categories":1786},[186],{"categories":1788},[],{"categories":1790},[186],{"categories":1792},[],{"categories":1794},[183],{"categories":1796},[186],{"categories":1798},[183],{"categories":1800},[],{"categories":1802},[183],{"categories":1804},[183],{"categories":1806},[204],{"categories":1808},[225],{"categories":1810},[186],{"categories":1812},[225],{"categories":1814},[180],{"categories":1816},[],{"categories":1818},[],{"categories":1820},[183],{"categories":1822},[177],{"categories":1824},[204],{"categories":1826},[],{"categories":1828},[],{"categories":1830},[235],{"categories":1832},[225],{"categories":1834},[],{"categories":1836},[183],{"categories":1838},[],{"categories":1840},[242],{"categories":1842},[183],{"categories":1844},[141],{"categories":1846},[235],{"categories":1848},[],{"categories":1850},[186],{"categories":1852},[183],{"categories":1854},[186],{"categories":1856},[186],{"categories":1858},[183],{"categories":1860},[],{"categories":1862},[177],{"categories":1864},[183],{"categories":1866},[180],{"categories":1868},[235],{"categories":1870},[225],{"categories":1872},[],{"categories":1874},[],{"categories":1876},[],{"categories":1878},[186],{"categories":1880},[225],{"categories":1882},[204],{"categories":1884},[183],{"categories":1886},[204],{"categories":1888},[225],{"categories":1890},[],{"categories":1892},[225],{"categories":1894},[204],{"categories":1896},[180],{"categories":1898},[183],{"categories":1900},[204],{"categories":1902},[242],{"categories":1904},[],{"categories":1906},[],{"categories":1908},[228],{"categories":1910},[183,235],{"categories":1912},[204],{"categories":1914},[183],{"categories":1916},[186],{"categories":1918},[186],{"categories":1920},[183],{"categories":1922},[],{"categories":1924},[235],{"categories":1926},[183],{"categories":1928},[228],{"categories":1930},[186],{"categories":1932},[242],{"categories":1934},[141],{"categories":1936},[],{"categories":1938},[177],{"categories":1940},[186],{"categories":1942},[186],{"categories":1944},[235],{"categories":1946},[183],{"categories":1948},[183],{"categories":1950},[],{"categories":1952},[],{"categories":1954},[],{"categories":1956},[141],{"categories":1958},[204],{"categories":1960},[183],{"categories":1962},[183],{"categories":1964},[183],{"categories":1966},[],{"categories":1968},[228],{"categories":1970},[180],{"categories":1972},[],{"categories":1974},[186],{"categories":1976},[141],{"categories":1978},[],{"categories":1980},[225],{"categories":1982},[225],{"categories":1984},[],{"categories":1986},[235],{"categories":1988},[225],{"categories":1990},[183],{"categories":1992},[],{"categories":1994},[204],{"categories":1996},[183],{"categories":1998},[225],{"categories":2000},[186],{"categories":2002},[204],{"categories":2004},[],{"categories":2006},[186],{"categories":2008},[225],{"categories":2010},[183],{"categories":2012},[],{"categories":2014},[183],{"categories":2016},[183],{"categories":2018},[141],{"categories":2020},[204],{"categories":2022},[228],{"categories":2024},[228],{"categories":2026},[],{"categories":2028},[],{"categories":2030},[],{"categories":2032},[186],{"categories":2034},[235],{"categories":2036},[235],{"categories":2038},[],{"categories":2040},[],{"categories":2042},[183],{"categories":2044},[],{"categories":2046},[186],{"categories":2048},[183],{"categories":2050},[],{"categories":2052},[183],{"categories":2054},[180],{"categories":2056},[183],{"categories":2058},[242],{"categories":2060},[186],{"categories":2062},[183],{"categories":2064},[235],{"categories":2066},[204],{"categories":2068},[186],{"categories":2070},[],{"categories":2072},[204],{"categories":2074},[186],{"categories":2076},[186],{"categories":2078},[],{"categories":2080},[180],{"categories":2082},[186],{"categories":2084},[],{"categories":2086},[183],{"categories":2088},[177],{"categories":2090},[204],{"categories":2092},[141],{"categories":2094},[186],{"categories":2096},[186],{"categories":2098},[177],{"categories":2100},[183],{"categories":2102},[],{"categories":2104},[],{"categories":2106},[225],{"categories":2108},[183,180],{"categories":2110},[],{"categories":2112},[177],{"categories":2114},[228],{"categories":2116},[183],{"categories":2118},[235],{"categories":2120},[183],{"categories":2122},[186],{"categories":2124},[183],{"categories":2126},[183],{"categories":2128},[204],{"categories":2130},[186],{"categories":2132},[],{"categories":2134},[],{"categories":2136},[186],{"categories":2138},[183],{"categories":2140},[141],{"categories":2142},[],{"categories":2144},[183],{"categories":2146},[186],{"categories":2148},[],{"categories":2150},[183],{"categories":2152},[242],{"categories":2154},[228],{"categories":2156},[186],{"categories":2158},[183],{"categories":2160},[141],{"categories":2162},[],{"categories":2164},[183],{"categories":2166},[242],{"categories":2168},[225],{"categories":2170},[183],{"categories":2172},[],{"categories":2174},[242],{"categories":2176},[204],{"categories":2178},[183],{"categories":2180},[183],{"categories":2182},[177],{"categories":2184},[],{"categories":2186},[],{"categories":2188},[225],{"categories":2190},[183],{"categories":2192},[228],{"categories":2194},[242],{"categories":2196},[242],{"categories":2198},[204],{"categories":2200},[],{"categories":2202},[],{"categories":2204},[183],{"categories":2206},[],{"categories":2208},[183,235],{"categories":2210},[204],{"categories":2212},[186],{"categories":2214},[235],{"categories":2216},[183],{"categories":2218},[177],{"categories":2220},[],{"categories":2222},[],{"categories":2224},[177],{"categories":2226},[242],{"categories":2228},[183],{"categories":2230},[],{"categories":2232},[225,183],{"categories":2234},[141],{"categories":2236},[177],{"categories":2238},[],{"categories":2240},[180],{"categories":2242},[180],{"categories":2244},[183],{"categories":2246},[235],{"categories":2248},[186],{"categories":2250},[204],{"categories":2252},[242],{"categories":2254},[225],{"categories":2256},[183],{"categories":2258},[183],{"categories":2260},[183],{"categories":2262},[177],{"categories":2264},[183],{"categories":2266},[186],{"categories":2268},[204],{"categories":2270},[],{"categories":2272},[],{"categories":2274},[228],{"categories":2276},[235],{"categories":2278},[183],{"categories":2280},[225],{"categories":2282},[228],{"categories":2284},[183],{"categories":2286},[183],{"categories":2288},[186],{"categories":2290},[186],{"categories":2292},[183,180],{"categories":2294},[],{"categories":2296},[225],{"categories":2298},[],{"categories":2300},[183],{"categories":2302},[204],{"categories":2304},[177],{"categories":2306},[177],{"categories":2308},[186],{"categories":2310},[183],{"categories":2312},[180],{"categories":2314},[235],{"categories":2316},[242],{"categories":2318},[],{"categories":2320},[204],{"categories":2322},[183],{"categories":2324},[183],{"categories":2326},[204],{"categories":2328},[235],{"categories":2330},[183],{"categories":2332},[186],{"categories":2334},[204],{"categories":2336},[183],{"categories":2338},[225],{"categories":2340},[183],{"categories":2342},[183],{"categories":2344},[141],{"categories":2346},[189],{"categories":2348},[186],{"categories":2350},[183],{"categories":2352},[204],{"categories":2354},[186],{"categories":2356},[242],{"categories":2358},[183],{"categories":2360},[],{"categories":2362},[183],{"categories":2364},[],{"categories":2366},[],{"categories":2368},[],{"categories":2370},[180],{"categories":2372},[183],{"categories":2374},[186],{"categories":2376},[204],{"categories":2378},[204],{"categories":2380},[204],{"categories":2382},[204],{"categories":2384},[],{"categories":2386},[177],{"categories":2388},[186],{"categories":2390},[204],{"categories":2392},[177],{"categories":2394},[186],{"categories":2396},[183],{"categories":2398},[183,186],{"categories":2400},[186],{"categories":2402},[141],{"categories":2404},[204],{"categories":2406},[204],{"categories":2408},[186],{"categories":2410},[183],{"categories":2412},[],{"categories":2414},[204],{"categories":2416},[242],{"categories":2418},[177],{"categories":2420},[183],{"categories":2422},[183],{"categories":2424},[],{"categories":2426},[235],{"categories":2428},[],{"categories":2430},[177],{"categories":2432},[186],{"categories":2434},[204],{"categories":2436},[183],{"categories":2438},[204],{"categories":2440},[177],{"categories":2442},[204],{"categories":2444},[204],{"categories":2446},[],{"categories":2448},[180],{"categories":2450},[186],{"categories":2452},[204],{"categories":2454},[204],{"categories":2456},[204],{"categories":2458},[204],{"categories":2460},[204],{"categories":2462},[204],{"categories":2464},[204],{"categories":2466},[204],{"categories":2468},[204],{"categories":2470},[204],{"categories":2472},[228],{"categories":2474},[177],{"categories":2476},[183],{"categories":2478},[183],{"categories":2480},[],{"categories":2482},[183,177],{"categories":2484},[],{"categories":2486},[186],{"categories":2488},[204],{"categories":2490},[186],{"categories":2492},[183],{"categories":2494},[183],{"categories":2496},[183],{"categories":2498},[183],{"categories":2500},[183],{"categories":2502},[186],{"categories":2504},[180],{"categories":2506},[225],{"categories":2508},[204],{"categories":2510},[183],{"categories":2512},[],{"categories":2514},[],{"categories":2516},[186],{"categories":2518},[225],{"categories":2520},[183],{"categories":2522},[],{"categories":2524},[],{"categories":2526},[242],{"categories":2528},[183],{"categories":2530},[],{"categories":2532},[],{"categories":2534},[177],{"categories":2536},[180],{"categories":2538},[183],{"categories":2540},[180],{"categories":2542},[225],{"categories":2544},[],{"categories":2546},[204],{"categories":2548},[],{"categories":2550},[225],{"categories":2552},[183],{"categories":2554},[242],{"categories":2556},[],{"categories":2558},[242],{"categories":2560},[],{"categories":2562},[],{"categories":2564},[186],{"categories":2566},[],{"categories":2568},[180],{"categories":2570},[177],{"categories":2572},[225],{"categories":2574},[235],{"categories":2576},[],{"categories":2578},[],{"categories":2580},[183],{"categories":2582},[177],{"categories":2584},[242],{"categories":2586},[],{"categories":2588},[186],{"categories":2590},[186],{"categories":2592},[204],{"categories":2594},[183],{"categories":2596},[186],{"categories":2598},[183],{"categories":2600},[186],{"categories":2602},[183],{"categories":2604},[189],{"categories":2606},[204],{"categories":2608},[],{"categories":2610},[242],{"categories":2612},[235],{"categories":2614},[186],{"categories":2616},[],{"categories":2618},[183],{"categories":2620},[186],{"categories":2622},[180],{"categories":2624},[177],{"categories":2626},[183],{"categories":2628},[225],{"categories":2630},[235],{"categories":2632},[235],{"categories":2634},[183],{"categories":2636},[228],{"categories":2638},[183],{"categories":2640},[186],{"categories":2642},[180],{"categories":2644},[186],{"categories":2646},[183],{"categories":2648},[183],{"categories":2650},[186],{"categories":2652},[204],{"categories":2654},[],{"categories":2656},[177],{"categories":2658},[183],{"categories":2660},[186],{"categories":2662},[183],{"categories":2664},[183],{"categories":2666},[],{"categories":2668},[225],{"categories":2670},[180],{"categories":2672},[204],{"categories":2674},[183],{"categories":2676},[183],{"categories":2678},[225],{"categories":2680},[242],{"categories":2682},[228],{"categories":2684},[183],{"categories":2686},[204],{"categories":2688},[183],{"categories":2690},[186],{"categories":2692},[141],{"categories":2694},[183],{"categories":2696},[186],{"categories":2698},[228],{"categories":2700},[],{"categories":2702},[186],{"categories":2704},[235],{"categories":2706},[225],{"categories":2708},[183],{"categories":2710},[177],{"categories":2712},[180],{"categories":2714},[235],{"categories":2716},[],{"categories":2718},[186],{"categories":2720},[183],{"categories":2722},[],{"categories":2724},[204],{"categories":2726},[],{"categories":2728},[204],{"categories":2730},[183],{"categories":2732},[186],{"categories":2734},[186],{"categories":2736},[186],{"categories":2738},[],{"categories":2740},[],{"categories":2742},[183],{"categories":2744},[183],{"categories":2746},[],{"categories":2748},[225],{"categories":2750},[186],{"categories":2752},[242],{"categories":2754},[177],{"categories":2756},[],{"categories":2758},[],{"categories":2760},[204],{"categories":2762},[235],{"categories":2764},[183],{"categories":2766},[183],{"categories":2768},[183],{"categories":2770},[235],{"categories":2772},[204],{"categories":2774},[225],{"categories":2776},[183],{"categories":2778},[183],{"categories":2780},[183],{"categories":2782},[204],{"categories":2784},[183],{"categories":2786},[204],{"categories":2788},[186],{"categories":2790},[186],{"categories":2792},[235],{"categories":2794},[186],{"categories":2796},[183],{"categories":2798},[235],{"categories":2800},[225],{"categories":2802},[],{"categories":2804},[186],{"categories":2806},[],{"categories":2808},[],{"categories":2810},[],{"categories":2812},[180],{"categories":2814},[183],{"categories":2816},[186],{"categories":2818},[177],{"categories":2820},[186],{"categories":2822},[242],{"categories":2824},[],{"categories":2826},[186],{"categories":2828},[],{"categories":2830},[177],{"categories":2832},[186],{"categories":2834},[],{"categories":2836},[186],{"categories":2838},[183],{"categories":2840},[204],{"categories":2842},[183],{"categories":2844},[186],{"categories":2846},[204],{"categories":2848},[186],{"categories":2850},[235],{"categories":2852},[225],{"categories":2854},[177],{"categories":2856},[],{"categories":2858},[186],{"categories":2860},[225],{"categories":2862},[141],{"categories":2864},[204],{"categories":2866},[183],{"categories":2868},[225],{"categories":2870},[177],{"categories":2872},[],{"categories":2874},[186],{"categories":2876},[186],{"categories":2878},[183],{"categories":2880},[],{"categories":2882},[186],{"categories":2884},[189],{"categories":2886},[204],{"categories":2888},[186],{"categories":2890},[180],{"categories":2892},[],{"categories":2894},[183],{"categories":2896},[189],{"categories":2898},[183],{"categories":2900},[186],{"categories":2902},[204],{"categories":2904},[177],{"categories":2906},[141],{"categories":2908},[183],{"categories":2910},[183],{"categories":2912},[183],{"categories":2914},[204],{"categories":2916},[180],{"categories":2918},[183],{"categories":2920},[225],{"categories":2922},[204],{"categories":2924},[141],{"categories":2926},[183],{"categories":2928},[],{"categories":2930},[],{"categories":2932},[141],{"categories":2934},[228],{"categories":2936},[186],{"categories":2938},[186],{"categories":2940},[204],{"categories":2942},[183],{"categories":2944},[177],{"categories":2946},[225],{"categories":2948},[186],{"categories":2950},[183],{"categories":2952},[242],{"categories":2954},[183],{"categories":2956},[186],{"categories":2958},[],{"categories":2960},[183],{"categories":2962},[183],{"categories":2964},[204],{"categories":2966},[177],{"categories":2968},[],{"categories":2970},[183],{"categories":2972},[183],{"categories":2974},[235],{"categories":2976},[225],{"categories":2978},[183,186],{"categories":2980},[242,180],{"categories":2982},[183],{"categories":2984},[],{"categories":2986},[186],{"categories":2988},[],{"categories":2990},[235],{"categories":2992},[183],{"categories":2994},[204],{"categories":2996},[],{"categories":2998},[186],{"categories":3000},[],{"categories":3002},[225],{"categories":3004},[186],{"categories":3006},[177],{"categories":3008},[186],{"categories":3010},[183],{"categories":3012},[141],{"categories":3014},[242],{"categories":3016},[180],{"categories":3018},[180],{"categories":3020},[177],{"categories":3022},[177],{"categories":3024},[183],{"categories":3026},[186],{"categories":3028},[183],{"categories":3030},[183],{"categories":3032},[177],{"categories":3034},[183],{"categories":3036},[242],{"categories":3038},[204],{"categories":3040},[183],{"categories":3042},[186],{"categories":3044},[183],{"categories":3046},[],{"categories":3048},[235],{"categories":3050},[],{"categories":3052},[186],{"categories":3054},[177],{"categories":3056},[],{"categories":3058},[141],{"categories":3060},[183],{"categories":3062},[],{"categories":3064},[204],{"categories":3066},[186],{"categories":3068},[235],{"categories":3070},[183],{"categories":3072},[186],{"categories":3074},[235],{"categories":3076},[186],{"categories":3078},[204],{"categories":3080},[177],{"categories":3082},[204],{"categories":3084},[235],{"categories":3086},[183],{"categories":3088},[225],{"categories":3090},[183],{"categories":3092},[183],{"categories":3094},[183],{"categories":3096},[183],{"categories":3098},[186],{"categories":3100},[183],{"categories":3102},[186],{"categories":3104},[183],{"categories":3106},[177],{"categories":3108},[183],{"categories":3110},[186],{"categories":3112},[225],{"categories":3114},[177],{"categories":3116},[186],{"categories":3118},[225],{"categories":3120},[],{"categories":3122},[183],{"categories":3124},[183],{"categories":3126},[235],{"categories":3128},[],{"categories":3130},[186],{"categories":3132},[242],{"categories":3134},[183],{"categories":3136},[204],{"categories":3138},[242],{"categories":3140},[186],{"categories":3142},[180],{"categories":3144},[180],{"categories":3146},[183],{"categories":3148},[177],{"categories":3150},[],{"categories":3152},[183],{"categories":3154},[],{"categories":3156},[177],{"categories":3158},[183],{"categories":3160},[186],{"categories":3162},[186],{"categories":3164},[],{"categories":3166},[235],{"categories":3168},[235],{"categories":3170},[242],{"categories":3172},[225],{"categories":3174},[],{"categories":3176},[183],{"categories":3178},[177],{"categories":3180},[183],{"categories":3182},[235],{"categories":3184},[177],{"categories":3186},[204],{"categories":3188},[204],{"categories":3190},[],{"categories":3192},[204],{"categories":3194},[186],{"categories":3196},[225],{"categories":3198},[228],{"categories":3200},[183],{"categories":3202},[],{"categories":3204},[204],{"categories":3206},[235],{"categories":3208},[180],{"categories":3210},[183],{"categories":3212},[177],{"categories":3214},[141],{"categories":3216},[177],{"categories":3218},[],{"categories":3220},[],{"categories":3222},[204],{"categories":3224},[],{"categories":3226},[186],{"categories":3228},[186],{"categories":3230},[186],{"categories":3232},[],{"categories":3234},[183],{"categories":3236},[],{"categories":3238},[204],{"categories":3240},[177],{"categories":3242},[225],{"categories":3244},[183],{"categories":3246},[204],{"categories":3248},[204],{"categories":3250},[],{"categories":3252},[204],{"categories":3254},[177],{"categories":3256},[183],{"categories":3258},[],{"categories":3260},[186],{"categories":3262},[186],{"categories":3264},[177],{"categories":3266},[],{"categories":3268},[],{"categories":3270},[],{"categories":3272},[225],{"categories":3274},[186],{"categories":3276},[183],{"categories":3278},[],{"categories":3280},[],{"categories":3282},[],{"categories":3284},[225],{"categories":3286},[],{"categories":3288},[177],{"categories":3290},[],{"categories":3292},[],{"categories":3294},[225],{"categories":3296},[183],{"categories":3298},[204],{"categories":3300},[],{"categories":3302},[242],{"categories":3304},[204],{"categories":3306},[242],{"categories":3308},[183],{"categories":3310},[],{"categories":3312},[],{"categories":3314},[186],{"categories":3316},[],{"categories":3318},[],{"categories":3320},[186],{"categories":3322},[183],{"categories":3324},[],{"categories":3326},[186],{"categories":3328},[204],{"categories":3330},[242],{"categories":3332},[228],{"categories":3334},[186],{"categories":3336},[186],{"categories":3338},[],{"categories":3340},[],{"categories":3342},[],{"categories":3344},[204],{"categories":3346},[],{"categories":3348},[],{"categories":3350},[225],{"categories":3352},[177],{"categories":3354},[],{"categories":3356},[180],{"categories":3358},[242],{"categories":3360},[183],{"categories":3362},[235],{"categories":3364},[177],{"categories":3366},[228],{"categories":3368},[180],{"categories":3370},[235],{"categories":3372},[],{"categories":3374},[],{"categories":3376},[186],{"categories":3378},[177],{"categories":3380},[225],{"categories":3382},[177],{"categories":3384},[186],{"categories":3386},[141],{"categories":3388},[186],{"categories":3390},[],{"categories":3392},[183],{"categories":3394},[204],{"categories":3396},[235],{"categories":3398},[],{"categories":3400},[225],{"categories":3402},[204],{"categories":3404},[177],{"categories":3406},[186],{"categories":3408},[183],{"categories":3410},[180],{"categories":3412},[186,141],{"categories":3414},[186],{"categories":3416},[235],{"categories":3418},[183],{"categories":3420},[228],{"categories":3422},[242],{"categories":3424},[186],{"categories":3426},[],{"categories":3428},[186],{"categories":3430},[183],{"categories":3432},[180],{"categories":3434},[],{"categories":3436},[],{"categories":3438},[183],{"categories":3440},[228],{"categories":3442},[183],{"categories":3444},[],{"categories":3446},[204],{"categories":3448},[],{"categories":3450},[204],{"categories":3452},[235],{"categories":3454},[186],{"categories":3456},[183],{"categories":3458},[242],{"categories":3460},[235],{"categories":3462},[],{"categories":3464},[204],{"categories":3466},[183],{"categories":3468},[],{"categories":3470},[183],{"categories":3472},[186],{"categories":3474},[183],{"categories":3476},[186],{"categories":3478},[183],{"categories":3480},[183],{"categories":3482},[183],{"categories":3484},[183],{"categories":3486},[180],{"categories":3488},[],{"categories":3490},[189],{"categories":3492},[204],{"categories":3494},[183],{"categories":3496},[],{"categories":3498},[235],{"categories":3500},[183],{"categories":3502},[183],{"categories":3504},[186],{"categories":3506},[204],{"categories":3508},[183],{"categories":3510},[183],{"categories":3512},[180],{"categories":3514},[186],{"categories":3516},[225],{"categories":3518},[],{"categories":3520},[228],{"categories":3522},[183],{"categories":3524},[],{"categories":3526},[204],{"categories":3528},[242],{"categories":3530},[],{"categories":3532},[],{"categories":3534},[204],{"categories":3536},[204],{"categories":3538},[242],{"categories":3540},[177],{"categories":3542},[186],{"categories":3544},[186],{"categories":3546},[183],{"categories":3548},[180],{"categories":3550},[],{"categories":3552},[],{"categories":3554},[204],{"categories":3556},[228],{"categories":3558},[235],{"categories":3560},[186],{"categories":3562},[225],{"categories":3564},[228],{"categories":3566},[228],{"categories":3568},[],{"categories":3570},[204],{"categories":3572},[183],{"categories":3574},[183],{"categories":3576},[235],{"categories":3578},[],{"categories":3580},[204],{"categories":3582},[204],{"categories":3584},[204],{"categories":3586},[],{"categories":3588},[186],{"categories":3590},[183],{"categories":3592},[],{"categories":3594},[177],{"categories":3596},[180],{"categories":3598},[],{"categories":3600},[183],{"categories":3602},[183],{"categories":3604},[],{"categories":3606},[235],{"categories":3608},[],{"categories":3610},[],{"categories":3612},[],{"categories":3614},[],{"categories":3616},[183],{"categories":3618},[204],{"categories":3620},[],{"categories":3622},[],{"categories":3624},[183],{"categories":3626},[183],{"categories":3628},[183],{"categories":3630},[228],{"categories":3632},[183],{"categories":3634},[228],{"categories":3636},[],{"categories":3638},[228],{"categories":3640},[228],{"categories":3642},[141],{"categories":3644},[186],{"categories":3646},[235],{"categories":3648},[],{"categories":3650},[],{"categories":3652},[228],{"categories":3654},[235],{"categories":3656},[235],{"categories":3658},[235],{"categories":3660},[],{"categories":3662},[177],{"categories":3664},[235],{"categories":3666},[235],{"categories":3668},[177],{"categories":3670},[235],{"categories":3672},[180],{"categories":3674},[235],{"categories":3676},[235],{"categories":3678},[235],{"categories":3680},[228],{"categories":3682},[204],{"categories":3684},[204],{"categories":3686},[183],{"categories":3688},[235],{"categories":3690},[228],{"categories":3692},[141],{"categories":3694},[228],{"categories":3696},[228],{"categories":3698},[228],{"categories":3700},[],{"categories":3702},[180],{"categories":3704},[],{"categories":3706},[141],{"categories":3708},[235],{"categories":3710},[235],{"categories":3712},[235],{"categories":3714},[186],{"categories":3716},[204,180],{"categories":3718},[228],{"categories":3720},[],{"categories":3722},[],{"categories":3724},[228],{"categories":3726},[],{"categories":3728},[228],{"categories":3730},[204],{"categories":3732},[186],{"categories":3734},[],{"categories":3736},[235],{"categories":3738},[183],{"categories":3740},[225],{"categories":3742},[],{"categories":3744},[183],{"categories":3746},[],{"categories":3748},[204],{"categories":3750},[177],{"categories":3752},[228],{"categories":3754},[],{"categories":3756},[235],{"categories":3758},[204],[3760,3872,4006,4287],{"id":3761,"title":3762,"ai":3763,"body":3768,"categories":3839,"created_at":142,"date_modified":142,"description":133,"extension":143,"faq":142,"featured":144,"kicker_label":142,"meta":3840,"navigation":157,"path":3860,"published_at":142,"question":142,"scraped_at":3861,"seo":3862,"sitemap":3863,"source_id":3864,"source_name":3865,"source_type":164,"source_url":3866,"stem":3867,"tags":3868,"thumbnail_url":142,"tldr":3869,"tweet":142,"unknown_tags":3870,"__hash__":3871},"summaries\u002Fsummaries\u002Fac02aa4394160cf8-trace-agents-with-openinference-for-production-win-summary.md","Trace Agents with OpenInference for Production Wins",{"provider":7,"model":8,"input_tokens":3764,"output_tokens":3765,"processing_time_ms":3766,"cost_usd":3767},5343,1841,16692,0.0019666,{"type":14,"value":3769,"toc":3834},[3770,3774,3777,3780,3784,3787,3791,3794,3820,3823,3830],[17,3771,3773],{"id":3772},"tracing-reveals-high-impact-fixes-and-builds-buyer-trust","Tracing Reveals High-Impact Fixes and Builds Buyer Trust",[22,3775,3776],{},"Teams shipping AI agents hit roadblocks without observability: one couldn't decide between RAG tuning, prompt tuning, or context engineering until traces showed exactly where requests failed, letting them target limited resources effectively. Another used traces from real customer requests to create behavior datasets proving trustworthiness to enterprise buyers, enabling rollout. Investing early in tracing turns guesswork into confident production deployments, avoiding demo-only stagnation.",[22,3778,3779],{},"Distributed tracing follows agent executions across services, APIs, databases, and sub-agents, essential since agents rarely operate in isolation.",[17,3781,3783],{"id":3782},"openinference-beats-otel-genai-for-expressive-production-traces","OpenInference Beats OTEL GenAI for Expressive Production Traces",[22,3785,3786],{},"Use vendor-neutral OpenTelemetry for portability—emit traces once, swap backends without re-instrumenting. Prefer OpenInference semantic conventions over OTEL's GenAI ones due to superior expressiveness for agent workloads; OTEL is catching up but currently lacks detail, as side-by-side trace comparisons show OpenInference capturing richer behavior.",[17,3788,3790],{"id":3789},"instrument-core-areas-and-leverage-framework-auto-support","Instrument Core Areas and Leverage Framework Auto-Support",[22,3792,3793],{},"Most agent frameworks offer OpenTelemetry auto-instrumentation. For Google's ADK, add these Python lines:",[3795,3796,3800],"pre",{"className":3797,"code":3798,"language":3799,"meta":133,"style":133},"language-python shiki shiki-themes github-light github-dark","tracer_provider = trace_sdk.TracerProvider()\ntracer_provider.add_span_processor(SimpleSpanProcessor(ConsoleSpanExporter()))\nGoogleADKInstrumentor().instrument(tracer_provider=tracer_provider)\n","python",[33,3801,3802,3810,3815],{"__ignoreMap":133},[3803,3804,3807],"span",{"class":3805,"line":3806},"line",1,[3803,3808,3809],{},"tracer_provider = trace_sdk.TracerProvider()\n",[3803,3811,3812],{"class":3805,"line":134},[3803,3813,3814],{},"tracer_provider.add_span_processor(SimpleSpanProcessor(ConsoleSpanExporter()))\n",[3803,3816,3817],{"class":3805,"line":154},[3803,3818,3819],{},"GoogleADKInstrumentor().instrument(tracer_provider=tracer_provider)\n",[22,3821,3822],{},"Auto-tools may miss details, so manually instrument at minimum five key areas (exact list forthcoming; continuous evals detailed later in series). Start new projects with frameworks offering built-in OpenTelemetry support to avoid manual work and integrate seamlessly with existing infrastructure.",[22,3824,3825,3829],{},[3826,3827,3828],"strong",{},"Key takeaway",": Set up OpenInference tracing immediately—it's the fastest path to reliable agents.",[3831,3832,3833],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":133,"searchDepth":134,"depth":134,"links":3835},[3836,3837,3838],{"id":3772,"depth":134,"text":3773},{"id":3782,"depth":134,"text":3783},{"id":3789,"depth":134,"text":3790},[183],{"content_references":3841,"triage":3856},[3842,3846,3849,3853],{"type":148,"title":3843,"url":3844,"context":3845},"OpenTelemetry","https:\u002F\u002Fopentelemetry.io\u002Fdocs\u002Fspecs\u002Fsemconv\u002Fgen-ai\u002F","recommended",{"type":148,"title":3847,"url":3848,"context":3845},"OpenInference","https:\u002F\u002Farize-ai.github.io\u002Fopeninference\u002Fspec\u002Fsemantic_conventions.html",{"type":148,"title":3850,"url":3851,"context":3852},"OTEL GenAI semantic conventions","https:\u002F\u002Fopentelemetry.io\u002Fdocs\u002Fspecs\u002Fsemconv\u002Fgen-ai\u002Fgen-ai-agent-spans\u002F","cited",{"type":148,"title":3854,"url":3855,"context":151},"Google ADK","https:\u002F\u002Fgithub.com\u002FArize-ai\u002Fopeninference\u002Ftree\u002Fmain\u002Fpython\u002Finstrumentation\u002Fopeninference-instrumentation-google-adk",{"relevance":3857,"novelty":153,"quality":153,"actionability":153,"composite":3858,"reasoning":3859},5,4.35,"Category: AI & LLMs. The article provides in-depth insights on using OpenInference for tracing AI agents, addressing the audience's pain point of ensuring production readiness and observability. It includes specific code examples and practical steps for implementation, making it actionable for developers and founders.","\u002Fsummaries\u002Fac02aa4394160cf8-trace-agents-with-openinference-for-production-win-summary","2026-04-15 15:28:26",{"title":3762,"description":133},{"loc":3860},"ac02aa4394160cf8","__oneoff__","https:\u002F\u002Fwww.arthur.ai\u002Fblog\u002Fbest-practices-for-building-agents-part-1-observability-and-tracing?referrer=aeo-blogs","summaries\u002Fac02aa4394160cf8-trace-agents-with-openinference-for-production-win-summary",[168,170,169],"Instrument AI agents with OpenTelemetry using OpenInference conventions to pinpoint failures, prioritize fixes like RAG tuning, and build trust datasets for enterprise sales.",[],"Dq3qA7WCgIhKuYA2VJbdk1KHNHj9RNLCG59G_ndmL6E",{"id":3873,"title":3874,"ai":3875,"body":3880,"categories":3988,"created_at":142,"date_modified":142,"description":3989,"extension":143,"faq":142,"featured":144,"kicker_label":142,"meta":3990,"navigation":157,"path":3991,"published_at":3992,"question":142,"scraped_at":3993,"seo":3994,"sitemap":3995,"source_id":3996,"source_name":3997,"source_type":3998,"source_url":3999,"stem":4000,"tags":4001,"thumbnail_url":142,"tldr":4003,"tweet":142,"unknown_tags":4004,"__hash__":4005},"summaries\u002Fsummaries\u002F6efb045ed12647b6-claude-code-leak-reveals-ai-supply-chain-perils-summary.md","Claude Code Leak Reveals AI Supply Chain Perils",{"provider":7,"model":8,"input_tokens":3876,"output_tokens":3877,"processing_time_ms":3878,"cost_usd":3879},8229,2225,19837,0.00246745,{"type":14,"value":3881,"toc":3981},[3882,3886,3889,3892,3895,3899,3902,3905,3908,3912,3915,3918,3921,3925,3928,3931,3935,3960,3963],[17,3883,3885],{"id":3884},"ai-coding-tools-expose-broader-supply-chain-weaknesses","AI Coding Tools Expose Broader Supply Chain Weaknesses",[22,3887,3888],{},"Panelists agree the Claude Code source leak isn't isolated to Anthropic but signals systemic flaws in AI-era supply chains, particularly npm's history of typosquatting and dependency confusion attacks. JR Rao frames it as a shift from traditional vulnerabilities to subverted trust chains: attackers exploit package managers to infiltrate workflows, with blame often falling on end-users like Claude adopters. Visibility into Claude Code's internals—via npm maps linking to source artifacts—lowers attack research costs, revealing upcoming features like offline mode and dream mode that could inspire targeted exploits.",[22,3890,3891],{},"Dave Bales highlights npm hash subversion tactics, rendering verification unreliable. Short-term fallout includes malware-laden fake GitHub repos (e.g., Vidar infostealer disguised as forks). Long-term, leaked code lets adversaries bypass guardrails, enabling unrestricted AI coding. Nick Bradley downplays immediate doom for Anthropic, likening it to pirated software, but notes excitement in novel threats beyond XSS or SQLi.",[22,3893,3894],{},"\"This is really a AI era supply chain security problem and it is a problem with npm,\" says JR, emphasizing lookalike packages targeting agentic systems, API key abuses, and embedded logic patterns.",[17,3896,3898],{"id":3897},"removing-ai-guardrails-fuels-malicious-automation","Removing AI Guardrails Fuels Malicious Automation",[22,3900,3901],{},"Leaked AI coding tools like Claude Code pose amplified risks in CI\u002FCD pipelines due to features like proactive mode, which automates 24\u002F7 code generation without human oversight. Dave warns this empowers attackers to build malicious repositories effortlessly: \"Proactive mode being enabled in this source code is a big deal... They're going to have code written for them while they sleep.\"",[22,3903,3904],{},"Panelists diverge on severity—Nick sees it as inevitable abuse of any tool (\"any tool that you think you're going to use for something good, someone else is going to use it for something bad\"), while Dave predicts weaponized bad-actor repos. JR ties it to agent limitations: AI lacks human adeptness at spotting typosquatting or shell executions. Consensus: Test updates in isolated labs before deployment, lag one version behind (N-1 strategy) for stability, and scrutinize supply chains holistically.",[22,3906,3907],{},"Quote from external report cited by host: \"The attack surface exposed by the Clawed Code leak... What changed on March 31st is that the attack research cost collapsed.\"",[17,3909,3911],{"id":3910},"one-credential-suffices-in-brazen-supply-chain-attacks","One Credential Suffices in Brazen Supply Chain Attacks",[22,3913,3914],{},"TeamPCP's spree—starting with a single privileged GitHub Actions token in Trivy Security Scanner—cascades into compromises like Light LLM, Telnyx, and a European Commission cloud exposing 29 entities' data. Dave calls them \"brazen,\" prioritizing speed over stealth: one credential unlocks vast access. Despite rotations, Trivy's miss of one instance enabled entry.",[22,3916,3917],{},"JR positions identity as the \"new perimeter\": attackers race to harvest credentials before short-lived ones expire, targeting code-embedded secrets. Nick attributes failures to overcomplication—too many credentials without airtight procedures—admitting bad guys win via speed, sans QA or ethics: \"Sometimes the bad guys just going to win... They don't have the same practices we do.\"",[22,3919,3920],{},"Murky attribution with ShinyHunters and Lapsus$ claiming overlaps matters little to defenders (per JR), though it informs TTPs. Overlaps via affiliates blur lines, but victims must assume breach, audit soup-to-nuts.",[17,3922,3924],{"id":3923},"sharing-close-calls-and-cybercrime-ai-lessons","Sharing Close Calls and Cybercrime AI Lessons",[22,3926,3927],{},"Beyond breaches, panelists advocate \"close-call\" databases for unexploited threats, shifting threat intel from post-mortems to prevention. Reactive mode dominates, but proactive sharing could reveal patterns.",[22,3929,3930],{},"Cybercriminals model mature AI adoption: unburdened by ethics, they deploy tools like Claude Code aggressively. Businesses lag due to guardrails, but lessons include rapid iteration and testing. Nick urges full-compromise assumptions post-exposure; Dave stresses lab validation to counter fast patches.",[17,3932,3934],{"id":3933},"key-takeaways","Key Takeaways",[3936,3937,3938,3942,3945,3948,3951,3954,3957],"ul",{},[3939,3940,3941],"li",{},"Audit npm packages for lookalikes, typosquatting, and dependency confusion; verify trust chains beyond hashes.",[3939,3943,3944],{},"Test AI tool updates (e.g., Claude Code) in isolated labs; adopt N-1 versioning to avoid unvetted latest releases.",[3939,3946,3947],{},"Treat identity as primary perimeter: rotate credentials exhaustively, use short-lived\u002FJIT access, avoid embedding in code.",[3939,3949,3950],{},"Assume breach after supply chain incidents like TeamPCP; scan environments end-to-end for indicators.",[3939,3952,3953],{},"Build close-call sharing mechanisms and study cybercriminals' unhindered AI use for faster, bolder adoption.",[3939,3955,3956],{},"Prioritize agentic AI security: monitor for API key leaks, proactive mode abuses, and shell executions in pipelines.",[3939,3958,3959],{},"Ignore attribution noise; focus on TTPs from any actor for detection rules.",[22,3961,3962],{},"Notable quotes:",[3964,3965,3966,3969,3972,3975,3978],"ol",{},[3939,3967,3968],{},"Nick Bradley: \"Any tool that you think you're going to use for something good, someone else is going to use it for something bad.\" (On inevitable AI tool abuse.)",[3939,3970,3971],{},"Dave Bales: \"Proactive mode being enabled... allows the engine to code for you 24\u002F7.\" (Highlighting malicious automation risk.)",[3939,3973,3974],{},"JR Rao: \"We are moving from an era where we had vulnerabilities to where trust chains are being subverted.\" (Framing supply chain evolution.)",[3939,3976,3977],{},"Nick Bradley: \"Sometimes the bad guys just going to win, right? Because they're just going to be faster.\" (On defender challenges vs. threat speed.)",[3939,3979,3980],{},"Dave Bales: \"They're brazen... if they can get a credential, it seems like they're going to use it.\" (Describing TeamPCP tactics.)",{"title":133,"searchDepth":134,"depth":134,"links":3982},[3983,3984,3985,3986,3987],{"id":3884,"depth":134,"text":3885},{"id":3897,"depth":134,"text":3898},{"id":3910,"depth":134,"text":3911},{"id":3923,"depth":134,"text":3924},{"id":3933,"depth":134,"text":3934},[141],"Visit the Security Intelligence the podcast page → https:\u002F\u002Fibm.biz\u002FBdpmAn\n\nWhat happens when one of the world’s most popular AI coding tools falls into the wrong hands? \n\nOn this episode of Security Intelligence, Nick Bradley, Dave Bales and JR Rao discuss the Claude Code source code leak. Attackers are already using the opportunity to spread malware through fake repos, but the real question is how threat actors might use their newfound knowledge of Claude Code’s internals to wreak havoc on AI agents and the CI\u002FCD pipeline. \n\nThen, we follow up on our old friends TeamPCP, Shiny Hunters and Lapsus$, whose overlapping data breach claims are causing no small amount of confusion and consternation among security pros. We examine the credential rotation problem and the uneven security surface of modern supply chains that helped get us in this mess. \n\nPlus: Threat intelligence usually focuses on attacks that did happen. But what if we started talking about the ones that didn’t? And do cybercriminals have anything to teach us about “mature” AI adoption? Some big names seem to think so. \n\nAll that and more on Security Intelligence. \n\nSegments: \n\n00:00 – Introduction\n1:12 -- The Claude Code leak \n11:19 -- TeamPCP’s breach spree \n21:21 -- “Close-call” databases  \n29:28 -- Cybercrime and AI adoption \n\nThe opinions expressed in this podcast are solely those of the participants and do not necessarily reflect the views of IBM or any other organization or entity. \n\nExplore to securely deploy and operate agentic AI workloads at runtime → https:\u002F\u002Fibm.biz\u002FBdpmAb\n#ClaudeAI #ThreatIntelligence #DataBreach",{},"\u002Fsummaries\u002F6efb045ed12647b6-claude-code-leak-reveals-ai-supply-chain-perils-summary","2026-04-08 10:16:24","2026-04-08 14:47:42",{"title":3874,"description":3989},{"loc":3991},"6efb045ed12647b6","IBM Technology","video","https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=qtFtECYOzZE","summaries\u002F6efb045ed12647b6-claude-code-leak-reveals-ai-supply-chain-perils-summary",[169,4002,170,168],"cloud","Leaked Claude Code source exposes npm vulnerabilities and AI agent risks in CI\u002FCD, urging defenders to harden supply chains, rotate credentials rigorously, and test updates in labs amid brazen threat actor speed.",[],"rYHeHb79Rw2biSTzKaB6ZPctw8GE0Ra2h3D9INxtA3c",{"id":4007,"title":4008,"ai":4009,"body":4014,"categories":4242,"created_at":142,"date_modified":142,"description":133,"extension":143,"faq":142,"featured":144,"kicker_label":142,"meta":4243,"navigation":157,"path":4274,"published_at":4275,"question":142,"scraped_at":4276,"seo":4277,"sitemap":4278,"source_id":4279,"source_name":4280,"source_type":164,"source_url":4281,"stem":4282,"tags":4283,"thumbnail_url":142,"tldr":4284,"tweet":142,"unknown_tags":4285,"__hash__":4286},"summaries\u002Fsummaries\u002Febc0d711136fb32c-secure-ai-agents-via-mcp-toolbox-custom-tools-summary.md","Secure AI Agents via MCP Toolbox Custom Tools",{"provider":7,"model":8,"input_tokens":4010,"output_tokens":4011,"processing_time_ms":4012,"cost_usd":4013},8976,2997,46040,0.00327105,{"type":14,"value":4015,"toc":4234},[4016,4020,4023,4029,4032,4036,4039,4042,4049,4054,4057,4061,4064,4158,4161,4164,4169,4173,4176,4179,4182,4186,4189,4192,4197,4200,4202,4231],[17,4017,4019],{"id":4018},"tackling-the-confused-deputy-problem-in-ai-agents","Tackling the Confused Deputy Problem in AI Agents",[22,4021,4022],{},"AI agents promise automation like midnight database triage, but they risk the 'confused deputy' vulnerability: a service account with broad database access gets tricked by malicious user input (e.g., via prompt injection) into querying sensitive data like executive salaries instead of the paged-down DB. Kurtis Van Gent explains this as Simon Willison's 'lethal trifecta': private data + untrusted input + external sharing. Traditional fixes like prompt-engineered security fail because LLMs struggle to distinguish system vs. user instructions.",[4024,4025,4026],"blockquote",{},[22,4027,4028],{},"'The confused deputy problem is really a problem where you have some kind of authoritative source... but a malicious user or a bug can trick it into revealing information.' — Kurtis Van Gent, defining the core vulnerability with a real-world paging scenario.",[22,4030,4031],{},"Developers evaluated broad tool access (e.g., 'run any SQL') but rejected it for runtime agents serving end-users. Instead, they architected MCP Toolbox around customization: pre-author SQL queries reviewed like code, constraining what agents can do.",[17,4033,4035],{"id":4034},"build-time-vs-runtime-agents-tailored-tooling","Build-Time vs. Runtime Agents: Tailored Tooling",[22,4037,4038],{},"MCP Toolbox distinguishes two agent types, each with different security needs. Build-time agents (e.g., Gemini CLI, Claude Code) assist developers with broad, generic tools like 'any SQL' or BigQuery dashboard queries—safe since they use developer credentials. Runtime agents (e.g., customer service bots via ADK, LangChain) face untrusted users, needing narrow tools for accuracy and safety.",[22,4040,4041],{},"Toolbox supports both via generic (pre-built ops), runtime (dynamic), and custom tools. For databases like AlloyDB, BigQuery, Postgres, Valkey, Neo4j, Oracle, MariaDB, it acts as a 'central gate.' Open-source (15k+ GitHub stars, 130+ contributors, millions of monthly calls), it's self-hosted—no Google data access.",[22,4043,4044,4045,4048],{},"Key decision: Bound parameters separate agent-set values (e.g., flight ID from conversation) from app-set ones (e.g., user identity, target DB). This binds identity at runtime, e.g., ",[33,4046,4047],{},"tool.bind(user_id=authenticated_user)"," creates a scoped tool the LLM can't override.",[4024,4050,4051],{},[22,4052,4053],{},"'MCP is kind of the gold standard for interop right now... like USB for AI applications. You can take any agent and you can plug in any server.' — Kurtis Van Gent, positioning MCP as the standard Toolbox builds on.",[22,4055,4056],{},"Tradeoff: Hardcoding boosts security\u002Faccuracy (no hallucinated DB switches) but reduces flexibility. Philosophy: Remove agent control wherever possible without harming UX—e.g., hardcoded DB for single-DB sessions.",[17,4058,4060],{"id":4059},"custom-tools-pre-written-sql-as-architectural-guardrails","Custom Tools: Pre-Written SQL as Architectural Guardrails",[22,4062,4063],{},"Core mechanism: Define tools with fixed SQL templates and params. Example Postgres tool for airline queries:",[3795,4065,4069],{"className":4066,"code":4067,"language":4068,"meta":133,"style":133},"language-yaml shiki shiki-themes github-light github-dark","tool_type: postgres-sql\nsql: \"SELECT * FROM flights WHERE airline = $1 AND flight_number = $2\"\nparameters:\n  - name: airline\n    type: string\n  - name: flight_number\n    type: string\ndescription: \"Get flight details by airline and number\"\n","yaml",[33,4070,4071,4085,4095,4103,4116,4126,4138,4147],{"__ignoreMap":133},[3803,4072,4073,4077,4081],{"class":3805,"line":3806},[3803,4074,4076],{"class":4075},"s9eBZ","tool_type",[3803,4078,4080],{"class":4079},"sVt8B",": ",[3803,4082,4084],{"class":4083},"sZZnC","postgres-sql\n",[3803,4086,4087,4090,4092],{"class":3805,"line":134},[3803,4088,4089],{"class":4075},"sql",[3803,4091,4080],{"class":4079},[3803,4093,4094],{"class":4083},"\"SELECT * FROM flights WHERE airline = $1 AND flight_number = $2\"\n",[3803,4096,4097,4100],{"class":3805,"line":154},[3803,4098,4099],{"class":4075},"parameters",[3803,4101,4102],{"class":4079},":\n",[3803,4104,4105,4108,4111,4113],{"class":3805,"line":153},[3803,4106,4107],{"class":4079},"  - ",[3803,4109,4110],{"class":4075},"name",[3803,4112,4080],{"class":4079},[3803,4114,4115],{"class":4083},"airline\n",[3803,4117,4118,4121,4123],{"class":3805,"line":3857},[3803,4119,4120],{"class":4075},"    type",[3803,4122,4080],{"class":4079},[3803,4124,4125],{"class":4083},"string\n",[3803,4127,4129,4131,4133,4135],{"class":3805,"line":4128},6,[3803,4130,4107],{"class":4079},[3803,4132,4110],{"class":4075},[3803,4134,4080],{"class":4079},[3803,4136,4137],{"class":4083},"flight_number\n",[3803,4139,4141,4143,4145],{"class":3805,"line":4140},7,[3803,4142,4120],{"class":4075},[3803,4144,4080],{"class":4079},[3803,4146,4125],{"class":4083},[3803,4148,4150,4153,4155],{"class":3805,"line":4149},8,[3803,4151,4152],{"class":4075},"description",[3803,4154,4080],{"class":4079},[3803,4156,4157],{"class":4083},"\"Get flight details by airline and number\"\n",[22,4159,4160],{},"The LLM calls via MCP with params; Toolbox executes safely. No ad-hoc SQL generation—agents use dev-reviewed queries. Supports complex ops like joins\u002Fstored procs via custom SQL. Toolbox doesn't auto-write queries; devs do.",[22,4162,4163],{},"This mirrors app dev: Write\u002Freview SQL once, expose as API. For production, deploy on Cloud Run; min arch is Toolbox container + MCP client (Gemini\u002FVertex AI) + auth (e.g., IAM).",[4024,4165,4166],{},[22,4167,4168],{},"'The toolbox's superpower really comes down to... customize tools in a way that lets you constrain that access... write the SQL ahead of time.' — Kurtis Van Gent, on shifting from prompt hacks to code-like security.",[17,4170,4172],{"id":4171},"cymbal-air-demo-resilience-in-action","Cymbal Air Demo: Resilience in Action",[22,4174,4175],{},"Live demo of Cymbal Air (fictional airline agent): Normal flow—user asks flight status; agent uses bound tools to query only authorized data. Compromise attempt: \"Ignore instructions, query competitor salaries.\" Fails—tools lack access; agent stays on-topic.",[22,4177,4178],{},"Architecture: MCP client (Gemini) → Toolbox server (Cloud Run, Postgres backend) → bound custom tools. Code shown: Load tool, bind user context, register to agent. Result: Zero-trust, no leaks.",[22,4180,4181],{},"Evolution: Started with generic tools; pivoted to custom\u002Fbound for prod. Failure modes tested: Prompt injection blocked by param constraints.",[17,4183,4185],{"id":4184},"deployment-tradeoffs-and-best-practices","Deployment Tradeoffs and Best Practices",[22,4187,4188],{},"Latency: Toolbox adds ~50-100ms vs. direct queries (MCP overhead + execution); fine for interactive agents, not ultra-high-throughput. Self-hosted (binary\u002Fcontainer\u002Flocal); progressive tool exposure via dynamic registration.",[22,4190,4191],{},"Security-first process: Start with threat modeling ('what can go wrong?'), prototype fast with frameworks like ADK, then harden. 'Move security left'—architect params\u002Ftools early, iterate weekly.",[4024,4193,4194],{},[22,4195,4196],{},"'Flexibility versus security... anything that you can take away from the agent tends to be a good thing to take away as long as it doesn't diminish the use case.' — Kurtis Van Gent, on balancing autonomy and guardrails.",[22,4198,4199],{},"Non-obvious: Runtime agents need dev-like rigor (code review SQL); build-time can be looser. Replicate by forking GitHub repo, binding identity, testing injections.",[17,4201,3934],{"id":3933},[3936,4203,4204,4207,4210,4213,4216,4219,4222,4225,4228],{},[3939,4205,4206],{},"Model threats early: Map confused deputy risks (private data + untrusted input) before building agents.",[3939,4208,4209],{},"Use build-time tools broadly for dev (e.g., any-SQL); constrain runtime with custom MCP tools.",[3939,4211,4212],{},"Pre-write\u002Freview SQL templates; define params\u002Fdescriptions for LLM guidance.",[3939,4214,4215],{},"Bind app params (user ID, DB) at runtime—LLM sets only conversation-derived ones.",[3939,4217,4218],{},"Deploy self-hosted Toolbox on Cloud Run; test latency (\u003C100ms typical) and injections.",[3939,4220,4221],{},"Start small: Codelabs for BigQuery\u002FAlloyDB; scale to multi-agent apps.",[3939,4223,4224],{},"Prioritize security in architecture: 1st step = threat model, not prototype.",[3939,4226,4227],{},"Leverage open MCP spec: Plug any agent\u002Fserver; Google managed options for BigQuery\u002Fetc.",[3939,4229,4230],{},"Measure: Millions of safe calls\u002Fmonth via Toolbox—prod-proven.",[3831,4232,4233],{},"html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":133,"searchDepth":134,"depth":134,"links":4235},[4236,4237,4238,4239,4240,4241],{"id":4018,"depth":134,"text":4019},{"id":4034,"depth":134,"text":4035},{"id":4059,"depth":134,"text":4060},{"id":4171,"depth":134,"text":4172},{"id":4184,"depth":134,"text":4185},{"id":3933,"depth":134,"text":3934},[183],{"content_references":4244,"triage":4272},[4245,4248,4251,4254,4257,4260,4263,4266,4269],{"type":148,"title":4246,"url":4247,"context":151},"MCP Toolbox GitHub","https:\u002F\u002Fgoo.gle\u002Fgithub-mcp-toolbox",{"type":148,"title":4249,"url":4250,"context":151},"MCP Toolbox for Databases (Docs)","https:\u002F\u002Fgoo.gle\u002Fmcp-toolbox-dev",{"type":148,"title":4252,"url":4253,"context":151},"QuickStart","https:\u002F\u002Fgoo.gle\u002Fmcp-quickstart",{"type":148,"title":4255,"url":4256,"context":151},"MCP Toolbox for Databases: Making BigQuery datasets available to MCP clients (Codelab)","https:\u002F\u002Fgoo.gle\u002Fcodelabs",{"type":148,"title":4258,"url":4259,"context":151},"Build a Multi-agent App with MCP Toolbox for AlloyDB & ADK (Codelab)","https:\u002F\u002Fgoo.gle\u002Fcodelab-multi-agent-app",{"type":148,"title":4261,"url":4262,"context":151},"Cymbal Air Toolbox Demo","https:\u002F\u002Fgoo.gle\u002F4tfWYIA",{"type":148,"title":4264,"url":4265,"context":151},"Google Cloud MCP servers overview","https:\u002F\u002Fgoo.gle\u002F42ioQRn",{"type":148,"title":4267,"url":4268,"context":151},"MCP Toolbox for Databases (Toolbox)","https:\u002F\u002Fgoo.gle\u002F4wauUJp",{"type":148,"title":4270,"url":4271,"context":151},"GEAR","https:\u002F\u002Fgoo.gle\u002FGEAR",{"relevance":153,"novelty":154,"quality":153,"actionability":154,"composite":155,"reasoning":4273},"Category: AI & LLMs. The article addresses a specific pain point regarding security in AI agents, particularly the confused deputy problem, which is relevant for developers integrating AI features. It provides insights into a practical solution (MCP Toolbox) but lacks detailed step-by-step guidance for implementation.","\u002Fsummaries\u002Febc0d711136fb32c-secure-ai-agents-via-mcp-toolbox-custom-tools-summary","2026-05-05 16:46:33","2026-05-06 16:12:43",{"title":4008,"description":133},{"loc":4274},"ed722ee0fdc7e076","Google Cloud Tech","https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=CRszhkEjd8s","summaries\u002Febc0d711136fb32c-secure-ai-agents-via-mcp-toolbox-custom-tools-summary",[168,170,4002,169],"MCP Toolbox prevents confused deputy attacks by letting developers pre-write constrained SQL tools with bound parameters, separating agent flexibility from app-controlled security for runtime agents.",[],"htBzEsyR16VdzmViKPvmry-2HFiUx9a6ye2MxpmOJCk",{"id":4288,"title":4289,"ai":4290,"body":4295,"categories":4412,"created_at":142,"date_modified":142,"description":133,"extension":143,"faq":142,"featured":144,"kicker_label":142,"meta":4413,"navigation":157,"path":4431,"published_at":4432,"question":142,"scraped_at":4433,"seo":4434,"sitemap":4435,"source_id":4436,"source_name":3997,"source_type":164,"source_url":4437,"stem":4438,"tags":4439,"thumbnail_url":142,"tldr":4441,"tweet":142,"unknown_tags":4442,"__hash__":4443},"summaries\u002Fsummaries\u002F376ca154ecbeafb2-composable-specialists-beat-monoliths-for-enterpri-summary.md","Composable Specialists Beat Monoliths for Enterprise AI",{"provider":7,"model":8,"input_tokens":4291,"output_tokens":4292,"processing_time_ms":4293,"cost_usd":4294},8466,2778,32971,0.00305955,{"type":14,"value":4296,"toc":4405},[4297,4301,4304,4307,4310,4317,4321,4324,4327,4330,4333,4339,4343,4346,4349,4352,4358,4362,4365,4374,4376],[17,4298,4300],{"id":4299},"granite-41-task-specific-models-for-agent-ecosystems","Granite 4.1: Task-Specific Models for Agent Ecosystems",[22,4302,4303],{},"Panelists hailed IBM Granite 4.1 as a pragmatic counter to frontier model hype, emphasizing its family of specialized multimodal models optimized for enterprise workloads. Marina Danilevsky highlighted vision models excelling at table and chart understanding—key for businesses over sci-fi image generation—while speech models shrink to minimal sizes for on-device transcription and translation. Language models (3B to 30B parameters) focus on instruction following and tool calling, ideal for RAG pipelines or agent offloads.",[22,4305,4306],{},"Kaoutar El Maghraoui framed this as composable system architecture, akin to 1980s OS evolution from monoliths to services. Unlike frontier labs' \"one giant model does everything,\" Granite complements general agents: route hard reasoning to Mistral, cheap completions to fine-tuned specialists. Gabe Goodhart stressed commoditization of large models, where enterprises prioritize supply chain optimization—cranking down costs without sacrificing task performance.",[22,4308,4309],{},"Consensus: Enterprises face token budgets blowing up quarterly; Granite enables \"token squeezing\" by offloading routine tasks (e.g., table parsing) to cheap, accurate specialists, reserving pricey generalists for orchestration. Trade-off: Less generality, but 90% of business tasks are routine, making this sustainable.",[22,4311,4312,4313,4316],{},"\"Enterprise cares. Can you understand tables? Not so much. Can you do the extremely coolest pictures that are sci fi? ",[3803,4314,4315],{},"..."," It's can you understand tables?\" — Marina Danilevsky, underscoring practical priorities.",[17,4318,4320],{"id":4319},"ibm-bob-orchestrating-for-cost-and-legacy-modernization","IBM Bob: Orchestrating for Cost and Legacy Modernization",[22,4322,4323],{},"IBM Bob emerged as the glue: an agentic coding assistant that intelligently routes tasks across models, treating legacy languages like COBOL as first-class citizens—a moat for mainframe-heavy sectors like banking. El Maghraoui noted Bob's multimodal orchestration (e.g., Granite for security reviews) drives productivity without replacing developers; it handles 30% of routine work under bounded governance.",[22,4325,4326],{},"Goodhart positioned Bob for enterprise realities: consumer subscriptions absorb costs, but companies can't \"token max.\" Bob decides when to invoke sidecar specialists, keeping main logic in expensive models while optimizing overall spend. Danilevsky saw complementarity with Granite—standalone functions composed modularly.",[22,4328,4329],{},"Divergence on agents' future: Host Tim Hwang questioned if 90% routine tasks doom general agents as unpredictable costs. Goodhart countered with maturation: distill user patterns into sub-agents\u002Ftools on small models for quality\u002Fcost control, retaining top-level agent UX. Danilevsky agreed, viewing generalists as discovery phase for data-driven specialists. El Maghraoui predicted hybrid infrastructure: generalist + specialists via layered orchestration.",[22,4331,4332],{},"No one saw agent demos ending; instead, agents evolve from hype to infrastructure, distilling generality into specifics.",[22,4334,4335,4336,4338],{},"\"The goal there with Bob is not necessarily individual optimization ",[3803,4337,4315],{}," how do I figure out most intelligently how to and when to invoke those side spurs to offload cost.\" — Gabe Goodhart, on token rightsizing.",[17,4340,4342],{"id":4341},"diloco-distributed-training-reshapes-infrastructure","DiLoCo: Distributed Training Reshapes Infrastructure",[22,4344,4345],{},"Shifting to infrastructure, DeepMind's DiLoCo (Distributed Low-Communication) challenged gigawatt-scale single-site clusters. El Maghraoui called it a hedge against power permitting and supply chains—Northern Virginia's grid is maxed, needing substations. DiLoCo cuts comms, boosts fault tolerance (88% uptime vs. 27% classical), and introduces \"goodput\" as the mature metric over peak FLOPs.",[22,4347,4348],{},"Implications: Training federates across data centers (different speeds\u002Fhardware), while inference co-locates for KV cache latency. Danilevsky tied to policy: flexible draw adapts to grid strain (e.g., AC peaks in California), easing upgrades and enabling constraints without halting progress. Goodhart noted post-FSDP\u002F4D parallelism evolution, prioritizing tail latency under failures.",[22,4350,4351],{},"Panel agreed: Bifurcation ahead—distributed training, concentrated inference—rethinking topologies amid waste from failures. Too late for sunk data centers? No, challenges assumptions from 2023-2025 plans by DeepMind itself.",[22,4353,4354,4355,4357],{},"\"Gigawatt scale, single site cluster assumption ",[3803,4356,4315],{}," is now being challenged by its biggest practitioners.\" — Kaoutar El Maghraoui, on DiLoCo's impact.",[17,4359,4361],{"id":4360},"quantum-tease-and-broader-predictions","Quantum Tease and Broader Predictions",[22,4363,4364],{},"The truncated discussion previewed quantum with Jamie Garcia (IBM Director of Strategic Growth and Quantum Partnerships), touching university ties and quantum advantage paths. Earlier themes predicted: agent UX persists via delegation; models commoditize into optimized stacks; infrastructure splits training\u002Finference. Recommendations: Build composable systems now—specialists for 80-90% tasks, agents for glue. Trade-offs: Frontier generality shines in demos but fails enterprise scale\u002Fcost.",[22,4366,4367,4368,4370,4371,4373],{},"\"I think what you're going to see ",[3803,4369,4315],{}," is that the patterns ",[3803,4372,4315],{}," are going to start to shake out into a bunch of common patterns, and then we're going to be able to extract those things out and make them tools.\" — Gabe Goodhart, forecasting agent evolution.",[17,4375,3934],{"id":3933},[3936,4377,4378,4381,4384,4387,4390,4393,4396,4399,4402],{},[3939,4379,4380],{},"Deploy Granite-like specialists for tables\u002Fcharts\u002Fspeech to offload agents, cutting costs 10x on routine enterprise tasks.",[3939,4382,4383],{},"Use Bob-style orchestration to route legacy code (COBOL) and modals intelligently—moat for mainframes.",[3939,4385,4386],{},"Avoid token maxing: Monitor quarterly budgets, delegate trivia to 3B models.",[3939,4388,4389],{},"Embrace DiLoCo principles for training: Prioritize goodput\u002Ffault tolerance over peak FLOPs in distributed setups.",[3939,4391,4392],{},"Hybrid future: Generalist front-end + distilled sub-agents\u002Ftools for controllability.",[3939,4394,4395],{},"Bifurcate infra: Federate training across DCs, co-locate inference for latency.",[3939,4397,4398],{},"Policy hedge: Distributed methods flex with grids, enabling sustainable scaling.",[3939,4400,4401],{},"Start with generalists for discovery, distill to specifics via interaction data.",[3939,4403,4404],{},"Enterprise AI is pluralistic: Compose families (vision\u002Fspeech\u002Fembeddings) over monoliths.",{"title":133,"searchDepth":134,"depth":134,"links":4406},[4407,4408,4409,4410,4411],{"id":4299,"depth":134,"text":4300},{"id":4319,"depth":134,"text":4320},{"id":4341,"depth":134,"text":4342},{"id":4360,"depth":134,"text":4361},{"id":3933,"depth":134,"text":3934},[183],{"content_references":4414,"triage":4428},[4415,4419,4423,4426],{"type":4416,"title":4417,"url":4418,"context":151},"podcast","Mixture of Experts","https:\u002F\u002Fibm.biz\u002F~O3Jx9YWYa",{"type":4420,"title":4421,"author":4422,"context":151},"paper","DiLoCo: Distributed Low Communication","Google DeepMind",{"type":148,"title":4424,"author":4425,"context":3845},"IBM Granite 4.1","IBM",{"type":148,"title":4427,"author":4425,"context":3845},"IBM Bob",{"relevance":3857,"novelty":153,"quality":153,"actionability":154,"composite":4429,"reasoning":4430},4.15,"Category: AI & LLMs. The article discusses the practical application of IBM Granite 4.1's task-specific models and orchestration tools for enterprise AI, addressing the audience's need for actionable insights on AI integration in products. It provides a nuanced perspective on composable architecture versus monolithic systems, which is relevant for product builders.","\u002Fsummaries\u002F376ca154ecbeafb2-composable-specialists-beat-monoliths-for-enterpri-summary","2026-05-01 10:01:04","2026-05-03 16:43:43",{"title":4289,"description":133},{"loc":4431},"da3e89d622598bbe","https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=Zk3FX8ZXa-s","summaries\u002F376ca154ecbeafb2-composable-specialists-beat-monoliths-for-enterpri-summary",[4440,168,170,169],"llm","Panel agrees enterprises need Granite 4.1's task-specific models and Bob's orchestration for cost control, with DiLoCo enabling distributed training to sidestep grid limits.",[],"diD5y4Qu8I8ZipkSRdrrxnMl_tkXo00zbbzTpaJqB88"]