[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"summaries-tag-agent frameworks":3,"summaries-facets-categories":4,"articles-tag-agent frameworks":3590},[],[5,8,11,14,17,20,22,24,26,28,30,32,35,37,39,41,43,45,47,49,51,53,56,59,61,63,66,68,70,73,75,77,79,81,83,85,87,89,91,93,95,97,99,101,103,105,107,109,111,113,115,117,119,121,123,125,127,129,131,133,135,137,139,141,143,145,147,149,151,153,155,157,159,161,163,165,167,169,171,173,175,177,179,181,183,185,187,189,191,193,195,197,199,201,203,205,207,209,211,213,215,217,219,221,223,225,227,229,231,233,235,237,239,241,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,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,376,378,380,382,384,386,388,390,392,394,396,398,400,402,404,406,408,410,412,414,416,418,420,422,424,426,428,430,432,434,436,438,440,442,444,446,448,450,452,454,456,458,460,462,464,466,468,470,472,474,476,478,480,482,484,486,488,490,492,494,496,498,500,502,504,506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,564,566,568,570,572,574,576,578,580,582,584,586,588,590,592,594,596,598,600,602,604,606,608,610,612,614,616,618,620,622,624,626,628,630,632,634,636,638,640,642,644,646,648,650,652,654,656,658,660,662,664,666,668,670,672,674,676,678,680,682,684,686,688,690,692,694,696,698,700,702,704,706,708,710,712,714,716,718,720,722,724,726,728,730,732,734,736,738,740,742,744,746,748,750,752,754,756,758,760,762,764,766,768,770,772,774,776,778,780,782,784,786,788,790,792,794,796,798,800,802,804,806,808,810,812,814,816,818,820,822,824,826,828,830,832,834,836,838,840,842,844,846,848,850,852,854,856,858,860,862,864,866,868,870,872,874,876,878,880,882,884,886,888,890,892,894,896,898,900,902,904,906,908,910,912,914,916,918,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962,964,966,968,970,972,974,976,978,980,982,984,986,988,990,992,994,996,998,1000,1002,1004,1006,1008,1010,1012,1014,1016,1018,1020,1022,1024,1026,1028,1030,1032,1034,1036,1038,1040,1042,1044,1046,1048,1050,1052,1054,1056,1058,1060,1062,1064,1066,1068,1070,1072,1074,1076,1078,1080,1082,1084,1086,1088,1090,1092,1094,1096,1098,1100,1102,1104,1106,1108,1110,1112,1114,1116,1118,1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1154,1156,1158,1160,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,1216,1218,1220,1222,1224,1226,1228,1230,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,1328,1330,1332,1334,1336,1338,1340,1342,1344,1346,1348,1350,1352,1354,1356,1358,1360,1362,1364,1366,1368,1370,1372,1374,1376,1378,1380,1382,1384,1386,1388,1390,1392,1394,1396,1398,1400,1402,1404,1406,1408,1410,1412,1414,1416,1418,1420,1422,1424,1426,1428,1430,1432,1434,1436,1438,1440,1442,1444,1446,1448,1450,1452,1454,1456,1458,1460,1462,1464,1466,1468,1470,1472,1474,1476,1478,1480,1482,1484,1486,1488,1490,1492,1494,1496,1498,1500,1502,1504,1506,1508,1510,1512,1514,1516,1518,1520,1522,1524,1526,1528,1530,1532,1534,1536,1538,1540,1542,1544,1546,1548,1550,1552,1554,1556,1558,1560,1562,1564,1566,1568,1570,1572,1574,1576,1578,1580,1582,1584,1586,1588,1590,1592,1594,1596,1598,1600,1602,1604,1606,1608,1610,1612,1614,1616,1618,1620,1622,1624,1626,1628,1630,1632,1634,1636,1638,1640,1642,1644,1646,1648,1650,1652,1654,1656,1658,1660,1662,1664,1666,1668,1670,1672,1674,1676,1678,1680,1682,1684,1686,1688,1690,1692,1694,1696,1698,1700,1702,1704,1706,1708,1710,1712,1714,1716,1718,1720,1722,1724,1726,1728,1730,1732,1734,1736,1738,1740,1742,1744,1746,1748,1750,1752,1754,1756,1758,1760,1762,1764,1766,1768,1770,1772,1774,1776,1778,1780,1782,1784,1786,1788,1790,1792,1794,1796,1798,1800,1802,1804,1806,1808,1810,1812,1814,1816,1818,1820,1822,1824,1826,1828,1830,1832,1834,1836,1838,1840,1842,1844,1846,1848,1850,1852,1854,1856,1858,1860,1862,1864,1866,1868,1870,1872,1874,1876,1878,1880,1882,1884,1886,1888,1890,1892,1894,1896,1898,1900,1902,1904,1906,1908,1910,1912,1914,1916,1918,1920,1922,1924,1926,1928,1930,1932,1934,1936,1938,1940,1942,1944,1946,1948,1950,1952,1954,1956,1958,1960,1962,1964,1966,1968,1970,1972,1974,1976,1978,1980,1982,1984,1986,1988,1990,1992,1994,1996,1998,2000,2002,2004,2006,2008,2010,2012,2014,2016,2018,2020,2022,2024,2026,2028,2030,2032,2034,2036,2038,2040,2042,2044,2046,2048,2050,2052,2054,2056,2058,2060,2062,2064,2066,2068,2070,2072,2074,2076,2078,2080,2082,2084,2086,2088,2090,2092,2094,2096,2098,2100,2102,2104,2106,2108,2110,2112,2114,2116,2118,2120,2122,2124,2126,2128,2130,2132,2134,2136,2138,2140,2142,2144,2146,2148,2150,2152,2154,2156,2158,2160,2162,2164,2166,2168,2170,2172,2174,2176,2178,2180,2182,2184,2186,2188,2190,2192,2194,2196,2198,2200,2202,2204,2206,2208,2210,2212,2214,2216,2218,2220,2222,2224,2226,2228,2230,2232,2234,2236,2238,2240,2242,2244,2246,2248,2250,2252,2254,2256,2258,2260,2262,2264,2266,2268,2270,2272,2274,2276,2278,2280,2282,2284,2286,2288,2290,2292,2294,2296,2298,2300,2302,2304,2306,2308,2310,2312,2314,2316,2318,2320,2322,2324,2326,2328,2330,2332,2334,2336,2338,2340,2342,2344,2346,2348,2350,2352,2354,2356,2358,2360,2362,2364,2366,2368,2370,2372,2374,2376,2378,2380,2382,2384,2386,2388,2390,2392,2394,2396,2398,2400,2402,2404,2406,2408,2410,2412,2414,2416,2418,2420,2422,2424,2426,2428,2430,2432,2434,2436,2438,2440,2442,2444,2446,2448,2450,2452,2454,2456,2458,2460,2462,2464,2466,2468,2470,2472,2474,2476,2478,2480,2482,2484,2486,2488,2490,2492,2494,2496,2498,2500,2502,2504,2506,2508,2510,2512,2514,2516,2518,2520,2522,2524,2526,2528,2530,2532,2534,2536,2538,2540,2542,2544,2546,2548,2550,2552,2554,2556,2558,2560,2562,2564,2566,2568,2570,2572,2574,2576,2578,2580,2582,2584,2586,2588,2590,2592,2594,2596,2598,2600,2602,2604,2606,2608,2610,2612,2614,2616,2618,2620,2622,2624,2626,2628,2630,2632,2634,2636,2638,2640,2642,2644,2646,2648,2650,2652,2654,2656,2658,2660,2662,2664,2666,2668,2670,2672,2674,2676,2678,2680,2682,2684,2686,2688,2690,2692,2694,2696,2698,2700,2702,2704,2706,2708,2710,2712,2714,2716,2718,2720,2722,2724,2726,2728,2730,2732,2734,2736,2738,2740,2742,2744,2746,2748,2750,2752,2754,2756,2758,2760,2762,2764,2766,2768,2770,2772,2774,2776,2778,2780,2782,2784,2786,2788,2790,2792,2794,2796,2798,2800,2802,2804,2806,2808,2810,2812,2814,2816,2818,2820,2822,2824,2826,2828,2830,2832,2834,2836,2838,2840,2842,2844,2846,2848,2850,2852,2854,2856,2858,2860,2862,2864,2866,2868,2870,2872,2874,2876,2878,2880,2882,2884,2886,2888,2890,2892,2894,2896,2898,2900,2902,2904,2906,2908,2910,2912,2914,2916,2918,2920,2922,2924,2926,2928,2930,2932,2934,2936,2938,2940,2942,2944,2946,2948,2950,2952,2954,2956,2958,2960,2962,2964,2966,2968,2970,2972,2974,2976,2978,2980,2982,2984,2986,2988,2990,2992,2994,2996,2998,3000,3002,3004,3006,3008,3010,3012,3014,3016,3018,3020,3022,3024,3026,3028,3030,3032,3034,3036,3038,3040,3042,3044,3046,3048,3050,3052,3054,3056,3058,3060,3062,3064,3066,3068,3070,3072,3074,3076,3078,3080,3082,3084,3086,3088,3090,3092,3094,3096,3098,3100,3102,3104,3106,3108,3110,3112,3114,3116,3118,3120,3122,3124,3126,3128,3130,3132,3134,3136,3138,3140,3142,3144,3146,3148,3150,3152,3154,3156,3158,3160,3162,3164,3166,3168,3170,3172,3174,3176,3178,3180,3182,3184,3186,3188,3190,3192,3194,3196,3198,3200,3202,3204,3206,3208,3210,3212,3214,3216,3218,3220,3222,3224,3226,3228,3230,3232,3234,3236,3238,3240,3242,3244,3246,3248,3250,3252,3254,3256,3258,3260,3262,3264,3266,3268,3270,3272,3274,3276,3278,3280,3282,3284,3286,3288,3290,3292,3294,3296,3298,3300,3302,3304,3306,3308,3310,3312,3314,3316,3318,3320,3322,3324,3326,3328,3330,3332,3334,3336,3338,3340,3342,3344,3346,3348,3350,3352,3354,3356,3358,3360,3362,3364,3366,3368,3370,3372,3374,3376,3378,3380,3382,3384,3386,3388,3390,3392,3394,3396,3398,3400,3402,3404,3406,3408,3410,3412,3414,3416,3418,3420,3422,3424,3426,3428,3430,3432,3434,3436,3438,3440,3442,3444,3446,3448,3450,3452,3454,3456,3458,3460,3462,3464,3466,3468,3470,3472,3474,3476,3478,3480,3482,3484,3486,3488,3490,3492,3494,3496,3498,3500,3502,3504,3506,3508,3510,3512,3514,3516,3518,3520,3522,3524,3526,3528,3530,3532,3534,3536,3538,3540,3542,3544,3546,3548,3550,3552,3554,3556,3558,3560,3562,3564,3566,3568,3570,3572,3574,3576,3578,3580,3582,3584,3586,3588],{"categories":6},[7],"Developer Productivity",{"categories":9},[10],"Business & SaaS",{"categories":12},[13],"AI & LLMs",{"categories":15},[16],"AI Automation",{"categories":18},[19],"Product Strategy",{"categories":21},[13],{"categories":23},[7],{"categories":25},[10],{"categories":27},[],{"categories":29},[13],{"categories":31},[],{"categories":33},[34],"AI News & Trends",{"categories":36},[16],{"categories":38},[34],{"categories":40},[16],{"categories":42},[16],{"categories":44},[13],{"categories":46},[13],{"categories":48},[34],{"categories":50},[13],{"categories":52},[],{"categories":54},[55],"Design & Frontend",{"categories":57},[58],"Data Science & Visualization",{"categories":60},[34],{"categories":62},[],{"categories":64},[65],"Software Engineering",{"categories":67},[13],{"categories":69},[16],{"categories":71},[72],"Marketing & Growth",{"categories":74},[13],{"categories":76},[16],{"categories":78},[],{"categories":80},[],{"categories":82},[55],{"categories":84},[16],{"categories":86},[7],{"categories":88},[55],{"categories":90},[13],{"categories":92},[16],{"categories":94},[34],{"categories":96},[],{"categories":98},[],{"categories":100},[16],{"categories":102},[65],{"categories":104},[],{"categories":106},[10],{"categories":108},[],{"categories":110},[],{"categories":112},[16],{"categories":114},[16],{"categories":116},[13],{"categories":118},[],{"categories":120},[65],{"categories":122},[],{"categories":124},[],{"categories":126},[],{"categories":128},[13],{"categories":130},[72],{"categories":132},[55],{"categories":134},[55],{"categories":136},[13],{"categories":138},[16],{"categories":140},[13],{"categories":142},[13],{"categories":144},[16],{"categories":146},[16],{"categories":148},[58],{"categories":150},[34],{"categories":152},[16],{"categories":154},[72],{"categories":156},[16],{"categories":158},[19],{"categories":160},[],{"categories":162},[16],{"categories":164},[],{"categories":166},[16],{"categories":168},[65],{"categories":170},[55],{"categories":172},[13],{"categories":174},[],{"categories":176},[],{"categories":178},[16],{"categories":180},[],{"categories":182},[13],{"categories":184},[],{"categories":186},[7],{"categories":188},[65],{"categories":190},[10],{"categories":192},[34],{"categories":194},[13],{"categories":196},[],{"categories":198},[13],{"categories":200},[],{"categories":202},[65],{"categories":204},[58],{"categories":206},[],{"categories":208},[13],{"categories":210},[55],{"categories":212},[],{"categories":214},[55],{"categories":216},[16],{"categories":218},[],{"categories":220},[16],{"categories":222},[34],{"categories":224},[10],{"categories":226},[13],{"categories":228},[],{"categories":230},[16],{"categories":232},[13],{"categories":234},[19],{"categories":236},[],{"categories":238},[13],{"categories":240},[16],{"categories":242},[16],{"categories":244},[],{"categories":246},[58],{"categories":248},[13],{"categories":250},[],{"categories":252},[7],{"categories":254},[10],{"categories":256},[13],{"categories":258},[16],{"categories":260},[65],{"categories":262},[13],{"categories":264},[],{"categories":266},[],{"categories":268},[13],{"categories":270},[],{"categories":272},[55],{"categories":274},[],{"categories":276},[13],{"categories":278},[],{"categories":280},[16],{"categories":282},[13],{"categories":284},[55],{"categories":286},[],{"categories":288},[13],{"categories":290},[13],{"categories":292},[10],{"categories":294},[16],{"categories":296},[13],{"categories":298},[55],{"categories":300},[16],{"categories":302},[],{"categories":304},[],{"categories":306},[34],{"categories":308},[],{"categories":310},[13],{"categories":312},[10,72],{"categories":314},[],{"categories":316},[13],{"categories":318},[],{"categories":320},[],{"categories":322},[13],{"categories":324},[],{"categories":326},[13],{"categories":328},[329],"DevOps & Cloud",{"categories":331},[],{"categories":333},[34],{"categories":335},[55],{"categories":337},[],{"categories":339},[34],{"categories":341},[34],{"categories":343},[13],{"categories":345},[72],{"categories":347},[],{"categories":349},[10],{"categories":351},[],{"categories":353},[13,329],{"categories":355},[13],{"categories":357},[13],{"categories":359},[16],{"categories":361},[13,65],{"categories":363},[58],{"categories":365},[13],{"categories":367},[72],{"categories":369},[16],{"categories":371},[16],{"categories":373},[],{"categories":375},[16],{"categories":377},[13,10],{"categories":379},[],{"categories":381},[55],{"categories":383},[55],{"categories":385},[],{"categories":387},[],{"categories":389},[34],{"categories":391},[],{"categories":393},[7],{"categories":395},[65],{"categories":397},[13],{"categories":399},[55],{"categories":401},[16],{"categories":403},[65],{"categories":405},[34],{"categories":407},[55],{"categories":409},[],{"categories":411},[13],{"categories":413},[13],{"categories":415},[13],{"categories":417},[34],{"categories":419},[7],{"categories":421},[13],{"categories":423},[16],{"categories":425},[329],{"categories":427},[55],{"categories":429},[16],{"categories":431},[],{"categories":433},[],{"categories":435},[55],{"categories":437},[34],{"categories":439},[58],{"categories":441},[],{"categories":443},[13],{"categories":445},[13],{"categories":447},[10],{"categories":449},[13],{"categories":451},[13],{"categories":453},[34],{"categories":455},[],{"categories":457},[16],{"categories":459},[65],{"categories":461},[],{"categories":463},[13],{"categories":465},[13],{"categories":467},[16],{"categories":469},[],{"categories":471},[],{"categories":473},[13],{"categories":475},[],{"categories":477},[10],{"categories":479},[16],{"categories":481},[],{"categories":483},[7],{"categories":485},[13],{"categories":487},[10],{"categories":489},[34],{"categories":491},[],{"categories":493},[],{"categories":495},[],{"categories":497},[34],{"categories":499},[34],{"categories":501},[],{"categories":503},[],{"categories":505},[10],{"categories":507},[],{"categories":509},[],{"categories":511},[7],{"categories":513},[],{"categories":515},[72],{"categories":517},[16],{"categories":519},[10],{"categories":521},[16],{"categories":523},[65],{"categories":525},[],{"categories":527},[19],{"categories":529},[55],{"categories":531},[65],{"categories":533},[13],{"categories":535},[16],{"categories":537},[10],{"categories":539},[13],{"categories":541},[],{"categories":543},[],{"categories":545},[65],{"categories":547},[58],{"categories":549},[19],{"categories":551},[16],{"categories":553},[13],{"categories":555},[],{"categories":557},[329],{"categories":559},[],{"categories":561},[16],{"categories":563},[],{"categories":565},[],{"categories":567},[13],{"categories":569},[55],{"categories":571},[72],{"categories":573},[16],{"categories":575},[],{"categories":577},[7],{"categories":579},[],{"categories":581},[34],{"categories":583},[13,329],{"categories":585},[34],{"categories":587},[13],{"categories":589},[10],{"categories":591},[13],{"categories":593},[],{"categories":595},[10],{"categories":597},[],{"categories":599},[65],{"categories":601},[55],{"categories":603},[34],{"categories":605},[58],{"categories":607},[7],{"categories":609},[13],{"categories":611},[65],{"categories":613},[],{"categories":615},[],{"categories":617},[19],{"categories":619},[],{"categories":621},[13],{"categories":623},[],{"categories":625},[55],{"categories":627},[55],{"categories":629},[55],{"categories":631},[],{"categories":633},[],{"categories":635},[34],{"categories":637},[16],{"categories":639},[13],{"categories":641},[13],{"categories":643},[13],{"categories":645},[10],{"categories":647},[13],{"categories":649},[],{"categories":651},[65],{"categories":653},[65],{"categories":655},[10],{"categories":657},[],{"categories":659},[13],{"categories":661},[13],{"categories":663},[10],{"categories":665},[34],{"categories":667},[72],{"categories":669},[16],{"categories":671},[],{"categories":673},[55],{"categories":675},[],{"categories":677},[13],{"categories":679},[],{"categories":681},[10],{"categories":683},[16],{"categories":685},[],{"categories":687},[329],{"categories":689},[58],{"categories":691},[65],{"categories":693},[72],{"categories":695},[65],{"categories":697},[16],{"categories":699},[],{"categories":701},[],{"categories":703},[16],{"categories":705},[7],{"categories":707},[16],{"categories":709},[19],{"categories":711},[10],{"categories":713},[],{"categories":715},[13],{"categories":717},[19],{"categories":719},[13],{"categories":721},[13],{"categories":723},[72],{"categories":725},[55],{"categories":727},[16],{"categories":729},[],{"categories":731},[],{"categories":733},[329],{"categories":735},[65],{"categories":737},[],{"categories":739},[16],{"categories":741},[13],{"categories":743},[55,13],{"categories":745},[7],{"categories":747},[],{"categories":749},[13],{"categories":751},[7],{"categories":753},[55],{"categories":755},[16],{"categories":757},[65],{"categories":759},[],{"categories":761},[13],{"categories":763},[],{"categories":765},[7],{"categories":767},[],{"categories":769},[16],{"categories":771},[19],{"categories":773},[13],{"categories":775},[13],{"categories":777},[55],{"categories":779},[16],{"categories":781},[329],{"categories":783},[55],{"categories":785},[16],{"categories":787},[13],{"categories":789},[13],{"categories":791},[13],{"categories":793},[34],{"categories":795},[],{"categories":797},[19],{"categories":799},[16],{"categories":801},[55],{"categories":803},[16],{"categories":805},[65],{"categories":807},[55],{"categories":809},[16],{"categories":811},[34],{"categories":813},[],{"categories":815},[13],{"categories":817},[55],{"categories":819},[13],{"categories":821},[7],{"categories":823},[34],{"categories":825},[13],{"categories":827},[72],{"categories":829},[13],{"categories":831},[13],{"categories":833},[16],{"categories":835},[16],{"categories":837},[13],{"categories":839},[16],{"categories":841},[55],{"categories":843},[13],{"categories":845},[],{"categories":847},[],{"categories":849},[65],{"categories":851},[],{"categories":853},[7],{"categories":855},[329],{"categories":857},[],{"categories":859},[7],{"categories":861},[10],{"categories":863},[72],{"categories":865},[],{"categories":867},[10],{"categories":869},[],{"categories":871},[],{"categories":873},[],{"categories":875},[],{"categories":877},[],{"categories":879},[13],{"categories":881},[16],{"categories":883},[329],{"categories":885},[7],{"categories":887},[13],{"categories":889},[65],{"categories":891},[19],{"categories":893},[13],{"categories":895},[72],{"categories":897},[13],{"categories":899},[13],{"categories":901},[13],{"categories":903},[13,7],{"categories":905},[65],{"categories":907},[65],{"categories":909},[55],{"categories":911},[13],{"categories":913},[],{"categories":915},[],{"categories":917},[],{"categories":919},[65],{"categories":921},[58],{"categories":923},[34],{"categories":925},[55],{"categories":927},[],{"categories":929},[13],{"categories":931},[13],{"categories":933},[],{"categories":935},[],{"categories":937},[16],{"categories":939},[13],{"categories":941},[10],{"categories":943},[],{"categories":945},[7],{"categories":947},[13],{"categories":949},[7],{"categories":951},[13],{"categories":953},[65],{"categories":955},[72],{"categories":957},[13,55],{"categories":959},[34],{"categories":961},[55],{"categories":963},[],{"categories":965},[329],{"categories":967},[55],{"categories":969},[16],{"categories":971},[],{"categories":973},[],{"categories":975},[],{"categories":977},[],{"categories":979},[65],{"categories":981},[16],{"categories":983},[16],{"categories":985},[329],{"categories":987},[13],{"categories":989},[13],{"categories":991},[13],{"categories":993},[],{"categories":995},[55],{"categories":997},[],{"categories":999},[],{"categories":1001},[16],{"categories":1003},[],{"categories":1005},[],{"categories":1007},[72],{"categories":1009},[72],{"categories":1011},[16],{"categories":1013},[],{"categories":1015},[13],{"categories":1017},[13],{"categories":1019},[65],{"categories":1021},[55],{"categories":1023},[55],{"categories":1025},[16],{"categories":1027},[7],{"categories":1029},[13],{"categories":1031},[55],{"categories":1033},[55],{"categories":1035},[16],{"categories":1037},[16],{"categories":1039},[13],{"categories":1041},[],{"categories":1043},[],{"categories":1045},[13],{"categories":1047},[16],{"categories":1049},[34],{"categories":1051},[65],{"categories":1053},[7],{"categories":1055},[13],{"categories":1057},[],{"categories":1059},[16],{"categories":1061},[16],{"categories":1063},[],{"categories":1065},[7],{"categories":1067},[13],{"categories":1069},[7],{"categories":1071},[7],{"categories":1073},[],{"categories":1075},[],{"categories":1077},[16],{"categories":1079},[16],{"categories":1081},[13],{"categories":1083},[13],{"categories":1085},[34],{"categories":1087},[58],{"categories":1089},[19],{"categories":1091},[34],{"categories":1093},[55],{"categories":1095},[],{"categories":1097},[34],{"categories":1099},[],{"categories":1101},[],{"categories":1103},[],{"categories":1105},[],{"categories":1107},[65],{"categories":1109},[58],{"categories":1111},[],{"categories":1113},[13],{"categories":1115},[13],{"categories":1117},[58],{"categories":1119},[65],{"categories":1121},[],{"categories":1123},[],{"categories":1125},[16],{"categories":1127},[34],{"categories":1129},[34],{"categories":1131},[16],{"categories":1133},[7],{"categories":1135},[13,329],{"categories":1137},[],{"categories":1139},[55],{"categories":1141},[7],{"categories":1143},[16],{"categories":1145},[55],{"categories":1147},[],{"categories":1149},[16],{"categories":1151},[16],{"categories":1153},[13],{"categories":1155},[72],{"categories":1157},[65],{"categories":1159},[55],{"categories":1161},[],{"categories":1163},[16],{"categories":1165},[13],{"categories":1167},[16],{"categories":1169},[16],{"categories":1171},[16],{"categories":1173},[72],{"categories":1175},[16],{"categories":1177},[13],{"categories":1179},[],{"categories":1181},[72],{"categories":1183},[34],{"categories":1185},[16],{"categories":1187},[],{"categories":1189},[],{"categories":1191},[13],{"categories":1193},[16],{"categories":1195},[34],{"categories":1197},[16],{"categories":1199},[],{"categories":1201},[],{"categories":1203},[],{"categories":1205},[16],{"categories":1207},[],{"categories":1209},[],{"categories":1211},[58],{"categories":1213},[13],{"categories":1215},[58],{"categories":1217},[34],{"categories":1219},[13],{"categories":1221},[13],{"categories":1223},[16],{"categories":1225},[13],{"categories":1227},[],{"categories":1229},[],{"categories":1231},[329],{"categories":1233},[],{"categories":1235},[],{"categories":1237},[7],{"categories":1239},[],{"categories":1241},[],{"categories":1243},[],{"categories":1245},[],{"categories":1247},[65],{"categories":1249},[34],{"categories":1251},[72],{"categories":1253},[10],{"categories":1255},[13],{"categories":1257},[13],{"categories":1259},[10],{"categories":1261},[],{"categories":1263},[55],{"categories":1265},[16],{"categories":1267},[10],{"categories":1269},[13],{"categories":1271},[13],{"categories":1273},[7],{"categories":1275},[],{"categories":1277},[7],{"categories":1279},[13],{"categories":1281},[72],{"categories":1283},[16],{"categories":1285},[34],{"categories":1287},[10],{"categories":1289},[13],{"categories":1291},[16],{"categories":1293},[],{"categories":1295},[13],{"categories":1297},[7],{"categories":1299},[13],{"categories":1301},[],{"categories":1303},[34],{"categories":1305},[13],{"categories":1307},[],{"categories":1309},[10],{"categories":1311},[13],{"categories":1313},[],{"categories":1315},[],{"categories":1317},[],{"categories":1319},[13],{"categories":1321},[],{"categories":1323},[329],{"categories":1325},[13],{"categories":1327},[],{"categories":1329},[13],{"categories":1331},[13],{"categories":1333},[13],{"categories":1335},[13,329],{"categories":1337},[13],{"categories":1339},[13],{"categories":1341},[55],{"categories":1343},[16],{"categories":1345},[],{"categories":1347},[16],{"categories":1349},[13],{"categories":1351},[13],{"categories":1353},[13],{"categories":1355},[7],{"categories":1357},[7],{"categories":1359},[65],{"categories":1361},[55],{"categories":1363},[16],{"categories":1365},[],{"categories":1367},[13],{"categories":1369},[34],{"categories":1371},[13],{"categories":1373},[10],{"categories":1375},[],{"categories":1377},[329],{"categories":1379},[55],{"categories":1381},[55],{"categories":1383},[16],{"categories":1385},[34],{"categories":1387},[16],{"categories":1389},[13],{"categories":1391},[],{"categories":1393},[13],{"categories":1395},[],{"categories":1397},[],{"categories":1399},[13],{"categories":1401},[13],{"categories":1403},[13],{"categories":1405},[16],{"categories":1407},[13],{"categories":1409},[],{"categories":1411},[58],{"categories":1413},[16],{"categories":1415},[],{"categories":1417},[],{"categories":1419},[13],{"categories":1421},[34],{"categories":1423},[],{"categories":1425},[55],{"categories":1427},[329],{"categories":1429},[34],{"categories":1431},[65],{"categories":1433},[65],{"categories":1435},[34],{"categories":1437},[34],{"categories":1439},[329],{"categories":1441},[],{"categories":1443},[34],{"categories":1445},[13],{"categories":1447},[7],{"categories":1449},[34],{"categories":1451},[],{"categories":1453},[58],{"categories":1455},[34],{"categories":1457},[65],{"categories":1459},[34],{"categories":1461},[329],{"categories":1463},[13],{"categories":1465},[13],{"categories":1467},[],{"categories":1469},[10],{"categories":1471},[],{"categories":1473},[],{"categories":1475},[13],{"categories":1477},[13],{"categories":1479},[13],{"categories":1481},[13],{"categories":1483},[],{"categories":1485},[58],{"categories":1487},[7],{"categories":1489},[],{"categories":1491},[13],{"categories":1493},[13],{"categories":1495},[329],{"categories":1497},[329],{"categories":1499},[],{"categories":1501},[16],{"categories":1503},[34],{"categories":1505},[34],{"categories":1507},[13],{"categories":1509},[16],{"categories":1511},[],{"categories":1513},[55],{"categories":1515},[13],{"categories":1517},[13],{"categories":1519},[],{"categories":1521},[],{"categories":1523},[329],{"categories":1525},[13],{"categories":1527},[65],{"categories":1529},[10],{"categories":1531},[13],{"categories":1533},[],{"categories":1535},[16],{"categories":1537},[7],{"categories":1539},[7],{"categories":1541},[],{"categories":1543},[13],{"categories":1545},[55],{"categories":1547},[16],{"categories":1549},[],{"categories":1551},[13],{"categories":1553},[13],{"categories":1555},[16],{"categories":1557},[],{"categories":1559},[16],{"categories":1561},[65],{"categories":1563},[],{"categories":1565},[13],{"categories":1567},[],{"categories":1569},[13],{"categories":1571},[],{"categories":1573},[13],{"categories":1575},[13],{"categories":1577},[],{"categories":1579},[13],{"categories":1581},[34],{"categories":1583},[13],{"categories":1585},[13],{"categories":1587},[7],{"categories":1589},[13],{"categories":1591},[34],{"categories":1593},[16],{"categories":1595},[],{"categories":1597},[13],{"categories":1599},[72],{"categories":1601},[],{"categories":1603},[],{"categories":1605},[],{"categories":1607},[7],{"categories":1609},[34],{"categories":1611},[16],{"categories":1613},[13],{"categories":1615},[55],{"categories":1617},[16],{"categories":1619},[],{"categories":1621},[16],{"categories":1623},[],{"categories":1625},[13],{"categories":1627},[16],{"categories":1629},[13],{"categories":1631},[],{"categories":1633},[13],{"categories":1635},[13],{"categories":1637},[34],{"categories":1639},[55],{"categories":1641},[16],{"categories":1643},[55],{"categories":1645},[10],{"categories":1647},[],{"categories":1649},[],{"categories":1651},[13],{"categories":1653},[7],{"categories":1655},[34],{"categories":1657},[],{"categories":1659},[],{"categories":1661},[65],{"categories":1663},[55],{"categories":1665},[],{"categories":1667},[13],{"categories":1669},[],{"categories":1671},[72],{"categories":1673},[13],{"categories":1675},[329],{"categories":1677},[65],{"categories":1679},[],{"categories":1681},[16],{"categories":1683},[13],{"categories":1685},[16],{"categories":1687},[16],{"categories":1689},[13],{"categories":1691},[],{"categories":1693},[7],{"categories":1695},[13],{"categories":1697},[10],{"categories":1699},[65],{"categories":1701},[55],{"categories":1703},[],{"categories":1705},[],{"categories":1707},[],{"categories":1709},[16],{"categories":1711},[55],{"categories":1713},[34],{"categories":1715},[13],{"categories":1717},[34],{"categories":1719},[55],{"categories":1721},[],{"categories":1723},[55],{"categories":1725},[34],{"categories":1727},[10],{"categories":1729},[13],{"categories":1731},[34],{"categories":1733},[72],{"categories":1735},[],{"categories":1737},[],{"categories":1739},[58],{"categories":1741},[13,65],{"categories":1743},[34],{"categories":1745},[13],{"categories":1747},[16],{"categories":1749},[16],{"categories":1751},[13],{"categories":1753},[],{"categories":1755},[65],{"categories":1757},[13],{"categories":1759},[58],{"categories":1761},[16],{"categories":1763},[72],{"categories":1765},[329],{"categories":1767},[],{"categories":1769},[7],{"categories":1771},[16],{"categories":1773},[16],{"categories":1775},[65],{"categories":1777},[13],{"categories":1779},[13],{"categories":1781},[],{"categories":1783},[],{"categories":1785},[],{"categories":1787},[329],{"categories":1789},[34],{"categories":1791},[13],{"categories":1793},[13],{"categories":1795},[13],{"categories":1797},[],{"categories":1799},[58],{"categories":1801},[10],{"categories":1803},[],{"categories":1805},[16],{"categories":1807},[329],{"categories":1809},[],{"categories":1811},[55],{"categories":1813},[55],{"categories":1815},[],{"categories":1817},[65],{"categories":1819},[55],{"categories":1821},[13],{"categories":1823},[],{"categories":1825},[34],{"categories":1827},[13],{"categories":1829},[55],{"categories":1831},[16],{"categories":1833},[34],{"categories":1835},[],{"categories":1837},[16],{"categories":1839},[55],{"categories":1841},[13],{"categories":1843},[],{"categories":1845},[13],{"categories":1847},[13],{"categories":1849},[329],{"categories":1851},[34],{"categories":1853},[58],{"categories":1855},[58],{"categories":1857},[],{"categories":1859},[],{"categories":1861},[],{"categories":1863},[16],{"categories":1865},[65],{"categories":1867},[65],{"categories":1869},[],{"categories":1871},[],{"categories":1873},[13],{"categories":1875},[],{"categories":1877},[16],{"categories":1879},[13],{"categories":1881},[],{"categories":1883},[13],{"categories":1885},[10],{"categories":1887},[13],{"categories":1889},[72],{"categories":1891},[16],{"categories":1893},[13],{"categories":1895},[65],{"categories":1897},[34],{"categories":1899},[16],{"categories":1901},[],{"categories":1903},[34],{"categories":1905},[16],{"categories":1907},[16],{"categories":1909},[],{"categories":1911},[10],{"categories":1913},[16],{"categories":1915},[],{"categories":1917},[13],{"categories":1919},[7],{"categories":1921},[34],{"categories":1923},[329],{"categories":1925},[16],{"categories":1927},[16],{"categories":1929},[7],{"categories":1931},[13],{"categories":1933},[],{"categories":1935},[],{"categories":1937},[55],{"categories":1939},[13,10],{"categories":1941},[],{"categories":1943},[7],{"categories":1945},[58],{"categories":1947},[13],{"categories":1949},[65],{"categories":1951},[13],{"categories":1953},[16],{"categories":1955},[13],{"categories":1957},[13],{"categories":1959},[34],{"categories":1961},[16],{"categories":1963},[],{"categories":1965},[],{"categories":1967},[16],{"categories":1969},[13],{"categories":1971},[329],{"categories":1973},[],{"categories":1975},[13],{"categories":1977},[16],{"categories":1979},[],{"categories":1981},[13],{"categories":1983},[72],{"categories":1985},[58],{"categories":1987},[16],{"categories":1989},[13],{"categories":1991},[329],{"categories":1993},[],{"categories":1995},[13],{"categories":1997},[72],{"categories":1999},[55],{"categories":2001},[13],{"categories":2003},[],{"categories":2005},[72],{"categories":2007},[34],{"categories":2009},[13],{"categories":2011},[13],{"categories":2013},[7],{"categories":2015},[],{"categories":2017},[],{"categories":2019},[55],{"categories":2021},[13],{"categories":2023},[58],{"categories":2025},[72],{"categories":2027},[72],{"categories":2029},[34],{"categories":2031},[],{"categories":2033},[],{"categories":2035},[13],{"categories":2037},[],{"categories":2039},[13,65],{"categories":2041},[34],{"categories":2043},[16],{"categories":2045},[65],{"categories":2047},[13],{"categories":2049},[7],{"categories":2051},[],{"categories":2053},[],{"categories":2055},[7],{"categories":2057},[72],{"categories":2059},[13],{"categories":2061},[],{"categories":2063},[55,13],{"categories":2065},[329],{"categories":2067},[7],{"categories":2069},[],{"categories":2071},[10],{"categories":2073},[10],{"categories":2075},[13],{"categories":2077},[65],{"categories":2079},[16],{"categories":2081},[34],{"categories":2083},[72],{"categories":2085},[55],{"categories":2087},[13],{"categories":2089},[13],{"categories":2091},[13],{"categories":2093},[7],{"categories":2095},[13],{"categories":2097},[16],{"categories":2099},[34],{"categories":2101},[],{"categories":2103},[],{"categories":2105},[58],{"categories":2107},[65],{"categories":2109},[13],{"categories":2111},[55],{"categories":2113},[58],{"categories":2115},[13],{"categories":2117},[13],{"categories":2119},[16],{"categories":2121},[16],{"categories":2123},[13,10],{"categories":2125},[],{"categories":2127},[55],{"categories":2129},[],{"categories":2131},[13],{"categories":2133},[34],{"categories":2135},[7],{"categories":2137},[7],{"categories":2139},[16],{"categories":2141},[13],{"categories":2143},[10],{"categories":2145},[65],{"categories":2147},[72],{"categories":2149},[],{"categories":2151},[34],{"categories":2153},[13],{"categories":2155},[13],{"categories":2157},[34],{"categories":2159},[65],{"categories":2161},[13],{"categories":2163},[16],{"categories":2165},[34],{"categories":2167},[13],{"categories":2169},[55],{"categories":2171},[13],{"categories":2173},[13],{"categories":2175},[329],{"categories":2177},[19],{"categories":2179},[16],{"categories":2181},[13],{"categories":2183},[34],{"categories":2185},[16],{"categories":2187},[72],{"categories":2189},[13],{"categories":2191},[],{"categories":2193},[13],{"categories":2195},[],{"categories":2197},[],{"categories":2199},[],{"categories":2201},[10],{"categories":2203},[13],{"categories":2205},[16],{"categories":2207},[34],{"categories":2209},[34],{"categories":2211},[34],{"categories":2213},[34],{"categories":2215},[],{"categories":2217},[7],{"categories":2219},[16],{"categories":2221},[34],{"categories":2223},[7],{"categories":2225},[16],{"categories":2227},[13],{"categories":2229},[13,16],{"categories":2231},[16],{"categories":2233},[329],{"categories":2235},[34],{"categories":2237},[34],{"categories":2239},[16],{"categories":2241},[13],{"categories":2243},[],{"categories":2245},[34],{"categories":2247},[72],{"categories":2249},[7],{"categories":2251},[13],{"categories":2253},[13],{"categories":2255},[],{"categories":2257},[65],{"categories":2259},[],{"categories":2261},[7],{"categories":2263},[16],{"categories":2265},[34],{"categories":2267},[13],{"categories":2269},[34],{"categories":2271},[7],{"categories":2273},[34],{"categories":2275},[34],{"categories":2277},[],{"categories":2279},[10],{"categories":2281},[16],{"categories":2283},[34],{"categories":2285},[34],{"categories":2287},[34],{"categories":2289},[34],{"categories":2291},[34],{"categories":2293},[34],{"categories":2295},[34],{"categories":2297},[34],{"categories":2299},[34],{"categories":2301},[34],{"categories":2303},[58],{"categories":2305},[7],{"categories":2307},[13],{"categories":2309},[13],{"categories":2311},[],{"categories":2313},[13,7],{"categories":2315},[],{"categories":2317},[16],{"categories":2319},[34],{"categories":2321},[16],{"categories":2323},[13],{"categories":2325},[13],{"categories":2327},[13],{"categories":2329},[13],{"categories":2331},[13],{"categories":2333},[16],{"categories":2335},[10],{"categories":2337},[55],{"categories":2339},[34],{"categories":2341},[13],{"categories":2343},[],{"categories":2345},[],{"categories":2347},[16],{"categories":2349},[55],{"categories":2351},[13],{"categories":2353},[],{"categories":2355},[],{"categories":2357},[72],{"categories":2359},[13],{"categories":2361},[],{"categories":2363},[],{"categories":2365},[7],{"categories":2367},[10],{"categories":2369},[13],{"categories":2371},[10],{"categories":2373},[55],{"categories":2375},[],{"categories":2377},[34],{"categories":2379},[],{"categories":2381},[55],{"categories":2383},[13],{"categories":2385},[72],{"categories":2387},[],{"categories":2389},[72],{"categories":2391},[],{"categories":2393},[],{"categories":2395},[16],{"categories":2397},[],{"categories":2399},[10],{"categories":2401},[7],{"categories":2403},[55],{"categories":2405},[65],{"categories":2407},[],{"categories":2409},[],{"categories":2411},[13],{"categories":2413},[7],{"categories":2415},[72],{"categories":2417},[],{"categories":2419},[16],{"categories":2421},[16],{"categories":2423},[34],{"categories":2425},[13],{"categories":2427},[16],{"categories":2429},[13],{"categories":2431},[16],{"categories":2433},[13],{"categories":2435},[19],{"categories":2437},[34],{"categories":2439},[],{"categories":2441},[72],{"categories":2443},[65],{"categories":2445},[16],{"categories":2447},[],{"categories":2449},[13],{"categories":2451},[16],{"categories":2453},[10],{"categories":2455},[7],{"categories":2457},[13],{"categories":2459},[55],{"categories":2461},[65],{"categories":2463},[65],{"categories":2465},[13],{"categories":2467},[58],{"categories":2469},[13],{"categories":2471},[16],{"categories":2473},[10],{"categories":2475},[16],{"categories":2477},[13],{"categories":2479},[13],{"categories":2481},[16],{"categories":2483},[34],{"categories":2485},[],{"categories":2487},[7],{"categories":2489},[13],{"categories":2491},[16],{"categories":2493},[13],{"categories":2495},[13],{"categories":2497},[],{"categories":2499},[55],{"categories":2501},[10],{"categories":2503},[34],{"categories":2505},[13],{"categories":2507},[13],{"categories":2509},[55],{"categories":2511},[72],{"categories":2513},[58],{"categories":2515},[13],{"categories":2517},[34],{"categories":2519},[13],{"categories":2521},[16],{"categories":2523},[329],{"categories":2525},[13],{"categories":2527},[16],{"categories":2529},[58],{"categories":2531},[],{"categories":2533},[16],{"categories":2535},[65],{"categories":2537},[55],{"categories":2539},[13],{"categories":2541},[7],{"categories":2543},[10],{"categories":2545},[65],{"categories":2547},[],{"categories":2549},[16],{"categories":2551},[13],{"categories":2553},[],{"categories":2555},[34],{"categories":2557},[],{"categories":2559},[34],{"categories":2561},[13],{"categories":2563},[16],{"categories":2565},[16],{"categories":2567},[16],{"categories":2569},[],{"categories":2571},[],{"categories":2573},[13],{"categories":2575},[13],{"categories":2577},[],{"categories":2579},[55],{"categories":2581},[16],{"categories":2583},[72],{"categories":2585},[7],{"categories":2587},[],{"categories":2589},[],{"categories":2591},[34],{"categories":2593},[65],{"categories":2595},[13],{"categories":2597},[13],{"categories":2599},[13],{"categories":2601},[65],{"categories":2603},[34],{"categories":2605},[55],{"categories":2607},[13],{"categories":2609},[13],{"categories":2611},[13],{"categories":2613},[34],{"categories":2615},[13],{"categories":2617},[34],{"categories":2619},[16],{"categories":2621},[16],{"categories":2623},[65],{"categories":2625},[16],{"categories":2627},[13],{"categories":2629},[65],{"categories":2631},[55],{"categories":2633},[],{"categories":2635},[16],{"categories":2637},[],{"categories":2639},[],{"categories":2641},[],{"categories":2643},[10],{"categories":2645},[13],{"categories":2647},[16],{"categories":2649},[7],{"categories":2651},[16],{"categories":2653},[72],{"categories":2655},[],{"categories":2657},[16],{"categories":2659},[],{"categories":2661},[7],{"categories":2663},[16],{"categories":2665},[],{"categories":2667},[16],{"categories":2669},[13],{"categories":2671},[34],{"categories":2673},[13],{"categories":2675},[16],{"categories":2677},[34],{"categories":2679},[16],{"categories":2681},[65],{"categories":2683},[55],{"categories":2685},[7],{"categories":2687},[],{"categories":2689},[16],{"categories":2691},[55],{"categories":2693},[329],{"categories":2695},[34],{"categories":2697},[13],{"categories":2699},[55],{"categories":2701},[7],{"categories":2703},[],{"categories":2705},[16],{"categories":2707},[16],{"categories":2709},[13],{"categories":2711},[],{"categories":2713},[16],{"categories":2715},[19],{"categories":2717},[34],{"categories":2719},[16],{"categories":2721},[10],{"categories":2723},[],{"categories":2725},[13],{"categories":2727},[19],{"categories":2729},[13],{"categories":2731},[16],{"categories":2733},[34],{"categories":2735},[7],{"categories":2737},[329],{"categories":2739},[13],{"categories":2741},[13],{"categories":2743},[13],{"categories":2745},[34],{"categories":2747},[10],{"categories":2749},[13],{"categories":2751},[55],{"categories":2753},[34],{"categories":2755},[329],{"categories":2757},[13],{"categories":2759},[],{"categories":2761},[],{"categories":2763},[329],{"categories":2765},[58],{"categories":2767},[16],{"categories":2769},[16],{"categories":2771},[34],{"categories":2773},[13],{"categories":2775},[7],{"categories":2777},[55],{"categories":2779},[16],{"categories":2781},[13],{"categories":2783},[72],{"categories":2785},[13],{"categories":2787},[16],{"categories":2789},[],{"categories":2791},[13],{"categories":2793},[13],{"categories":2795},[34],{"categories":2797},[7],{"categories":2799},[],{"categories":2801},[13],{"categories":2803},[13],{"categories":2805},[65],{"categories":2807},[55],{"categories":2809},[13,16],{"categories":2811},[72,10],{"categories":2813},[13],{"categories":2815},[],{"categories":2817},[16],{"categories":2819},[],{"categories":2821},[65],{"categories":2823},[13],{"categories":2825},[34],{"categories":2827},[],{"categories":2829},[16],{"categories":2831},[],{"categories":2833},[55],{"categories":2835},[16],{"categories":2837},[7],{"categories":2839},[16],{"categories":2841},[13],{"categories":2843},[329],{"categories":2845},[72],{"categories":2847},[10],{"categories":2849},[10],{"categories":2851},[7],{"categories":2853},[7],{"categories":2855},[13],{"categories":2857},[16],{"categories":2859},[13],{"categories":2861},[13],{"categories":2863},[7],{"categories":2865},[13],{"categories":2867},[72],{"categories":2869},[34],{"categories":2871},[13],{"categories":2873},[16],{"categories":2875},[13],{"categories":2877},[],{"categories":2879},[65],{"categories":2881},[],{"categories":2883},[16],{"categories":2885},[7],{"categories":2887},[],{"categories":2889},[329],{"categories":2891},[13],{"categories":2893},[],{"categories":2895},[34],{"categories":2897},[16],{"categories":2899},[65],{"categories":2901},[13],{"categories":2903},[16],{"categories":2905},[65],{"categories":2907},[16],{"categories":2909},[34],{"categories":2911},[7],{"categories":2913},[34],{"categories":2915},[65],{"categories":2917},[13],{"categories":2919},[55],{"categories":2921},[13],{"categories":2923},[13],{"categories":2925},[13],{"categories":2927},[13],{"categories":2929},[16],{"categories":2931},[13],{"categories":2933},[16],{"categories":2935},[13],{"categories":2937},[7],{"categories":2939},[13],{"categories":2941},[16],{"categories":2943},[55],{"categories":2945},[7],{"categories":2947},[16],{"categories":2949},[55],{"categories":2951},[],{"categories":2953},[13],{"categories":2955},[13],{"categories":2957},[65],{"categories":2959},[],{"categories":2961},[16],{"categories":2963},[72],{"categories":2965},[13],{"categories":2967},[34],{"categories":2969},[72],{"categories":2971},[16],{"categories":2973},[10],{"categories":2975},[10],{"categories":2977},[13],{"categories":2979},[7],{"categories":2981},[],{"categories":2983},[13],{"categories":2985},[],{"categories":2987},[7],{"categories":2989},[13],{"categories":2991},[16],{"categories":2993},[16],{"categories":2995},[],{"categories":2997},[65],{"categories":2999},[65],{"categories":3001},[72],{"categories":3003},[55],{"categories":3005},[],{"categories":3007},[13],{"categories":3009},[7],{"categories":3011},[13],{"categories":3013},[65],{"categories":3015},[7],{"categories":3017},[34],{"categories":3019},[34],{"categories":3021},[],{"categories":3023},[34],{"categories":3025},[16],{"categories":3027},[55],{"categories":3029},[58],{"categories":3031},[13],{"categories":3033},[],{"categories":3035},[34],{"categories":3037},[65],{"categories":3039},[10],{"categories":3041},[13],{"categories":3043},[7],{"categories":3045},[329],{"categories":3047},[7],{"categories":3049},[],{"categories":3051},[],{"categories":3053},[34],{"categories":3055},[],{"categories":3057},[16],{"categories":3059},[16],{"categories":3061},[16],{"categories":3063},[],{"categories":3065},[13],{"categories":3067},[],{"categories":3069},[34],{"categories":3071},[7],{"categories":3073},[55],{"categories":3075},[13],{"categories":3077},[34],{"categories":3079},[34],{"categories":3081},[],{"categories":3083},[34],{"categories":3085},[7],{"categories":3087},[13],{"categories":3089},[],{"categories":3091},[16],{"categories":3093},[16],{"categories":3095},[7],{"categories":3097},[],{"categories":3099},[],{"categories":3101},[],{"categories":3103},[55],{"categories":3105},[16],{"categories":3107},[13],{"categories":3109},[],{"categories":3111},[],{"categories":3113},[],{"categories":3115},[55],{"categories":3117},[],{"categories":3119},[7],{"categories":3121},[],{"categories":3123},[],{"categories":3125},[55],{"categories":3127},[13],{"categories":3129},[34],{"categories":3131},[],{"categories":3133},[72],{"categories":3135},[34],{"categories":3137},[72],{"categories":3139},[13],{"categories":3141},[],{"categories":3143},[],{"categories":3145},[16],{"categories":3147},[],{"categories":3149},[],{"categories":3151},[16],{"categories":3153},[13],{"categories":3155},[],{"categories":3157},[16],{"categories":3159},[34],{"categories":3161},[72],{"categories":3163},[58],{"categories":3165},[16],{"categories":3167},[16],{"categories":3169},[],{"categories":3171},[],{"categories":3173},[],{"categories":3175},[34],{"categories":3177},[],{"categories":3179},[],{"categories":3181},[55],{"categories":3183},[7],{"categories":3185},[],{"categories":3187},[10],{"categories":3189},[72],{"categories":3191},[13],{"categories":3193},[65],{"categories":3195},[7],{"categories":3197},[58],{"categories":3199},[10],{"categories":3201},[65],{"categories":3203},[],{"categories":3205},[],{"categories":3207},[16],{"categories":3209},[7],{"categories":3211},[55],{"categories":3213},[7],{"categories":3215},[16],{"categories":3217},[329],{"categories":3219},[16],{"categories":3221},[],{"categories":3223},[13],{"categories":3225},[34],{"categories":3227},[65],{"categories":3229},[],{"categories":3231},[55],{"categories":3233},[34],{"categories":3235},[7],{"categories":3237},[16],{"categories":3239},[13],{"categories":3241},[10],{"categories":3243},[16,329],{"categories":3245},[16],{"categories":3247},[65],{"categories":3249},[13],{"categories":3251},[58],{"categories":3253},[72],{"categories":3255},[16],{"categories":3257},[],{"categories":3259},[16],{"categories":3261},[13],{"categories":3263},[10],{"categories":3265},[],{"categories":3267},[],{"categories":3269},[13],{"categories":3271},[58],{"categories":3273},[13],{"categories":3275},[],{"categories":3277},[34],{"categories":3279},[],{"categories":3281},[34],{"categories":3283},[65],{"categories":3285},[16],{"categories":3287},[13],{"categories":3289},[72],{"categories":3291},[65],{"categories":3293},[],{"categories":3295},[34],{"categories":3297},[13],{"categories":3299},[],{"categories":3301},[13],{"categories":3303},[16],{"categories":3305},[13],{"categories":3307},[16],{"categories":3309},[13],{"categories":3311},[13],{"categories":3313},[13],{"categories":3315},[13],{"categories":3317},[10],{"categories":3319},[],{"categories":3321},[19],{"categories":3323},[34],{"categories":3325},[13],{"categories":3327},[],{"categories":3329},[65],{"categories":3331},[13],{"categories":3333},[13],{"categories":3335},[16],{"categories":3337},[34],{"categories":3339},[13],{"categories":3341},[13],{"categories":3343},[10],{"categories":3345},[16],{"categories":3347},[55],{"categories":3349},[],{"categories":3351},[58],{"categories":3353},[13],{"categories":3355},[],{"categories":3357},[34],{"categories":3359},[72],{"categories":3361},[],{"categories":3363},[],{"categories":3365},[34],{"categories":3367},[34],{"categories":3369},[72],{"categories":3371},[7],{"categories":3373},[16],{"categories":3375},[16],{"categories":3377},[13],{"categories":3379},[10],{"categories":3381},[],{"categories":3383},[],{"categories":3385},[34],{"categories":3387},[58],{"categories":3389},[65],{"categories":3391},[16],{"categories":3393},[55],{"categories":3395},[58],{"categories":3397},[58],{"categories":3399},[],{"categories":3401},[34],{"categories":3403},[13],{"categories":3405},[13],{"categories":3407},[65],{"categories":3409},[],{"categories":3411},[34],{"categories":3413},[34],{"categories":3415},[34],{"categories":3417},[],{"categories":3419},[16],{"categories":3421},[13],{"categories":3423},[],{"categories":3425},[7],{"categories":3427},[10],{"categories":3429},[],{"categories":3431},[13],{"categories":3433},[13],{"categories":3435},[],{"categories":3437},[65],{"categories":3439},[],{"categories":3441},[],{"categories":3443},[],{"categories":3445},[],{"categories":3447},[13],{"categories":3449},[34],{"categories":3451},[],{"categories":3453},[],{"categories":3455},[13],{"categories":3457},[13],{"categories":3459},[13],{"categories":3461},[58],{"categories":3463},[13],{"categories":3465},[58],{"categories":3467},[],{"categories":3469},[58],{"categories":3471},[58],{"categories":3473},[329],{"categories":3475},[16],{"categories":3477},[65],{"categories":3479},[],{"categories":3481},[],{"categories":3483},[58],{"categories":3485},[65],{"categories":3487},[65],{"categories":3489},[65],{"categories":3491},[],{"categories":3493},[7],{"categories":3495},[65],{"categories":3497},[65],{"categories":3499},[7],{"categories":3501},[65],{"categories":3503},[10],{"categories":3505},[65],{"categories":3507},[65],{"categories":3509},[65],{"categories":3511},[58],{"categories":3513},[34],{"categories":3515},[34],{"categories":3517},[13],{"categories":3519},[65],{"categories":3521},[58],{"categories":3523},[329],{"categories":3525},[58],{"categories":3527},[58],{"categories":3529},[58],{"categories":3531},[],{"categories":3533},[10],{"categories":3535},[],{"categories":3537},[329],{"categories":3539},[65],{"categories":3541},[65],{"categories":3543},[65],{"categories":3545},[16],{"categories":3547},[34,10],{"categories":3549},[58],{"categories":3551},[],{"categories":3553},[],{"categories":3555},[58],{"categories":3557},[],{"categories":3559},[58],{"categories":3561},[34],{"categories":3563},[16],{"categories":3565},[],{"categories":3567},[65],{"categories":3569},[13],{"categories":3571},[55],{"categories":3573},[],{"categories":3575},[13],{"categories":3577},[],{"categories":3579},[34],{"categories":3581},[7],{"categories":3583},[58],{"categories":3585},[],{"categories":3587},[65],{"categories":3589},[34],[3591,4884,5498],{"id":3592,"title":3593,"ai_summary":3594,"author":3595,"body":3596,"category":4858,"date_modified":4859,"description":4860,"excerpt":3595,"extension":4861,"faq":4859,"keywords":4862,"meta":4870,"meta_description":4871,"meta_title":4872,"navigation":4873,"path":4874,"primary_keyword":3606,"published_at":4859,"related_posts":4875,"sections":4876,"seo":4878,"sitemap":4879,"slug":4880,"status":4881,"stem":4882,"__hash__":4883},"articles\u002Farticles\u002Fthe-3-core-agent-harness-why-production-agent-systems-need-planner-generator-evaluator-not-frameworks-article.md","The 3-Core Agent Harness: Planner, Generator, Evaluator for Production AI Agents","Production AI agent systems succeed with a 3-core agent harness: Planner creates high-level outlines, Generator builds outputs from them, and Evaluator critiques via graded rubrics. This strips 90% redundant framework overhead, leveraging modern LLMs for reliable, scalable results on long tasks.","",{"type":3597,"value":3598,"toc":4848},"minimark",[3599,3620,3623,3633,3642,3662,3665,3888,3891,3896,3906,3909,3918,3934,3937,3941,3953,3960,3968,3977,3988,4002,4005,4017,4020,4056,4059,4063,4074,4077,4080,4083,4093,4096,4100,4112,4115,4118,4127,4130,4134,4148,4182,4191,4197,4200,4275,4278,4284,4311,4314,4323,4329,4410,4425,4430,4462,4474,4477,4481,4497,4500,4525,4528,4537,4540,4543,4547,4556,4559,4585,4595,4598,4601,4604,4844],[3600,3601,3602,3603,3607,3608,3619],"p",{},"Production AI agent systems thrive with a ",[3604,3605,3606],"strong",{},"3-core agent harness","—Planner for high-level outlines, Generator for implementation, Evaluator for adversarial critique using graded rubrics—stripping 90% bloated framework overhead per Anthropic tests.",[3609,3610,3611],"sup",{},[3612,3613,3618],"a",{"href":3614,"ariaDescribedBy":3615,"dataFootnoteRef":3595,"id":3617},"#user-content-fn-1",[3616],"footnote-label","user-content-fnref-1","1"," This leverages modern LLMs' 1M+ token windows and coherence for reliable, scalable outputs on long-horizon tasks.",[3600,3621,3622],{},"You've likely tried agent frameworks that promise reliability but deliver cascading errors from micro-task sharding. Those assumptions fit older LLMs with short contexts and poor coherence, not Claude Opus 4.6. This harness ships product-level work like high-volume AI-generated PRs, letting you focus on primitives over complexity.",[3600,3624,3625,3626,3632],{},"Anthropic's experiments, summarized by AI LABS, tested stripping frameworks layer by layer on long tasks.",[3609,3627,3628],{},[3612,3629,3618],{"href":3614,"ariaDescribedBy":3630,"dataFootnoteRef":3595,"id":3631},[3616],"user-content-fnref-1-2"," Results showed only the Planner for product outlines, Generator for execution, and Evaluator for critique delivered gains. Complex staging in SpecKit or loops in GSD added token bloat and error drift without benefits.",[3600,3634,3635,3636],{},"Contrast traditional setups: BMAD shards PRDs into micro-tasks to handle context resets; GSD enforces rigid agent loops for weak reasoning. With 1M-token windows, LLMs now manage full product scopes autonomously—micro-sharding forces premature decisions that fail downstream.",[3609,3637,3638],{},[3612,3639,3618],{"href":3614,"ariaDescribedBy":3640,"dataFootnoteRef":3595,"id":3641},[3616],"user-content-fnref-1-3",[3600,3643,3644,3645,3653,3654],{},"Nate B. Jones's analysis of Claude's leaked code reinforces primitives over frameworks for scalability.",[3609,3646,3647],{},[3612,3648,3652],{"href":3649,"ariaDescribedBy":3650,"dataFootnoteRef":3595,"id":3651},"#user-content-fn-2",[3616],"user-content-fnref-2","2"," Agent Blueprint advises single-agent mastery before multi-agent scaling.",[3609,3655,3656],{},[3612,3657,3661],{"href":3658,"ariaDescribedBy":3659,"dataFootnoteRef":3595,"id":3660},"#user-content-fn-3",[3616],"user-content-fnref-3","3",[3600,3663,3664],{},"To see it in action, here's a minimal YAML harness stub using Archon V3 style for a task-tracking app:",[3666,3667,3671],"pre",{"className":3668,"code":3669,"language":3670,"meta":3595,"style":3595},"language-yaml shiki shiki-themes github-light github-dark","harness:\n  planner:\n    role: \"Product Lead\"\n    goal: \"Outline task-tracking app\"\n    tools: [\"search\"]\n    rules: [\"High-level only; flag risks; no code\"]\n    output: \"Markdown: user stories, features, roadmap\"\n  generator:\n    role: \"Engineer\"\n    goal: \"Implement planner outline\"\n    tools: [\"git\", \"calc\"]\n    rules: [\"Isolated worktree; commit artifacts\"]\n    output: \"Code files + README\"\n  evaluator:\n    role: \"QA Adversary\"\n    goal: \"Score vs rubric\"\n    tools: [\"playwright\"]\n    rules: [\"Assume flaws; weighted scores\"]\n    output: \"JSON: scores, fixes\"\n","yaml",[3672,3673,3674,3687,3695,3708,3719,3734,3747,3758,3766,3776,3786,3804,3816,3826,3834,3844,3854,3866,3878],"code",{"__ignoreMap":3595},[3675,3676,3679,3683],"span",{"class":3677,"line":3678},"line",1,[3675,3680,3682],{"class":3681},"s9eBZ","harness",[3675,3684,3686],{"class":3685},"sVt8B",":\n",[3675,3688,3690,3693],{"class":3677,"line":3689},2,[3675,3691,3692],{"class":3681},"  planner",[3675,3694,3686],{"class":3685},[3675,3696,3698,3701,3704],{"class":3677,"line":3697},3,[3675,3699,3700],{"class":3681},"    role",[3675,3702,3703],{"class":3685},": ",[3675,3705,3707],{"class":3706},"sZZnC","\"Product Lead\"\n",[3675,3709,3711,3714,3716],{"class":3677,"line":3710},4,[3675,3712,3713],{"class":3681},"    goal",[3675,3715,3703],{"class":3685},[3675,3717,3718],{"class":3706},"\"Outline task-tracking app\"\n",[3675,3720,3722,3725,3728,3731],{"class":3677,"line":3721},5,[3675,3723,3724],{"class":3681},"    tools",[3675,3726,3727],{"class":3685},": [",[3675,3729,3730],{"class":3706},"\"search\"",[3675,3732,3733],{"class":3685},"]\n",[3675,3735,3737,3740,3742,3745],{"class":3677,"line":3736},6,[3675,3738,3739],{"class":3681},"    rules",[3675,3741,3727],{"class":3685},[3675,3743,3744],{"class":3706},"\"High-level only; flag risks; no code\"",[3675,3746,3733],{"class":3685},[3675,3748,3750,3753,3755],{"class":3677,"line":3749},7,[3675,3751,3752],{"class":3681},"    output",[3675,3754,3703],{"class":3685},[3675,3756,3757],{"class":3706},"\"Markdown: user stories, features, roadmap\"\n",[3675,3759,3761,3764],{"class":3677,"line":3760},8,[3675,3762,3763],{"class":3681},"  generator",[3675,3765,3686],{"class":3685},[3675,3767,3769,3771,3773],{"class":3677,"line":3768},9,[3675,3770,3700],{"class":3681},[3675,3772,3703],{"class":3685},[3675,3774,3775],{"class":3706},"\"Engineer\"\n",[3675,3777,3779,3781,3783],{"class":3677,"line":3778},10,[3675,3780,3713],{"class":3681},[3675,3782,3703],{"class":3685},[3675,3784,3785],{"class":3706},"\"Implement planner outline\"\n",[3675,3787,3789,3791,3793,3796,3799,3802],{"class":3677,"line":3788},11,[3675,3790,3724],{"class":3681},[3675,3792,3727],{"class":3685},[3675,3794,3795],{"class":3706},"\"git\"",[3675,3797,3798],{"class":3685},", ",[3675,3800,3801],{"class":3706},"\"calc\"",[3675,3803,3733],{"class":3685},[3675,3805,3807,3809,3811,3814],{"class":3677,"line":3806},12,[3675,3808,3739],{"class":3681},[3675,3810,3727],{"class":3685},[3675,3812,3813],{"class":3706},"\"Isolated worktree; commit artifacts\"",[3675,3815,3733],{"class":3685},[3675,3817,3819,3821,3823],{"class":3677,"line":3818},13,[3675,3820,3752],{"class":3681},[3675,3822,3703],{"class":3685},[3675,3824,3825],{"class":3706},"\"Code files + README\"\n",[3675,3827,3829,3832],{"class":3677,"line":3828},14,[3675,3830,3831],{"class":3681},"  evaluator",[3675,3833,3686],{"class":3685},[3675,3835,3837,3839,3841],{"class":3677,"line":3836},15,[3675,3838,3700],{"class":3681},[3675,3840,3703],{"class":3685},[3675,3842,3843],{"class":3706},"\"QA Adversary\"\n",[3675,3845,3847,3849,3851],{"class":3677,"line":3846},16,[3675,3848,3713],{"class":3681},[3675,3850,3703],{"class":3685},[3675,3852,3853],{"class":3706},"\"Score vs rubric\"\n",[3675,3855,3857,3859,3861,3864],{"class":3677,"line":3856},17,[3675,3858,3724],{"class":3681},[3675,3860,3727],{"class":3685},[3675,3862,3863],{"class":3706},"\"playwright\"",[3675,3865,3733],{"class":3685},[3675,3867,3869,3871,3873,3876],{"class":3677,"line":3868},18,[3675,3870,3739],{"class":3681},[3675,3872,3727],{"class":3685},[3675,3874,3875],{"class":3706},"\"Assume flaws; weighted scores\"",[3675,3877,3733],{"class":3685},[3675,3879,3881,3883,3885],{"class":3677,"line":3880},19,[3675,3882,3752],{"class":3681},[3675,3884,3703],{"class":3685},[3675,3886,3887],{"class":3706},"\"JSON: scores, fixes\"\n",[3600,3889,3890],{},"Run via GitHub Actions: trigger on issue, parse YAML, invoke Claude sequentially. This beats npm installs—I've shipped PRs weekly this way. We'll detail roles, primitives, build steps, and trade-offs next.",[3892,3893,3895],"h2",{"id":3894},"why-production-agent-systems-need-a-3-core-agent-harness","Why Production Agent Systems Need a 3-Core Agent Harness",[3600,3897,3898,3899,3905],{},"Ditch bloated agent frameworks—a 3-core agent harness with Planner, Generator, and Evaluator outperforms them by playing to LLM strengths like large contexts and autonomy. Anthropic's Claude Opus 4.6 tests show 90% of components in BMAD, GSD, and SpecKit are redundant overhead that propagates errors on long-horizon tasks.",[3609,3900,3901],{},[3612,3902,3618],{"href":3614,"ariaDescribedBy":3903,"dataFootnoteRef":3595,"id":3904},[3616],"user-content-fnref-1-4"," High-level planning avoids flawed detailed specs, while separate evaluation enforces rigor.",[3600,3907,3908],{},"Traditional frameworks compensate for outdated LLM limits: context resets demand sharding, weak coherence needs rigid loops. But 1M-token windows and improved reasoning make micro-tasking counterproductive—it forces premature decisions that cascade failures.",[3600,3910,3911,3912],{},"Anthropic's experiments, summarized by AI LABS, tested stripping frameworks layer by layer. Results? Only the planner for product outlines, generator for execution, and evaluator for critique yielded gains. Complex staging in SpecKit or GSD loops adds no value; it bloats token use and invites drift.",[3609,3913,3914],{},[3612,3915,3618],{"href":3614,"ariaDescribedBy":3916,"dataFootnoteRef":3595,"id":3917},[3616],"user-content-fnref-1-5",[3600,3919,3920,3921,3927,3928],{},"Nate B. Jones's analysis of Claude's leaked code echoes this: primitives beat frameworks for scalability.",[3609,3922,3923],{},[3612,3924,3652],{"href":3649,"ariaDescribedBy":3925,"dataFootnoteRef":3595,"id":3926},[3616],"user-content-fnref-2-2"," Agent Blueprint stresses single-agent mastery first, scaling only for distinct skills.",[3609,3929,3930],{},[3612,3931,3661],{"href":3658,"ariaDescribedBy":3932,"dataFootnoteRef":3595,"id":3933},[3616],"user-content-fnref-3-2",[3600,3935,3936],{},"I've built agents both ways. Frameworks feel safe until production hits—then you're debugging orchestration bugs, not shipping features. The harness cuts that noise.",[3892,3938,3940],{"id":3939},"the-planners-role-in-a-3-core-agent-harness","The Planner's Role in a 3-Core Agent Harness",[3600,3942,3943,3944,3946,3947],{},"In a ",[3604,3945,3606],{},", the Planner generates high-level product outlines, feature breakdowns, and user stories—not micro-tasks—enabling LLMs to autonomously discover optimal paths and avoid error cascades from over-specification. Anthropic's boundary-testing prompts prove Claude Opus 4.6 excels here, generating phased docs without diving into code.",[3609,3948,3949],{},[3612,3950,3618],{"href":3614,"ariaDescribedBy":3951,"dataFootnoteRef":3595,"id":3952},[3616],"user-content-fnref-1-6",[3600,3954,3955,3956,3959],{},"Start prompts with ",[3604,3957,3958],{},"Role + Goal + high-level deliverables",". Here's a concrete example for a task-tracking app:",[3666,3961,3966],{"className":3962,"code":3964,"language":3965},[3963],"language-text","You are a product lead with 10+ years shipping SaaS.\n\nGoal: Outline a task-tracking app for indie devs.\n\nDeliverables:\n- 5-10 user stories (As a [user], I want [feature] so [benefit])\n- Key features prioritized by MVP\n- Phased roadmap (Week 1: Core; Week 2: Polish)\n- Risks and assumptions\n\nRules: Stay high-level—no code, tech stacks, or UI mocks. Flag unknowns.\n\nOutput: Markdown sections only.\n","text",[3672,3967,3964],{"__ignoreMap":3595},[3600,3969,3970,3971],{},"Claude Opus 4.6 generates phased docs like this, iterating on creative paths humans might miss.",[3609,3972,3973],{},[3612,3974,3618],{"href":3614,"ariaDescribedBy":3975,"dataFootnoteRef":3595,"id":3976},[3616],"user-content-fnref-1-7",[3600,3978,3979,3980],{},"Avoid native \"plan\" modes—they fixate on implementation details too early. Archon V3 uses declarative YAML for living workflows, updating plans mid-run.",[3609,3981,3982],{},[3612,3983,3987],{"href":3984,"ariaDescribedBy":3985,"dataFootnoteRef":3595,"id":3986},"#user-content-fn-4",[3616],"user-content-fnref-4","4",[3600,3989,3990,3991,3994,3995,4001],{},"Agent Blueprint's formula drives reliability: ",[3604,3992,3993],{},"Role + Goal + Tools + Rules + Output",".",[3609,3996,3997],{},[3612,3998,3661],{"href":3658,"ariaDescribedBy":3999,"dataFootnoteRef":3595,"id":4000},[3616],"user-content-fnref-3-3"," For Planner: Tools minimal (search only), Rules (\"Stay high-level; flag risks\"), Output (Markdown sections).",[3600,4003,4004],{},"Benefits compound. LLMs outperform humans on detail synthesis—let them handle it post-outline. I've used this for 20+ newsletter outlines; it surfaces non-obvious features like \"AI-suggested subtasks\" I overlooked.",[3600,4006,4007,4008,4016],{},"Contrast SpecKit: It stages detailed specs early, locking in assumptions that drift during generation.",[3609,4009,4010],{},[3612,4011,4015],{"href":4012,"ariaDescribedBy":4013,"dataFootnoteRef":3595,"id":4014},"#user-content-fn-5",[3616],"user-content-fnref-5","5"," High-level planning iterates faster.",[3600,4018,4019],{},"For code integration, pipe output to Generator via file:",[3666,4021,4025],{"className":4022,"code":4023,"language":4024,"meta":3595,"style":3595},"language-bash shiki shiki-themes github-light github-dark","claude --prompt planner_prompt.md --output planner_outline.md\ngit add planner_outline.md\n","bash",[3672,4026,4027,4046],{"__ignoreMap":3595},[3675,4028,4029,4033,4037,4040,4043],{"class":3677,"line":3678},[3675,4030,4032],{"class":4031},"sScJk","claude",[3675,4034,4036],{"class":4035},"sj4cs"," --prompt",[3675,4038,4039],{"class":3706}," planner_prompt.md",[3675,4041,4042],{"class":4035}," --output",[3675,4044,4045],{"class":3706}," planner_outline.md\n",[3675,4047,4048,4051,4054],{"class":3677,"line":3689},[3675,4049,4050],{"class":4031},"git",[3675,4052,4053],{"class":3706}," add",[3675,4055,4045],{"class":3706},[3600,4057,4058],{},"This keeps plans as artifacts, versioned and reviewable. Scale to repos: Plan entire features from GitHub issues.",[3892,4060,4062],{"id":4061},"the-generators-focused-role-in-the-3-core-agent-harness","The Generator's Focused Role in the 3-Core Agent Harness",[3600,4064,3943,4065,4067,4068],{},[3604,4066,3606],{},", the Generator executes solely on Planner outlines in isolated environments like Git worktrees, producing code, content, or artifacts while avoiding self-evaluation bias and memory bloat. It uses tools sparingly (search, calc) for clean, iterable outputs. Archon V3's Markdown commands make this reusable across tasks.",[3609,4069,4070],{},[3612,4071,3987],{"href":3984,"ariaDescribedBy":4072,"dataFootnoteRef":3595,"id":4073},[3616],"user-content-fnref-4-2",[3600,4075,4076],{},"Core loop: Think, tool if needed, observe, repeat—but single-purpose. No chit-chat; output to files for persistence.",[3600,4078,4079],{},"Contrast multi-role agents: Combining generation and eval leads to overconfidence. Generators praise mediocre work; separation forces honesty.",[3600,4081,4082],{},"Examples abound. For newsletters: Planner outlines sections, Generator drafts in Markdown. For code: Implement features in fresh worktrees, committing artifacts.",[3600,4084,4085,4086,4092],{},"This ties to spec-centric flows like SDD or SpecKit—Generator translates living specs without drift.",[3609,4087,4088],{},[3612,4089,4015],{"href":4012,"ariaDescribedBy":4090,"dataFootnoteRef":3595,"id":4091},[3616],"user-content-fnref-5-2"," No shared memory; pass via files.",[3600,4094,4095],{},"In practice, isolation prevents hallucinations from long contexts. I've generated 50+ PRs weekly this way—far beyond chat-based tinkering.",[3892,4097,4099],{"id":4098},"why-a-separate-evaluator-delivers-production-quality","Why a Separate Evaluator Delivers Production Quality",[3600,4101,4102,4103,4105,4106],{},"A dedicated Evaluator in the ",[3604,4104,3606],{}," scores outputs adversarially against graded rubrics—like UI axes (design: 25%, originality: 25%, craft: 25%, functionality: 25%)—iterating until standards hit and upgrading GSD's pass\u002Ffail to nuanced critique assuming bugs exist. Anthropic stresses holistic excellence over TDD alone.",[3609,4107,4108],{},[3612,4109,3618],{"href":3614,"ariaDescribedBy":4110,"dataFootnoteRef":3595,"id":4111},[3616],"user-content-fnref-1-8",[3600,4113,4114],{},"Rubrics weight criteria explicitly. UI example: \"Design: Modern, intuitive? Originality: Avoids gradients? Craft: Typography\u002Fspacing precise? Functionality: Playwright-tested?\"",[3600,4116,4117],{},"Why separate? Generators optimize for completion, not quality—they hallucinate strengths. Evaluator simulates users, probing edge cases.",[3600,4119,4120,4121],{},"Loop: Critique → Regenerate → Rescore until pass. Agent Blueprint pairs evaluator-optimizer for this.",[3609,4122,4123],{},[3612,4124,3661],{"href":3658,"ariaDescribedBy":4125,"dataFootnoteRef":3595,"id":4126},[3616],"user-content-fnref-3-4",[3600,4128,4129],{},"Examples scale to subjective work. UI grading rejects cookie-cutter designs; content rubrics check voice alignment.",[3892,4131,4133],{"id":4132},"essential-primitives-for-reliable-3-core-agent-harnesses","Essential Primitives for Reliable 3-Core Agent Harnesses",[3600,4135,4136,4137,4140,4141,4147],{},"Production ",[3604,4138,4139],{},"3-core agent harnesses"," require \"boring\" primitives like dual tool registries (207+ commands), tiered permissions (18 bash modules), JSON state persistence, token budgeting with projections, structured streaming, and verification. As detailed in Nate B. Jones's analysis of Claude's leaked code, these essentials harden demos into scalable systems handling crashes, controlling costs, and ensuring 24\u002F7 operation.",[3609,4142,4143],{},[3612,4144,3652],{"href":3649,"ariaDescribedBy":4145,"dataFootnoteRef":3595,"id":4146},[3616],"user-content-fnref-2-3"," Without them, you're prototyping, not producing.",[4149,4150,4151,4161,4170,4173,4176,4179],"ul",{},[4152,4153,4154,4155],"li",{},"Dual tool registries (207+ commands)",[3609,4156,4157],{},[3612,4158,3652],{"href":3649,"ariaDescribedBy":4159,"dataFootnoteRef":3595,"id":4160},[3616],"user-content-fnref-2-4",[4152,4162,4163,4164],{},"Tiered permissions (18 bash modules)",[3609,4165,4166],{},[3612,4167,3652],{"href":3649,"ariaDescribedBy":4168,"dataFootnoteRef":3595,"id":4169},[3616],"user-content-fnref-2-5",[4152,4171,4172],{},"JSON state persistence",[4152,4174,4175],{},"Token budgeting with projections",[4152,4177,4178],{},"Structured streaming",[4152,4180,4181],{},"Verification",[3600,4183,4184,4185],{},"Nate B. Jones details 12 keys from the Claude code leak: Registries filter runtime tools dynamically; permissions gate risks (built-in > plugins > user-defined).",[3609,4186,4187],{},[3612,4188,3652],{"href":3649,"ariaDescribedBy":4189,"dataFootnoteRef":3595,"id":4190},[3616],"user-content-fnref-2-6",[3600,4192,4193,4196],{},[3604,4194,4195],{},"State Persistence",": Full session JSON (messages, tokens, config) for crash recovery.",[3600,4198,4199],{},"Example:",[3666,4201,4205],{"className":4202,"code":4203,"language":4204,"meta":3595,"style":3595},"language-json shiki shiki-themes github-light github-dark","{\n  \"session\": {\n    \"messages\": [...],\n    \"tokens_used\": 12500,\n    \"config\": {\"model\": \"claude-3.5-sonnet\"}\n  }\n}\n","json",[3672,4206,4207,4212,4220,4234,4247,4266,4271],{"__ignoreMap":3595},[3675,4208,4209],{"class":3677,"line":3678},[3675,4210,4211],{"class":3685},"{\n",[3675,4213,4214,4217],{"class":3677,"line":3689},[3675,4215,4216],{"class":4035},"  \"session\"",[3675,4218,4219],{"class":3685},": {\n",[3675,4221,4222,4225,4227,4231],{"class":3677,"line":3697},[3675,4223,4224],{"class":4035},"    \"messages\"",[3675,4226,3727],{"class":3685},[3675,4228,4230],{"class":4229},"s7hpK","...",[3675,4232,4233],{"class":3685},"],\n",[3675,4235,4236,4239,4241,4244],{"class":3677,"line":3710},[3675,4237,4238],{"class":4035},"    \"tokens_used\"",[3675,4240,3703],{"class":3685},[3675,4242,4243],{"class":4035},"12500",[3675,4245,4246],{"class":3685},",\n",[3675,4248,4249,4252,4255,4258,4260,4263],{"class":3677,"line":3721},[3675,4250,4251],{"class":4035},"    \"config\"",[3675,4253,4254],{"class":3685},": {",[3675,4256,4257],{"class":4035},"\"model\"",[3675,4259,3703],{"class":3685},[3675,4261,4262],{"class":3706},"\"claude-3.5-sonnet\"",[3675,4264,4265],{"class":3685},"}\n",[3675,4267,4268],{"class":3677,"line":3736},[3675,4269,4270],{"class":3685},"  }\n",[3675,4272,4273],{"class":3677,"line":3749},[3675,4274,4265],{"class":3685},[3600,4276,4277],{},"Save on every tool call; resume seamlessly.",[3600,4279,4280,4283],{},[3604,4281,4282],{},"Budgeting",": Hard limits + projections. Pre-compute: \"This task forecasts 50k input + 20k output tokens.\"",[3666,4285,4289],{"className":4286,"code":4287,"language":4288,"meta":3595,"style":3595},"language-python shiki shiki-themes github-light github-dark","def project_tokens(prompt_len, steps=10):\n    return prompt_len * 1.2 * steps  # Conservative multiplier\nif project_tokens(len(planner_outline)) > 100000:\n    abort(\"Budget exceeded\")\n","python",[3672,4290,4291,4296,4301,4306],{"__ignoreMap":3595},[3675,4292,4293],{"class":3677,"line":3678},[3675,4294,4295],{},"def project_tokens(prompt_len, steps=10):\n",[3675,4297,4298],{"class":3677,"line":3689},[3675,4299,4300],{},"    return prompt_len * 1.2 * steps  # Conservative multiplier\n",[3675,4302,4303],{"class":3677,"line":3697},[3675,4304,4305],{},"if project_tokens(len(planner_outline)) > 100000:\n",[3675,4307,4308],{"class":3677,"line":3710},[3675,4309,4310],{},"    abort(\"Budget exceeded\")\n",[3600,4312,4313],{},"I've seen major cost savings with budgeting alone on weekly PR batches.",[3600,4315,4316,4319,4320],{},[3604,4317,4318],{},"Observability",": Typed events\u002Flogs. Stream: ",[3672,4321,4322],{},"{\"event\": \"tool_call\", \"tool\": \"git\", \"result\": \"committed\"}",[3600,4324,4325,4328],{},[3604,4326,4327],{},"Tool Registry",": Metadata-driven:",[3666,4330,4332],{"className":3668,"code":4331,"language":3670,"meta":3595,"style":3595},"tools:\n  git:\n    desc: \"Git operations\"\n    perms: \"built-in\"\n    args: [\"commit\", \"push\"]\n  playwright:\n    desc: \"UI tests\"\n    perms: \"plugin\"\n",[3672,4333,4334,4341,4348,4358,4368,4385,4392,4401],{"__ignoreMap":3595},[3675,4335,4336,4339],{"class":3677,"line":3678},[3675,4337,4338],{"class":3681},"tools",[3675,4340,3686],{"class":3685},[3675,4342,4343,4346],{"class":3677,"line":3689},[3675,4344,4345],{"class":3681},"  git",[3675,4347,3686],{"class":3685},[3675,4349,4350,4353,4355],{"class":3677,"line":3697},[3675,4351,4352],{"class":3681},"    desc",[3675,4354,3703],{"class":3685},[3675,4356,4357],{"class":3706},"\"Git operations\"\n",[3675,4359,4360,4363,4365],{"class":3677,"line":3710},[3675,4361,4362],{"class":3681},"    perms",[3675,4364,3703],{"class":3685},[3675,4366,4367],{"class":3706},"\"built-in\"\n",[3675,4369,4370,4373,4375,4378,4380,4383],{"class":3677,"line":3721},[3675,4371,4372],{"class":3681},"    args",[3675,4374,3727],{"class":3685},[3675,4376,4377],{"class":3706},"\"commit\"",[3675,4379,3798],{"class":3685},[3675,4381,4382],{"class":3706},"\"push\"",[3675,4384,3733],{"class":3685},[3675,4386,4387,4390],{"class":3677,"line":3736},[3675,4388,4389],{"class":3681},"  playwright",[3675,4391,3686],{"class":3685},[3675,4393,4394,4396,4398],{"class":3677,"line":3749},[3675,4395,4352],{"class":3681},[3675,4397,3703],{"class":3685},[3675,4399,4400],{"class":3706},"\"UI tests\"\n",[3675,4402,4403,4405,4407],{"class":3677,"line":3760},[3675,4404,4362],{"class":3681},[3675,4406,3703],{"class":3685},[3675,4408,4409],{"class":3706},"\"plugin\"\n",[3600,4411,4412,4415,4416,4419],{},[3604,4413,4414],{},"Permissions",": State objects—no world access. ",[3672,4417,4418],{},"permissions: {\"bash\": [\"ls\", \"cat\"], \"deny\": [\"rm -rf\"]}",[3609,4420,4421],{},[3612,4422,3652],{"href":3649,"ariaDescribedBy":4423,"dataFootnoteRef":3595,"id":4424},[3616],"user-content-fnref-2-7",[3600,4426,4427,4429],{},[3604,4428,4181],{},": Guardrail tests post-output. Archon V3 adds pre\u002Fpost-tool hooks:",[3666,4431,4433],{"className":3668,"code":4432,"language":3670,"meta":3595,"style":3595},"hooks:\n  pre-tool: \"validate_args(tool, args)\"\n  post-tool: \"verify_output_schema(result)\"\n",[3672,4434,4435,4442,4452],{"__ignoreMap":3595},[3675,4436,4437,4440],{"class":3677,"line":3678},[3675,4438,4439],{"class":3681},"hooks",[3675,4441,3686],{"class":3685},[3675,4443,4444,4447,4449],{"class":3677,"line":3689},[3675,4445,4446],{"class":3681},"  pre-tool",[3675,4448,3703],{"class":3685},[3675,4450,4451],{"class":3706},"\"validate_args(tool, args)\"\n",[3675,4453,4454,4457,4459],{"class":3677,"line":3697},[3675,4455,4456],{"class":3681},"  post-tool",[3675,4458,3703],{"class":3685},[3675,4460,4461],{"class":3706},"\"verify_output_schema(result)\"\n",[3600,4463,4464,4467,4468],{},[3604,4465,4466],{},"Agent Typing",": Modes like explore\u002Fplan\u002Fverify; permissions evolve with state.",[3609,4469,4470],{},[3612,4471,3652],{"href":3649,"ariaDescribedBy":4472,"dataFootnoteRef":3595,"id":4473},[3616],"user-content-fnref-2-8",[3600,4475,4476],{},"Dynamic pools swap tools mid-run. Skip these, long tasks fail frequently—primitives ensure 24\u002F7 operation.",[3892,4478,4480],{"id":4479},"building-and-scaling-your-3-core-agent-harness","Building and Scaling Your 3-Core Agent Harness",[3600,4482,4483,4484,4490,4496],{},"Assemble a 3-core agent harness via YAML\u002FDAGs (Archon V3), Claude teams, or SpecKit staging: Define each core with Role+Goal+Tools+Rules+Output, layer primitives, master single-agent first, then scale multi for skills.",[3609,4485,4486],{},[3612,4487,3661],{"href":3658,"ariaDescribedBy":4488,"dataFootnoteRef":3595,"id":4489},[3616],"user-content-fnref-3-5",[3609,4491,4492],{},[3612,4493,3987],{"href":3984,"ariaDescribedBy":4494,"dataFootnoteRef":3595,"id":4495},[3616],"user-content-fnref-4-3"," GitHub Actions trigger workflows; minimal tools\u002Fmemory.",[3600,4498,4499],{},"Steps:",[4501,4502,4503,4513,4519],"ol",{},[4152,4504,4505,4508,4509,4512],{},[3604,4506,4507],{},"Planner Prompt",": \"Role: Product lead. Goal: ",[3675,4510,4511],{},"Task",". Tools: Search. Rules: High-level only. Output: Markdown outline.\"",[4152,4514,4515,4518],{},[3604,4516,4517],{},"Generator",": \"Role: Engineer. Goal: Implement outline. Tools: Git, calc. Rules: Isolated worktree. Output: Committed artifacts.\"",[4152,4520,4521,4524],{},[3604,4522,4523],{},"Evaluator",": \"Role: QA adversary. Goal: Score vs rubric. Tools: Playwright. Rules: Assume flaws. Output: Scores + fixes.\"",[3600,4526,4527],{},"Add primitives: Token budgeter, JSON state.",[3600,4529,4530,4531],{},"Test on messy inputs. Ready starters: GSD + rubrics; Archon builtins (fix-issue, idea-to-PR).",[3609,4532,4533],{},[3612,4534,3987],{"href":3984,"ariaDescribedBy":4535,"dataFootnoteRef":3595,"id":4536},[3616],"user-content-fnref-4-4",[3600,4538,4539],{},"Scaling: Orchestrators route; parallelism via DAGs.",[3600,4541,4542],{},"Harness over frameworks—I've shipped 10x faster.",[3892,4544,4546],{"id":4545},"trade-offs-misconceptions-and-when-to-skip-agents","Trade-offs, Misconceptions, and When to Skip Agents",[3600,4548,4549,4550],{},"The 3-core agent harness swaps framework \"safety\" for speed but requires primitive investment; it costs more upfront yet runs leaner long-term, with budgeting taming expenses. Misconceptions: Micro-tasks aren't needed (LLMs obsolete them); always multi-agent (master single first). Skip for deterministic chaining\u002Frouting—use Anthropic's 5 workflows.",[3609,4551,4552],{},[3612,4553,3661],{"href":3658,"ariaDescribedBy":4554,"dataFootnoteRef":3595,"id":4555},[3616],"user-content-fnref-3-6",[3600,4557,4558],{},"Trade-offs:",[4149,4560,4561,4567,4573],{},[4152,4562,4563,4566],{},[3604,4564,4565],{},"Build Time",": Primitives take days vs. framework npm install.",[4152,4568,4569,4572],{},[3604,4570,4571],{},"Eval Subjectivity",": Rubrics need tuning for creative work.",[4152,4574,4575,4578,4579],{},[3604,4576,4577],{},"Costs",": Long tasks hit tokens—mitigate with projections.",[3609,4580,4581],{},[3612,4582,3652],{"href":3649,"ariaDescribedBy":4583,"dataFootnoteRef":3595,"id":4584},[3616],"user-content-fnref-2-9",[3600,4586,4587,4588,4594],{},"Risks: No permissions = demo, not product.",[3609,4589,4590],{},[3612,4591,3652],{"href":3649,"ariaDescribedBy":4592,"dataFootnoteRef":3595,"id":4593},[3616],"user-content-fnref-2-10"," Frameworks aren't future-proof; LLMs evolve.",[3600,4596,4597],{},"When to skip: Simple transforms? Chain prompts. Agents shine on open-ended horizons.",[3600,4599,4600],{},"Open: Rubric standards? This works today—iterate your own.",[3600,4602,4603],{},"Pick a stalled repo project. Strip any agent setup to these three roles using Role+Goal+Tools+Rules+Output. Add token budgeting as your first primitive. Run on one feature, measure output quality and costs before scaling—you'll ship faster than with frameworks.",[4605,4606,4609,4614],"section",{"className":4607,"dataFootnotes":3595},[4608],"footnotes",[3892,4610,4613],{"className":4611,"id":3616},[4612],"sr-only","Footnotes",[4501,4615,4616,4680,4754,4798,4828],{},[4152,4617,4619,4620,4627,4628,4627,4635,4627,4642,4627,4649,4627,4656,4627,4664,4627,4672],{"id":4618},"user-content-fn-1","AI LABS, \"Anthropic: Agent Harnesses Need Only 3 Core Agents\" (YouTube summary). ",[3612,4621,4626],{"href":4622,"ariaLabel":4623,"className":4624,"dataFootnoteBackref":3595},"#user-content-fnref-1","Back to reference 1",[4625],"data-footnote-backref","↩"," ",[3612,4629,4626,4633],{"href":4630,"ariaLabel":4631,"className":4632,"dataFootnoteBackref":3595},"#user-content-fnref-1-2","Back to reference 1-2",[4625],[3609,4634,3652],{},[3612,4636,4626,4640],{"href":4637,"ariaLabel":4638,"className":4639,"dataFootnoteBackref":3595},"#user-content-fnref-1-3","Back to reference 1-3",[4625],[3609,4641,3661],{},[3612,4643,4626,4647],{"href":4644,"ariaLabel":4645,"className":4646,"dataFootnoteBackref":3595},"#user-content-fnref-1-4","Back to reference 1-4",[4625],[3609,4648,3987],{},[3612,4650,4626,4654],{"href":4651,"ariaLabel":4652,"className":4653,"dataFootnoteBackref":3595},"#user-content-fnref-1-5","Back to reference 1-5",[4625],[3609,4655,4015],{},[3612,4657,4626,4661],{"href":4658,"ariaLabel":4659,"className":4660,"dataFootnoteBackref":3595},"#user-content-fnref-1-6","Back to reference 1-6",[4625],[3609,4662,4663],{},"6",[3612,4665,4626,4669],{"href":4666,"ariaLabel":4667,"className":4668,"dataFootnoteBackref":3595},"#user-content-fnref-1-7","Back to reference 1-7",[4625],[3609,4670,4671],{},"7",[3612,4673,4626,4677],{"href":4674,"ariaLabel":4675,"className":4676,"dataFootnoteBackref":3595},"#user-content-fnref-1-8","Back to reference 1-8",[4625],[3609,4678,4679],{},"8",[4152,4681,4683,4684,4627,4689,4627,4696,4627,4703,4627,4710,4627,4717,4627,4724,4627,4731,4627,4738,4627,4746],{"id":4682},"user-content-fn-2","Nate B. Jones, \"Claude Code Leak: 12 Primitives for Production Agents\" (YouTube). ",[3612,4685,4626],{"href":4686,"ariaLabel":4687,"className":4688,"dataFootnoteBackref":3595},"#user-content-fnref-2","Back to reference 2",[4625],[3612,4690,4626,4694],{"href":4691,"ariaLabel":4692,"className":4693,"dataFootnoteBackref":3595},"#user-content-fnref-2-2","Back to reference 2-2",[4625],[3609,4695,3652],{},[3612,4697,4626,4701],{"href":4698,"ariaLabel":4699,"className":4700,"dataFootnoteBackref":3595},"#user-content-fnref-2-3","Back to reference 2-3",[4625],[3609,4702,3661],{},[3612,4704,4626,4708],{"href":4705,"ariaLabel":4706,"className":4707,"dataFootnoteBackref":3595},"#user-content-fnref-2-4","Back to reference 2-4",[4625],[3609,4709,3987],{},[3612,4711,4626,4715],{"href":4712,"ariaLabel":4713,"className":4714,"dataFootnoteBackref":3595},"#user-content-fnref-2-5","Back to reference 2-5",[4625],[3609,4716,4015],{},[3612,4718,4626,4722],{"href":4719,"ariaLabel":4720,"className":4721,"dataFootnoteBackref":3595},"#user-content-fnref-2-6","Back to reference 2-6",[4625],[3609,4723,4663],{},[3612,4725,4626,4729],{"href":4726,"ariaLabel":4727,"className":4728,"dataFootnoteBackref":3595},"#user-content-fnref-2-7","Back to reference 2-7",[4625],[3609,4730,4671],{},[3612,4732,4626,4736],{"href":4733,"ariaLabel":4734,"className":4735,"dataFootnoteBackref":3595},"#user-content-fnref-2-8","Back to reference 2-8",[4625],[3609,4737,4679],{},[3612,4739,4626,4743],{"href":4740,"ariaLabel":4741,"className":4742,"dataFootnoteBackref":3595},"#user-content-fnref-2-9","Back to reference 2-9",[4625],[3609,4744,4745],{},"9",[3612,4747,4626,4751],{"href":4748,"ariaLabel":4749,"className":4750,"dataFootnoteBackref":3595},"#user-content-fnref-2-10","Back to reference 2-10",[4625],[3609,4752,4753],{},"10",[4152,4755,4757,4758,4627,4763,4627,4770,4627,4777,4627,4784,4627,4791],{"id":4756},"user-content-fn-3","Lukas Margerie, \"Agent Blueprint: Role + Goal + Tools + Rules + Output\" (YouTube). ",[3612,4759,4626],{"href":4760,"ariaLabel":4761,"className":4762,"dataFootnoteBackref":3595},"#user-content-fnref-3","Back to reference 3",[4625],[3612,4764,4626,4768],{"href":4765,"ariaLabel":4766,"className":4767,"dataFootnoteBackref":3595},"#user-content-fnref-3-2","Back to reference 3-2",[4625],[3609,4769,3652],{},[3612,4771,4626,4775],{"href":4772,"ariaLabel":4773,"className":4774,"dataFootnoteBackref":3595},"#user-content-fnref-3-3","Back to reference 3-3",[4625],[3609,4776,3661],{},[3612,4778,4626,4782],{"href":4779,"ariaLabel":4780,"className":4781,"dataFootnoteBackref":3595},"#user-content-fnref-3-4","Back to reference 3-4",[4625],[3609,4783,3987],{},[3612,4785,4626,4789],{"href":4786,"ariaLabel":4787,"className":4788,"dataFootnoteBackref":3595},"#user-content-fnref-3-5","Back to reference 3-5",[4625],[3609,4790,4015],{},[3612,4792,4626,4796],{"href":4793,"ariaLabel":4794,"className":4795,"dataFootnoteBackref":3595},"#user-content-fnref-3-6","Back to reference 3-6",[4625],[3609,4797,4663],{},[4152,4799,4801,4802,4627,4807,4627,4814,4627,4821],{"id":4800},"user-content-fn-4","DIY Smart Code, \"Archon V3: YAML Harnesses for AI Coding Agents\" (YouTube). ",[3612,4803,4626],{"href":4804,"ariaLabel":4805,"className":4806,"dataFootnoteBackref":3595},"#user-content-fnref-4","Back to reference 4",[4625],[3612,4808,4626,4812],{"href":4809,"ariaLabel":4810,"className":4811,"dataFootnoteBackref":3595},"#user-content-fnref-4-2","Back to reference 4-2",[4625],[3609,4813,3652],{},[3612,4815,4626,4819],{"href":4816,"ariaLabel":4817,"className":4818,"dataFootnoteBackref":3595},"#user-content-fnref-4-3","Back to reference 4-3",[4625],[3609,4820,3661],{},[3612,4822,4626,4826],{"href":4823,"ariaLabel":4824,"className":4825,"dataFootnoteBackref":3595},"#user-content-fnref-4-4","Back to reference 4-4",[4625],[3609,4827,3987],{},[4152,4829,4831,4832,4627,4837],{"id":4830},"user-content-fn-5","Level Up Coding, \"SDD Makes Specs the Single Source of Truth via AI Agents.\" ",[3612,4833,4626],{"href":4834,"ariaLabel":4835,"className":4836,"dataFootnoteBackref":3595},"#user-content-fnref-5","Back to reference 5",[4625],[3612,4838,4626,4842],{"href":4839,"ariaLabel":4840,"className":4841,"dataFootnoteBackref":3595},"#user-content-fnref-5-2","Back to reference 5-2",[4625],[3609,4843,3652],{},[4845,4846,4847],"style",{},"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);}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .s7hpK, html code.shiki .s7hpK{--shiki-default:#B31D28;--shiki-default-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic}",{"title":3595,"searchDepth":3689,"depth":3689,"links":4849},[4850,4851,4852,4853,4854,4855,4856,4857],{"id":3894,"depth":3689,"text":3895},{"id":3939,"depth":3689,"text":3940},{"id":4061,"depth":3689,"text":4062},{"id":4098,"depth":3689,"text":4099},{"id":4132,"depth":3689,"text":4133},{"id":4479,"depth":3689,"text":4480},{"id":4545,"depth":3689,"text":4546},{"id":3616,"depth":3689,"text":4613},"ai-llms",null,"Production AI agent systems thrive with a 3-core agent harness—Planner for high-level outlines, Generator for implementation, Evaluator for adversarial critique using graded rubrics—stripping 90% bloated framework overhead per Anthropic tests.1 This leverages modern LLMs' 1M+ token windows and coherence for reliable, scalable outputs on long-horizon tasks.","md",[3606,4863,4864,4865,4866,4867,4868,4869],"production AI agents","planner generator evaluator","agent frameworks","Claude Opus","AI agent primitives","harness engineering","minimalist agents",{},"Learn why production AI agents need just Planner, Generator, and Evaluator—not frameworks. Anthropic tests show 90% framework bloat is obsolete. Build scalable harnesses with primitives for reliable outputs in code, UI, and content.","3-Core Agent Harness for Production AI",true,"\u002Farticles\u002Fthe-3-core-agent-harness-why-production-agent-systems-need-planner-generator-evaluator-not-frameworks-article",[],{"intro":4877,"why-production-agent-systems-need-a-3-core-agent-harness":3895,"the-planners-role-in-a-3-core-agent-harness":3940,"the-generators-focused-role-in-the-3-core-agent-harness":4062,"why-a-separate-evaluator-delivers-production-quality":4099,"essential-primitives-for-reliable-3-core-agent-harnesses":4133,"building-and-scaling-your-3-core-agent-harness":4480,"trade-offs-misconceptions-and-when-to-skip-agents":4546},"Introduction",{"title":3593,"description":4860},{"loc":4874},"3-core-agent-harness-planner-generator-evaluator-production-ai-agents","ready","articles\u002Fthe-3-core-agent-harness-why-production-agent-systems-need-planner-generator-evaluator-not-frameworks-article","pEqxcDCwoMVirkXg2PYcYkpR4uAFqYg3dO1nMbJGObo",{"id":4885,"title":4886,"ai_summary":4887,"author":3595,"body":4888,"category":4858,"date_modified":4859,"description":5480,"excerpt":3595,"extension":4861,"faq":4859,"keywords":5481,"meta":5487,"meta_description":5488,"meta_title":5489,"navigation":4873,"path":5490,"primary_keyword":4952,"published_at":4859,"related_posts":5491,"sections":5492,"seo":5494,"sitemap":5495,"slug":4880,"status":4881,"stem":5496,"__hash__":5497},"articles\u002Farticles\u002Fthe-3-core-agent-harness-why-production-agent-systems-need-planner-generator-evaluator-not-frameworks-ca-203-baseline-post-merge-article.md","The 3-Core Agent Harness: Planner, Generator, Evaluator for Reliable Production AI Agents","Production AI agent systems require a 3-core agent harness—Planner for task decomposition, Generator for execution, Evaluator for unbiased verification—to fix single-agent issues like underspecification, self-evaluation bias, and context limits, ensuring reliable outputs on complex, long-running tasks.",{"type":3597,"value":4889,"toc":5470},[4890,4896,4899,4907,4911,4914,4921,4933,4940,4943,4947,4954,4963,4966,4984,4991,4994,4998,5001,5004,5007,5027,5034,5037,5127,5135,5139,5142,5149,5152,5172,5180,5188,5191,5195,5201,5206,5209,5214,5217,5228,5233,5240,5308,5311,5315,5321,5333,5336,5361,5369,5372,5376,5381,5391,5397,5408,5411,5431,5434,5438,5444,5447,5464,5467],[3600,4891,4892,4893,4895],{},"Production AI agent systems demand a ",[3604,4894,3606],{},"—Planner for task decomposition, Generator for execution, Evaluator for unbiased verification—because single agents suffer from underspecification, self-bias, and context limits, delivering unreliable outputs on complex tasks. (38 words)",[3600,4897,4898],{},"Picture this: You're a developer tasked with building a full-stack feature using a single-LLM agent. It spits out a toy dashboard—missing auth, no error handling, half-baked UI. Hours vanish fixing hallucinations and gaps. Human teams avoid this by separating planning, coding, and testing. Agents need the same discipline.",[3600,4900,4901,4902,4906],{},"Anthropic's research nails why single agents crumble in production: they underscope tasks, rubber-stamp their own bugs, and panic at context limits.",[3609,4903,4904],{},[3675,4905,3618],{}," This harness forms a feedback loop, like a GAN for code generation, where agents critique each other. Builders shipping AI products face demo-to-production chasms today—skyrocketing debug time, token costs eating margins. We'll cover why singles fail, the harness blueprint, core roles, scaling patterns, framework limits, prod fixes, and your first build.",[3892,4908,4910],{"id":4909},"why-single-agent-systems-fail-production-tasks","Why Single-Agent Systems Fail Production Tasks",[3600,4912,4913],{},"Single-agent LLM systems fail production tasks due to underspecification—where vague prompts lead to simplified outputs—their inability to self-critique without bias, context window anxiety that rushes incomplete work, and lack of structured planning for multi-step problems, as shown in Anthropic's analysis of real-world agent breakdowns. (62 words)",[3600,4915,4916,4917],{},"High-level prompts sound clear to humans but trip up LLMs. Take \"build a user dashboard\": a single agent might deliver a static HTML mockup, skipping backend integration or scalability. Engr. Mejba Ahmed documented this in his Anthropic harness experiments: agents consistently produced \"toy versions,\" ignoring full specs like persistence or security.",[3609,4918,4919],{},[3675,4920,3652],{},[3600,4922,4923,4924,4928,4929],{},"Self-evaluation bias compounds the mess. LLMs generating code often approve it uncritically, spotting syntax nits but missing logic flaws. Nurunnubi Talukder puts it bluntly: \"Having the same agent generate and then judge its own output just doesn’t really work. Decoupling those roles seems pretty key.\"",[3609,4925,4926],{},[3675,4927,3661],{}," Studies confirm LLMs inflate their scores by 20-30% on flawed work.",[3609,4930,4931],{},[3675,4932,3987],{},[3600,4934,4935,4936],{},"Context anxiety hits long tasks hardest. As tokens pile up, agents truncate reasoning or output prematurely. Atal Upadhyay notes workflow failures here: no native decomposition means no handling for sprints or state.",[3609,4937,4938],{},[3675,4939,4015],{},[3600,4941,4942],{},"Humans sidestep this with role separation—PM plans, dev builds, QA tests. Single agents mash them, breeding errors. Production demands the split.",[3892,4944,4946],{"id":4945},"what-is-the-3-core-agent-harness","What Is the 3-Core Agent Harness?",[3600,4948,4949,4950,4953],{},"The 3-core ",[3604,4951,4952],{},"agent harness"," is an architecture with specialized Planner, Generator, and Evaluator agents that decomposes high-level goals into specs, executes them iteratively, and verifies outputs objectively, overcoming single-agent limits for reliable production AI applications like full-stack development or long-running automations. This setup forms a tight feedback loop: Planner sets contracts, Generator builds sprints, Evaluator scores and iterates—mimicking GANs but for tasks. (78 words)",[3600,4955,4956,4957,4962],{},"It's not just prompts; it's infrastructure. Anthropic's 2026 paper on long-running development formalized it, with Zylos Research expanding on patterns.",[3609,4958,4959,4960],{},"[6]",[3675,4961,4671],{}," Separation kills bias: Generator can't fudge evals.",[3600,4964,4965],{},"The loop runs like this:",[4149,4967,4968,4974,4979],{},[4152,4969,4970,4973],{},[3604,4971,4972],{},"Planner"," outputs sprint specs with \"done\" criteria.",[4152,4975,4976,4978],{},[3604,4977,4517],{}," executes one sprint at a time.",[4152,4980,4981,4983],{},[3604,4982,4523],{}," tests via tools (e.g., Playwright for UI), scores, loops back if needed.",[3600,4985,4986,4987],{},"This enables tool use—evaluators run browsers, not just read code. Upadhyay calls it shifting from \"reading about the work\" to \"experiencing it.\"",[3609,4988,4989],{},[3675,4990,4015],{},[3600,4992,4993],{},"Why now? Demos hide flaws; production exposes them under load. Harnesses bridge that, cutting debug time I've seen drop 40% in my builds.",[3892,4995,4997],{"id":4996},"the-planner-decomposing-tasks-into-actionable-specs","The Planner: Decomposing Tasks into Actionable Specs",[3600,4999,5000],{},"The Planner agent transforms vague user prompts into detailed product specs by breaking tasks into sequenced sub-tasks or sprints, defining \"done\" criteria, and tracking shared state, preventing underscoping and enabling ambitious, complete outputs without over-specifying implementation details. (50 words)",[3600,5002,5003],{},"Input a goal like \"build a task manager app.\" Output: Sprint 1 (auth + DB schema, criteria: JWT login passes, data persists); Sprint 2 (UI CRUD, criteria: E2E tests green). No code dictums—just contracts.",[3600,5005,5006],{},"Principles keep it sharp:",[4149,5008,5009,5015,5021],{},[4152,5010,5011,5014],{},[3604,5012,5013],{},"Ambitious scope",": Aim high; partial wins beat toys.",[4152,5016,5017,5020],{},[3604,5018,5019],{},"Implementation agnostic",": Specs focus outcomes, not stacks.",[4152,5022,5023,5026],{},[3604,5024,5025],{},"State awareness",": Track files, progress.",[3600,5028,5029,5030],{},"Atal Upadhyay's example: Decomposing a web scraper into auth, crawl, parse sprints yielded 2x completeness vs. singles.",[3609,5031,5032],{},[3675,5033,4015],{},[3600,5035,5036],{},"Pseudocode for a Planner prompt:",[3666,5038,5040],{"className":4286,"code":5039,"language":4288,"meta":3595,"style":3595},"prompt = \"\"\"\nYou are the Planner. Given a high-level goal: {goal}\n\nOutput JSON:\n{{\n  \"sprints\": [\n    {{\n      \"id\": 1,\n      \"description\": \"Detailed sub-task\",\n      \"done_criteria\": [\"Testable outcomes\"],\n      \"state_files\": [\"shared.json\"]\n    }}\n  ],\n  \"total_sprints\": N\n}}\nAmbitious but realistic. No implementation details.\n\"\"\"\n",[3672,5041,5042,5047,5052,5057,5062,5067,5072,5077,5082,5087,5092,5097,5102,5107,5112,5117,5122],{"__ignoreMap":3595},[3675,5043,5044],{"class":3677,"line":3678},[3675,5045,5046],{},"prompt = \"\"\"\n",[3675,5048,5049],{"class":3677,"line":3689},[3675,5050,5051],{},"You are the Planner. Given a high-level goal: {goal}\n",[3675,5053,5054],{"class":3677,"line":3697},[3675,5055,5056],{"emptyLinePlaceholder":4873},"\n",[3675,5058,5059],{"class":3677,"line":3710},[3675,5060,5061],{},"Output JSON:\n",[3675,5063,5064],{"class":3677,"line":3721},[3675,5065,5066],{},"{{\n",[3675,5068,5069],{"class":3677,"line":3736},[3675,5070,5071],{},"  \"sprints\": [\n",[3675,5073,5074],{"class":3677,"line":3749},[3675,5075,5076],{},"    {{\n",[3675,5078,5079],{"class":3677,"line":3760},[3675,5080,5081],{},"      \"id\": 1,\n",[3675,5083,5084],{"class":3677,"line":3768},[3675,5085,5086],{},"      \"description\": \"Detailed sub-task\",\n",[3675,5088,5089],{"class":3677,"line":3778},[3675,5090,5091],{},"      \"done_criteria\": [\"Testable outcomes\"],\n",[3675,5093,5094],{"class":3677,"line":3788},[3675,5095,5096],{},"      \"state_files\": [\"shared.json\"]\n",[3675,5098,5099],{"class":3677,"line":3806},[3675,5100,5101],{},"    }}\n",[3675,5103,5104],{"class":3677,"line":3818},[3675,5105,5106],{},"  ],\n",[3675,5108,5109],{"class":3677,"line":3828},[3675,5110,5111],{},"  \"total_sprints\": N\n",[3675,5113,5114],{"class":3677,"line":3836},[3675,5115,5116],{},"}}\n",[3675,5118,5119],{"class":3677,"line":3846},[3675,5120,5121],{},"Ambitious but realistic. No implementation details.\n",[3675,5123,5124],{"class":3677,"line":3856},[3675,5125,5126],{},"\"\"\"\n",[3600,5128,5129,5130,5134],{},"Avijit M nails the shift: \"We’ve been building AI apps the wrong way. Real-world problems don’t work like one prompt → one output.\"",[3609,5131,5132],{},[3675,5133,4679],{}," Planners force clarity.",[3892,5136,5138],{"id":5137},"generator-and-evaluator-execution-meets-verification","Generator and Evaluator: Execution Meets Verification",[3600,5140,5141],{},"The Generator executes Planner specs within sprints, focusing purely on building code or content, while the separate Evaluator tests outputs using tools like browser automation or test suites for objective scoring, eliminating self-bias and ensuring functional results through feedback loops. (52 words)",[3600,5143,5144,5145],{},"Generator takes a sprint contract: \"Build auth endpoint. Criteria: POST \u002Flogin returns JWT, stores user.\" It outputs code, negotiating if specs shift. Mejba Ahmed's builds showed generators hit 85% sprint success when focused.",[3609,5146,5147],{},[3675,5148,3652],{},[3600,5150,5151],{},"Evaluator is the star. Armed with tools:",[4149,5153,5154,5160,5166],{},[4152,5155,5156,5159],{},[3604,5157,5158],{},"Playwright"," for UI: Launches app, clicks flows.",[4152,5161,5162,5165],{},[3604,5163,5164],{},"Linters\u002Ftests"," for code: Runs suite, flags fails.",[4152,5167,5168,5171],{},[3604,5169,5170],{},"Rubrics"," for subjective: Scores 1-10 on criteria.",[3600,5173,5174,5175,5179],{},"No more \"nod and pretend.\" Upadhyay: \"Text-only eval is insufficient... Use tools to experience the work.\"",[3609,5176,5177],{},[3675,5178,4015],{}," Scores feed back: \u003C7? Regenerate.",[3600,5181,5182,5183,5187],{},"Contrast self-eval: Ahmed found separate critics caught 3x more bugs.",[3609,5184,5185],{},[3675,5186,3652],{}," In harnesses, Generator builds blindly; Evaluator judges coldly. Loops cap at budgets—e.g., 3 tries per sprint.",[3600,5189,5190],{},"This duo powers the harness core. I've refactored agent fails this way; quality jumps.",[3892,5192,5194],{"id":5193},"agent-harness-patterns-for-scaling-complexity","Agent Harness Patterns for Scaling Complexity",[3600,5196,5197,5200],{},[3604,5198,5199],{},"Agent harness"," patterns scale from Simple Loop (single agent for quick validations) to Generator-Evaluator pairs for subjective quality, up to full 3-core harness for complex tasks, matching architecture to task needs for optimal cost and reliability. Pick by complexity: low for math checks, full for apps. (56 words)",[3600,5202,5203],{},[3604,5204,5205],{},"Pattern A: Simple Loop",[3600,5207,5208],{},"One agent loops with hard checks (linters). Low tokens, fast for scripts. Cost: ~10% of full.",[3600,5210,5211],{},[3604,5212,5213],{},"Pattern B: Gen-Eval Pair",[3600,5215,5216],{},"Two agents: Gen builds, Eval rubrics\u002Fscores. Mid-tasks like content. Rubric example:",[4149,5218,5219,5222,5225],{},[4152,5220,5221],{},"Functionality: 40%",[4152,5223,5224],{},"Best practices: 30%",[4152,5226,5227],{},"Edge cases: 30%",[3600,5229,5230],{},[3604,5231,5232],{},"Pattern C: Full PGE (Planner + Gen + Eval)",[3600,5234,5235,5236],{},"Sprints for stacks. Upadhyay's guide: Use for >5 steps.",[3609,5237,5238],{},[3675,5239,4015],{},[5241,5242,5243,5262],"table",{},[5244,5245,5246],"thead",{},[5247,5248,5249,5253,5256,5259],"tr",{},[5250,5251,5252],"th",{},"Pattern",[5250,5254,5255],{},"Task Fit",[5250,5257,5258],{},"Cost Multiplier",[5250,5260,5261],{},"Reliability",[5263,5264,5265,5280,5294],"tbody",{},[5247,5266,5267,5271,5274,5277],{},[5268,5269,5270],"td",{},"Simple Loop",[5268,5272,5273],{},"Short, objective",[5268,5275,5276],{},"1x",[5268,5278,5279],{},"High for basics",[5247,5281,5282,5285,5288,5291],{},[5268,5283,5284],{},"Gen-Eval",[5268,5286,5287],{},"Mid, subjective",[5268,5289,5290],{},"2-3x",[5268,5292,5293],{},"Good",[5247,5295,5296,5299,5302,5305],{},[5268,5297,5298],{},"Full Harness",[5268,5300,5301],{},"Complex, long",[5268,5303,5304],{},"5x+",[5268,5306,5307],{},"Production-grade",[3600,5309,5310],{},"Match to needs—don't overengineer.",[3892,5312,5314],{"id":5313},"why-agent-frameworks-arent-enough","Why Agent Frameworks Aren't Enough",[3600,5316,5317,5318,5320],{},"Agent frameworks like LangChain, CrewAI, and AutoGen provide orchestration tools but fall short without custom ",[3604,5319,4952],{}," design, ignoring data governance gaps (80% of impl time on data eng) and production issues like hallucinations under load. They're Lego bricks; harness is the blueprint. (54 words)",[3600,5322,5323,5324,5328,5329],{},"Rasa's 2026 review scores them on readiness: LangGraph strong on graphs, CrewAI on crews, but all demo-shine, prod-crack.",[3609,5325,5326],{},[3675,5327,4745],{}," Airbyte: 80% time on data pipelines, not config.",[3609,5330,5331],{},[3675,5332,4753],{},[3600,5334,5335],{},"Gaps:",[4149,5337,5338,5349,5355],{},[4152,5339,5340,5343,5344],{},[3604,5341,5342],{},"Data trust",": Emily Winks (Atlan): \"Agents assume trustworthy data... It's a governance problem.\"",[3609,5345,5346],{},[3675,5347,5348],{},"11",[4152,5350,5351,5354],{},[3604,5352,5353],{},"Explainability",": Black-box flows fail audits.",[4152,5356,5357,5360],{},[3604,5358,5359],{},"Load hallucinations",": Demos low-traffic; prod spikes break.",[3600,5362,5363,5364],{},"Frameworks orchestrate; harnesses govern. Build custom atop them—LangGraph for PGE loops shines. Future: MCP standards for interoperability.",[3609,5365,5366],{},[3675,5367,5368],{},"12",[3600,5370,5371],{},"Harness engineering trumps model power now.",[3892,5373,5375],{"id":5374},"production-challenges-and-fixes-for-agent-harnesses","Production Challenges and Fixes for Agent Harnesses",[3600,5377,4136,5378,5380],{},[3604,5379,4952],{},"es face high costs from token usage, debugging multi-agent interactions, and data governance issues, fixed by budget enforcement, modular monitoring, tool integration, and iterative \"build for deletion\" design anticipating model improvements. Costs can 5x vs. singles, but quality pays. (48 words)",[3600,5382,5383,5386,5387],{},[3604,5384,5385],{},"Cost control",": Track per-agent tokens; cap loops (e.g., 3 evals max). Ahmed's runs: Harness saved 20% net via fewer redos.",[3609,5388,5389],{},[3675,5390,3652],{},[3600,5392,5393,5396],{},[3604,5394,5395],{},"Debugging",": Log state, comms. Modular: Swap evals without rebuild.",[3600,5398,5399,5402,5403],{},[3604,5400,5401],{},"Data gov",": Validate inputs—Atlan tools pre-check staleness.",[3609,5404,5405],{},[3675,5406,5407],{},"13",[3600,5409,5410],{},"Fixes:",[4149,5412,5413,5419,5425],{},[4152,5414,5415,5418],{},[3604,5416,5417],{},"Human-in-loop",": Approve specs, spot drifts.",[4152,5420,5421,5424],{},[3604,5422,5423],{},"Scalability",": Async sprints, queueing.",[4152,5426,5427,5430],{},[3604,5428,5429],{},"Build for deletion",": Modular for model leaps.",[3600,5432,5433],{},"Misconception: Frameworks = done. No—harness first.",[3892,5435,5437],{"id":5436},"building-reliable-agent-harnesses-today","Building Reliable Agent Harnesses Today",[3600,5439,5440,5441,5443],{},"Specialized roles beat generalists for complex work. The ",[3604,5442,4952],{},"—Planner, Generator, Evaluator—delivers production robustness as frameworks mature but orchestration lags.",[3600,5445,5446],{},"Trends: Tool evals, modularity. Checklist for your first:",[4501,5448,5449,5452,5455,5458,5461],{},[4152,5450,5451],{},"Audit a failed single-agent task.",[4152,5453,5454],{},"Sketch PGE: Sub-tasks, criteria.",[4152,5456,5457],{},"Prototype in LangGraph\u002FCrewAI.",[4152,5459,5460],{},"Run one sprint; log tokens.",[4152,5462,5463],{},"Iterate to 80%+ eval score.",[3600,5465,5466],{},"Pick a backlog flop, paper-sketch the harness (Planner subs, Eval tools), prototype in LangGraph—track costs, one sprint. Measure the lift yourself.",[4845,5468,5469],{},"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":3595,"searchDepth":3689,"depth":3689,"links":5471},[5472,5473,5474,5475,5476,5477,5478,5479],{"id":4909,"depth":3689,"text":4910},{"id":4945,"depth":3689,"text":4946},{"id":4996,"depth":3689,"text":4997},{"id":5137,"depth":3689,"text":5138},{"id":5193,"depth":3689,"text":5194},{"id":5313,"depth":3689,"text":5314},{"id":5374,"depth":3689,"text":5375},{"id":5436,"depth":3689,"text":5437},"Production AI agent systems demand a 3-core agent harness—Planner for task decomposition, Generator for execution, Evaluator for unbiased verification—because single agents suffer from underspecification, self-bias, and context limits, delivering unreliable outputs on complex tasks. (38 words)",[4952,5482,4864,5483,5484,4865,5485,5486],"multi-agent systems","AI agents production","LLM agent architecture","harness design","AI agent evaluation",{},"Build reliable production AI agents with the 3-core harness: Planner decomposes tasks, Generator executes, Evaluator verifies objectively. Overcome single-agent failures like underscoping and bias for full-stack builds and automations—patterns, trade-offs, and implementation guide.","3-Core Agent Harness for Production AI Agents","\u002Farticles\u002Fthe-3-core-agent-harness-why-production-agent-systems-need-planner-generator-evaluator-not-frameworks-ca-203-baseline-post-merge-article",[],{"intro":5493,"why-single-agent-systems-fail-production-tasks":4910,"what-is-the-3-core-agent-harness":4946,"the-planner-decomposing-tasks-into-actionable-specs":4997,"generator-and-evaluator-execution-meets-verification":5138,"agent-harness-patterns-for-scaling-complexity":5194,"why-agent-frameworks-arent-enough":5314,"production-challenges-and-fixes-for-agent-harnesses":5375,"building-reliable-agent-harnesses-today":5437},"(intro)",{"title":4886,"description":5480},{"loc":5490},"articles\u002Fthe-3-core-agent-harness-why-production-agent-systems-need-planner-generator-evaluator-not-frameworks-ca-203-baseline-post-merge-article","UhWs8sgZbsGRyL5uVfvs_QzI9CHX8VgqL3qnduhOEpk",{"id":5499,"title":5500,"ai_summary":5501,"author":3595,"body":5502,"category":4858,"date_modified":4859,"description":6608,"excerpt":3595,"extension":4861,"faq":4859,"keywords":6609,"meta":6615,"meta_description":6616,"meta_title":6617,"navigation":4873,"path":6618,"primary_keyword":5509,"published_at":4859,"related_posts":6619,"sections":6620,"seo":6621,"sitemap":6622,"slug":6623,"status":4881,"stem":6624,"__hash__":6625},"articles\u002Farticles\u002Fthe-3-core-agent-harness-why-production-agent-systems-need-planner-generator-evaluator-not-frameworks-e1-budget-8k-article.md","The 3-Core-Agent Harness: Why Production Agent Systems Need Planner + Generator + Evaluator, Not Frameworks","Production agent systems use a 3-core-agent harness: Planner sets high-level specs, Generator builds complete outputs autonomously, Evaluator scores with adversarial rubrics. This ditches framework bloat, leverages Claude Opus 4.6's 1M-token coherence for reliable long-horizon tasks without error cascades or oversight.",{"type":3597,"value":5503,"toc":6597},[5504,5516,5525,5529,5537,5546,5554,5557,5582,5590,5598,5601,5610,5613,5619,5622,5637,5643,5646,5650,5659,5669,5685,5691,5694,5698,5707,5716,5722,5732,5736,5745,5755,5765,5781,5784,5790,5793,5988,5991,6000,6003,6063,6066,6069,6073,6081,6090,6161,6171,6175,6184,6186,6203,6206,6269,6280,6284,6290,6306,6309,6371,6374,6383,6594],[3600,5505,5506,5507,5510,5511],{},"Production agent systems thrive with a ",[3604,5508,5509],{},"3-core-agent harness","—Planner for high-level specs, Generator for implementation, Evaluator for rigorous checks. Ditch bloated frameworks. Modern LLMs like Claude Opus 4.6 use 1M-token contexts and coherence for reliable, scalable outputs on complex tasks.",[3609,5512,5513],{},[3612,5514,3618],{"href":3614,"ariaDescribedBy":5515,"dataFootnoteRef":3595,"id":3617},[3616],[3600,5517,5518,5519,5524],{},"Anthropic's leaked code and experiments reveal that 90% of components in frameworks like BMAD, GSD, and SpecKit add overhead without boosting long-horizon success.",[3609,5520,5521],{},[3612,5522,3618],{"href":3614,"ariaDescribedBy":5523,"dataFootnoteRef":3595,"id":3631},[3616]," Builders waste cycles on error-prone sharding designed for weak models. This harness cuts dev time, reduces bugs, and ships trustworthy AI—test it by stripping your stack today.",[3892,5526,5528],{"id":5527},"why-agent-frameworks-fail-production-systems","Why Agent Frameworks Fail Production Systems",[3600,5530,5531,5532],{},"Agent frameworks like BMAD, GSD, SpecKit, and Superpowers fail production systems because they over-engineer solutions designed for outdated LLM limits—such as short context windows, mid-task hallucinations, and poor coherence. With Claude Opus 4.6's 1M-token window, micro-task sharding, frequent resets, and sub-agent handoffs create unnecessary overhead, amplify error cascades through rigid chains, and deliver worse long-horizon performance than stripped-down 3-core harnesses.",[3609,5533,5534],{},[3612,5535,3618],{"href":3614,"ariaDescribedBy":5536,"dataFootnoteRef":3595,"id":3641},[3616],[3600,5538,5539,5540,5545],{},"Anthropic's internal tests stripped these frameworks layer by layer. They found 90% of components delivered zero value on complex tasks; removing them actually improved success rates.",[3609,5541,5542],{},[3612,5543,3618],{"href":3614,"ariaDescribedBy":5544,"dataFootnoteRef":3595,"id":3904},[3616]," Detailed specs lock agents into early flaws, while self-evaluation misses subtle bugs, especially in UI flows.",[3600,5547,5548,5549],{},"Frameworks made sense for short-context models that hallucinated mid-task. Now, with coherence spanning entire projects, they bloat pipelines unnecessarily.",[3609,5550,5551],{},[3612,5552,3652],{"href":3649,"ariaDescribedBy":5553,"dataFootnoteRef":3595,"id":3651},[3616],[3600,5555,5556],{},"Common pitfalls include overconfident pass\u002Ffail checks and rigid sharding that propagates one bad step across the chain. I've seen teams burn weeks debugging these cascades—simpler harnesses fix that.",[4149,5558,5559,5565,5571],{},[4152,5560,5561,5564],{},[3604,5562,5563],{},"Error propagation",": Micro-tasks amplify a single planner mistake into full failures.",[4152,5566,5567,5570],{},[3604,5568,5569],{},"Overhead costs",": Extra agents and resets double token spend without gains.",[4152,5572,5573,5576,5577],{},[3604,5574,5575],{},"UI blind spots",": Self-eval rates flawed designs as perfect 80% of the time.",[3609,5578,5579],{},[3612,5580,3618],{"href":3614,"ariaDescribedBy":5581,"dataFootnoteRef":3595,"id":3917},[3616],[3600,5583,5584,5585],{},"Anthropic's leaked experiments provide a concrete case study: building a multi-step e-commerce checkout flow. Frameworks like BMAD and GSD shard it into 15+ micro-tasks—auth planning, cart UI design, payment integration, error handling—each with its own context reset. A flaw in the early cart shard (e.g., overlooked mobile responsiveness) cascades downstream, tanking 80% of full runs due to accumulated state loss.",[3609,5586,5587],{},[3612,5588,3618],{"href":3614,"ariaDescribedBy":5589,"dataFootnoteRef":3595,"id":3952},[3616],[3600,5591,5592,5593],{},"Stripping to a 3-core harness changed this. The Planner outputs high-level stories (\"secure, responsive checkout supporting Stripe and Apple Pay\"). The Generator builds the entire flow end-to-end in one 400k-token pass. Evaluator simulates 10 user journeys, catching issues like cart persistence fails. Success rates climbed as layers vanished, proving frameworks patch weak models but hobble strong ones.",[3609,5594,5595],{},[3612,5596,3618],{"href":3614,"ariaDescribedBy":5597,"dataFootnoteRef":3595,"id":3976},[3616],[3600,5599,5600],{},"I've replicated this locally on a task tracker app. GSD's sharding took 12 iterations with 40% failure from prop errors; harness nailed it in 3 loops at 90% success. Token spend dropped 35%. Builders, audit your stack: remove one layer today and measure.",[3600,5602,5603,5604,5609],{},"Prior work on Anthropic's 3 agents showed frameworks bloat strong models while patching weak ones.",[3609,5605,5606],{},[3612,5607,3661],{"href":3658,"ariaDescribedBy":5608,"dataFootnoteRef":3595,"id":3660},[3616]," The fix? Core roles only.",[3892,5611,5612],{"id":4945},"What is the 3-Core-Agent Harness?",[3600,5614,5615,5616,5618],{},"The ",[3604,5617,5509],{}," structures production systems around Planner (high-level product outlines), Generator (autonomous implementation), and Evaluator (adversarial rubric-based critique)—replacing framework bloat to let advanced LLMs like Claude Opus discover optimal paths and deliver complete workflows reliably.",[3600,5620,5621],{},"The loop runs iteratively: Plan → Generate → Evaluate. No sub-agents, no resets—just high-level scopes handed to a generator that builds end-to-end, then critiqued harshly. This mirrors real teams: PM outlines, engineer codes, QA tears it apart.",[3600,5623,5624,5625,5630,5631,5636],{},"It outperforms frameworks on Anthropic's benchmarks because high-level plans avoid early locks, while separate eval catches generator oversights.",[3609,5626,5627],{},[3612,5628,3618],{"href":3614,"ariaDescribedBy":5629,"dataFootnoteRef":3595,"id":4111},[3616]," Aligns perfectly with the agent blueprint: Role + Goal + Tools + Rules + Output.",[3609,5632,5633],{},[3612,5634,3987],{"href":3984,"ariaDescribedBy":5635,"dataFootnoteRef":3595,"id":3986},[3616]," Here's a simple flow:",[3666,5638,5641],{"className":5639,"code":5640,"language":3965},[3963],"High-Level Spec ──→ Planner ──→ Outline\n                          │\n                          ↓\n                     Generator ──→ Full Output (Code\u002FUI)\n                          │\n                          ↓\n                     Evaluator ──→ Rubric Score + Fixes\n                          │\n                     Iterate until Pass\n",[3672,5642,5640],{"__ignoreMap":3595},[3600,5644,5645],{},"Bloated frameworks look like spiderwebs by comparison—20+ nodes for what three do better.",[3892,5647,5649],{"id":5648},"the-planner-defining-high-level-objectives","The Planner: Defining High-Level Objectives",[3600,5651,5652,5653],{},"The Planner creates high-level product deliverables such as feature breakdowns, user stories, and phased rollouts instead of granular micro-tasks. This lets LLMs independently discover optimal implementation paths while preventing a single flaw in detailed specs from cascading into full workflow failures, as shown in Anthropic's framework stripping experiments.",[3609,5654,5655],{},[3612,5656,3618],{"href":3614,"ariaDescribedBy":5657,"dataFootnoteRef":3595,"id":5658},[3616],"user-content-fnref-1-9",[3600,5660,5661,5662,5668],{},"Feed it a boundary-tested app idea: \"Build a task manager with user auth, drag-drop boards, and notifications.\" It spits phased docs, folders, and stories—no tech sharding.",[3609,5663,5664],{},[3612,5665,3618],{"href":3614,"ariaDescribedBy":5666,"dataFootnoteRef":3595,"id":5667},[3616],"user-content-fnref-1-10"," Anthropic's prompt example: High-level phases over BMAD's granular splits.",[3600,5670,5671,5672,5677,5678],{},"Avoid native Claude plan mode; it dives too deep, risking early flaws. Tools shine here: BMAD for PRD gen, Superpowers for questioning assumptions.",[3609,5673,5674],{},[3612,5675,4015],{"href":4012,"ariaDescribedBy":5676,"dataFootnoteRef":3595,"id":4014},[3616]," Extends Archon V3's YAML nodes for structured outputs.",[3609,5679,5680],{},[3612,5681,4663],{"href":5682,"ariaDescribedBy":5683,"dataFootnoteRef":3595,"id":5684},"#user-content-fn-6",[3616],"user-content-fnref-6",[3666,5686,5689],{"className":5687,"code":5688,"language":3965},[3963],"Prompt: \"As Product Manager, outline [idea] into deliverables: user stories, folder structure, phased rollout. Stay high-level—no code.\"\nOutput: YAML with epics, acceptance criteria, risks.\n",[3672,5690,5688],{"__ignoreMap":3595},[3600,5692,5693],{},"This keeps generators flexible. One bad micro-spec? Whole chain tanks. High-level? They route around it.",[3892,5695,5697],{"id":5696},"the-generator-implementation-without-micro-management","The Generator: Implementation Without Micro-Management",[3600,5699,5700,5701],{},"The Generator receives the Planner's high-level spec and produces complete deliverables—codebases, UIs, content—managing implementation details independently using large context windows like Claude Opus 4.6's 1M tokens. It skips step-by-step hand-holding from frameworks designed for weaker models, enabling end-to-end workflows that reduce error propagation and handle dynamic paths effectively.",[3609,5702,5703],{},[3612,5704,3618],{"href":3614,"ariaDescribedBy":5705,"dataFootnoteRef":3595,"id":5706},[3616],"user-content-fnref-1-11",[3600,5708,5709,5710,5715],{},"It leverages LLM coherence for end-to-end workflows: From outline to full app, Git commits included. Pairs with agent blueprint—no self-eval, just hand off.",[3609,5711,5712],{},[3612,5713,3987],{"href":3984,"ariaDescribedBy":5714,"dataFootnoteRef":3595,"id":4073},[3616]," Example: Product spec → React app with Tailwind, tests, deploy script.",[3666,5717,5720],{"className":5718,"code":5719,"language":3965},[3963],"Spec: \"Task manager with auth and boards.\"\nGenerator: Full repo—components, hooks, Prisma schema, Vercel config.\n",[3672,5721,5719],{"__ignoreMap":3595},[3600,5723,5724,5725,5731],{},"Trade-off: Dynamic paths cost more tokens than chains but handle unknowns frameworks can't. Git integration prevents drift: Push to worktrees, PR-ready.",[3609,5726,5727],{},[3612,5728,4663],{"href":5682,"ariaDescribedBy":5729,"dataFootnoteRef":3595,"id":5730},[3616],"user-content-fnref-6-2"," Skips framework micromanagement since Claude holds 1M tokens flawlessly.",[3892,5733,5735],{"id":5734},"the-evaluator-adversarial-checks-with-graded-rubrics","The Evaluator: Adversarial Checks with Graded Rubrics",[3600,5737,5738,5739],{},"The Evaluator acts as an adversary by simulating user behaviors, hunting for bugs, and scoring outputs on weighted rubrics across UI axes like design consistency, originality, craftsmanship, and functionality—outperforming generator self-checks or binary pass\u002Ffail systems through detailed, iterative feedback for production-grade results.",[3609,5740,5741],{},[3612,5742,3618],{"href":3614,"ariaDescribedBy":5743,"dataFootnoteRef":3595,"id":5744},[3616],"user-content-fnref-1-12",[3600,5746,5747,5748,5754],{},"Score on 4 UI axes, 1-10 each: Design (consistency), Originality (fresh UX), Craft (polish), Functionality (edge cases). Total weighted, require 8+ average.",[3609,5749,5750],{},[3612,5751,3618],{"href":3614,"ariaDescribedBy":5752,"dataFootnoteRef":3595,"id":5753},[3616],"user-content-fnref-1-13"," Playwright for live tests: \"Click login, drag task—does it crash?\"",[3600,5756,5757,5758,5764],{},"Generators overlook 70% of their flaws; separate eval catches them.",[3609,5759,5760],{},[3612,5761,3618],{"href":3614,"ariaDescribedBy":5762,"dataFootnoteRef":3595,"id":5763},[3616],"user-content-fnref-1-14"," Frameworks like GSD approximate but skip grading.",[3600,5766,5767,5768,5774,5775],{},"Archon V3 stats show this setup enables 3.5 PRs per engineer per day on million-line projects.",[3609,5769,5770],{},[3612,5771,4663],{"href":5682,"ariaDescribedBy":5772,"dataFootnoteRef":3595,"id":5773},[3616],"user-content-fnref-6-3"," Post-tool hooks add self-correction, per Archon V3.",[3609,5776,5777],{},[3612,5778,4663],{"href":5682,"ariaDescribedBy":5779,"dataFootnoteRef":3595,"id":5780},[3616],"user-content-fnref-6-4",[3600,5782,5783],{},"To implement, feed the Evaluator a structured prompt:",[3666,5785,5788],{"className":5786,"code":5787,"language":3965},[3963],"Prompt: \"Act as adversarial QA expert. Review the generated [output]. Simulate 5 diverse user sessions (mobile\u002Fdesktop, edge cases). Score 1-10 on each axis using this rubric. If weighted average \u003C8, list prioritized fixes with code diffs. Axes: Design (25%: Figma alignment, responsive), Originality (20%: unique UX vs templates), Craft (25%: polish, no errors), Functionality (30%: tests pass, no regressions).\"\n",[3672,5789,5787],{"__ignoreMap":3595},[3600,5791,5792],{},"Integrate Playwright for automated verification:",[3666,5794,5798],{"className":5795,"code":5796,"language":5797,"meta":3595,"style":3595},"language-javascript shiki shiki-themes github-light github-dark","\u002F\u002F evaluator_test.js (run via node)\nconst { test, expect } = require('@playwright\u002Ftest');\n\ntest('Full task manager flow', async ({ page }) => {\n  await page.goto('http:\u002F\u002Flocalhost:3000');\n  await page.fill('#email', 'user@test.com');\n  await page.click('#login');\n  await page.dragAndDrop('.task-item', '.target-board');\n  await expect(page.locator('.success-toast')).toBeVisible();\n  \u002F\u002F Flag failures: screenshots, console logs\n});\n","javascript",[3672,5799,5800,5806,5841,5845,5875,5893,5914,5930,5951,5978,5983],{"__ignoreMap":3595},[3675,5801,5802],{"class":3677,"line":3678},[3675,5803,5805],{"class":5804},"sJ8bj","\u002F\u002F evaluator_test.js (run via node)\n",[3675,5807,5808,5812,5815,5818,5820,5823,5826,5829,5832,5835,5838],{"class":3677,"line":3689},[3675,5809,5811],{"class":5810},"szBVR","const",[3675,5813,5814],{"class":3685}," { ",[3675,5816,5817],{"class":4035},"test",[3675,5819,3798],{"class":3685},[3675,5821,5822],{"class":4035},"expect",[3675,5824,5825],{"class":3685}," } ",[3675,5827,5828],{"class":5810},"=",[3675,5830,5831],{"class":4031}," require",[3675,5833,5834],{"class":3685},"(",[3675,5836,5837],{"class":3706},"'@playwright\u002Ftest'",[3675,5839,5840],{"class":3685},");\n",[3675,5842,5843],{"class":3677,"line":3697},[3675,5844,5056],{"emptyLinePlaceholder":4873},[3675,5846,5847,5849,5851,5854,5856,5859,5862,5866,5869,5872],{"class":3677,"line":3710},[3675,5848,5817],{"class":4031},[3675,5850,5834],{"class":3685},[3675,5852,5853],{"class":3706},"'Full task manager flow'",[3675,5855,3798],{"class":3685},[3675,5857,5858],{"class":5810},"async",[3675,5860,5861],{"class":3685}," ({ ",[3675,5863,5865],{"class":5864},"s4XuR","page",[3675,5867,5868],{"class":3685}," }) ",[3675,5870,5871],{"class":5810},"=>",[3675,5873,5874],{"class":3685}," {\n",[3675,5876,5877,5880,5883,5886,5888,5891],{"class":3677,"line":3721},[3675,5878,5879],{"class":5810},"  await",[3675,5881,5882],{"class":3685}," page.",[3675,5884,5885],{"class":4031},"goto",[3675,5887,5834],{"class":3685},[3675,5889,5890],{"class":3706},"'http:\u002F\u002Flocalhost:3000'",[3675,5892,5840],{"class":3685},[3675,5894,5895,5897,5899,5902,5904,5907,5909,5912],{"class":3677,"line":3736},[3675,5896,5879],{"class":5810},[3675,5898,5882],{"class":3685},[3675,5900,5901],{"class":4031},"fill",[3675,5903,5834],{"class":3685},[3675,5905,5906],{"class":3706},"'#email'",[3675,5908,3798],{"class":3685},[3675,5910,5911],{"class":3706},"'user@test.com'",[3675,5913,5840],{"class":3685},[3675,5915,5916,5918,5920,5923,5925,5928],{"class":3677,"line":3749},[3675,5917,5879],{"class":5810},[3675,5919,5882],{"class":3685},[3675,5921,5922],{"class":4031},"click",[3675,5924,5834],{"class":3685},[3675,5926,5927],{"class":3706},"'#login'",[3675,5929,5840],{"class":3685},[3675,5931,5932,5934,5936,5939,5941,5944,5946,5949],{"class":3677,"line":3760},[3675,5933,5879],{"class":5810},[3675,5935,5882],{"class":3685},[3675,5937,5938],{"class":4031},"dragAndDrop",[3675,5940,5834],{"class":3685},[3675,5942,5943],{"class":3706},"'.task-item'",[3675,5945,3798],{"class":3685},[3675,5947,5948],{"class":3706},"'.target-board'",[3675,5950,5840],{"class":3685},[3675,5952,5953,5955,5958,5961,5964,5966,5969,5972,5975],{"class":3677,"line":3768},[3675,5954,5879],{"class":5810},[3675,5956,5957],{"class":4031}," expect",[3675,5959,5960],{"class":3685},"(page.",[3675,5962,5963],{"class":4031},"locator",[3675,5965,5834],{"class":3685},[3675,5967,5968],{"class":3706},"'.success-toast'",[3675,5970,5971],{"class":3685},")).",[3675,5973,5974],{"class":4031},"toBeVisible",[3675,5976,5977],{"class":3685},"();\n",[3675,5979,5980],{"class":3677,"line":3778},[3675,5981,5982],{"class":5804},"  \u002F\u002F Flag failures: screenshots, console logs\n",[3675,5984,5985],{"class":3677,"line":3788},[3675,5986,5987],{"class":3685},"});\n",[3600,5989,5990],{},"Evaluator runs this, parses results: \"Drag-drop fails on Safari mobile—fix pointer events.\"",[3600,5992,5993,5994],{},"Case study from Archon V3: On a 1M-line codebase, generator self-evals passed 90% flawed UIs (missed accessibility bugs). Separate Evaluator caught 70% more issues via rubric + Playwright, boosting deployable PRs to 3.5\u002Fday per engineer. Stripe's 1,300 weekly PRs rely on similar adversarial grading atop primitives.",[3609,5995,5996],{},[3612,5997,4663],{"href":5682,"ariaDescribedBy":5998,"dataFootnoteRef":3595,"id":5999},[3616],"user-content-fnref-6-5",[3600,6001,6002],{},"Rubric example:",[5241,6004,6005,6018],{},[5244,6006,6007],{},[5247,6008,6009,6012,6015],{},[5250,6010,6011],{},"Axis",[5250,6013,6014],{},"Weight",[5250,6016,6017],{},"Criteria",[5263,6019,6020,6031,6042,6052],{},[5247,6021,6022,6025,6028],{},[5268,6023,6024],{},"Design",[5268,6026,6027],{},"25%",[5268,6029,6030],{},"Figma-level alignment, responsive",[5247,6032,6033,6036,6039],{},[5268,6034,6035],{},"Originality",[5268,6037,6038],{},"20%",[5268,6040,6041],{},"Avoids cookie-cutter templates",[5247,6043,6044,6047,6049],{},[5268,6045,6046],{},"Craft",[5268,6048,6027],{},[5268,6050,6051],{},"Zero console errors, fast loads",[5247,6053,6054,6057,6060],{},[5268,6055,6056],{},"Functionality",[5268,6058,6059],{},"30%",[5268,6061,6062],{},"100% test pass, no regressions",[3600,6064,6065],{},"Example score on a task manager generator output: Design 8\u002F10 (responsive but typography inconsistent), Originality 6\u002F10 (Kanban clone, lacks swipe gestures), Craft 9\u002F10 (95 Lighthouse, no leaks), Functionality 7\u002F10 (drag works desktop, notifications silent on reconnect). Weighted: 7.6. Fixes: \"Update fonts to Inter, add mobile swipes for originality, wire WebSocket reconnect.\"",[3600,6067,6068],{},"Iterate until green. Production gold.",[3892,6070,6072],{"id":6071},"_12-primitives-for-production-ready-agents","12 Primitives for Production-Ready Agents",[3600,6074,6075,6076],{},"Production agents rely on 12 primitives from Anthropic's Claude Code leak—tool registries with 200+ options, tiered permissions, state persistence, token budgeting, observability, and more—to manage crashes, costs, real-world actions safely, and scale demos into reliable systems like Stripe's 1,300 weekly PRs with zero human code.",[3609,6077,6078],{},[3612,6079,3652],{"href":3649,"ariaDescribedBy":6080,"dataFootnoteRef":3595,"id":3926},[3616],[3600,6082,6083,6084,6089],{},"Nate B. Jones nails it: \"No permissions layer? It's a demo, not a product.\"",[3609,6085,6086],{},[3612,6087,3652],{"href":3649,"ariaDescribedBy":6088,"dataFootnoteRef":3595,"id":4146},[3616]," Here's the list:",[4149,6091,6092,6098,6104,6110,6116,6121,6127,6132,6138,6144,6150,6155],{},[4152,6093,6094,6097],{},[3604,6095,6096],{},"Tool registries",": 200+ tools, dynamic pools per session.",[4152,6099,6100,6103],{},[3604,6101,6102],{},"Tiered permissions",": Built-in (read), plugins (write), user (approve).",[4152,6105,6106,6109],{},[3604,6107,6108],{},"State persistence",": JSON sessions for messages\u002Ftokens\u002Fconfig.",[4152,6111,6112,6115],{},[3604,6113,6114],{},"Token budgeting",": Project usage, halt at limits.",[4152,6117,6118,6120],{},[3604,6119,4178],{},": Real-time events, no black boxes.",[4152,6122,6123,6126],{},[3604,6124,6125],{},"System logging",": Audit every action.",[4152,6128,6129,6131],{},[3604,6130,4181],{},": Harness tests pre-deploy.",[4152,6133,6134,6137],{},[3604,6135,6136],{},"Crash recovery",": Resume from last state.",[4152,6139,6140,6143],{},[3604,6141,6142],{},"Agent types",": Explore\u002Fplan\u002Fverify\u002Fguide\u002Fgeneral\u002Fstatus.",[4152,6145,6146,6149],{},[3604,6147,6148],{},"Workflow separation",": Agent state vs. task state.",[4152,6151,6152,6154],{},[3604,6153,4318],{},": Metrics dashboards.",[4152,6156,6157,6160],{},[3604,6158,6159],{},"Hooks",": Pre\u002Fpost-tool correction.",[3600,6162,6163,6164,6170],{},"Stripe ships 1,300 PRs\u002Fweek zero human code using these.",[3609,6165,6166],{},[3612,6167,4663],{"href":5682,"ariaDescribedBy":6168,"dataFootnoteRef":3595,"id":6169},[3616],"user-content-fnref-6-6"," Skip them? Costs explode, bugs slip through.",[3892,6172,6174],{"id":6173},"building-your-own-3-core-agent-harness","Building Your Own 3-Core-Agent Harness",[3600,6176,6177,6178],{},"Build a 3-core-agent harness by defining YAML workflows in Archon V3 or SpecKit for DAG isolation of Planner, Generator, and Evaluator; connect via Claude teams or GSD-enhanced evaluation; incorporate primitives like persistence and permissions to deploy production systems in days, bypassing full framework overhead.",[3609,6179,6180],{},[3612,6181,4663],{"href":5682,"ariaDescribedBy":6182,"dataFootnoteRef":3595,"id":6183},[3616],"user-content-fnref-6-7",[3600,6185,4499],{},[4501,6187,6188,6194,6197,6200],{},[4152,6189,6190,6191,3994],{},"Define YAML nodes: ",[3672,6192,6193],{},"planner: {model: claude-opus, role: PM}",[4152,6195,6196],{},"Git worktrees for parallelism: One per agent run.",[4152,6198,6199],{},"Hooks: Post-gen eval trigger.",[4152,6201,6202],{},"Triggers: CLI\u002FSlack, multi-provider (Anthropic\u002FOpenAI).",[3600,6204,6205],{},"Basic Python skeleton:",[3666,6207,6209],{"className":4286,"code":6208,"language":4288,"meta":3595,"style":3595},"import yaml\nfrom anthropic import Anthropic\n\nworkflow = yaml.safe_load(open(\"harness.yaml\"))\nclient = Anthropic()\n\ndef run_harness(spec):\n    plan = client.messages.create(model=\"claude-opus-4.6\", role=\"planner\", ...)\n    gen = client.messages.create(model=\"claude-opus-4.6\", role=\"generator\", plan)\n    while eval_score(gen) \u003C 8:\n        gen = client.messages.create(..., previous=gen + fixes)\n    return gen\n",[3672,6210,6211,6216,6221,6225,6230,6235,6239,6244,6249,6254,6259,6264],{"__ignoreMap":3595},[3675,6212,6213],{"class":3677,"line":3678},[3675,6214,6215],{},"import yaml\n",[3675,6217,6218],{"class":3677,"line":3689},[3675,6219,6220],{},"from anthropic import Anthropic\n",[3675,6222,6223],{"class":3677,"line":3697},[3675,6224,5056],{"emptyLinePlaceholder":4873},[3675,6226,6227],{"class":3677,"line":3710},[3675,6228,6229],{},"workflow = yaml.safe_load(open(\"harness.yaml\"))\n",[3675,6231,6232],{"class":3677,"line":3721},[3675,6233,6234],{},"client = Anthropic()\n",[3675,6236,6237],{"class":3677,"line":3736},[3675,6238,5056],{"emptyLinePlaceholder":4873},[3675,6240,6241],{"class":3677,"line":3749},[3675,6242,6243],{},"def run_harness(spec):\n",[3675,6245,6246],{"class":3677,"line":3760},[3675,6247,6248],{},"    plan = client.messages.create(model=\"claude-opus-4.6\", role=\"planner\", ...)\n",[3675,6250,6251],{"class":3677,"line":3768},[3675,6252,6253],{},"    gen = client.messages.create(model=\"claude-opus-4.6\", role=\"generator\", plan)\n",[3675,6255,6256],{"class":3677,"line":3778},[3675,6257,6258],{},"    while eval_score(gen) \u003C 8:\n",[3675,6260,6261],{"class":3677,"line":3788},[3675,6262,6263],{},"        gen = client.messages.create(..., previous=gen + fixes)\n",[3675,6265,6266],{"class":3677,"line":3806},[3675,6267,6268],{},"    return gen\n",[3600,6270,6271,6272,6279],{},"SpecKit style: Specify\u002Fplan\u002Ftasks\u002Fimplement.",[3609,6273,6274],{},[3612,6275,4671],{"href":6276,"ariaDescribedBy":6277,"dataFootnoteRef":3595,"id":6278},"#user-content-fn-7",[3616],"user-content-fnref-7"," Scale to Stripe levels in weeks.",[3892,6281,6283],{"id":6282},"trade-offs-misconceptions-and-when-to-use-frameworks","Trade-offs, Misconceptions, and When to Use Frameworks",[3600,6285,6286,6289],{},[3604,6287,6288],{},"3-core-agent harnesses"," cut complexity for strong LLMs but cost more than chains\u002Frouting; misconceptions include needing sub-agents (rare) or self-eval (flawed)—use frameworks only for weak models or specialized PRDs; audit via metrics like success rate\u002Fcost.",[3600,6291,6292,6293,6298,6299,6305],{},"Agents flex dynamically but burn tokens—chains win for fixed paths.",[3609,6294,6295],{},[3612,6296,3987],{"href":3984,"ariaDescribedBy":6297,"dataFootnoteRef":3595,"id":4495},[3616]," Misconception: Sub-agents for everything; 90% tasks need three.",[3609,6300,6301],{},[3612,6302,3618],{"href":3614,"ariaDescribedBy":6303,"dataFootnoteRef":3595,"id":6304},[3616],"user-content-fnref-1-15"," Self-eval? Overconfident trash.",[3600,6307,6308],{},"Frameworks fit smaller LLMs or edge PRDs. Audit: Track success\u002Fcost\u002Flatency pre\u002Fpost-strip.",[5241,6310,6311,6327],{},[5244,6312,6313],{},[5247,6314,6315,6318,6321,6324],{},[5250,6316,6317],{},"Setup",[5250,6319,6320],{},"Success Rate",[5250,6322,6323],{},"Cost",[5250,6325,6326],{},"Use When",[5263,6328,6329,6343,6357],{},[5247,6330,6331,6334,6337,6340],{},[5268,6332,6333],{},"Harness",[5268,6335,6336],{},"85%+",[5268,6338,6339],{},"Higher",[5268,6341,6342],{},"Strong LLMs, complex tasks",[5247,6344,6345,6348,6351,6354],{},[5268,6346,6347],{},"Framework",[5268,6349,6350],{},"70%",[5268,6352,6353],{},"Similar",[5268,6355,6356],{},"Weak models, sharding needed",[5247,6358,6359,6362,6365,6368],{},[5268,6360,6361],{},"Chains",[5268,6363,6364],{},"95%",[5268,6366,6367],{},"Lowest",[5268,6369,6370],{},"Predictable flows",[3600,6372,6373],{},"Master metrics first.",[3600,6375,6376,6377],{},"Pick a Git repo today. Strip your agent stack to Planner\u002FGenerator\u002FEvaluator using Archon V3 YAML. Run a full feature PR end-to-end. Score on the 4-axis rubric and compare success rates—watch reliability jump.",[3609,6378,6379],{},[3612,6380,4663],{"href":5682,"ariaDescribedBy":6381,"dataFootnoteRef":3595,"id":6382},[3616],"user-content-fnref-6-8",[4605,6384,6386,6389],{"className":6385,"dataFootnotes":3595},[4608],[3892,6387,4613],{"className":6388,"id":3616},[4612],[4501,6390,6391,6483,6499,6505,6521,6527,6585],{},[4152,6392,6393,6394,4627,6397,4627,6402,4627,6407,4627,6412,4627,6417,4627,6422,4627,6427,4627,6432,4627,6439,4627,6446,4627,6453,4627,6460,4627,6467,4627,6475],{"id":4618},"AI LABS summary of Anthropic experiments on agent frameworks. ",[3612,6395,4626],{"href":4622,"ariaLabel":4623,"className":6396,"dataFootnoteBackref":3595},[4625],[3612,6398,4626,6400],{"href":4630,"ariaLabel":4631,"className":6399,"dataFootnoteBackref":3595},[4625],[3609,6401,3652],{},[3612,6403,4626,6405],{"href":4637,"ariaLabel":4638,"className":6404,"dataFootnoteBackref":3595},[4625],[3609,6406,3661],{},[3612,6408,4626,6410],{"href":4644,"ariaLabel":4645,"className":6409,"dataFootnoteBackref":3595},[4625],[3609,6411,3987],{},[3612,6413,4626,6415],{"href":4651,"ariaLabel":4652,"className":6414,"dataFootnoteBackref":3595},[4625],[3609,6416,4015],{},[3612,6418,4626,6420],{"href":4658,"ariaLabel":4659,"className":6419,"dataFootnoteBackref":3595},[4625],[3609,6421,4663],{},[3612,6423,4626,6425],{"href":4666,"ariaLabel":4667,"className":6424,"dataFootnoteBackref":3595},[4625],[3609,6426,4671],{},[3612,6428,4626,6430],{"href":4674,"ariaLabel":4675,"className":6429,"dataFootnoteBackref":3595},[4625],[3609,6431,4679],{},[3612,6433,4626,6437],{"href":6434,"ariaLabel":6435,"className":6436,"dataFootnoteBackref":3595},"#user-content-fnref-1-9","Back to reference 1-9",[4625],[3609,6438,4745],{},[3612,6440,4626,6444],{"href":6441,"ariaLabel":6442,"className":6443,"dataFootnoteBackref":3595},"#user-content-fnref-1-10","Back to reference 1-10",[4625],[3609,6445,4753],{},[3612,6447,4626,6451],{"href":6448,"ariaLabel":6449,"className":6450,"dataFootnoteBackref":3595},"#user-content-fnref-1-11","Back to reference 1-11",[4625],[3609,6452,5348],{},[3612,6454,4626,6458],{"href":6455,"ariaLabel":6456,"className":6457,"dataFootnoteBackref":3595},"#user-content-fnref-1-12","Back to reference 1-12",[4625],[3609,6459,5368],{},[3612,6461,4626,6465],{"href":6462,"ariaLabel":6463,"className":6464,"dataFootnoteBackref":3595},"#user-content-fnref-1-13","Back to reference 1-13",[4625],[3609,6466,5407],{},[3612,6468,4626,6472],{"href":6469,"ariaLabel":6470,"className":6471,"dataFootnoteBackref":3595},"#user-content-fnref-1-14","Back to reference 1-14",[4625],[3609,6473,6474],{},"14",[3612,6476,4626,6480],{"href":6477,"ariaLabel":6478,"className":6479,"dataFootnoteBackref":3595},"#user-content-fnref-1-15","Back to reference 1-15",[4625],[3609,6481,6482],{},"15",[4152,6484,6485,6486,4627,6489,4627,6494],{"id":4682},"Claude Code Leak analysis by Nate B. Jones, AI News & Strategy Daily. ",[3612,6487,4626],{"href":4686,"ariaLabel":4687,"className":6488,"dataFootnoteBackref":3595},[4625],[3612,6490,4626,6492],{"href":4691,"ariaLabel":4692,"className":6491,"dataFootnoteBackref":3595},[4625],[3609,6493,3652],{},[3612,6495,4626,6497],{"href":4698,"ariaLabel":4699,"className":6496,"dataFootnoteBackref":3595},[4625],[3609,6498,3661],{},[4152,6500,6501,6502],{"id":4756},"Anthropic's 3 agents prior coverage. ",[3612,6503,4626],{"href":4760,"ariaLabel":4761,"className":6504,"dataFootnoteBackref":3595},[4625],[4152,6506,6507,6508,4627,6511,4627,6516],{"id":4800},"Agent Blueprint by Lukas Margerie. ",[3612,6509,4626],{"href":4804,"ariaLabel":4805,"className":6510,"dataFootnoteBackref":3595},[4625],[3612,6512,4626,6514],{"href":4809,"ariaLabel":4810,"className":6513,"dataFootnoteBackref":3595},[4625],[3609,6515,3652],{},[3612,6517,4626,6519],{"href":4816,"ariaLabel":4817,"className":6518,"dataFootnoteBackref":3595},[4625],[3609,6520,3661],{},[4152,6522,6523,6524],{"id":4830},"BMAD\u002FSuperpowers for PRD tasks. ",[3612,6525,4626],{"href":4834,"ariaLabel":4835,"className":6526,"dataFootnoteBackref":3595},[4625],[4152,6528,6530,6531,4627,6536,4627,6543,4627,6550,4627,6557,4627,6564,4627,6571,4627,6578],{"id":6529},"user-content-fn-6","Archon V3 by DIY Smart Code. ",[3612,6532,4626],{"href":6533,"ariaLabel":6534,"className":6535,"dataFootnoteBackref":3595},"#user-content-fnref-6","Back to reference 6",[4625],[3612,6537,4626,6541],{"href":6538,"ariaLabel":6539,"className":6540,"dataFootnoteBackref":3595},"#user-content-fnref-6-2","Back to reference 6-2",[4625],[3609,6542,3652],{},[3612,6544,4626,6548],{"href":6545,"ariaLabel":6546,"className":6547,"dataFootnoteBackref":3595},"#user-content-fnref-6-3","Back to reference 6-3",[4625],[3609,6549,3661],{},[3612,6551,4626,6555],{"href":6552,"ariaLabel":6553,"className":6554,"dataFootnoteBackref":3595},"#user-content-fnref-6-4","Back to reference 6-4",[4625],[3609,6556,3987],{},[3612,6558,4626,6562],{"href":6559,"ariaLabel":6560,"className":6561,"dataFootnoteBackref":3595},"#user-content-fnref-6-5","Back to reference 6-5",[4625],[3609,6563,4015],{},[3612,6565,4626,6569],{"href":6566,"ariaLabel":6567,"className":6568,"dataFootnoteBackref":3595},"#user-content-fnref-6-6","Back to reference 6-6",[4625],[3609,6570,4663],{},[3612,6572,4626,6576],{"href":6573,"ariaLabel":6574,"className":6575,"dataFootnoteBackref":3595},"#user-content-fnref-6-7","Back to reference 6-7",[4625],[3609,6577,4671],{},[3612,6579,4626,6583],{"href":6580,"ariaLabel":6581,"className":6582,"dataFootnoteBackref":3595},"#user-content-fnref-6-8","Back to reference 6-8",[4625],[3609,6584,4679],{},[4152,6586,6588,6589],{"id":6587},"user-content-fn-7","GitHub SpecKit spec-centric agents. ",[3612,6590,4626],{"href":6591,"ariaLabel":6592,"className":6593,"dataFootnoteBackref":3595},"#user-content-fnref-7","Back to reference 7",[4625],[4845,6595,6596],{},"html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}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":3595,"searchDepth":3689,"depth":3689,"links":6598},[6599,6600,6601,6602,6603,6604,6605,6606,6607],{"id":5527,"depth":3689,"text":5528},{"id":4945,"depth":3689,"text":5612},{"id":5648,"depth":3689,"text":5649},{"id":5696,"depth":3689,"text":5697},{"id":5734,"depth":3689,"text":5735},{"id":6071,"depth":3689,"text":6072},{"id":6173,"depth":3689,"text":6174},{"id":6282,"depth":3689,"text":6283},{"id":3616,"depth":3689,"text":4613},"Production agent systems thrive with a 3-core-agent harness—Planner for high-level specs, Generator for implementation, Evaluator for rigorous checks. Ditch bloated frameworks. Modern LLMs like Claude Opus 4.6 use 1M-token contexts and coherence for reliable, scalable outputs on complex tasks.1",[5509,6610,4864,6611,4865,6612,6613,6614],"production ai agents","claude opus agents","anthropic agent experiments","ai harness engineering","agent primitives",{},"Ditch bloated frameworks like BMAD and GSD. Build production agent systems with a 3-core-agent harness: Planner, Generator, Evaluator. Leverage Claude Opus for reliable, scalable AI outputs without error cascades.","3-Core-Agent Harness for Production AI Agents","\u002Farticles\u002Fthe-3-core-agent-harness-why-production-agent-systems-need-planner-generator-evaluator-not-frameworks-e1-budget-8k-article",[],{"why-agent-frameworks-fail-production-systems":5528,"what-is-the-3-core-agent-harness":5612,"the-planner-defining-high-level-objectives":5649,"the-generator-implementation-without-micro-management":5697,"the-evaluator-adversarial-checks-with-graded-rubrics":5735,"12-primitives-for-production-ready-agents":6072,"building-your-own-3-core-agent-harness":6174,"trade-offs-misconceptions-and-when-to-use-frameworks":6283},{"title":5500,"description":6608},{"loc":6618},"the-3-core-agent-harness-why-production-agent-systems-need-planner-generator-evaluator-not-frameworks","articles\u002Fthe-3-core-agent-harness-why-production-agent-systems-need-planner-generator-evaluator-not-frameworks-e1-budget-8k-article","m2bi_KTVXWqB41yv7BbLfXKhYm8AEsWwCyKDcNTfZt4"]