1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,41836,96979,36247,98403,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(77005),a=e.i(25298);function i({data:e,width:i,height:o,margin:s={top:20,right:0,left:0,bottom:60},svgRef:l,xDomain:c,xTicks:u,xTickStepSize:h,xTickCount:d,xTickFormatter:p=e=>e.toString(),xTickFormatterCompact:f,xLabel:m,yDomain:g,yScale:y="linear",yTicks:_,yTickFormatter:w,showYAxis:x=!1,showXAxis:b=!0,lines:v,verticalReferenceLine:A,customElements:S,tooltip:M,suppressTooltip:k=!1,xPadding:I,animateXDomain:T=!1,xDomainAnimationDurationMs:E=450,showGridlines:$=!1,yAxisLabelsOutside:j=!1}){let[C,O]=(0,r.useState)(null),[F,R]=(0,r.useState)(null),[P,N]=(0,r.useState)(i||250),D=(0,r.useRef)(null),z=(0,r.useRef)(null),L=(0,r.useId)(),H=(0,r.useCallback)(e=>{z.current=e,l&&(l.current=e)},[l]),{hoveredX:W,setHoveredX:B}=(0,a.useChartSync)(),[q,G]=(0,r.useState)(c),K=(0,r.useRef)(q),U=(0,r.useRef)(null),X=(0,r.useRef)(0),Y=(0,r.useRef)(c),V=(0,r.useRef)(c),[J,Z]=(0,r.useState)(()=>(0,n.calculateTicks)(c,d?{targetCount:d}:h?{stepSize:h}:{targetCount:3},"linear")),Q=(0,r.useRef)(J),ee=(0,r.useRef)(J),et=(0,r.useRef)(J);(0,r.useEffect)(()=>{K.current=q},[q]),(0,r.useEffect)(()=>{Q.current=J},[J]);let er=(0,r.useMemo)(()=>d?{targetCount:d}:h?{stepSize:h}:{targetCount:3},[d,h]),en=(0,r.useCallback)(e=>(0,n.calculateTicks)(e,er,"linear"),[er]),ea=(0,r.useCallback)((e,t)=>{if(!e.length)return NaN;if(1===e.length)return e[0];let r=(0,n.clamp)(t,0,1)*(e.length-1),a=Math.floor(r),i=Math.min(e.length-1,Math.ceil(r));if(a===i)return e[a];let o=e[a];return o+(e[i]-o)*(r-a)},[]),ei=(0,r.useCallback)((e,t,r)=>{if(!e.length&&!t.length)return[];if(r>=1)return[...t];if(r<=0)return[...e];let n=Math.max(e.length,t.length,1),a=[];for(let i=0;i<n;i+=1){let o=1===n?0:i/(n-1),s=ea(e,o),l=ea(t,o),c=Number.isNaN(s)?l:s,u=Number.isNaN(s)?c:s,h=Number.isNaN(l)?c:l,d=Number.isFinite(u)?u:0,p=Number.isFinite(h)?h:d;a.push(d+(p-d)*r)}return a},[ea]);(0,r.useEffect)(()=>{let e=(e,t)=>e.length===t.length&&e.every((e,r)=>e===t[r]),t=en(c);if(!T){(K.current[0]!==c[0]||K.current[1]!==c[1])&&(G(c),K.current=c),Y.current=c,V.current=c,null!==U.current&&(cancelAnimationFrame(U.current),U.current=null),e(Q.current,t)||(Z(t),Q.current=t,ee.current=t,et.current=t);return}let r=K.current;if(r[0]===c[0]&&r[1]===c[1]){e(Q.current,t)||(Z(t),Q.current=t,ee.current=t,et.current=t);return}Y.current=r,V.current=c,X.current=performance.now(),ee.current=Q.current,et.current=t,null!==U.current&&cancelAnimationFrame(U.current);let n=Math.max(0,E),a=e=>{let t=e-X.current,r=0===n?1:Math.min(1,t/n),i=[Y.current[0]+(V.current[0]-Y.current[0])*r,Y.current[1]+(V.current[1]-Y.current[1])*r];G(i),K.current=i;let o=ei(ee.current,et.current,r);Z(o),Q.current=o,r<1?U.current=requestAnimationFrame(a):(Z(et.current),Q.current=et.current,U.current=null)};return U.current=requestAnimationFrame(a),()=>{null!==U.current&&(cancelAnimationFrame(U.current),U.current=null)}},[c,T,E,en,ei]),(0,r.useEffect)(()=>{if(!D.current||i)return;let e=new ResizeObserver(e=>{for(let t of e)N(t.contentRect.width)});return e.observe(D.current),()=>e.disconnect()},[i]);let eo=i||P,es=eo-s.left-s.right,el=o-s.top-s.bottom,ec=T?q:c;Math.abs(ec[1]-c[1])>.1&&console.log("[CustomLineChart] Domain mismatch - prop xDomain:",c,"currentXDomain:",ec,"animateXDomain:",T);let eu=(0,n.clamp)(I?.start??0,0,es),eh=(0,n.clamp)(I?.end??0,0,es-eu),ed=Math.max(eu+1,es-eh),ep=(0,n.createScale)({domain:ec,range:[eu,ed],type:"linear"}),ef=(0,n.createScale)({domain:g,range:[el,0],type:y}),em=S?S({chartWidth:es,chartHeight:el,xDomain:ec,yDomain:g,xScale:ep,yScale:ef}):null,eg=u??(T?J:en(ec)),ey=p,e_=(0,n.thinTicksToFitLabels)(eg,ep,ey);f&&e_.length<eg.length&&(ey=f,e_=(0,n.thinTicksToFitLabels)(eg,ep,ey));let ew=(0,r.useCallback)(t=>{if(!z.current)return;let r=z.current.getBoundingClientRect(),n=t.clientX-r.left-s.left;R({x:t.clientX,y:t.clientY});let a=v[v.length-1]?.dataKey;if(!a)return;let i=e.filter(e=>null!=e[a]&&e.x>=ec[0]&&e.x<=ec[1]),o=null,l=1/0;for(let e of i){let t=Math.abs(n-ep(e.x));t<l&&(l=t,o=e)}M&&O(o),o&&B(o.x)},[e,v,s,ep,M,B,ec]),ex=(0,r.useCallback)(()=>{O(null),R(null),B(null)},[B]);return(0,t.jsxs)("div",{ref:D,style:{position:"relative",width:i||"100%",height:o},children:[(0,t.jsxs)("svg",{ref:H,width:eo,height:o,onMouseMove:ew,onMouseLeave:ex,style:{userSelect:"none"},children:[(0,t.jsx)("defs",{children:(0,t.jsx)("clipPath",{id:L,children:(0,t.jsx)("rect",{x:0,y:0,width:ed,height:el})})}),(0,t.jsxs)("g",{transform:`translate(${s.left},${s.top})`,children:[$&&(0,t.jsxs)("g",{className:"gridlines",opacity:.3,children:[_&&_.map((e,r)=>(0,t.jsx)("line",{x1:0,y1:ef(e),x2:es,y2:ef(e),stroke:"#666",strokeWidth:1,strokeDasharray:"4 4"},`y-grid-${r}`)),eg.map((e,r)=>{let n=ep(e);return n<0||n>es?null:(0,t.jsx)("line",{x1:n,y1:0,x2:n,y2:el,stroke:"#666",strokeWidth:1,strokeDasharray:"4 4"},`x-grid-${r}`)})]}),A&&(0,t.jsxs)("g",{children:[(0,t.jsx)("line",{x1:ep(A.x),y1:0,x2:ep(A.x),y2:el,stroke:A.stroke,strokeDasharray:A.strokeDasharray||"2 10",strokeWidth:A.strokeWidth||1,strokeOpacity:A.strokeOpacity??.5,strokeLinecap:"round"}),A.label&&(0,t.jsx)("text",{x:ep(A.x)+5,y:15,textAnchor:"start",fontSize:11,fill:A.stroke,transform:`rotate(-90, ${ep(A.x)+5}, 15)`,children:A.label})]}),(0,t.jsxs)("g",{clipPath:`url(#${L})`,children:[v.map((r,a)=>{if(!r.fill)return null;let i=e.map(e=>({x:e.x,y:e[r.dataKey]})),o=i.filter(e=>null!=e.y&&isFinite(e.y));if(o.length<2)return null;let s=(0,n.generateLinePath)(i,ep,ef,r.smooth),l=ep(o[0].x),c=ep(o[o.length-1].x),u=`${s} L ${c},${el} L ${l},${el} Z`;return(0,t.jsx)("path",{d:u,fill:r.fill,fillOpacity:r.fillOpacity??.25,stroke:"none",style:{transition:"fill-opacity 0.6s ease-in-out"}},`area-${a}-${r.dataKey}`)}),v.map((r,a)=>{let i=e.map(e=>({x:e.x,y:e[r.dataKey]})),o=(0,n.generateLinePath)(i,ep,ef,r.smooth);return(0,t.jsx)("path",{id:`line-${a}-${r.dataKey}`,d:o,fill:"none",stroke:r.stroke,strokeWidth:r.strokeWidth??2,strokeOpacity:r.strokeOpacity??1,strokeDasharray:r.strokeDasharray,style:{transition:"stroke-opacity 0.6s ease-in-out"}},`line-${a}-${r.dataKey}`)})]}),em,null!==W&&(0,t.jsx)("line",{"data-export-hide":"true",x1:ep(W),y1:0,x2:ep(W),y2:el,stroke:"#999",strokeWidth:1,strokeDasharray:"4 4",opacity:.6,pointerEvents:"none"}),x&&_&&_.length>0&&(0,t.jsx)("g",{children:_.map((e,r)=>{let n=ef(e),a=w?w(e):e.toString(),i="string"!=typeof a;return(0,t.jsx)("g",{transform:`translate(0,${n})`,children:i?(0,t.jsx)("foreignObject",{x:j?-s.left+5:10,y:-10,width:j?Math.max(s.left-10,0):80,height:20,style:{overflow:"visible"},children:(0,t.jsx)("div",{style:{fontSize:"11px",color:"#666",fontWeight:500,fontFamily:"inherit",textAlign:j?"right":"left"},children:a})}):(0,t.jsx)("text",{x:j?-8:10,textAnchor:j?"end":"start",alignmentBaseline:"middle",fontSize:11,fill:"#666",children:a})},`y-tick-${r}`)})}),b&&(0,t.jsxs)("g",{transform:`translate(0,${el})`,children:[e_.map((e,r)=>{let n=ep(e),a=n<20?"start":n>es-20?"end":"middle";return(0,t.jsx)("g",{transform:`translate(${n},0)`,children:(0,t.jsx)("text",{y:20,textAnchor:a,fontSize:12,fill:"#666",children:ey(e)})},`x-tick-${r}`)}),m&&(0,t.jsx)("text",{x:es/2,y:50,textAnchor:"middle",fontSize:14,fill:"#666",children:m})]})]})]}),M&&C&&F&&!k&&(0,t.jsx)("div",{style:{position:"fixed",left:F.x+12,top:F.y+12,pointerEvents:"none",zIndex:1e3},children:M(C)})]})}e.s(["CustomLineChart",()=>i],41836);let o={0:"â°",1:"¹",2:"²",3:"³",4:"â´",5:"âµ",6:"â¶",7:"â·",8:"â¸",9:"â¹","-":"â»","+":"âº"};function s(e){if(!Number.isFinite(e)||0===e)return 0;let t=Math.abs(e);if(t<10)return Math.round(e);let r=Math.pow(10,Math.max(Math.floor(Math.log10(t))+1-2,0));return Math.round(e/r)*r}function l(e,r={}){if(!Number.isFinite(e))return null;let{suffix:n,mantissaOpacity:a=.7,mantissaFontSize:i="0.92em",exponentFontSize:o,renderMode:c="html",baselineShift:u="0.2em"}=r,h=s(e);return 0===h?"svg"===c?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("tspan",{children:"1"}),null!=n?(0,t.jsx)("tspan",{children:n}):null]}):(0,t.jsxs)("span",{children:["1",n]}):"svg"===c?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("tspan",{fillOpacity:a,fontSize:i,children:"10"}),(0,t.jsx)("tspan",{baselineShift:u,fontSize:o,children:h}),null!=n?(0,t.jsx)("tspan",{children:n}):null]}):(0,t.jsxs)("span",{children:[(0,t.jsx)("span",{style:{opacity:a,fontSize:i},children:"10"}),(0,t.jsx)("sup",{style:o?{fontSize:o}:void 0,children:h}),n]})}function c(e,t={}){return!Number.isFinite(e)||e<=0?"":function(e,t={}){if(!Number.isFinite(e))return"";let r=s(e);if(0===r)return`1${t.suffix??""}`;let n=r.toString().split("").map(e=>o[e]??e).join("");return`10${n}${t.suffix??""}`}(Math.log10(e),t)}function u(e){return 0===e?"0":M(e,3)}function h(e){return 525600*e}function d(e,t,r){let n=e.toFixed(r),a=n.includes(".")?n.replace(/(\.\d*?[1-9])0+$/,"$1").replace(/\.0+$/,""):n;return`${a} ${t}`}function p(e){if(e<.0167)return d(60*e,"sec",2);if(e<1){let t=60*e;return .01>Math.abs(t-1)?"1 sec":d(t,"sec",1)}if(e<60)return d(e,"min",1);if(e<1440)return d(e/60,"hr",1);if(e<43830)return d(e/1440,"days",1);else if(e<525600)return d(e/43830,"months",1);else return d(e/525600,"years",1)}function f(e){let t=2e3/12*60;if(e<.0167)return d(60*e,"sec",2);if(e<1){let t=60*e;return .01>Math.abs(t-1)?"1 sec":d(t,"sec",1)}return e<60?d(e,"min",1):e<480?d(e/60,"hr",1):e<2400?d(e/480,"work days",1):e<t?d(e/2400,"work weeks",1):e<12e4?d(e/t,"work months",1):`${M(e/12e4)} work years`}
1function m(e){return f(Math.pow(10,e)).replace(/\.0\s/," ")}function g(e){let t=2e3/12*60,r=(e,t)=>{let r=Math.floor(10*e)/10;return`${r.toFixed(1)} ${t}`};return e>=12e4?`${M(e/12e4)} years`:e>=t?r(e/t,"months"):e>=480?r(e/480,"days"):e>=60?r(e/60,"hours"):e>=1?r(e,"min"):r(60*e,"sec")}function y(e,t){let r=2e3/12*60;if(e<1)return`${u(60*e)} sec`;if(e<60)return`${u(e)} min`;if(e<480)return`${u(e/60)} hr`;if(e<2400)return`${u(e/480)} ${t?"work days":"days"}`;if(e<r)return`${u(e/2400)} ${t?"work weeks":"weeks"}`;else if(e<12e4)return`${u(e/r)} ${t?"work months":"months"}`;else if(e<12e7)return`${u(e/12e4)} ${t?"work years":"years"}`;else return`${u(e/12e7)} ${t?"work millennia":"millennia"}`}function _(e){return Number.isFinite(e)?M(Math.pow(10,e)):""}function w(e){return Number.isFinite(e)?M(Math.pow(10,e)):""}function x(e,r={}){if(null==e||!Number.isFinite(e))return null;let{suffix:n=" FLOP",decimals:a=1,mantissaOpacity:i=.6}=r;return(0,t.jsxs)("span",{style:{whiteSpace:"nowrap"},children:[(0,t.jsx)("span",{style:{opacity:i},children:"10"}),(0,t.jsx)("sup",{children:e.toFixed(a)}),n]})}function b(e){let t=Math.floor(e),r=Math.round(12*(e-t));return`${["January","February","March","April","May","June","July","August","September","October","November","December"][r%12]} ${12===r?t+1:t}`}function v(e){if(!Number.isFinite(e))return"";let t=Math.floor(e),r=Math.round(12*(e-t)),n=Math.floor(r/12),a=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][(r%12+12)%12];return`${a} ${t+n}`}function A(e){if(!Number.isFinite(e)||e<=0)return"";let t=Math.pow(10,Math.floor(Math.log10(e))-1),r=Math.round(e/t)*t;if(r>=1e9){let e=r/1e9,t=e>=10?Math.round(e).toString():e.toFixed(1).replace(/\.0$/,"");return`${t} billion`}if(r>=1e6){let e=r/1e6,t=e>=10?Math.round(e).toString():e.toFixed(1).replace(/\.0$/,"");return`${t} million`}return r>=100?Math.round(r).toString():r>=10?r.toFixed(1).replace(/\.0$/,""):r.toFixed(1)}function S(e,r={}){let{suffix:n,mantissaOpacity:a=.5,mantissaFontSize:i,exponentFontSize:o,renderMode:s="svg",baselineShift:l="0.3em",sigFigs:c=2}=r;if(!Number.isFinite(e))return null;if(0===e)return"svg"===s?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("tspan",{children:"0"}),null!=n?(0,t.jsx)("tspan",{children:n}):null]}):(0,t.jsxs)("span",{children:["0",n]});let u=Math.abs(e),h=e<0?"-":"",d=Math.pow(10,Math.floor(Math.log10(u))-(c-1)),p=Math.round(u/d)*d,f=e=>"svg"===s?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("tspan",{children:e}),null!=n?(0,t.jsx)("tspan",{children:n}):null]}):(0,t.jsxs)("span",{children:[e,n]}),m=(e,r)=>"svg"===s?(0,t.jsxs)(t.Fragment,{children:[1!==e&&(0,t.jsxs)("tspan",{children:[h,e,"Ã"]}),1===e&&h&&(0,t.jsx)("tspan",{children:h}),(0,t.jsx)("tspan",{fillOpacity:a,fontSize:i,children:"10"}),(0,t.jsx)("tspan",{baselineShift:l,fontSize:o,children:r}),null!=n?(0,t.jsx)("tspan",{children:n}):null]}):(0,t.jsxs)("span",{children:[1!==e&&(0,t.jsxs)(t.Fragment,{children:[h,e,"Ã"]}),1===e&&h,(0,t.jsx)("span",{style:{opacity:a,fontSize:i},children:"10"}),(0,t.jsx)("sup",{style:o?{fontSize:o}:void 0,children:r}),n]});if(p>=1e12){let e=Math.floor(Math.log10(p));return m(Math.round(p/Math.pow(10,e)),e)}if(p>=1e9){let e=p/1e9,t=e>=10?Math.round(e).toString():e.toFixed(1).replace(/\.0$/,"");return f(`${h}${t}B`)}if(p>=1e6){let e=p/1e6,t=e>=10?Math.round(e).toString():e.toFixed(1).replace(/\.0$/,"");return f(`${h}${t}M`)}if(p>=1e3){let e=p/1e3,t=e>=10?Math.round(e).toString():e.toFixed(1).replace(/\.0$/,"");return f(`${h}${t}K`)}if(p>=1)return f(p>=100?h+Math.round(p).toString():p>=10?h+p.toFixed(1).replace(/\.0$/,""):h+p.toFixed(c-1).replace(/\.?0+$/,""));else{if(p>=.001)return f(h+p.toPrecision(c).replace(/\.?0+$/,""));let e=Math.floor(Math.log10(p));return m(Math.round(p/Math.pow(10,e)),e)}}function M(e,t=2){if(!Number.isFinite(e))return"";if(0===e)return"0";let r=Math.abs(e),n=e<0?"-":"",a=Math.pow(10,Math.floor(Math.log10(r))-(t-1)),i=Math.round(r/a)*a;if(i>=1e12){let e=Math.floor(Math.log10(i)),t=Math.round(i/Math.pow(10,e)),r=e.toString().split("").map(e=>o[e]??e).join("");return 1===t?`${n}10${r}`:`${n}${t}\xd710${r}`}if(i>=1e9){let e=i/1e9,t=e>=10?Math.round(e).toString():e.toFixed(1).replace(/\.0$/,"");return`${n}${t}B`}if(i>=1e6){let e=i/1e6,t=e>=10?Math.round(e).toString():e.toFixed(1).replace(/\.0$/,"");return`${n}${t}M`}if(i>=1e3){let e=i/1e3,t=e>=10?Math.round(e).toString():e.toFixed(1).replace(/\.0$/,"");return`${n}${t}K`}if(i>=1)if(i>=100)return n+Math.round(i).toString();else if(i>=10)return n+i.toFixed(1).replace(/\.0$/,"");else return n+i.toFixed(t-1).replace(/\.?0+$/,"");else{if(i>=.001)return n+i.toPrecision(t).replace(/\.?0+$/,"");let e=Math.floor(Math.log10(i)),r=Math.round(i/Math.pow(10,e)),a=e.toString().split("").map(e=>o[e]??e).join("");return 1===r?`${n}10${a}`:`${n}${r}\xd710${a}`}}
1e.s(["formatAsPowerOfTenText",()=>c,"formatCompactNumberNode",()=>S,"formatDollarsPerYear",()=>function e(t){if(!Number.isFinite(t))return"";if(t<0)return`-${e(-t)}`;for(let[e,r]of[[1e12,"T"],[1e9,"B"],[1e6,"M"],[1e3,"K"]])if(t>=e){let n=t/e,a=n>=10?n.toFixed(0):String(parseFloat(n.toFixed(1)));return`$${a}${r}/yr`}return`$${t.toFixed(0)}/yr`},"formatEffectiveComputeOOMsNode",()=>x,"formatEffectiveComputeValue",()=>_,"formatLogWorkTick",()=>y,"formatOOMSuperscriptText",()=>w,"formatPowerOfTenNode",()=>l,"formatSCHorizon",()=>m,"formatTimeDuration",()=>p,"formatTo3SigFigs",()=>u,"formatUplift",()=>A,"formatWorkTimeDuration",()=>f,"formatWorkTimeDurationDetailed",()=>g,"formatYearMonth",()=>b,"formatYearMonthShort",()=>v,"yearsToMinutes",()=>h],96979),e.s(["tooltipBoxStyle",0,{backgroundColor:"var(--vivid-background)",color:"var(--vivid-foreground)",borderRadius:"6px",padding:"6px 8px",fontFamily:'ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace',fontSize:"11px",lineHeight:1.4,display:"flex",flexDirection:"column",gap:"2px",maxWidth:"300px"},"tooltipHeaderStyle",0,{fontWeight:600},"tooltipValueStyle",0,{color:"var(--accent-color)"}],36247),e.s(["AI_R_D_PROGRESS_MULTIPLIER_EXPLANATION",0,"The AI Software R&D Uplift is the speedup in software progress that would be achieved if the frontier AI systems at a given time were deployed within today's leading AI company. (In previous work we called this the AI R&D progress multiplier.)","COMPUTE_CHART_EXPLANATION",0,"Effective compute is the amount of compute that would be needed, using early 2025 training algorithms, to achieve the frontier AI capability level at a given time. In our model, most progress comes from software/algorithm improvements, so in practice we think our model is useful even if we need a breakthrough to get to AGI (we could then think of effective compute as a stand-in for general capabilities).","COVERT_CHART_EXPLANATIONS",0,{capability:"Effective compute (OOMs) over time for three projects racing toward TED-AI after a pause. The covert project pays no alignment tax and reaches bare TED-AI. The legal consortium runs two glidepaths: DISCOVERED (its full research output, reaching TED-AI + tax) and USED (its deployed capability, reaching bare TED-AI â the rest of the research is spent on the alignment tax). Horizontal markers show TED-AI and TED-AI + tax; vertical markers show when the covert and the legal used capability reach TED-AI.",etsp:"ETSP (effective training system performance) decomposed into its two additive contributions, in OOMs/yr: TSP (the hardware training rate) and SW (software efficiency). Effective compute is the time-integral of ETSP = TSP + SW. Shown for the covert project and the legal discovered/used glidepaths.",detection:"P(detected by t) for the covert facility, t = years after the pause. The combined detection probability is one minus the product of two independent survival terms: the facility-frailty survival (the covert datacenter's power signature) and the silver-bullet survival (1 â P a program-level detection breakthrough has emerged, a ceiling-logistic anchored on the legal project's usedâTED-AI time)."},"COVERT_KNOB_EXPLANATIONS",0,{years_before_ac:"How many years before the (un-paused) AC date the deal/pause lands. Anchors the whole scenario timing.",setup_period_years:'Training-R&D pause length after the deal (the "six-month pause"). Training is frozen; only the software windfall accrues.',setup_sw_gain_progress_months:"Radical-transparency windfall: algorithmic progress (in 2025-progress-months) pooled publicly during the pause. The covert steals a frac_stolen share.",alignment_tax_progress_years:"Research the legal consortium must spend on alignment instead of capability, in 2025-progress-years. The discovered glidepath reaches TED-AI + tax; the used glidepath reaches bare TED-AI.",legal_scaling_duration:"Years from the END of the setup pause to the legal target. target_year = pause + setup_period + this.",legal_strategy:"How the legal consortium scales after the pause. actual_hw follows the real training-compute series; target_year tunes HW+SW;
1 capped_sw caps the tuned software rate.",legal_mode:"AIFM effort physics: capped clamps legal research effort at the physics ceiling; backsolve lets it exceed the ceiling to hit the target.",frac_stolen:"Fraction of the legal project's algorithmic progress the covert steals (the windfall plus ongoing software gains).",dormancy_years:"Years the covert lies low after the pause BEFORE starting construction (effective compute frozen; only stolen software accrues). No facility exists yet, so it cannot be detected â the detection clock starts when construction begins.",construction_years:"Years to build the covert datacenter, after the dormancy period (effective compute still frozen; only stolen software accrues). The facility is detectable while under construction.",compute_mode:"How the covert datacenter is sized: frontier_relative (a fraction of frontier compute at the pause) or absolute (a fixed H100e count).",total_h100e_frac:"Covert R&D compute as a fraction of the frontier's total compute at the pause (frontier_relative mode).",total_h100e:"Covert datacenter size in total H100e (absolute mode).",facility_w_per_h100e:"Facility power draw per H100e (W). Converts the covert compute into facility power (MW), which the detection model keys on.",optimal_site_mw:"Per-site power (MW) the covert splits its compute across (n = total_MW / this, floored at 1). Must lie within the detection-grid size range.",max_hw_rate:"Max hardware (training) scaling rate after the pause (OOM/yr). Unused by the actual_hw strategy.",max_sw_rate:"Flat ceiling (OOM/yr) on the legal tuned software rate (capped_sw strategy only); does not cap the setup windfall.",post_scaling_externalities_rate:"After the legal project reaches its target, it keeps DISCOVERING software efficiency at this flat rate (OOM/yr) as an unavoidable side-effect of ongoing alignment research â none deployed (TSP frozen), but it inflates the discovered research stock the covert steals at frac_stolen. 0 â the legal simply sits after its target. (actual_hw strategy only.)",min_sw_frac_of_tsp:"Mandatory minimum software during the scaling phase: software efficiency must grow at AT LEAST this fraction of the TSP (hardware) growth rate, on BOTH the used and discovered tracks, regardless of the AIFM effort ceiling (a guaranteed floor like the transparency windfall). 0 â no floor. (actual_hw strategy only.)",enable_deal_breakdown:"Gate for the deal-dissolution scenario: the deal dissolves some years after the pause ends. The consortium disbands (its trajectory freezes and covert stealing stops) and the leading company continues alone as its own project with no leakage.",deal_breakdown_years_after_pause_end:"When the deal dissolves, in years AFTER the end of the setup pause. The consortium freezes at that moment; the leading company takes over from the used (deployed) capability with the full discovered research stock.",breakdown_compute_mode:"What the leading company's post-dissolution compute share is measured against. frontier_at_pause: frontier R&D compute at the pause â compute built or kept during the deal is effectively destroyed at dissolution. world_at_breakdown: the world's compute at the moment the deal dissolves (the input series carried through the deal) â nothing is destroyed; the share is the % of current-world compute the largest post-dissolution project runs on.",breakdown_compute_reduction:"The leading company's post-dissolution compute as a fraction of the basis chosen above. Under frontier_at_pause, 30% â it restarts with 0.3Ã the compute the frontier had when the deal landed; under world_at_breakdown, 30% â it runs on 0.3Ã the compute the world has when the deal dissolves.",post_breakdown_compute_growth_rate:"Constant growth rate (OOM/yr) of the leading company's compute after the dissolution."},"HORIZON_LENGTH_EXPLANATION",0,"The coding time horizon is the maximum length of coding tasks frontier AI systems can complete with a success rate of 80%, with the length defined as the time taken by typical AI company employees who do similar tasks.","MILESTONE_EXPLANATIONS",0,{AC:"An AC can fully automate an AGI project's coding work, autonomously replacing the project's entire software engineering staff.","AI2027-SC":"A Superhuman Coder milestone from AI 2027 projections.",SAR:"A SAR can fully automate AI R&D.",SIAR:" The gap between a SIAR and the top AGI project human researcher is 2x greater than the gap between the top AGI project human researcher and the median researcher.","TED-AI":"A TED-AI is at least as good as top human experts at virtually all cognitive tasks.",ASI:"The gap between an ASI and the best humans is 2x greater than the gap between the best humans and the median professional, at virtually all cognitive tasks."},"MILESTONE_FULL_NAMES",0,{AC:"Automated Coder",SC:"Superhuman Coder",SAR:"Superhuman AI Researcher",SIAR:"Superintelligent AI Researcher","STRAT-AI":"Strategic AI","TED-AI":"Top-Expert-Dominating AI",ASI:"Artificial Superintelligence"},"SMALL_CHART_EXPLANATIONS",0,{automationFraction:"The fraction of coding work involved in frontier AI research that can be efficiently automated.",aiCodingLaborMultiplier:"A multiplier of 2x would mean that AIs were increasing coding productivity by as much as if the AGI project had an extra copy of all of their employees.",serialCodingLaborMultiplier:"The speedup in coding work from AI assistance. A multiplier of 2x would mean that AIs were increasing coding productivity by as much as if the AGI project sped up their employees by 2x.",aiResearchTaste:"If AIs were to select experiments, this would be the value per experiment, where 1 is the mean value per experiment for human researchers.",aiSwProgressMultRefPresentDay:"The speedup in software progress that would be achieved if the frontier AI systems at a given time were deployed within today's leading AI company.",researchEffort:"Measures the amount of quality-adjusted research happening at a given time.",researchStock:"The accumluation of software research effort over time. Cumulative research effort is to research effort what distance traveled is to speed. (We call this research stock in the model explanation.)",etspRate:"By how many orders of magnitude ETSP (effective training system performance) grows per year. Equal to the sum of the softw
1are efficiency growth rate and the training system performance growth rate.",predictedRevenue:"The leading AGI developer's annualized revenue is predicted by extrapolating from May 2026 revenues and growth rates as an exponential trend in effective compute. (Annualized revenue is the most recent month's revenue multiplied by 12.) The red diamonds are Anthropicâs reported annualized revenue; they are shown for comparison only and do not influence the trend.",capabilityEci:"The Epoch Capabilities Index (ECI) score predicted by assuming that ECI is a linear function of log(effective compute).",capabilityEciRate:"How fast the Epoch Capabilities Index is rising, in index points per year. This is the slope of the ECI trend, computed analytically as points-per-OOM Ã the effective-compute progress rate rather than by differencing the plotted curve, so the two always agree exactly. At the ECI reference date it equals the present-day ECI growth-rate setting by construction.",excessSerialCodingLaborUplift:"The most capable modelâs serial coding-labor uplift minus 1, measured with human labor and inference compute held at present-day levels. Unlike the revenue and time horizon trends, this is not an independent extrapolation; it is what the model produces.",softwareProgressRate:"By how many orders of magnitude software efficiency grows per year.",trainingSystemPerformanceGrowthRate:"By how many orders of magnitude training system performance grows per year.",trainingComputeH100e:"The number of H100-equivalents running the leading AI company's frontier training run at a given time â the instantaneous hardware training rate. Multiplied by FLOP_PER_H100E_YEAR it is the training rate in FLOP/yr (the hardware part of Training System Performance); cumulative training compute is its integral over time.",totalRdComputeH100e:"Total R&D compute at the leading AI company, in H100-equivalents: the sum of training compute, internal inference compute (for coding automation), and experiment compute â i.e. everything except commercial serving. All amortized over the year.",worldComputeH100e:"Total AI-relevant compute in the world, in H100-equivalents.",companyShareOfWorldPct:"The percentage of the world's AI-relevant compute operated by the leading AI company (its R&D compute plus commercial serving compute).",spendPctCumCommercial:"How the leading AI company splits its total compute, as percentages: inference for coding automation, training, experiments, and commercial (serving customers â the total minus everything else).",softwareEfficiency:"Software efficiency measures how efficiently the training process at a given time can convert training compute into performance. It is multiplied by training compute to get effective compute.",etsp:"Effective Training System Performance (ETSP) is the instantaneous effective-compute rate, in OOMs. It is the sum of training system performance (the hardware rate) and software efficiency (the algorithmic contribution); the stacked bands show how each contributes.",trainingSystemPerformance:"Training System Performance (TSP) is the instantaneous hardware training rate, in OOMs of FLOP/yr â i.e. the frontier run's H100e converted to FLOP/yr. Effective compute accumulates as the integral of ETSP = TSP + software efficiency.",trainingCompute:"Cumulative training compute (a stock), in OOMs of FLOP: the running integral of the training system performance. Effective compute is the same integral but including software efficiency.",experimentCapacity:"The number of experiments the leading AI company can run per unit time, where experiments are weighted by how much compute they use and how labor-intensive they are to code.",inferenceCompute:"The amount of compute used by the leading AI company for automating coding, in H100-equivalents.",experimentCompute:"The amount of compute used by the leading AI company for running experiments, in H100-equivalents.",humanLabor:"The number of human coders at the leading AI company."}],98403)},21719,e=>{"use strict";var t=e.i(43476),r=e.i(932),n=e.i(71645);let a=(0,n.createContext)(void 0);function i(){let e=(0,n.useContext)(a);if(!e)throw Error("useParameterHover must be used within a ParameterHoverProvider");return e}
1function o(e){let i,o,s=(0,r.c)(5),{children:l}=e,[c,u]=(0,n.useState)(null);return s[0]!==c?(i={hoveredParameter:c,setHoveredParameter:u},s[0]=c,s[1]=i):i=s[1],s[2]!==l||s[3]!==i?(o=(0,t.jsx)(a.Provider,{value:i,children:l}),s[2]=l,s[3]=i,s[4]=o):o=s[4],o}e.s(["PARAMETER_RATIONALES",0,{constant_training_system_performance_growth_rate:"Recent compute scaling trends.",slowdown_year:"Investment and fab capacity constraints.",post_slowdown_training_system_performance_growth_rate:"Investment and fab capacity constraints.",present_doubling_time:"In between the doubling time of the past long-term trend and the potential recent speedup.",ac_time_horizon_minutes:"We considered what tasks are required to automate coding in AGI projects, then adjusted our estimate upward to make up for only requiring 80% reliability and also to account for a gap between the time horizon benchmark and real-world tasks.",doubling_difficulty_growth_factor:"Set to <1 because once an AIs are more capable than humans at tasks of any length, time horizon should be infinite, implying superexopnential growth before that point. Specific value is based on intuitions about how the difficulty of time horizon doubling changes over time, and is informed by past data.",ai_research_taste_slope:"Based on data regarding how quickly AIs have moved through the human range for a variety of tasks, and preliminary results from P-Zero Research.",median_to_top_taste_multiplier:"Based on surveys of frontier AI researchers and AI experts.",gap_years:"Intuitions regarding how large the gap between the METR time horizon and the real world tasks might be at tasks that have very high time horizons (which under our conception, determines the size of an effective compute gap)",coding_automation_efficiency_slope:"Data regarding how quickly coding automation efficiency has increased over time.",rho_coding_labor:"Intuition about the level of substitutability between coding tasks.",max_serial_coding_labor_multiplier:"Intuitive estimates of the maximum thinking speed and actions relative to humans, and the efficiency of these actions.",automation_logistic_asymptote:"Allows the logistic curve to overshoot 100% before being clipped, enabling smoother transitions in automation fraction.",rho_experiment_capacity:"Set via the experiment throughput increase from infinite coding labor and the increase from experiment compute.",alpha_experiment_capacity:"Set via the experiment throughput constraints",experiment_compute_exponent:"Set via the experiment throughput constraint",coding_labor_exponent:"Surveys of frontier AI researchers and AI experts as well as our intuitive estimates.",inf_labor_asymptote:"Estimates of what extent extremely fast coding could speed things up despite compute bottlenecks.",inf_compute_asymptote:"Estimating how quickly AGI projects could fully utilize infinite compute, and sanity checking against more marginal constraints that we aren't explicitly modeling",inv_compute_anchor_exp_cap:"Surveys of frontier AI researchers and AI experts.",ai_research_taste_at_coding_automation_anchor_sd:"Surveys of frontier AI researchers and AI experts, plus a minor intuitive adjustment.",taste_limit:"Data on how superhuman Chess and Go AIs are, plus an intuitive adjustment based on how research taste differs from these cases.",taste_limit_smoothing:"Intuition and sanity checking that it seems to give reasonable results.",ted_ai_m2b:"Intuitions regarding the spikiness of AI capability profiles (ASI is always 2 M2Bs above TED-AI).",present_revenue:"Anthropic's most recent reported annualized revenue.",present_revenue_growth_rate:"Based on recent revenue growth, adjusted downward due to expectations of slowing soon.",revenue_required_for_ac:"In between current revenue and the revenue that would be obtained by automating a huge fraction of white-collar labor.",revenue_reference_date:"The date of the most recent reported annualized revenue.",serial_uplift_at_reference_date:"Based on researcher estimates and uplift studies.",excess_uplift_doubling_time:"Based primarily on researcher estimates, and also based on analysis of Anthropic's publicly reported data on how much code is written by AIs.",uplift_reference_date:"The date our uplift estimates were elicited.",serial_uplift_at_ac:"Based on AC's estimated uplift in the full model.",software_progress_rate_at_reference_year:"Analysis of data from the Epoch Capabiltiles Index.",present_day:"The date Opus 4.6 was released.",present_horizon:"Claude Mythos Preview's time horizon.",automation_fraction_at_coding_automation_anchor:"With our current modeling decisions, 100% automation is required for Automated Coder.",optimal_ces_eta_init:"The value that, if it were the same for all tasks, would be required to completely replace humans in present day conditions.",top_percentile:"A rough estimate of the amount of people who do experiment seleciton at current AGI projects."},"PARAMETER_TO_SVG_NODES",0,{present_doubling_time:["Effective compute","Automated coder"],ac_time_horizon_minutes:["Effective compute","Automated coder"],doubling_difficulty_growth_factor:["Effective compute","Automated coder"],co
1ding_automation_efficiency_slope:["Effective compute","Coding automation fraction and efficiency","Aggregate Labor","Aggregate coding labor"],rho_coding_labor:["Human coding labor","Automation compute","Coding automation fraction and efficiency","Aggregate coding labor"],max_serial_coding_labor_multiplier:["Human coding labor","Automation compute","Coding automation fraction and efficiency","Aggregate coding labor"],rho_experiment_capacity:["Aggregate coding labor","Experiment compute","Experiment throughput"],alpha_experiment_capacity:["Aggregate coding labor","Experiment compute","Experiment throughput"],experiment_compute_exponent:["Experiment compute","Experiment throughput"],coding_labor_exponent:["Aggregate coding labor","Experiment throughput"],inf_labor_asymptote:["Aggregate coding labor","Experiment throughput"],inf_compute_asymptote:["Experiment compute","Experiment throughput"],inv_compute_anchor_exp_cap:["Experiment compute","Experiment throughput"],ai_research_taste_at_coding_automation_anchor_sd:["Automated coder","Automated experiment selection skill"],ai_research_taste_slope:["Effective compute","Automated experiment selection skill"],median_to_top_taste_multiplier:["Effective compute","Automated experiment selection skill","Human experiment selection skill"],software_progress_rate_at_reference_year:["Software research effort","Software efficiency"],gap_years:["Effective compute","Automated coder"],present_day:["Inputs"],present_horizon:["Effective compute","Automated coder"],automation_fraction_at_coding_automation_anchor:["Effective compute","Coding automation fraction and efficiency","Automated coder"],taste_limit:[],taste_limit_smoothing:[],ted_ai_m2b:[],optimal_ces_eta_init:[],top_percentile:[]},"ParameterHoverProvider",()=>o,"useParameterHover",()=>i])}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.