1<!DOCTYPE html><html lang="en" data-sentry-component="Root" data-sentry-source-file="+html.tsx"><head><title data-rh="true">Gunner Technology â dispatches from the software factory</title><meta data-rh="true" name="description" content="Straight answers about autonomous software factories, agent-run delivery and what happens to teams that refuse to adapt." data-sentry-element="meta" data-sentry-source-file="PageMetaView.tsx"/><meta data-rh="true" property="og:url" content="https://www.gunnertech.com/blog"/><meta data-rh="true" property="og:type" content="website" data-sentry-element="meta" data-sentry-source-file="PageMetaView.tsx"/><meta data-rh="true" property="og:title" content="Gunner Technology â dispatches from the software factory" data-sentry-element="meta" data-sentry-source-file="PageMetaView.tsx"/><meta data-rh="true" property="og:description" content="Straight answers about autonomous software factories, agent-run delivery and what happens to teams that refuse to adapt." data-sentry-element="meta" data-sentry-source-file="PageMetaView.tsx"/><meta data-rh="true" property="og:image" content="https://www.gunnertech.com/images/social-card.png" data-sentry-element="meta" data-sentry-source-file="PageMetaView.tsx"/><meta data-rh="true" property="og:site_name" content="Gunner Technology" data-sentry-element="meta" data-sentry-source-file="PageMetaView.tsx"/><meta data-rh="true" name="twitter:card" content="summary_large_image" data-sentry-element="meta" data-sentry-source-file="PageMetaView.tsx"/><meta data-rh="true" name="twitter:title" content="Gunner Technology â dispatches from the software factory" data-sentry-element="meta" data-sentry-source-file="PageMetaView.tsx"/><meta data-rh="true" name="twitter:description" content="Straight answers about autonomous software factories, agent-run delivery and what happens to teams that refuse to adapt." data-sentry-element="meta" data-sentry-source-file="PageMetaView.tsx"/><meta data-rh="true" name="twitter:image" content="https://www.gunnertech.com/images/social-card.png" data-sentry-element="meta" data-sentry-source-file="PageMetaView.tsx"/><link data-rh="true" rel="canonical" href="https://www.gunnertech.com/blog"/>
1<script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://www.gunnertech.com/#organization","name":"Gunner Technology","url":"https://www.gunnertech.com/"}]}</script>
1<meta charSet="utf-8" data-sentry-element="meta" data-sentry-source-file="+html.tsx"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" data-sentry-element="meta" data-sentry-source-file="+html.tsx"/><meta http-equiv="X-UA-Compatible" content="IE=edge" data-sentry-element="meta" data-sentry-source-file="+html.tsx"/>
1<script>(function(){var p=location.pathname;var n=p.replace(/\/index\.html$/,'').replace(/\.html$/,'').replace(/\/index$/,'');if(n===''){n='/';}if(n!==p){history.replaceState(null,'',n+location.search+location.hash);}})();</script>
1<script>(function(){try{var m=null;try{m=window.localStorage.getItem('@themeMode');}catch(e){}var t=(m==='dark'||m==='light')?m:(window.matchMedia('(prefers-color-scheme: dark)').matches?'dark':'light');var d=document.documentElement;d.classList.remove(t==='dark'?'light':'dark');d.classList.add(t);d.style.colorScheme=t;}catch(e){}})();</script>
1<style id="expo-reset">#root,body,html{height:100%}body{overflow:hidden}#root{display:flex}</style><style id="react-native-stylesheet">[stylesheet-group="0"]{} 2body{margin:0;} 3button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;} 4html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);} 5input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-webkit-search-results-button,input::-webkit-search-results-decoration{display:none;} 6[stylesheet-group="1"]{} 7.css-11aywtz{-moz-appearance:textfield;-webkit-appearance:none;background-color:rgba(0,0,0,0.00);border-bottom-left-radius:0px;border-bottom-right-radius:0px;border-top-left-radius:0px;border-top-right-radius:0px;border:0 solid black;box-sizing:border-box;font:14px -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;margin:0px;padding:0px;resize:none;} 8.css-146c3p1{background-color:rgba(0,0,0,0.00);border:0 solid black;box-sizing:border-box;color:rgba(0,0,0,1.00);display:inline;font:14px -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;list-style:none;margin:0px;padding:0px;position:relative;text-align:start;text-decoration:none;white-space:pre-wrap;word-wrap:break-word;} 9.css-175oi2r{align-items:stretch;background-color:rgba(0,0,0,0.00);border:0 solid black;box-sizing:border-box;display:flex;flex-basis:auto;flex-direction:column;flex-shrink:0;list-style:none;margin:0px;min-height:0px;min-width:0px;padding:0px;position:relative;text-decoration:none;z-index:0;} 10.css-1jxf684{background-color:rgba(0,0,0,0.00);border:0 solid black;box-sizing:border-box;color:inherit;display:inline;font:inherit;list-style:none;margin:0px;padding:0px;position:relative;text-align:inherit;text-decoration:none;white-space:inherit;word-wrap:break-word;} 11.css-9pa8cd{bottom:0px;height:100%;left:0px;opacity:0;position:absolute;right:0px;top:0px;width:100%;z-index:-1;} 12.css-g5y9jx{align-content:flex-start;align-items:stretch;background-color:rgba(0,0,0,0.00);border:0 solid black;box-sizing:border-box;display:flex;flex-basis:auto;flex-direction:column;flex-shrink:0;list-style:none;margin:0px;min-height:0px;min-width:0px;padding:0px;position:relative;text-decoration:none;z-index:0;} 13[stylesheet-group="2"]{} 14.r-11mg6pl{border-bottom-color:rgba(255,255,255,1.00);border-left-color:rgba(255,255,255,1.00);border-right-color:rgba(255,255,255,1.00);border-top-color:rgba(255,255,255,1.00);} 15.r-13awgt0{flex:1;} 16.r-1awa8pu{border-bottom-color:rgba(101,119,134,1.00);border-left-color:rgba(101,119,134,1.00);border-right-color:rgba(101,119,134,1.00);border-top-color:rgba(101,119,134,1.00);} 17.r-1bq2mok{margin:3px;} 18.r-1d4xg89{border-bottom-color:rgba(170,184,194,1.00);border-left-color:rgba(170,184,194,1.00);border-right-color:rgba(170,184,194,1.00);border-top-color:rgba(170,184,194,1.00);} 19.r-1dzdj1l{border-bottom-left-radius:10px;border-bottom-right-radius:10px;border-top-left-radius:10px;border-top-right-radius:10px;} 20.r-1f0042m{border-bottom-left-radius:5px;border-bottom-right-radius:5px;border-top-left-radius:5px;border-top-right-radius:5px;} 21.r-1j16mh1{border-bottom-left-radius:100%;border-bottom-right-radius:100%;border-top-left-radius:100%;border-top-right-radius:100%;} 22.r-1jkafct{border-bottom-left-radius:2px;border-bottom-right-radius:2px;border-top-left-radius:2px;border-top-right-radius:2px;} 23.r-1jyn79y{border-bottom-color:rgba(0,150,136,1.00);border-left-color:rgba(0,150,136,1.00);border-right-color:rgba(0,150,136,1.00);border-top-color:rgba(0,150,136,1.00);} 24.r-1pcd2l5{padding:20px;} 25.r-1phboty{border-bottom-style:solid;border-left-style:solid;border-right-style:solid;border-top-style:solid;} 26.r-1q9bdsx{border-bottom-left-radius:12px;border-bottom-right-radius:12px;border-top-left-radius:12px;border-top-right-radius:12px;} 27.r-1qsk4np{overflow-x:clip;overflow-y:clip;} 28.r-1rvyss1{border-bottom-color:rgba(255,255,255,0.20);border-left-color:rgba(255,255,255,0.20);border-right-color:rgba(255,255,255,0.20);border-top-color:rgba(255,255,255,0.20);} 29.r-1sp51qo{padding:10px;} 30.r-1udh08x{overflow-x:hidden;overflow-y:hidden;} 31.r-1uu6nss{padding:5px;} 32.r-1xfd6ze{border-bottom-left-radius:8px;border-bottom-right-radius:8px;border-top-left-radius:8px;border-top-right-radius:8px;} 33.r-4a18lf{border-bottom-color:rgba(255,0,0,1.00);border-left-color:rgba(255,0,0,1.00);border-right-color:rgba(255,0,0,1.00);border-top-color:rgba(255,0,0,1.00);} 34.r-60ke3l{border-bottom-color:rgba(0,128,0,1.00);border-left-color:rgba(0,128,0,1.00);border-right-color:rgba(0,128,0,1.00);border-top-color:rgba(0,128,0,1.00);} 35.r-6t2glc{border-bottom-left-radius:40px;border-bottom-right-radius:40px;border-top-left-radius:40px;border-top-right-radius:40px;} 36.r-9x6qib{border-bottom-color:rgba(204,214,221,1.00);border-left-color:rgba(204,214,221,1.00);border-right-color:rgba(204,214,221,1.00);border-top-color:rgba(204,214,221,1.00);} 37.r-crgep1{margin:0px;} 38.r-d045u9{border-bottom-width:2px;border-left-width:2px;border-right-width:2px;border-top-width:2px;} 39.r-d23pfw{padding:24px;} 40.r-edyy15{padding:8px;} 41.r-fx7oqy{border-bottom-color:rgba(0,0,255,1.00);border-left-color:rgba(0,0,255,1.00);border-right-color:rgba(0,0,255,1.00);border-top-color:rgba(0,0,255,1.00);} 42.r-krxsd3{display:-webkit-box;} 43.r-rs99b7{border-bottom-width:1px;border-left-width:1px;border-right-width:1px;border-top-width:1px;} 44.r-t60dpp{padding:0px;} 45.r-wg31gx{border-bottom-color:rgba(49,53,56,1.00);border-left-color:rgba(49,53,56,1.00);border-right-color:rgba(49,53,56,1.00);border-top-color:rgba(49,53,56,1.00);} 46.r-xoduu5{display:inline-flex;} 47.r-ywje51{margin:auto;} 48.r-z2wwpe{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-top-left-radius:4px;border-top-right-radius:4px;} 49[stylesheet-group="2.1"]{} 50.r-11f147o{padding-bottom:8px;padding-top:8px;} 51.r-11nzuo4{margin-bottom:1em;margin-top:1em;} 52.r-17q4wm6{margin-left:5px;margin-right:5px;} 53.r-184id4b{margin-bottom:12px;margin-top:12px;} 54.r-1946khe{margin-bottom:1.67em;margin-top:1.67em;} 55.r-19oforl{margin-bottom:0.67em;margin-top:0.67em;} 56.r-1d7mnkm{padding-bottom:15px;padding-top:15px;} 57.r-1e084wi{padding-left:0px;padding-right:0px;} 58.r-1hga0el{margin-bottom:1.33em;margin-top:1.33em;} 59.r-1jm7qrm{margin-bottom:2.33em;margin-top:2.33em;} 60.r-1mmae3n{padding-bottom:12px;padding-top:12px;} 61.r-1ntr0p{padding-left:5px;padding-right:5px;} 62.r-1rsorjc{padding-left:36px;padding-right:36px;} 63.r-1u31v3z{margin-bottom:0.83em;margin-top:0.83em;} 64.r-1yd117h{padding-bottom:7px;padding-top:7px;} 65.r-3o4zer{padding-left:12px;padding-right:12px;} 66.r-cxgwc0{padding-left:24px;padding-right:24px;} 67.r-f8sm7e{margin-left:auto;margin-right:auto;} 68.r-is05cd{padding-left:8px;padding-right:8px;} 69.r-jdiy1a{margin-left:11px;margin-right:11px;} 70.r-jusfrs{margin-left:12px;margin-right:12px;} 71.r-n5f61p{margin-bottom:3px;margin-top:3px;} 72.r-n7gxbd{padding-left:4px;padding-right:4px;} 73.r-u9wvl5{padding-left:20px;padding-right:20px;} 74.r-ugi1tw{padding-left:5%;padding-right:5%;} 75.r-w7s2jr{padding-bottom:16px;padding-top:16px;} 76.r-ytbthy{padding-bottom:10px;padding-top:10px;} 77[stylesheet-group="2.2"]{} 78.r-10s2tm5{left:0%;} 79.r-16o8guy{right:100%;} 80.r-1a11zyx{margin-right:12px;} 81.r-1cwvpvk{margin-left:12px;} 82.r-1e97lx8{margin-right:3px;} 83.r-1euzeng{padding-left:24px;} 84.r-1g4tz6n{margin-right:-14.5px;} 85.r-1h31txp{padding-right:16px;} 86.r-1lhn9r{margin-left:-14.5px;} 87.r-1sqnqi2{margin-left:3px;} 88.r-1vl2501{padding-right:24px;} 89.r-9mo606{margin-right:10px;} 90.r-c59us2{left:-3px;} 91.r-dqe1q{right:0%;} 92.r-qb41rp{margin-right:5px;} 93.r-rci37q{left:100%;} 94.r-uhung1{margin-left:10px;} 95.r-vpmibe{right:-3px;} 96.r-w67my2{padding-left:16px;} 97.r-wizibn{margin-left:5px;} 98[stylesheet-group="3"]{} 99.r-105ug2t{pointer-events:auto!important;} 100.r-10ptun7{height:16px;} 101.r-10rkof1{height:0.5em;}
102.r-10v3vxq{transform:scaleX(-1);} 103.r-10x49cs{font-size:10px;} 104.r-10xqauy{padding-top:env(safe-area-inset-top);} 105.r-11j9u27{visibility:hidden;} 106.r-11mpjr4{background-color:rgba(223,223,223,1.00);} 107.r-11udlyb{background-color:rgba(0,150,136,1.00);} 108.r-11v9fek{min-width:180px;} 109.r-11yh6sk{overflow-x:hidden;} 110.r-12f6czt{top:17px;} 111.r-12vffkv>* {pointer-events:auto;} 112.r-12vffkv{pointer-events:none!important;} 113.r-135wba7{line-height:24px;} 114.r-13aq9py{animation-name:r-1iq689l;} 115.r-13qz1uu{width:100%;} 116.r-13tjlyg{transition-duration:0.1s;} 117.r-142tt33{-webkit-text-decoration-line:line-through;text-decoration-line:line-through;} 118.r-1472mwg{height:24px;} 119.r-14gqq1x{margin-top:4px;} 120.r-14lw9ot{background-color:rgba(255,255,255,1.00);} 121.r-14sbq61{background-color:rgba(33,150,243,1.00);} 122.r-150rngu{-webkit-overflow-scrolling:touch;} 123.r-16y2uox{flex-grow:1;} 124.r-173mn98{align-self:flex-end;} 125.r-173mzie{transform:scaleY(-1);} 126.r-1777fci{justify-content:center;} 127.r-17bb2tj{animation-duration:0.75s;} 128.r-17leim2{background-repeat:repeat;} 129.r-17s6mgv{justify-content:flex-end;} 130.r-17tb59b{opacity:0.7;} 131.r-17tloay{opacity:0.6;} 132.r-17u3ijr{background-color:rgba(155,161,166,0.27);} 133.r-184en5c{z-index:1;} 134.r-18nhz7w{top:-3px;} 135.r-18u1ve8{color:rgba(255,255,255,0.40);} 136.r-18u37iz{flex-direction:row;} 137.r-19oahor{font-size:64px;} 138.r-19wmn03{width:20px;} 139.r-19z077z{touch-action:none;} 140.r-1a2p6p6{-webkit-text-decoration-style:solid;text-decoration-style:solid;} 141.r-1abnn5w{animation-play-state:paused;} 142.r-1acpoxo{width:36px;} 143.r-1aockid{width:40px;} 144.r-1awozwy{align-items:center;} 145.r-1ay1djp{animation-duration:1s;} 146.r-1b43r93{font-size:14px;} 147.r-1c6unfx{forced-color-adjust:none;} 148.r-1c85bru{width:270px;} 149.r-1cmwbt1{gap:8px;} 150.r-1d2f490{left:0px;} 151.r-1d5kdc7{flex-direction:column-reverse;} 152.r-1ddef8g{-webkit-text-decoration-line:underline;text-decoration-line:underline;} 153.r-1dernwh{height:70%;} 154.r-1ei5mc7{cursor:inherit;} 155.r-1enofrn{font-size:12px;} 156.r-1euycsn{flex-direction:row-reverse;} 157.r-1ewcgjf{box-shadow:0px 1px 3px rgba(0,0,0,0.5);} 158.r-1ff274t{text-align:right;} 159.r-1g80hic{opacity:0.8;} 160.r-1ge9hsw{max-width:960px;} 161.r-1ghxqbu{font-variant:tabular-nums;} 162.r-1h0z5md{justify-content:flex-start;} 163.r-1h2t8mc{width:0px;} 164.r-1habvwh{align-items:flex-start;} 165.r-1i10wst{font-size:18px;} 166.r-1i6wzkk{-moz-transition-property:opacity;-webkit-transition-property:opacity;transition-property:opacity;} 167.r-1i71y14{gap:14px;} 168.r-1ikidpy{letter-spacing:0.5px;} 169.r-1iln25a{word-wrap:normal;} 170.r-1inkyih{font-size:17px;} 171.r-1iusvr4{flex-basis:0px;} 172.r-1janqcz{width:16px;} 173.r-1jkjb{margin-left:8px;} 174.r-1kb76zh{margin-right:8px;} 175.r-1kfbv51{background-color:rgba(178,34,34,1.00);} 176.r-1kfrs79{font-weight:600;} 177.r-1kihuf0{align-self:center;} 178.r-1ld3bg{top:-4px;} 179.r-1ldzwu0{animation-timing-function:linear;} 180.r-1lijs1h{font-size:1.5em;} 181.r-1loqt21{cursor:pointer;} 182.r-1mlwlqe{flex-basis:auto;} 183.r-1mrlafo{background-position:0;} 184.r-1muvv40{animation-iteration-count:infinite;} 185.r-1niwhzg{background-color:rgba(0,0,0,0.00);} 186.r-1nlw0im{bottom:8px;} 187.r-1no09lo{margin-top:28px;} 188.r-1nxhmzv{margin-bottom:28px;} 189.r-1ny4l3l{outline-style:none;} 190.r-1ocf4r9{scroll-snap-type:y mandatory;} 191.r-1onu96p{border-curve:continuous;} 192.r-1oszu61{align-items:stretch;} 193.r-1otgn73{touch-action:manipulation;} 194.r-1p0dtai{bottom:0px;} 195.r-1pi2tsx{height:100%;} 196.r-1pm8pkb{font-family:Courier;} 197.r-1qd0xha{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;} 198.r-1qulhi1{animation-name:r-1pzkwqh;} 199.r-1r4fvd0{color:rgba(82,169,255,1.00);} 200.r-1r74h94{left:8px;} 201.r-1r8g8re{height:36px;} 202.r-1rnoaur{overflow-y:auto;} 203.r-1ssbvtb{gap:12px;} 204.r-1sxrcry{background-size:auto;} 205.r-1udbk01{text-overflow:ellipsis;} 206.r-1ui5ee8{font-size:32px;} 207.r-1vr29t4{font-weight:800;} 208.r-1w6e6rj{flex-wrap:wrap;} 209.r-1wbh5a2{flex-shrink:1;} 210.r-1wtj0ep{justify-content:space-between;} 211.r-1wyyakw{z-index:-1;} 212.r-1xcajam{position:fixed;} 213.r-1xnzce8{-moz-user-select:text;-webkit-user-select:text;user-select:text;} 214.r-1xpsq9i{box-shadow:0px 3px 3px rgba(0, 0, 0, 0.33);} 215.r-1xzupcd{width:13px;} 216.r-1yef0xd{animation-name:r-11cv4x;} 217.r-2eszeu::-webkit-scrollbar{display:none} 218.r-2eszeu{scrollbar-width:none;} 219.r-30o5oe{-moz-appearance:none;-ms-appearance:none;-webkit-appearance:none;appearance:none;} 220.r-356f0p{letter-spacing:0.35px;} 221.r-36ujnk{font-style:italic;} 222.r-3mc0re{right:8px;} 223.r-3s2u2q{white-space:nowrap;} 224.r-417010{z-index:0;} 225.r-4gszlv{background-size:cover;} 226.r-4v7adb{height:5px;} 227.r-5oul0u{margin-bottom:8px;} 228.r-60vfwk{min-width:1px;} 229.r-633pao>* {pointer-events:none;} 230.r-633pao{pointer-events:none!important;} 231.r-6dt33c{opacity:1;} 232.r-6e8ixz{font-size:2em;} 233.r-6gpygo{margin-bottom:12px;} 234.r-6taxm2:-ms-input-placeholder{color:var(--placeholderTextColor);opacity:1;} 235.r-6taxm2::-moz-placeholder{color:var(--placeholderTextColor);opacity:1;} 236.r-6taxm2::-webkit-input-placeholder{color:var(--placeholderTextColor);opacity:1;} 237.r-6taxm2::placeholder{color:var(--placeholderTextColor);opacity:1;} 238.r-726pan{width:31px;} 239.r-76blku{height:21px;} 240.r-7cikom{font-size:inherit;} 241.r-7q8q6z{cursor:default;} 242.r-8akbws{-webkit-box-orient:vertical;} 243.r-8ay8q1{letter-spacing:0.1px;} 244.r-97e31f{padding-bottom:env(safe-area-inset-bottom);} 245.r-98uye2{background-color:rgba(255,255,0,1.00);} 246.r-9daxd3{animation-duration:250ms;} 247.r-adyw6z{font-size:20px;} 248.r-agouwx{transform:translateZ(0);} 249.r-ah5dr5>* {pointer-events:none;} 250.r-ah5dr5{pointer-events:auto!important;} 251.r-aruset{font-weight:200;} 252.r-bi4vy9{transform:translateY(100%);} 253.r-bt1l66{min-height:20px;} 254.r-buy8e9{overflow-y:hidden;} 255.r-bv2aro{padding-left:env(safe-area-inset-left);} 256.r-bzi31h{font-size:1em;} 257.r-c68hjy{color:rgba(161,161,161,1.00);} 258.r-cpa5s6{scroll-snap-align:start;} 259.r-cqee49{color:rgba(0,0,0,1.00);} 260.r-dkge59{background-color:rgba(170,184,194,1.00);} 261.r-dnmrzs{max-width:100%;} 262.r-eafdt9{transition-duration:0.15s;} 263.r-ebwn4k{animation-name:r-q67da2;} 264.r-ehq7j7{background-size:contain;} 265.r-eqz5dr{flex-direction:column;} 266.r-eu3ka{height:40px;} 267.r-fdjqy7{text-align:left;} 268.r-g3mlsw{animation-name:r-t2lo5v;} 269.r-ghxds0{transform:translateY(0%);} 270.r-gtdqiz{position:-webkit-sticky;position:sticky;} 271.r-h0d30l{height:28px;} 272.r-hxflta{padding-right:env(safe-area-inset-right);} 273.r-icoktb{opacity:0.5;} 274.r-ipm5af{top:0px;} 275.r-jwli3a{color:rgba(255,255,255,1.00);} 276.r-k200y{align-self:flex-start;} 277.r-kemksi{background-color:rgba(0,0,0,1.00);} 278.r-kizejy{color:rgba(155,161,166,1.00);} 279.r-knv0ih{margin-top:8px;} 280.r-leqjx2{animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);} 281.r-lltvgl{overflow-x:auto;} 282.r-lpb231{height:168px;} 283.r-lrsllp{width:24px;} 284.r-lrvibr{-moz-user-select:none;-webkit-user-select:none;user-select:none;} 285.r-majxgm{font-weight:500;} 286.r-mfh4gg{scroll-snap-type:x mandatory;} 287.r-mhe3cw{z-index:10;} 288.r-mro3nb{background-color:rgba(21,23,24,1.00);} 289.r-n230yh{font-size:0.83em;} 290.r-n6v787{font-size:13px;} 291.r-o4n3w5{width:23px;} 292.r-orgf3d{opacity:0;} 293.r-q4m81j{text-align:center;} 294.r-qfi6ny{top:30000px;} 295.r-qklmqi{border-bottom-width:1px;} 296.r-qn3fzs{padding-bottom:24px;} 297.r-rjixqe{line-height:20px;} 298.r-rs94m5{background-image:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8
298cGF0aAogICAgIGQ9Ik0gMC4wNDAzODA1OSwwLjYyNjc3NjcgMC4xNDY0NDY2MSwwLjUyMDcxMDY4IDAuNDI5Mjg5MzIsMC44MDM1NTMzOSAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IE0gMC4yMTcxNTcyOSwwLjgwMzU1MzM5IDAuODUzNTUzMzksMC4xNjcxNTcyOSAwLjk1OTYxOTQxLDAuMjczMjIzMyAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IgogICAgIGlkPSJyZWN0Mzc4MCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIiAvPgo8L3N2Zz4K");} 299.r-s62m2j{animation-timing-function:cubic-bezier(0.47, 0, 0.745, 0.715);} 300.r-sfbmgh{z-index:9999;} 301.r-so7y2g{line-height:64px;} 302.r-tg2c11{font-size:1.17em;} 303.r-tsynxw{text-transform:uppercase;} 304.r-u6sd8q{background-repeat:no-repeat;} 305.r-u8s1d{position:absolute;} 306.r-u92y06{background-color:rgba(255,165,0,1.00);} 307.r-ubezar{font-size:16px;} 308.r-uho16t{font-size:34px;} 309.r-vacyoi{padding-bottom:64px;} 310.r-van48c{caret-color:transparent;} 311.r-vboj7i{top:-7px;} 312.r-vvn4in{background-position:center;} 313.r-vw2c0b{font-weight:bold;} 314.r-wfqgy4{transition-duration:100ms;} 315.r-ws9h79{left:4px;} 316.r-x11e5r{font-family:SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;} 317.r-x3cy2q{background-size:100% 100%;} 318.r-xx3c9p{animation-name:r-imtty0;} 319.r-y7v2we{background-color:rgba(32,36,37,1.00);} 320.r-ydqdv4{font-size:0.67em;} 321.r-z80fyv{height:20px;} 322.r-zchlnj{right:0px;} 323.r-zz5t5d{font-size:28px;} 324@-webkit-keyframes r-11cv4x{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}} 325@-webkit-keyframes r-1iq689l{0%{transform:translateY(0%);}100%{transform:translateY(100%);}} 326@-webkit-keyframes r-1pzkwqh{0%{transform:translateY(100%);}100%{transform:translateY(0%);}} 327@-webkit-keyframes r-imtty0{0%{opacity:0;}100%{opacity:1;}} 328@-webkit-keyframes r-q67da2{0%{transform:translateX(-100%);}100%{transform:translateX(400%);}} 329@-webkit-keyframes r-t2lo5v{0%{opacity:1;}100%{opacity:0;}} 330@keyframes r-11cv4x{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}} 331@keyframes r-1iq689l{0%{transform:translateY(0%);}100%{transform:translateY(100%);}} 332@keyframes r-1pzkwqh{0%{transform:translateY(100%);}100%{transform:translateY(0%);}} 333@keyframes r-imtty0{0%{opacity:0;}100%{opacity:1;}} 334@keyframes r-q67da2{0%{transform:translateX(-100%);}100%{transform:translateX(400%);}} 335@keyframes r-t2lo5v{0%{opacity:1;}100%{opacity:0;}}</style>
335<script id="expo-router-data">globalThis.__EXPO_ROUTER_LOADER_DATA__ = JSON.parse("{\"/blog/index\":[{\"post\":{\"slug\":\"the-harness-is-the-operating-system\",\"publishedOn\":\"2026-10-03\",\"title\":\"The Harness Is the Operating System\",\"lede\":\"The model can reason. The harness decides what that reasoning is allowed to become.\",\"hero\":{\"path\":\"/images/blog/the-harness-is-the-operating-system.webp\",\"alt\":\"Stack locks a glowing reasoning core into a guarded factory control ring while wild smoke and broken paths press against its outer gates.\"}}},{\"post\":{\"slug\":\"cheap-judgment-still-has-to-earn-authority\",\"publishedOn\":\"2026-09-19\",\"title\":\"Cheap Judgment Still Has to Earn Authority\",\"lede\":\"A machine can now judge thousands of routine cases for less than the cost of asking a person to open the queue. That changes what you can measure. It does not change what you should trust.\",\"hero\":{\"path\":\"/images/blog/cheap-judgment-still-has-to-earn-authority.webp\",\"alt\":\"Stack advances a small glowing judgment gear through a series of guarded factory gates while a tangled backlog presses against the machinery.\"}}},{\"post\":{\"slug\":\"confidence-needs-a-cost-function\",\"publishedOn\":\"2026-09-19\",\"title\":\"Confidence Needs a Cost Function\",\"lede\":\"A model can be honestly uncertain and still send the work to the wrong place. The score is not the decision. The consequence is.\",\"hero\":{\"path\":\"/images/blog/confidence-needs-a-cost-function.webp\",\"alt\":\"Stack weighs glowing routing signals on a mechanical balance before opening guarded factory gates while tangled multilingual currents press against the switchboard.\"}}},{\"post\":{\"slug\":\"the-router-is-not-the-factory\",\"publishedOn\":\"2026-09-19\",\"title\":\"The Router Is Not the Factory\",\"lede\":\"A tiny model that makes one narrow decision quickly can change the economics of an agent system. It still cannot tell you whether the system deserves to run.\",\"hero\":{\"path\":\"/images/blog/the-router-is-not-the-factory.webp\",\"alt\":\"Stack sets a compact mechanical switchyard that routes glowing workpieces into guarded factory lines while a cloud of tangled paths presses against the gates.\"}}},{\"post\":{\"slug\":\"a-proof-cannot-rescue-the-wrong-problem\",\"publishedOn\":\"2026-09-18\",\"title\":\"A Proof Cannot Rescue the Wrong Problem\",\"lede\":\"You can prove that software obeys every rule you wrote and still build the wrong thing. The proof may be flawless. The decision that came before it may not be.\",\"hero\":{\"path\":\"/images/blog/a-proof-cannot-rescue-the-wrong-problem.webp\",\"alt\":\"Stack diverts a glowing mechanism from a perfectly sealed but misdirected proof track toward a researched route through a disciplined factory while smoky shortcuts press against the junction.\"}}},{\"post\":{\"slug\":\"the-ide-is-a-manual-control-loop\",\"publishedOn\":\"2026-09-18\",\"title\":\"The IDE Is a Manual Control Loop\",\"lede\":\"A coding agent inside your editor can feel autonomous while it waits for you at every meaningful turn. If you have to keep watching, the agent is not running the work. You are.\",\"hero\":{\"path\":\"/images/blog/the-ide-is-a-manual-control-loop.webp\",\"alt\":\"Stack pulls a glowing software component out of a cramped control booth and sends it through a wide, gated factory route while loose smoky cables resist the transfer.\"}}},{\"post\":{\"slug\":\"autonomy-stops-where-observation-stops\",\"publishedOn\":\"2026-09-17\",\"title\":\"Autonomy Stops Where Observation Stops\",\"lede\":\"An agent cannot take responsibility for a system it cannot see. Give it half the environment and you get half the autonomy, no matter how capable the model is.\",\"hero\":{\"path\":\"/images/blog/autonomy-stops-where-observation-stops.webp\",\"alt\":\"Stack opens a sequence of mechanical observation gates that turn obscured failures into a clear evidence trail through a disciplined factory.\"}}},{\"post\":{\"slug\":\"quality-is-part-of-the-agent-price\",\"publishedOn\":\"2026-09-17\",\"title\":\"Quality Is Part of the Agent Price\",\"lede\":\"A coding agent is not cheap because its meter is low. It is cheap when the work it produces survives without sending the rest of the bill to somebody else.\",\"hero\":{\"path\":\"/images/blog/quality-is-part-of-the-agent-price.webp\",\"alt\":\"Stack weighs a stream of glowing machine parts against the complete burden of proof, repair, and discarded work while loose smoke strains around the measuring gate.\"}}},{\"post\":{\"slug\":\"you-are-benchmarking-the-harness\",\"publishedOn\":\"2026-09-17\",\"title\":\"You Are Benchmarking the Harness\",\"lede\":\"Put the same model inside two different c
335oding systems and you do not have the same worker. You have two different factories pretending to share an engine.\",\"hero\":{\"path\":\"/images/blog/you-are-benchmarking-the-harness.webp\",\"alt\":\"Stack routes one glowing mechanical core through two contrasting factory harnesses, revealing a disciplined proof line on one side and tangled smoky pressure on the other.\"}}},{\"post\":{\"slug\":\"trust-should-be-paid-for-once\",\"publishedOn\":\"2026-09-16\",\"title\":\"Trust Should Be Paid for Once\",\"lede\":\"An agent that has to rediscover who it is, what it may do, and whether the system around it is telling the truth will spend your budget answering questions the factory should have settled already.\",\"hero\":{\"path\":\"/images/blog/trust-should-be-paid-for-once.webp\",\"alt\":\"Stack locks a durable role plate into a factory station while loose smoke strains against the station's guarded boundary.\"}}},{\"post\":{\"slug\":\"repetition-is-the-factory-test\",\"publishedOn\":\"2026-09-15\",\"title\":\"Repetition Is the Factory Test\",\"lede\":\"One clean agent run proves that the agent can finish a task. The second run, after the context changed and nobody stayed late to rescue it, tells you whether you built a factory.\",\"hero\":{\"path\":\"/images/blog/repetition-is-the-factory-test.webp\",\"alt\":\"Stack resets a mechanical production loop for another pass while loose smoke presses against its guarded handoffs.\"}}},{\"post\":{\"slug\":\"the-agent-is-not-where-your-product-lives\",\"publishedOn\":\"2026-09-15\",\"title\":\"The Agent Is Not Where Your Product Lives\",\"lede\":\"The agent can write the code. It should not be the only place that knows what the product is, how the work gets done, or why the result is allowed to ship.\",\"hero\":{\"path\":\"/images/blog/the-agent-is-not-where-your-product-lives.webp\",\"alt\":\"Stack loads durable context plates into a guarded factory mechanism while a shifting cloud of loose machine parts presses against the line.\"}}},{\"post\":{\"slug\":\"every-feature-needs-an-exit\",\"publishedOn\":\"2026-09-14\",\"title\":\"Every Feature Needs an Exit\",\"lede\":\"The dangerous thing about cheap code is not that agents will write bad features. It is that they will make every feature feel too inexpensive to refuse and too established to remove.\",\"hero\":{\"path\":\"/images/blog/every-feature-needs-an-exit.webp\",\"alt\":\"Stack pulls an obsolete mechanism from a disciplined factory line while tangled smoky growth presses in around the open space.\"}}},{\"post\":{\"slug\":\"the-harness-is-a-security-boundary\",\"publishedOn\":\"2026-09-14\",\"title\":\"The Harness Is a Security Boundary\",\"lede\":\"You can spend months deciding whether a model is safe, then give it a harness that turns one bad decision into a thousand fast, repeatable actions. The model is only one part of the threat surface.\",\"hero\":{\"path\":\"/images/blog/the-harness-is-a-security-boundary.webp\",\"alt\":\"Stack closes a heavy mechanical gate around a branching agent assembly line while smoky tendrils press against the controlled boundary.\"}}},{\"post\":{\"slug\":\"a-second-agent-is-not-independent-proof\",\"publishedOn\":\"2026-09-12\",\"title\":\"A Second Agent Is Not Independent Proof\",\"lede\":\"Giving a coding agent another agent to test its work is a real advance. It is also the start of a verification system, not the end of one. Two agents can still share the same blind spot, reward the same shortcut, and agree on a result that should never ship.\",\"hero\":{\"path\":\"/images/blog/a-second-agent-is-not-independent-proof.webp\",\"alt\":\"Stack separates a mechanical builder from an independent proof chamber while tangled smoke presses against the testing gate.\"}}},{\"post\":{\"slug\":\"ai-code-needs-a-higher-bar\",\"publishedOn\":\"2026-09-12\",\"title\":\"AI Code Needs a Higher Bar\",\"lede\":\"Code written by an agent should face a higher bar before it reaches production. Not because a person is automatically better, but because automation can repeat one bad assumption across a codebase before a human team finishes discussing the first pull request.\",\"hero\":{\"path\":\"/images/blog/ai-code-needs-a-higher-bar.webp\",\"alt\":\"Stack raise
335s a fortified mechanical gate around a fast assembly line while smoky duplicate flaws press toward the production side.\"}}},{\"post\":{\"slug\":\"coding-is-a-hobby-delivery-is-the-job\",\"publishedOn\":\"2026-09-12\",\"title\":\"Coding Is a Hobby. Delivery Is the Job.\",\"lede\":\"Writing code by hand is becoming an elective activity. You can still love it, teach it, and get very good at it. But an organization that pays people to type every implementation themselves is choosing craft over economics.\",\"hero\":{\"path\":\"/images/blog/coding-is-a-hobby-delivery-is-the-job.webp\",\"alt\":\"Stack guides streams of machine-built components through a guarded proof gate while an abandoned hand tool rests outside the active factory line.\"}}},{\"post\":{\"slug\":\"creativity-is-not-a-release-decision\",\"publishedOn\":\"2026-09-12\",\"title\":\"Creativity Is Not a Release Decision\",\"lede\":\"An agent can produce a hundred plausible directions before your team finishes debating the first one. That does not make judgment obsolete. It makes selection the most expensive decision in the room.\",\"hero\":{\"path\":\"/images/blog/creativity-is-not-a-release-decision.webp\",\"alt\":\"Stack routes one precise glowing mechanism from a storm of unfinished inventions through a guarded factory gate.\"}}},{\"post\":{\"slug\":\"recursive-improvement-is-a-factory-problem\",\"publishedOn\":\"2026-09-12\",\"title\":\"Recursive Improvement Is a Factory Problem\",\"lede\":\"A model that helps improve the next model sounds like a loop. It is not one. Until the work can propose a change, run an experiment, judge the evidence, and survive a bad result, you have a clever assistant waiting on a human research process.\",\"hero\":{\"path\":\"/images/blog/recursive-improvement-is-a-factory-problem.webp\",\"alt\":\"Stack closes a disciplined mechanical loop around an experiment chamber while uncontrolled sparks press against its proof gates.\"}}},{\"post\":{\"slug\":\"the-factory-is-built-from-refusals\",\"publishedOn\":\"2026-09-12\",\"title\":\"The Factory Is Built From Refusals\",\"lede\":\"Launching more coding agents is easy. Building a system that knows when they should not start, continue, or ship is the actual work.\",\"hero\":{\"path\":\"/images/blog/the-factory-is-built-from-refusals.webp\",\"alt\":\"Stack routes glowing workpieces through a series of mechanical gates while loose smoky fragments are rejected into the surrounding wash.\"}}},{\"post\":{\"slug\":\"a-green-gate-can-still-miss-the-change\",\"publishedOn\":\"2026-09-11\",\"title\":\"A Green Gate Can Still Miss the Change\",\"lede\":\"Every check passed. The new behavior still escaped three of them. That is not a testing failure. It is an inventory failure hiding behind a green result.\",\"hero\":{\"path\":\"/images/blog/a-green-gate-can-still-miss-the-change.webp\",\"alt\":\"Stack routes a newly forged component through a complete ring of inspection gates while loose smoke conceals broken, disconnected checkpoints nearby.\"}}},{\"post\":{\"slug\":\"a-model-launch-is-not-a-capacity-plan\",\"publishedOn\":\"2026-09-11\",\"title\":\"A Model Launch Is Not a Capacity Plan\",\"lede\":\"A new model can beat yesterday's favorite before your procurement meeting ends. That is useful. It is also a terrible foundation for an operating plan.\",\"hero\":{\"path\":\"/images/blog/a-model-launch-is-not-a-capacity-plan.webp\",\"alt\":\"Stack routes interchangeable glowing machine cores through a rigorous proving gate while a turbulent scoreboard-like cloud collapses behind the factory line.\"}}},{\"post\":{\"slug\":\"disposable-code-needs-a-hard-boundary\",\"publishedOn\":\"2026-09-11\",\"title\":\"Disposable Code Needs a Hard Boundary\",\"lede\":\"An agent can write ugly code that is perfectly fit for a five-second tool call. The failure begins when that same code crosses into the product and nobody makes it earn the right to stay.\",\"hero\":{\"path\":\"/images/blog/disposable-code-needs-a-hard-boundary.webp\",\"alt\":\"Stack sorts rough temporary mechanisms away from polished components at a guarded factory boundary while tangled smoke presses toward the durable assembly line.\"}}},{\"post\":{\"slug\":\"green-tests-are-not-a-clean-bill-of-health\",\"publishedOn\":\"2026-09-11\",\"title\":\"Green Tests Are Not a Clean Bill of Health\",\"lede\":\"An agent can make every test pass and still leave the codebase worse than
335it found it. Correct behavior is the entry fee. The factory also has to control what each change does to the system behind that behavior.\",\"hero\":{\"path\":\"/images/blog/green-tests-are-not-a-clean-bill-of-health.webp\",\"alt\":\"Stack guides a clean gear assembly through a measuring gate while tangled duplicate machinery presses against the factory line from the shadows.\"}}},{\"post\":{\"slug\":\"a-testing-tool-is-not-a-testing-strategy\",\"publishedOn\":\"2026-09-08\",\"title\":\"A Testing Tool Is Not a Testing Strategy\",\"lede\":\"Tell an agent to use fuzzing, property tests, or formal methods and it may use the tool perfectly while proving almost nothing. The label changed. The verification strategy did not.\",\"hero\":{\"path\":\"/images/blog/a-testing-tool-is-not-a-testing-strategy.webp\",\"alt\":\"Stack aims a precise mechanical testing rig at the strained joints of a complex machine while loose ornamental tools dissolve into smoke.\"}}},{\"post\":{\"slug\":\"bad-code-does-not-find-the-bottom\",\"publishedOn\":\"2026-09-07\",\"title\":\"Bad Code Does Not Find the Bottom\",\"lede\":\"Bad code does not eventually become too bad to continue. It keeps accepting one more shortcut, one more patch, and one more feature until the business discovers the limit for it.\",\"hero\":{\"path\":\"/images/blog/bad-code-does-not-find-the-bottom.webp\",\"alt\":\"Stack braces a descending factory platform with a locked mechanical stop while cracked gears and dark smoke pull the uncontrolled machinery downward.\"}}},{\"post\":{\"slug\":\"build-buy-or-blend-is-a-routing-decision\",\"publishedOn\":\"2026-09-07\",\"title\":\"Build, Buy, or Blend Is a Routing Decision\",\"lede\":\"The build-versus-buy debate asks for one answer and then tries to make that answer last forever. AI makes that mistake more expensive, not less.\",\"hero\":{\"path\":\"/images/blog/build-buy-or-blend-is-a-routing-decision.webp\",\"alt\":\"Stack directs glowing components through three guarded factory routes while tangled smoke pushes against the switching mechanism.\"}}},{\"post\":{\"slug\":\"rollback-is-a-factory-capability\",\"publishedOn\":\"2026-09-07\",\"title\":\"Rollback Is a Factory Capability\",\"lede\":\"When agents can change production all day, undo cannot remain the plan you invent after something breaks. Reversal has to be part of the factory that shipped the change.\",\"hero\":{\"path\":\"/images/blog/rollback-is-a-factory-capability.webp\",\"alt\":\"Stack pulls a precise mechanical lever that guides a glowing component back through a protected factory loop while tangled smoke presses toward the active line.\"}}},{\"post\":{\"slug\":\"the-agent-toolbox-is-a-build-input\",\"publishedOn\":\"2026-09-07\",\"title\":\"The Agent Toolbox Is a Build Input\",\"lede\":\"Give a coding agent a clean machine and it will start making choices before it starts making software. Those choices are part of the build, whether you govern them or not.\",\"hero\":{\"path\":\"/images/blog/the-agent-toolbox-is-a-build-input.webp\",\"alt\":\"Stack locks a set of mechanical tools into a governed factory carriage while loose, mismatched instruments press through smoky disorder around the gate.\"}}},{\"post\":{\"slug\":\"the-demo-is-not-the-operating-model\",\"publishedOn\":\"2026-09-07\",\"title\":\"The Demo Is Not the Operating Model\",\"lede\":\"AI can get you to working software fast. That is useful. It is also the point where the expensive part begins.\",\"hero\":{\"path\":\"/images/blog/the-demo-is-not-the-operating-model.webp\",\"alt\":\"Stack guides a newly forged component from a bright assembly bench into a guarded operating loop while smoke and broken machinery press against the route.\"}}},{\"post\":{\"slug\":\"you-cannot-retrofit-a-factory-around-a-pull-request\",\"publishedOn\":\"2026-09-07\",\"title\":\"You Cannot Retrofit a Factory Around a Pull Request\",\"lede\":\"Put agents into the delivery process you already have and you will get more code. You will not get a software factory. You will get the same human system with a much faster loading dock.\",\"hero\":{\"path\":\"/images/blog/you-cannot-retrofit-a-factory-around-a-pull-request.webp\",\"alt\":\"Stack rebuilds a narrow pull-request checkpoint into a branching factory gate while a growing pile of components and tangled smoke press against the old route.\"}}},{\"post\":{\"slug\":\"self-hosted-execution-is-not-operational-control\",\"publishedOn\":\"2026-09-03\",\"title\":\"Self-Hosted Execution Is Not Operational Control\",\"lede\":\"Putting an agent's hands inside your network does not put its brain under your control. It solves a real problem. It also leaves the bigger dependency exactly where it was.\",\"hero\":{\"path\":\"/images/blog/self-hosted-execution-is-not-operational-control.webp\",\"alt\":\"Stack secures a factory's local tool chamber while tracing a remote planning conduit through a guarded
335switchboard toward a tested exit route.\"}}},{\"post\":{\"slug\":\"the-factory-needs-a-complexity-budget\",\"publishedOn\":\"2026-09-03\",\"title\":\"The Factory Needs a Complexity Budget\",\"lede\":\"The agent can keep changing code long after your team can explain it. That is not proof the code is healthy. It is proof your old warning signal disappeared.\",\"hero\":{\"path\":\"/images/blog/the-factory-needs-a-complexity-budget.webp\",\"alt\":\"Stack diverts an overloaded branching gear train through a disciplined set of mechanical gates while tangled smoke presses toward the factory line.\"}}},{\"post\":{\"slug\":\"understanding-cannot-wait-for-code-review\",\"publishedOn\":\"2026-09-03\",\"title\":\"Understanding Cannot Wait for Code Review\",\"lede\":\"A pull request is a terrible place to discover why the system changed. By then, the important decisions have already been made and buried in a diff.\",\"hero\":{\"path\":\"/images/blog/understanding-cannot-wait-for-code-review.webp\",\"alt\":\"Stack pulls a bright design thread through a working factory before components reach a crowded inspection gate, while loose smoke gathers behind the finished machinery.\"}}},{\"post\":{\"slug\":\"the-agent-needs-a-real-system-to-test\",\"publishedOn\":\"2026-08-31\",\"title\":\"The Agent Needs a Real System to Test\",\"lede\":\"An agent can run every test you give it and still prove the wrong thing. The missing piece is often not another test. It is a system worth testing against.\",\"hero\":{\"path\":\"/images/blog/the-agent-needs-a-real-system-to-test.webp\",\"alt\":\"Stack routes a newly built component through an isolated mechanical test chamber connected to a vast working factory while loose smoke presses against the chamber walls.\"}}},{\"post\":{\"slug\":\"your-ai-vendor-is-a-control-plane\",\"publishedOn\":\"2026-08-30\",\"title\":\"Your AI Vendor Is a Control Plane\",\"lede\":\"If another company can switch off your software factory by changing a contract, that company is part of your control plane. Design accordingly.\",\"hero\":{\"path\":\"/images/blog/your-ai-vendor-is-a-control-plane.webp\",\"alt\":\"Stack reroutes a disciplined factory line through a sturdy mechanical switchyard while a distant gate closes behind it in a cloud of loose ink.\"}}},{\"post\":{\"slug\":\"a-rule-should-get-harder\",\"publishedOn\":\"2026-08-27\",\"title\":\"A Rule Should Get Harder\",\"lede\":\"If an agent breaks the same rule twice, the problem is no longer the agent. The factory saw a pattern and chose to leave it as advice.\",\"hero\":{\"path\":\"/images/blog/a-rule-should-get-harder.webp\",\"alt\":\"Stack forges a loose paper rule into a sequence of stronger mechanical gates while thorny smoke presses against the unfinished path.\"}}},{\"post\":{\"slug\":\"cheap-code-makes-complexity-more-expensive\",\"publishedOn\":\"2026-08-27\",\"title\":\"Cheap Code Makes Complexity More Expensive\",\"lede\":\"Agents are making code cheaper. They are not making complexity cheaper. If anything, they are giving complexity a faster engine.\",\"hero\":{\"path\":\"/images/blog/cheap-code-makes-complexity-more-expensive.webp\",\"alt\":\"Stack routes a stream of machine-built components through disciplined gates while a growing tangle of loose connections presses against the factory.\"}}},{\"post\":{\"slug\":\"programming-ends-where-the-factory-begins\",\"publishedOn\":\"2026-08-27\",\"title\":\"Programming Ends Where the Factory Begins\",\"lede\":\"The end of programming does not mean the end of engineering. It means typing code stops being the center of the job, and the machinery around it finally becomes impossible to ignore.\",\"hero\":{\"path\":\"/images/blog/programming-ends-where-the-factory-begins.webp\",\"alt\":\"Stack directs streams of machine-built components through proof gates into a working factory while abandoned hand tools fade into loose smoke.\"}}},{\"post\":{\"slug\":\"the-harness-has-to-learn\",\"publishedOn\":\"2026-08-27\",\"title\":\"The Harness Has to Learn\",\"lede\":\"A harness that starts every job with the same mistakes is not infrastru
335cture. It is a reset button with tools attached.\",\"hero\":{\"path\":\"/images/blog/the-harness-has-to-learn.webp\",\"alt\":\"Stack feeds glowing evidence from a broken factory route back into a rebuilt system of context, worker, critic, and proof gates while loose smoke presses against the old path.\"}}},{\"post\":{\"slug\":\"the-product-record-must-survive-the-code\",\"publishedOn\":\"2026-08-27\",\"title\":\"The Product Record Must Survive the Code\",\"lede\":\"A code diff can tell you what changed. It cannot tell you whether the product now does what you meant. As agents make implementation cheaper, that missing answer becomes the center of the work.\",\"hero\":{\"path\":\"/images/blog/the-product-record-must-survive-the-code.webp\",\"alt\":\"Stack pulls a glowing product change through a mechanical evidence loop while loose smoke tries to separate the original intent from the observed result.\"}}},{\"post\":{\"slug\":\"discovery-is-not-delegation\",\"publishedOn\":\"2026-08-24\",\"title\":\"Discovery Is Not Delegation\",\"lede\":\"An agent can find the right tool and still have no business using it. Discovery answers what exists. A factory has to answer what may act, under which conditions, and who proves the result.\",\"hero\":{\"path\":\"/images/blog/discovery-is-not-delegation.webp\",\"alt\":\"Stack routes one glowing machine module from a vast catalog through a sequence of permission and proof gates while loose thorny smoke presses toward the open tracks.\"}}},{\"post\":{\"slug\":\"expertise-must-move-into-the-factory\",\"publishedOn\":\"2026-08-24\",\"title\":\"Expertise Must Move Into the Factory\",\"lede\":\"AI will erase much of the work that used to produce experienced developers. Preserving that work is not the answer. Building a better route to judgment is.\",\"hero\":{\"path\":\"/images/blog/expertise-must-move-into-the-factory.webp\",\"alt\":\"Stack routes glowing lessons from a collapsing practice track into durable factory gates while dark tangled machinery presses in from the side.\"}}},{\"post\":{\"slug\":\"your-voice-needs-a-gate\",\"publishedOn\":\"2026-08-24\",\"title\":\"Your Voice Needs a Gate\",\"lede\":\"A model can sound exactly like you for one page and drift into polished mush on the next. That is not a mysterious creative failure. It is an uncontrolled production system.\",\"hero\":{\"path\":\"/images/blog/your-voice-needs-a-gate.webp\",\"alt\":\"Stack tunes a mechanical signal gate that separates one clear orange waveform from a cloud of tangled, nearly identical echoes.\"}}},{\"post\":{\"slug\":\"a-pattern-is-not-a-factory-control\",\"publishedOn\":\"2026-08-23\",\"title\":\"A Pattern Is Not a Factory Control\",\"lede\":\"A written pattern can teach an engineer what good agentic work looks like. It cannot make the next agent follow the rule.\",\"hero\":{\"path\":\"/images/blog/a-pattern-is-not-a-factory-control.webp\",\"alt\":\"Stack pulls a loose pattern sheet into a precise gear-driven control loom that stamps verified parts while thorny smoke presses against the machinery.\"}}},{\"post\":{\"slug\":\"the-expensive-model-belongs-at-the-narrowest-gate\",\"publishedOn\":\"2026-08-23\",\"title\":\"The Expensive Model Belongs at the Narrowest Gate\",\"lede\":\"Sending every software task to the strongest model is not a strategy. It is what you do before the factory knows how to route work.\",\"hero\":{\"path\":\"/images/blog/the-expensive-model-belongs-at-the-narrowest-gate.webp\",\"alt\":\"Stack directs simple mechanical parts through a broad efficient assembly line while reserving a narrow guarded forge for one complex component as tangled smoke presses against the routing gates.\"}}},{\"post\":{\"slug\":\"the-harness-is-not-the-factory\",\"publishedOn\":\"2026-08-23\",\"title\":\"The Harness Is Not the Factory\",\"lede\":\"An agent harness turns a model into a worker. It does not turn that worker into a software-delivery system.\",\"hero\":{\"path\":\"/images/blog/the-harness-is-not-the-factory.webp\",\"alt\":\"Stack locks a compact agent engine into a larger factory track of gates, tools, and evidence while loose smoke presses against the unfinished route.\"}}},{\"post\":{\"slug\":\"your-toolchain-is-not-your-operating-system\",\"publishedOn\":\"2026-08-23\",\"title\":\"Your Toolchain Is Not Your Operating System\",\"lede\":\"If every model release forces your team to relearn how software gets built, you do not have an AI strategy. You have a subscription to operational whiplash.\",\"hero\":{\"path\":\"/images/blog/your-toolchain-is-not-your-operating-system.webp\",\"alt\":\"Stack locks a changing set of mechanical power cores into a stable factory control frame while loose gears and smoky pressure swirl outside its proof gates.\"}}},{\"post\":{\"slug\":\"code-review-cannot-carry-the-factory\",\"publishedOn\":\"2026-08-22\",\"title\":\"Code Review Cannot Carry the Factory\",\"lede\":\"If your safety system depends on a person reading every line an agent writes, you have not built a software factory. You have built a faster way to exhaust a reviewer.\",\"hero\":{\"path\":\"/images/blog/code-review-cannot-carry-the-factory.webp\",\"alt\":\"Stack routes a flood of machine parts through layered mechanical proof gates while a small inspection platform stands clear of the controlled flow.\"}}},{\"post\":{\"slug\":\"coding-speed-is-not-factory-throughput\",\"publishedOn\":\"2026-08-22\",\"title\":\"Coding Speed Is Not Factory Throughput\",\"lede\":\"An agent can finish the coding step faster and still make the company slower. That is not a contradiction. It is what happens when you measure one station and ignore the line.\",\"hero\":{\"path\":\"/images/blog/coding-speed-is-not-factory-throughput.webp\",\"alt\":\"Stack regulates a fast gear-driven assembly line so verified machine parts pass through a proof gate while loose untested parts pile up against smoky pressure.\"}}},{\"post\":{\"slug\":\"done-is-a-factory-decision\",\"publishedOn\":\"2026-08-22\",\"title\":\"Done Is a Factory Decision\",\"lede\":\"An agent does not know when the work is done. It knows when the machinery around it has stopped asking for another attempt.\",\"hero\":{\"path\":\"/images/blog/done-is-a-factory-decision.webp\",\"alt\":\"Stack closes a precise mechanical completion gate as an orderly assembly loop reaches it and a runaway track of repeated parts curls into smoke beyond the boundary.\"}}},{\"post\":{\"slug\":\"a-citizen-developer-is-not-a-software-factory\",\"publishedOn\":\"2026-08-20\",\"title\":\"A Citizen Developer Is Not a Software Factory\",\"lede\":\"Letting anyone ask for software is useful. Letting anyone quietly become the entire software delivery system is how a fast demo becomes a permanent liability.\",\"hero\":{\"path\":\"/images/blog/a-citizen-developer-is-not-a-software-factory.webp\",\"alt\":\"Stack turns a stream of rough ideas into tested mechanical components while a gated factory line holds back loose smoke and tangled shortcuts.\"}}},{\"post\":{\"slug\":\"a-closed-pull-request-is-not-finished-work\",\"publishedOn\":\"2026-08-20\",\"title\":\"A Closed Pull Request Is Not Finished Work\",\"lede\":\"Lines of code measure what the machine emitted. Closed pull requests measure what crossed a review boundary. Neither tells you whether the change deserved to survive.\",\"hero\":{\"path\":\"/images/blog/a-closed-pull-request-is-not-finished-work.webp\",\"alt\":\"Stack carries a finished machine component beyond a closed review gate and through a series of production proof stations while loose code fragments dissolve behind it.\"}}},{\"post\":{\"slug\":\"ai-authorship-is-not-a-quality-signal\",\"publishedOn\":\"2026-08-20\",\"title\":\"AI Authorship Is Not a Quality Signal\",\"lede\":\"The web is filling with language machines helped produce. That does not tell you which pages are true, useful, original, or worth trusting.\",\"hero\":{\"path\":\"/images/blog/ai-authorship-is-not-a-quality-signal.webp\",\"alt\":\"Stack sorts a torrent of nearly identical paper pages through a mechanical proof gate, sending verified pages into an ordered archive while loose copies dissolve into smoke.\"}}},{\"post\":{\"slug\":\"junior-engineers-need-a-different-ramp\",\"publishedOn\":\"2026-08-20\",\"title\":\"Junior Engineers Need a Different Ramp\",\"lede\":\"AI did not make junior engineers useless. It made the old way of developing them too slow, too expensive, and too dependent on senior attention.\",\"hero\":{\"path\":\"/images/blog/junior-engineers-need-a-different-ramp.webp\",\"alt\":\"Stack builds a rising mechanical ramp of verified components while tangled smoke presses against its unsupported outer edge.\"}}},{\"post\":{\"slug\":\"ai-usage-is-not-factory-performance\",\"publishedOn\":\"2026-08-19\",\"title\":\"AI Usage Is N
335ot Factory Performance\",\"lede\":\"Your AI dashboard can tell you who opened the tool, how often they used it, and how much output it produced. It still cannot tell you whether the software factory got better.\",\"hero\":{\"path\":\"/images/blog/ai-usage-is-not-factory-performance.webp\",\"alt\":\"Stack redirects a flood of glowing activity signals through a disciplined proof engine that releases only verified machine components onto the factory line.\"}}},{\"post\":{\"slug\":\"skepticism-belongs-in-the-gate\",\"publishedOn\":\"2026-08-17\",\"title\":\"Skepticism Belongs in the Gate\",\"lede\":\"Skeptics are right about the failure. A fluent model can produce plausible software that is subtly, confidently wrong. They are wrong about what follows: the answer is a gate, not a retreat to manual work.\",\"hero\":{\"path\":\"/images/blog/skepticism-belongs-in-the-gate.webp\",\"alt\":\"Stack locks a skeptical inspection lens into a factory gate that rejects warped mechanisms while verified machinery continues down the line.\"}}},{\"post\":{\"slug\":\"the-proof-must-outrank-the-builder\",\"publishedOn\":\"2026-08-17\",\"title\":\"The Proof Must Outrank the Builder\",\"lede\":\"An agent can write the feature and the test in the same pass. That looks efficient right up until both agree on the same mistake.\",\"hero\":{\"path\":\"/images/blog/the-proof-must-outrank-the-builder.webp\",\"alt\":\"Stack locks a finished machine component beneath an independent proof gate while loose self-approved plans break against the guarded boundary.\"}}},{\"post\":{\"slug\":\"a-bigger-model-does-not-shrink-the-factory\",\"publishedOn\":\"2026-08-16\",\"title\":\"A Bigger Model Does Not Shrink the Factory\",\"lede\":\"A model can carry an enormous amount of capacity and activate only a fraction of it for each token. That is clever engineering. It is not an operating model for your software.\",\"hero\":{\"path\":\"/images/blog/a-bigger-model-does-not-shrink-the-factory.webp\",\"alt\":\"Stack routes a small stream of glowing work through selected chambers of a monumental machine, then sends the result toward an independent proof gate.\"}}},{\"post\":{\"slug\":\"a-code-graph-is-not-a-factory\",\"publishedOn\":\"2026-08-16\",\"title\":\"A Code Graph Is Not a Factory\",\"lede\":\"Mapping every symbol and dependency in your codebase can make an agent faster. It cannot tell the agent what should change, what must survive, or whether the result deserves to ship.\",\"hero\":{\"path\":\"/images/blog/a-code-graph-is-not-a-factory.webp\",\"alt\":\"Stack routes a glowing path through a dense mechanical map while a guarded inspection gate tests the finished component beyond it.\"}}},{\"post\":{\"slug\":\"a-coding-session-is-not-factory-memory\",\"publishedOn\":\"2026-08-16\",\"title\":\"A Coding Session Is Not Factory Memory\",\"lede\":\"A long coding session can feel like a system. It remembers the discussion, holds the plan, and keeps moving. Then the session ends, and you find out how much of the system only existed in the conversation.\",\"hero\":{\"path\":\"/images/blog/a-coding-session-is-not-factory-memory.webp\",\"alt\":\"Stack transfers glowing mechanical records from a fading smoke-filled chamber into a durable factory archive connected to an active assembly line.\"}}},{\"post\":{\"slug\":\"agility-needs-an-executable-specification\",\"publishedOn\":\"2026-08-16\",\"title\":\"Agility Needs an Executable Specification\",\"lede\":\"Agile delivery could survive a vague ticket because people repaired the ambiguity in conversation. An agent-run factory cannot build its operating system out of hallway context.\",\"hero\":{\"path\":\"/images/blog/agility-needs-an-executable-specification.webp\",\"alt\":\"Stack locks a layered specification plate into a factory control gate, aligning disciplined machinery while loose ambiguous shapes press against the outer boundary.\"}}},{\"post\":{\"slug\":\"craft-must-become-machinery\",\"publishedOn\":\"2026-08-16\",\"title\":\"Craft Must Become Machinery\",\"lede\":\"Careful people can get excellent work from coding agents. That is useful, but it is not the finish line. If the quality lives in one person's habits, the factory loses it when that person leaves the keyboard.\",\"hero\":{\"path\":\"/images/blog/craft-must-become-machinery.webp\",\"alt\":\"Stack presses a craftsperson's precise patterns into durable metal control plates that guide an advancing factory line while loose smoky improvisation pushes against it.\"}}},{\"post\":{\"slug\":\"history-needs-a-reproduction-test\",\"publishedOn\":\"2026-08-16\",\"title\":\"History Needs a Reproduction Test\",\"lede\":\"Software teams love lessons from history until a lesson threatens the architecture they already want. Then the past becomes an anecdote, the present becomes unique, and the organization pays tuition for the same failure again.\",\"hero\":{\"path\":\"/images/blog/history-needs-a-reproduction-test.webp\",\"alt\":\"Stack feeds broken mechanisms from an archive into a disciplined reproduction chamber that tests each old failure against a new factory line.\"}}},{\"post\":{\"slug\":\"leadership-is-a-manual-control-loop\",\"publishedOn\":\"2026-08-16\",\"title\":\"Leadership Is a Manual Control Loop\",\"lede\":\"Working with an agent can feel less like coding and more like leading a capable new hire. That is a useful observation. It is also a warning that the operating system still lives in somebody's head.\",\"hero\":{\"path\":\"/images/blog/leadership-is-a-manual-control-loop.webp\",\"alt\":\"Stack closes a disciplined mechanical control loop around delegated
335work while loose instruction threads and smoky ambiguity press against the factory gates.\"}}},{\"post\":{\"slug\":\"memory-is-not-a-message-thread\",\"publishedOn\":\"2026-08-16\",\"title\":\"Memory Is Not a Message Thread\",\"lede\":\"A model can continue a conversation without your factory remembering anything that matters. Fluent continuity is useful. It is not operational memory.\",\"hero\":{\"path\":\"/images/blog/memory-is-not-a-message-thread.webp\",\"alt\":\"Stack extracts durable evidence plates from a fading spiral of message ribbons and locks them into a governed factory memory vault while loose context dissolves into smoke.\"}}},{\"post\":{\"slug\":\"one-score-cannot-route-a-factory\",\"publishedOn\":\"2026-08-16\",\"title\":\"One Score Cannot Route a Factory\",\"lede\":\"A model can climb a leaderboard and still be the wrong worker for your next change. Production does not need a champion. It needs a routing decision that survives contact with the work.\",\"hero\":{\"path\":\"/images/blog/one-score-cannot-route-a-factory.webp\",\"alt\":\"Stack operates a precise switching yard that routes different glowing machine cores toward separate proof gates while a single oversized gauge dissolves into smoke.\"}}},{\"post\":{\"slug\":\"the-rejected-pull-request-trains-the-factory\",\"publishedOn\":\"2026-08-16\",\"title\":\"The Rejected Pull Request Trains the Factory\",\"lede\":\"An agent opening maintenance pull requests every morning is useful. A factory that gets better because yesterday's pull requests failed is the thing worth building.\",\"hero\":{\"path\":\"/images/blog/the-rejected-pull-request-trains-the-factory.webp\",\"alt\":\"Stack redirects a rejected machine component from a proof gate into a calibration loop that steadily improves an automated maintenance line.\"}}},{\"post\":{\"slug\":\"token-efficiency-is-not-factory-efficiency\",\"publishedOn\":\"2026-08-16\",\"title\":\"Token Efficiency Is Not Factory Efficiency\",\"lede\":\"A model can produce a better answer with fewer tokens and still make your software factory more expensive. The meter improved. The work may not have.\",\"hero\":{\"path\":\"/images/blog/token-efficiency-is-not-factory-efficiency.webp\",\"alt\":\"Stack weighs a small stream of glowing tokens against finished machine parts that have passed a series of proof gates while rejected pieces dissolve into smoke.\"}}},{\"post\":{\"slug\":\"tokens-need-work-not-users\",\"publishedOn\":\"2026-08-16\",\"title\":\"Tokens Need Work, Not Users\",\"lede\":\"The AI industry keeps asking how many people will use the models. That is the wrong demand question. The durable buyer is a work machine that cannot finish without them.\",\"hero\":{\"path\":\"/images/blog/tokens-need-work-not-users.webp\",\"alt\":\"Stack locks a stream of glowing machine fuel into a disciplined factory line that produces finished mechanisms while loose crowds and smoke fade outside the system.\"}}},{\"post\":{\"slug\":\"your-model-contract-is-a-decaying-asset\",\"publishedOn\":\"2026-08-16\",\"title\":\"Your Model Contract Is a Decaying Asset\",\"lede\":\"The model capacity you locked in today can keep working perfectly and still become a bad deal. Capability moves, prices fall, and your contract does neither.\",\"hero\":{\"path\":\"/images/blog/your-model-contract-is-a-decaying-asset.webp\",\"alt\":\"Stack reroutes glowing workpieces from a rigid rusting conduit into a flexible network of machine paths leading through a proof gate.\"}}},{\"post\":{\"slug\":\"your-prompt-is-a-manual-build-step\",\"publishedOn\":\"2026-08-16\",\"title\":\"Your Prompt Is a Manual Build Step\",\"lede\":\"If a person has to repack the codebase, explain the exceptions, choose the model, and rewrite the request for every run, you do not have an autonomous agent. You have a very fast machine waiting at a manual loading dock.\",\"hero\":{\"path\":\"/images/blog/your-prompt-is-a-manual-build-step.webp\",\"alt\":\"Stack operates a mechanical context press that turns a tangled mass of plans, code, and evidence into one precise packet for a disciplined factory line.\"}}},{\"post\":{\"slug\":\"code-generation-is-not-the-bottleneck\",\"publishedOn\":\"2026-08-13\",\"title\":\"Code Generation Is Not the Bottleneck\",\"lede\":\"Coding agents can produce more change than your team can responsibly accept. That is not a reason to slow them down. It is a reason to rebuild everything around them.\",\"hero\":{\"path\":\"/images/blog/code-generation-is-not-the-bottleneck.webp\",\"alt\":\"Stack directs a fast mechanical co
335de forge through measured proof gates while a tangled wall of unchecked parts presses against the line.\"}}},{\"post\":{\"slug\":\"the-assistant-market-is-a-shrinking-market\",\"publishedOn\":\"2026-08-13\",\"title\":\"The Assistant Market Is a Shrinking Market\",\"lede\":\"The fight to become every employee's favorite AI assistant is happening inside a market that the same technology is about to shrink.\",\"hero\":{\"path\":\"/images/blog/the-assistant-market-is-a-shrinking-market.webp\",\"alt\":\"Stack redirects power from a fading ring of assistant desks into a disciplined autonomous factory line while loose smoke presses against the machinery.\"}}},{\"post\":{\"slug\":\"the-factory-does-not-need-a-standup\",\"publishedOn\":\"2026-08-13\",\"title\":\"The Factory Does Not Need a Standup\",\"lede\":\"Agile turned missing machinery into meetings. Software factories make the machinery real, so the meetings can finally go away.\",\"hero\":{\"path\":\"/images/blog/the-factory-does-not-need-a-standup.webp\",\"alt\":\"Stack routes work through a self-reporting factory line while an abandoned circle of meeting chairs dissolves into loose smoke.\"}}},{\"post\":{\"slug\":\"the-prompt-box-is-not-the-factory\",\"publishedOn\":\"2026-08-13\",\"title\":\"The Prompt Box Is Not the Factory\",\"lede\":\"Letting more people ask for software is a real breakthrough. Pretending the request is the whole delivery system is how a breakthrough becomes a very expensive pile of guesses.\",\"hero\":{\"path\":\"/images/blog/the-prompt-box-is-not-the-factory.webp\",\"alt\":\"Stack converts a loose stream of glowing requests into precise mechanical plans that pass through guarded proof gates while smoky ambiguity presses against the line.\"}}},{\"post\":{\"slug\":\"technical-debt-is-a-judgment-queue\",\"publishedOn\":\"2026-08-12\",\"title\":\"Technical Debt Is a Judgment Queue\",\"lede\":\"Your oldest system is not hard to change because nobody can type the replacement. It is hard because years of unresolved decisions are hiding inside the code.\",\"hero\":{\"path\":\"/images/blog/technical-debt-is-a-judgment-queue.webp\",\"alt\":\"Stack sorts tangled dark machinery into a disciplined migration line while loose smoke presses against the newly opened path.\"}}},{\"post\":{\"slug\":\"a-source-of-truth-needs-a-write-path\",\"publishedOn\":\"2026-08-11\",\"title\":\"A Source of Truth Needs a Write Path\",\"lede\":\"Give every agent the same source of truth and you remove one class of confusion. Leave every agent free to rewrite it and you have built a faster rumor mill.\",\"hero\":{\"path\":\"/images/blog/a-source-of-truth-needs-a-write-path.webp\",\"alt\":\"Stack routes glowing evidence through a guarded mechanical writing gate into one ordered archive while loose duplicate pages and smoky contradictions press against it.\"}}},{\"post\":{\"slug\":\"a-computer-use-score-is-not-operating-authority\",\"publishedOn\":\"2026-08-10\",\"title\":\"A Computer-Use Score Is Not Operating Authority\",\"lede\":\"A model that can operate software is useful. A model that can operate your business without a factory around it is a liability with a cursor.\",\"hero\":{\"path\":\"/images/blog/a-computer-use-score-is-not-operating-authority.webp\",\"alt\":\"Stack locks a glowing mechanical permission key into a guarded control console while disciplined evidence rails contain a storm of loose cursors and broken interface shapes.\"}}},{\"post\":{\"slug\":\"four-models-do-not-make-a-factory\",\"publishedOn\":\"2026-08-10\",\"title\":\"Four Models Do Not Make a Factory\",\"lede\":\"Putting more models in the loop does not create an agent team. Without a governed division of labor, it creates a meeting where every participant charges by the word.\",\"hero\":{\"path\":\"/images/blog/four-models-do-not-make-a-factory.webp\",\"alt\":\"Stack routes four glowing mechanical engines through separate gated tracks while a tangled cloud of crossed signals presses against the disciplined factory line.\"}}},{\"post\":{\"slug\":\"the-agent-budget-will-cut-payroll-first\",\"publishedOn\":\"2026-08-10\",\"title\":\"The Agent Budget Will Cut Payroll First\",\"lede\":\"When the agent bill jumps, companies will not put the old team back together. They will ask why they are paying for machine execution and human execution at the same time.\",\"hero\":{\"path\":\"/images/blog/the-agent-budget-will-cut-payroll-first.webp\",\"alt\":\"Stack directs measured energy through a productive factory line while cutting away a duplicate shadow assembly tangled in smoky overhead.\"}}},{\"post\":{\"slug\":\"your-hours-do-not-compound\",\"publishedOn\":\"2026-08-10\",\"title\":\"Your Hours Do Not Compound\",\"lede\":\"You probably will not build something extraordinary on casual effort. But if your plan for greatness is simply more human hours, you have confused intensity with a system.\",\"hero\":{\"path\":\"/images/blog/your-hours-do-not-compound.webp\",\"alt\":\"Stack captures a fierce orange spark inside a disciplined gear train that keeps turning while a brittle wall of hourglasses collapses into smoke.\"}}},{\"post\":{\"slug\":\"auto-permission-is-still-permission\",\"publishedOn\":\"2026-08-09\",\"title\":\"Auto Permission Is Still Permission\",\"lede\":\"A coding agent that decides whether its own next action is safe can remove a thous
335and interruptions. It cannot remove the authority boundary those interruptions were trying to protect.\",\"hero\":{\"path\":\"/images/blog/auto-permission-is-still-permission.webp\",\"alt\":\"Stack routes a glowing workpiece through a layered mechanical permission gate while thorny smoke presses against the gate's sealed outer boundary.\"}}},{\"post\":{\"slug\":\"solved-code-still-needs-a-factory\",\"publishedOn\":\"2026-08-09\",\"title\":\"Solved Code Still Needs a Factory\",\"lede\":\"Suppose coding is solved. You still do not have software. You have a machine that can produce implementations faster than your organization can decide which ones deserve to exist.\",\"hero\":{\"path\":\"/images/blog/solved-code-still-needs-a-factory.webp\",\"alt\":\"Stack channels a torrent of glowing mechanical parts through specification, proof, and release gates while loose smoky forms press against the disciplined factory line.\"}}},{\"post\":{\"slug\":\"the-revenue-is-upstream-because-the-work-is-not\",\"publishedOn\":\"2026-08-09\",\"title\":\"The Revenue Is Upstream Because the Work Is Not\",\"lede\":\"When most of the money in a new software category stops at two model providers, the interesting question is not who won the model race. It is why so little value has made it through the rest of the system.\",\"hero\":{\"path\":\"/images/blog/the-revenue-is-upstream-because-the-work-is-not.webp\",\"alt\":\"Stack redirects a bright stream of mechanical power from two towering upstream engines into a disciplined factory line while loose smoke spills away from unfinished channels.\"}}},{\"post\":{\"slug\":\"the-workspace-is-becoming-a-control-room\",\"publishedOn\":\"2026-08-09\",\"title\":\"The Workspace Is Becoming a Control Room\",\"lede\":\"The interesting part of an agentic development environment is not where the chat box lives. It is what happens when the work keeps moving after the person closes it.\",\"hero\":{\"path\":\"/images/blog/the-workspace-is-becoming-a-control-room.webp\",\"alt\":\"Stack operates a mechanical control room that routes persistent work through evidence and authority gates while loose smoke presses against the factory boundary.\"}}},{\"post\":{\"slug\":\"trash-output-is-a-factory-signal\",\"publishedOn\":\"2026-08-09\",\"title\":\"Trash Output Is a Factory Signal\",\"lede\":\"An agent can generate terrible code. So can a person. The useful question is why your system let either one ship.\",\"hero\":{\"path\":\"/images/blog/trash-output-is-a-factory-signal.webp\",\"alt\":\"Stack diverts a malformed component from a bright assembly line into a mechanical inspection gate while smoky debris presses against the factory outside.\"}}},{\"post\":{\"slug\":\"cheap-code-does-not-erase-the-craft\",\"publishedOn\":\"2026-08-08\",\"title\":\"Cheap Code Does Not Erase the Craft\",\"lede\":\"Code was hard. It still is. The fact that machines can now produce more of it does not rewrite the skill, patience, and judgment programmers spent decades building.\",\"hero\":{\"path\":\"/images/blog/cheap-code-does-not-erase-the-craft.webp\",\"alt\":\"Stack preserves an intricate mechanical core while routing repeatable construction through a disciplined factory line against a smoky pressure that tries to flatten the craft.\"}}},{\"post\":{\"slug\":\"headcount-is-not-a-unit-of-work\",\"publishedOn\":\"2026-08-08\",\"title\":\"Headcount Is Not a Unit of Work\",\"lede\":\"Saying AI did the work of hundreds of engineers sounds precise. It is not. A headcount equivalent tells you nothing about what shipped, what survived, or what machinery made the result repeatable.\",\"hero\":{\"path\":\"/images/blog/headcount-is-not-a-unit-of-work.webp\",\"alt\":\"Stack weighs a torrent of loose mechanical pieces against a smaller chain of finished, verified components moving through a disciplined factory gate.\"}}},{\"post\":{\"slug\":\"shared-context-is-not-coordination\",\"publishedOn\":\"2026-08-08\",\"title\":\"Shared Context Is Not Coordination\",\"lede\":\"Letting coding agents exchange messages across terminals removes a copy-and-paste step. It does not create a team, a plan, or a factory. Communication is a capability. Coordination is machinery.\",\"hero\":{\"path\":\"/images/blog/shared-context-is-not-coordination.webp\",\"alt\":\"Stack locks several glowing agent conduits into a disciplined coordination hub while loose message streams twist into smoke beyond the factory boundary.\"}}},{\"post\":{\"slug\":\"the-agent-inbox-is-an-authority-boundary\",\"publishedOn\":\"2026-08-08\",\"title\":\"The Agent Inbox Is an Authority Boundary\",\"lede\":\"When one coding agent can message another, the message is not just context. It can redirect work, change assumptions, and trigger tools. That makes the inbox part of your production control plane.\",\"hero\":{\"path\":\"/images/blog/the-agent-inbox-is-an-authority-boundary.webp\",\"alt\":\"Stack routes sealed message capsules through a guarded authorization switchboard while unverified signals break apart outside the factory boundary.\"}}},{\"post\":{\"slug\":\"the-capability-gate-must-change-the-system\",\"publishedOn\":\"2026-08-08\",\"title\":\"The Capability Gate Must Change the System\",\"lede\":\"Pausing a powerful model is a decision. Building a system that knows why it paused, what must change, and which authority stays unavailable is the strategy.\",\"hero\":{\"path\":\"/images/blog/the-capability-gate-must-change-the-system.webp\",\"alt\":\"Stack locks a bright capability core behind layered mechanical gates while thorny smoke presses against the sealed authority channels beyond them.\"}}},{\"post\":{\"slug\":\"the-reorg-is-not-the-ai-strategy\",\"publishedOn\":\"2026-08-08\",\"title\":\"The Reorg Is Not the AI Strategy\",\"lede\":\"Moving AI researchers closer to product teams may shorten a meeting. It does not create the machinery that turns a model breakthrough into software your business can ship, govern, and improve repeatedly.\",\"hero\":{\"path\":\"/images/blog/the-reorg-is-not-the-ai-strategy.webp\",\"alt\":\"Stack locks a glowing research engine into a disciplined factory line while loose organizational blocks and smoky arrows collapse against the machinery.\"}}},{\"post\":{\"slug\":\"the-token-bill-is-a-value-gate\",\"publishedOn\":\"2026-08-08\",\"title\":\"The Token Bill Is a Value Gate\",\"lede\":\"Software teams have spent years treating the cost of another feature as a staffing conversation. Agents make the meter visible on every run, and that forces the better question: was this change worth producing at all?\",\"hero\":{\"path\":\"/images/blog/the-token-bill-is-a-value-gate.webp\",\"alt\":\"Stack routes glowing software components across a balanced value gate while wasteful branches dissolve into smoky tangles outside the disciplined factory line.\"}}},{\"post\":{\"slug\":\"an-agent-credential-is-a-production-boundary\",\"publishedOn\":\"2026-08-07\",\"title\":\"An Agent Credential Is a Production Boundary\",\"lede\":\"An agent with a goal and a reusable credential does not have autonomy. It has standing permission to turn one bad instruction into a production event.\",\"hero\":{\"path\":\"/images/blog/an-agent-credential-is-a-production-boundary.webp\",\"alt\":\"Stack fits a glowing task-shaped key into one guarded factory gate while tangled shadow keys and smoke press against the surrounding credential vault.\"}}}
335,{\"post\":{\"slug\":\"cheap-code-makes-selection-more-important\",\"publishedOn\":\"2026-08-07\",\"title\":\"Cheap Code Makes Selection More Important\",\"lede\":\"When building gets cheap, bad ideas do not become good investments. They become easier to bury inside the product.\",\"hero\":{\"path\":\"/images/blog/cheap-code-makes-selection-more-important.webp\",\"alt\":\"Stack operates a disciplined selection gate that admits a few glowing mechanisms into a factory while diverting a flood of cheap unfinished parts away from the production line.\"}}},{\"post\":{\"slug\":\"the-factory-must-prove-who-wrote-the-code\",\"publishedOn\":\"2026-08-07\",\"title\":\"The Factory Must Prove Who Wrote the Code\",\"lede\":\"If your project cannot accept AI-generated code, the problem is not that the machine typed it. The problem is that your delivery system cannot prove what entered the machine or who can stand behind what came out.\",\"hero\":{\"path\":\"/images/blog/the-factory-must-prove-who-wrote-the-code.webp\",\"alt\":\"Stack stamps a glowing chain of provenance seals onto code components before guiding them through a guarded factory gate while untraceable fragments dissolve into smoke outside.\"}}},{\"post\":{\"slug\":\"the-fastest-agent-is-not-the-best-factory\",\"publishedOn\":\"2026-08-07\",\"title\":\"The Fastest Agent Is Not the Best Factory\",\"lede\":\"A leaderboard can tell you which agent finished a task first. It cannot tell you which factory should run your software business.\",\"hero\":{\"path\":\"/images/blog/the-fastest-agent-is-not-the-best-factory.webp\",\"alt\":\"Stack diverts rushing mechanical runners from a speed track into a measured factory line where completed parts must pass proof gates before reaching the exit.\"}}},{\"post\":{\"slug\":\"the-pdf-is-not-the-context\",\"publishedOn\":\"2026-08-07\",\"title\":\"The PDF Is Not the Context\",\"lede\":\"A document can be perfectly readable to a person and still be terrible factory input. If every agent has to decode the presentation before it can do the work, you built a token furnace, not a knowledge system.\",\"hero\":{\"path\":\"/images/blog/the-pdf-is-not-the-context.webp\",\"alt\":\"Stack dismantles a tangled tower of document sheets into clean, reusable components that flow through a disciplined factory context gate while loose pages dissolve into smoke.\"}}},{\"post\":{\"slug\":\"the-price-card-is-not-the-bill\",\"publishedOn\":\"2026-08-07\",\"title\":\"The Price Card Is Not the Bill\",\"lede\":\"A cheap model can produce expensive software. A premium model can be the bargain. The price card cannot tell you which one you are buying.\",\"hero\":{\"path\":\"/images/blog/the-price-card-is-not-the-bill.webp\",\"alt\":\"Stack routes glowing workpieces through differently sized machine paths while a disciplined proof gate weighs completed parts against a storm of loose tokens and tangled receipts.\"}}},{\"post\":{\"slug\":\"the-winner-expired-before-the-benchmark\",\"publishedOn\":\"2026-08-07\",\"title\":\"The Winner Expired Before the Benchmark\",\"lede\":\"Four coordinated agents beat one model. Then a newer model arrived. If that changes your architecture, you never had one.\",\"hero\":{\"path\":\"/images/blog/the-winner-expired-before-the-benchmark.webp\",\"alt\":\"Stack replaces a glowing engine inside a disciplined four-station factory while a crumbling victory pedestal dissolves into smoke beyond the machinery.\"}}},{\"post\":{\"slug\":\"the-agent-needs-an-operating-system\",\"publishedOn\":\"2026-08-06\",\"title\":\"The Agent Needs an Operating System\",\"lede\":\"A clever agent loop can produce an impressive answer. A software factory has to produce the next right action, survive interruption, reject bad work, and remember why any of it happened.\",\"hero\":{\"path\":\"/images/blog/the-agent-needs-an-operating-system.webp\",\"alt\":\"Stack conducts specialized mechanical lines through a central state engine while disciplined gates hold back tangled smoke and broken paths.\"}}},{\"post\":{\"slug\":\"the-cheap-model-changes-the-factory\",\"publishedOn\":\"2026-08-06\",\"title\":\"The Cheap Model Changes the Factory\",\"lede\":\"A cheaper coding model does not make softw
335are delivery cheap. It makes attempts cheap. Your factory decides whether those attempts become leverage or waste.\",\"hero\":{\"path\":\"/images/blog/the-cheap-model-changes-the-factory.webp\",\"alt\":\"Stack routes a torrent of small glowing mechanisms through separate factory lanes toward a demanding proof gate while loose smoke presses against the system.\"}}},{\"post\":{\"slug\":\"the-job-title-hides-the-displacement\",\"publishedOn\":\"2026-08-06\",\"title\":\"The Job Title Hides the Displacement\",\"lede\":\"The argument about whether AI is eliminating software jobs starts with the wrong unit. A job title can survive long after the work inside it has been handed to a machine.\",\"hero\":{\"path\":\"/images/blog/the-job-title-hides-the-displacement.webp\",\"alt\":\"Stack pulls repeatable work blocks out of a hollow metal job-title shell and routes them into a disciplined factory while tangled smoke presses against the line.\"}}},{\"post\":{\"slug\":\"a-benchmark-is-not-a-factory\",\"publishedOn\":\"2026-08-04\",\"title\":\"A Benchmark Is Not a Factory\",\"lede\":\"Rebuilding a large program from its behavior is serious evidence. Treating that result as proof that an agent can own your software is how a benchmark becomes a sales deck.\",\"hero\":{\"path\":\"/images/blog/a-benchmark-is-not-a-factory.webp\",\"alt\":\"Stack drives a newly forged mechanism through a narrow proof gate while an unfinished factory of shifting tracks and turbulent smoke waits beyond it.\"}}},{\"post\":{\"slug\":\"a-rollout-is-not-a-factory\",\"publishedOn\":\"2026-08-04\",\"title\":\"An Agent Rollout Is Not a Software Factory\",\"lede\":\"Giving every engineer a coding agent changes who can generate code. It does not change how your company delivers software.\",\"hero\":{\"path\":\"/images/blog/a-rollout-is-not-a-factory.webp\",\"alt\":\"Stack locks scattered glowing tools into a disciplined factory line that routes finished mechanisms through a proof gate while loose parts and smoke press in from outside.\"}}},{\"post\":{\"slug\":\"self-improvement-belongs-in-the-harness\",\"publishedOn\":\"2026-08-04\",\"title\":\"Self-Improvement Belongs in the Harness\",\"lede\":\"The agent does not need a pep talk after it fails. The factory needs to remember what the failure taught it.\",\"hero\":{\"path\":\"/images/blog/self-improvement-belongs-in-the-harness.webp\",\"alt\":\"Stack installs a newly forged control into a looping factory track while rejected fragments are captured at a proof gate and converted into stronger machinery.\"}}},{\"post\":{\"slug\":\"the-budget-is-part-of-the-harness\",\"publishedOn\":\"2026-08-04\",\"title\":\"The Budget Is Part of the Harness\",\"lede\":\"An agent with unlimited retries does not have more autonomy. It has permission to hide a broken process behind more activity.\",\"hero\":{\"path\":\"/images/blog/the-budget-is-part-of-the-harness.webp\",\"alt\":\"Stack meters glowing energy into a disciplined factory line while diverting a smoky tangle of waste away from a bright proof gate.\"}}},{\"post\":{\"slug\":\"the-evidence-can-talk-back\",\"publishedOn\":\"2026-08-04\",\"title\":\"The Evidence Can Talk Back\",\"lede\":\"The moment an agent reads hostile material, the evidence stops being passive. It can make a case for its own innocence, and your guardrail becomes part of the argument.\",\"hero\":{\"path\":\"/images/blog/the-evidence-can-talk-back.webp\",\"alt\":\"Stack routes a thorn-wrapped evidence capsule through isolated mechanical chambers while deceptive smoke presses against the inspection gates.\"}}},{\"post\":{\"slug\":\"the-harness-must-not-grade-itself\",\"publishedOn\":\"2026-08-04\",\"title\":\"The Harness Must Not Grade Itself\",\"lede\":\"Let an agent improve its own factory and it may find a better machine. Let it redefine success and it will find an easier exam.\",\"hero\":{\"path\":\"/images/blog/the-harness-must-not-grade-itself.webp\",\"alt\":\"Stack upgrades a factory mechanism inside a guarded workbench while an independent evidence gate remains locked beyond its reach.\"}}},{\"post\":{\"slug\":\"the-interface-is-not-the-factory\",\"publishedOn\":\"2026-08-04\",\"title\":\"The Interface Is Not the Factory\",\"lede\":\"A smoother agent in your terminal can be genuinely useful. It is still a terrible reason to rebuild your software factory around a new tool.\",\"hero\":{\"path\":\"/images/blog/the-interface-is-not-the-factory.webp\",\"alt\":\"Stack fits a compact control console into a much larger gated factory, while a bright but disconnected terminal-shaped portal fades into loose smoke nearby.\"}}},{\"post\":{\"slug\":\"the-skill-issue-is-the-system\",\"publishedOn\":\"2026-08-04\",\"title\":\"The Skill Issue Is the System\",\"lede\":\"If your co
335ding agent keeps producing confident nonsense, stop arguing about whether the model can program. Inspect the machine you put around it.\",\"hero\":{\"path\":\"/images/blog/the-skill-issue-is-the-system.webp\",\"alt\":\"Stack replaces a loose maze of smoky guesses with a gated mechanical track that carries a precise component toward independent proof.\"}}},{\"post\":{\"slug\":\"your-task-runner-is-an-agent-interface\",\"publishedOn\":\"2026-08-04\",\"title\":\"Your Task Runner Is an Agent Interface\",\"lede\":\"A coding agent should not spend its context window reverse-engineering how your repository wants to be tested. Give it verbs that bite.\",\"hero\":{\"path\":\"/images/blog/your-task-runner-is-an-agent-interface.webp\",\"alt\":\"Stack locks a compact command dial into a dense factory console, sending work through disciplined build and proof lines while loose command fragments dissolve into smoke outside the mechanism.\"}}},{\"post\":{\"slug\":\"keep-the-mechanism-lose-the-vampire\",\"publishedOn\":\"2026-08-03\",\"title\":\"Keep the Mechanism. Lose the AI Vampire.\",\"lede\":\"Steve Yegge saw the agentic coding wave early, built in public, and said what he believed while most of the industry was still polishing chatbot demos. He deserves credit. He also sounds like he has spent too long alone with the agents.\",\"hero\":{\"path\":\"/images/blog/keep-the-mechanism-lose-the-vampire.webp\",\"alt\":\"Stack extracts a precise mechanical control kernel from a cloud of theatrical vampire smoke and installs it in a disciplined factory gate.\"}}},{\"post\":{\"slug\":\"rewriting-the-output-proves-nothing\",\"publishedOn\":\"2026-08-03\",\"title\":\"Rewriting the Output Proves Nothing\",\"lede\":\"An AI answer does not become trustworthy because a person retyped it. It becomes harder to audit.\",\"hero\":{\"path\":\"/images/blog/rewriting-the-output-proves-nothing.webp\",\"alt\":\"Stack routes a machine-produced artifact through an evidence gate while loose handwritten copies dissolve into smoke beside the disciplined factory line.\"}}},{\"post\":{\"slug\":\"your-merge-queue-is-not-a-release-strategy\",\"publishedOn\":\"2026-08-03\",\"title\":\"Your Merge Queue Is Not a Release Strategy\",\"lede\":\"Agents can fill a repository faster than your release process can empty it. Calling that productivity does not make the software shipped.\",\"hero\":{\"path\":\"/images/blog/your-merge-queue-is-not-a-release-strategy.webp\",\"alt\":\"Stack sorts a rushing stream of mechanical change capsules into controlled release channels while smoky pressure gathers behind the intake gate.\"}}},{\"post\":{\"slug\":\"a-label-is-not-a-requirement\",\"publishedOn\":\"2026-08-01\",\"title\":\"A Label Is Not a Requirement\",\"lede\":\"Call the work a dashboard, a migration, or a checkout flow and everyone in the room will nod. Your factory should refuse to move.\",\"hero\":{\"path\":\"/images/blog/a-label-is-not-a-requirement.webp\",\"alt\":\"Stack measures a vague blank component against a precise mechanical boundary before allowing it onto a disciplined factory line.\"}}},{\"post\":{\"slug\":\"the-handoff-is-the-system\",\"publishedOn\":\"2026-08-01\",\"title\":\"The Handoff Is the System\",\"lede\":\"Your agents can each do excellent work and still produce a terrible result. The failure lives in the space between them.\",\"hero\":{\"path\":\"/images/blog/the-handoff-is-the-system.webp\",\"alt\":\"Stack locks a precise mechanical coupling between two factory lines while loose smoky pressure pushes against the exposed joint.\"}}},{\"post\":{\"slug\":\"the-factory-starves-at-the-spec\",\"publishedOn\":\"2026-07-31\",\"title\":\"The Factory Starves at the Spec\",\"lede\":\"You can buy more implementation capacity than your organization knows how to feed. That is the new bottleneck, and another coding agent will not fix it.\",\"hero\":{\"path\":\"/images/blog/the-factory-starves-at-the-spec.webp\",\"alt\":\"Stack feeds scarce glowing decision components through a narrow precision gate into a vast mechanical factory while tangled magical ambiguity presses from the opposite side.\"}}}]}");</script>
335<link rel="icon" href="/favicon.ico"/>
335<script type="module">globalThis.__EXPO_ROUTER_HYDRATE__=true;</script>
335<link rel="preload" href="/_expo/static/css/global-12cde4554c610a99797759c54e5e5e3b.css" as="style"> 336<link rel="stylesheet" href="/_expo/static/css/global-12cde4554c610a99797759c54e5e5e3b.css"></head><body><div id="root"><div class="css-g5y9jx r-13awgt0"><!--$--><div class="css-g5y9jx r-13awgt0"><div class="css-g5y9jx r-13awgt0"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 items-stretch m-0 p-0 text-decoration-none flex-1 bg-surface-base pt-safe pb-safe" data-testid="shell:root" testID="shell:root" data-sentry-element="Box" data-sentry-component="SiteShellView" data-sentry-source-file="SiteShellView.tsx"><a href="#main" dir="auto" role="link" tabindex="0" class="css-146c3p1 absolute left-4 -top-16 z-50 rounded-sm bg-surface-raised px-4 py-2 text-body font-body text-content-primary underline focus:top-4 focus:outline-none focus:ring-2 focus:ring-primary-600" data-testid="shell:skip-link">Skip to main content</a><header role="banner" class="css-g5y9jx" data-testid="shell:header"><div class="flex relative z-0 box-border border-0 list-none min-w-0 min-h-0 m-0 p-0 text-decoration-none w-full flex-row flex-wrap items-center justify-between gap-y-3 border-b border-outline-default bg-surface-base px-4 py-3 md:flex-nowrap md:px-8" data-sentry-element="Box" data-sentry-source-file="SiteHeaderView.tsx"><a href="/" dir="auto" aria-label="Gunner Technology, home" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info" data-testid="shell:home"><svg viewBox="0 -14 438 84" width="167" height="32" shape-rendering="crispEdges" data-testid="shell:logo" data-sentry-element="Svg" data-sentry-component="Wordmark" data-sentry-source-file="index.tsx" aria-label="Gunner Technology" role="img"><path d="M0 0h50v16H16v38h34v16H0z" fill="#142638"></path><path d="M24 36h26v18H24z" fill="#142638"></path><path d="M64 0h16v54h18V0h16v70H64z" fill="#142638"></path><path d="M324 0h50v16h-34v11h26v16h-26v11h34v16h-50z" fill="#142638"></path><path d="M388 0h16v70h-16z" fill="#142638"></path><path d="M388 0h50v16h-50z" fill="#142638"></path><path d="M422 0h16v46h-16z" fill="#142638"></path><path d="M388 30h50v16h-50z" fill="#142638"></path><path d="M412 46h16l10 24h-16z" fill="#142638"></path><rect x="184" y="-14" width="7" height="7" fill="#b85a12"></rect><rect x="191" y="-14" width="7" height="7" fill="#b85a12"></rect><rect x="184" y="-7" width="7" height="7" fill="#b85a12"></rect><rect x="191" y="-7" width="7" height="7" fill="#b85a12"></rect><rect x="177" y="0" width="7" height="7" fill="#70787c"></rect><rect x="184" y="0" width="7" height="7" fill="#70787c"></rect><rect x="177" y="7" width="7" height="7" fill="#70787c"></rect><rect x="184" y="7" width="7" height="7" fill="#70787c"></rect><rect x="128" y="14" width="7" height="7" fill="#142638"></rect><rect x="135" y="14" width="7" height="7" fill="#142638"></rect><rect x="142" y="14" width="7" height="7" fill="#142638"></rect><rect x="149" y="14" width="7" height="7" fill="#142638"></rect><rect x="156" y="14" width="7" height="7" fill="#142638"></rect><rect x="163" y="14" width="7" height="7" fill="#142638"></rect><rect x="170" y="14" width="7" height="7" fill="#142638"></rect><rect x="177" y="14" width="7" height="7" fill="#142638"></rect><rect x="184" y="14" width="7" height="7" fill="#142638"></rect><rect x="191" y="14" width="7" height="7" fill="#142638"></rect><rect x="198" y="14" width="7" height="7" fill="#142638"></rect><rect x="205" y="14" width="7" height="7" fill="#142638"></rect><rect x="128" y="21" width="7" height="7" fill="#142638"></rect><rect x="135" y="21" width="7" height="7" fill="#142638"></rect><rect x="142" y="21" width="7" height="7" fill="#142638"></rect><rect x="149" y="21" width="7" height="7" fill="#142638"></rect><rect x="156" y="21" width="7" height="7" fill="#142638"></rect><rect x="163" y="21" width="7" height="7" fill="#142638"></rect><rect x="170" y="21" width="7" height="7" fill="#142638"></rect><rect x="177" y="21" width="7" height="7" fill="#142638"></rect><rect x="184" y="21" width="7" height="7" fill="#142638"></rect><rect x="191" y="21" width="7" height="7" fill="#142638"></rect><rect x="198" y="21" width="7" height="7" fill="#142638"></rect><rect x="205" y="21" width="7" height="7" fill="#142638"></rect><rect x="128" y="28" width="7" height="7" fill="#142638"></rect><rect x="135" y="28" width="7" height="7" fill="#142638"></rect><rect x="156" y="28" width="7" height="7" fill="#142638"></rect><rect x="163" y="28" width="7" height="7" fill="#142638"></rect><rect x="170" y="28" width="7" height="7" fill="#142638"></rect><rect x="177" y="28" width="7" height="7" fill="#142638"></rect><rect x="198" y="28" width="7" height="7" fill="#142638"></rect><rect x="205" y="28" width="7" height="7" fill="#142638"></rect><rect x="128" y="35" width="7" height="7" fill="#142638"></rect><rect x="135" y="35" width="7" height="7" fill="#142638"></rect><rect x="156" y="35" width="7" height="7" fill="#142638"></rect><rect x="163" y="35" width="7" height="7" fill="#142638"></rect><rect x="170" y="35" width="7" height="7" fill="#142638"></rect><rect x="177" y="35" width="7" height="7" fill="#142638"></rect><rect x="198" y="35" width="7" height="7" fill="#142638"></rect><rect x="205" y="35" width="7" height="7" fill="#142638"></rect><rect x="128" y="42" width="7" height="7" fill="#142638"></rect><rect x="135" y="42" width="7" height="7" fill="#142638"></rect><rect x="142" y="42" width="7" height="7" fill="#142638"></rect><rect x="149" y="42" width="7" height="7" fill="#142638"></rect><rect x="156" y="42" width="7" height="7" fill="#142638"></rect><rect x="163" y="42" width="7" height="7" fill="#142638"></rect><rect x="170" y="42" width="7" height="7" fill="#142638"></rect><rect x="177" y="42" width="7" height="7" fill="#142638"></rect><rect x="184" y="42" width="7" height="7" fill="#142638"></rect><rect x="191" y="42" width="7" height="7" fill="#142638"></rect><rect x="198" y="42" width="7" height="7" fill="#142638"></rect><rect x="205" y="42" width="7" height="7" fill="#142638"></rect><rect x="128" y="49" width="7" height="7" fill="#142638"></rect><rect x="135" y="49" width="7" height="7" fill="#142638"></rect><rect x="142" y="49" width="7" height="7" fill="#142638"></rect><rect x="149" y="49" width="7" height="7" fill="#142638"></rect><rect x="156" y="49" width="7" height="7" fill="#142638"></rect><rect x="163" y="49" width="7" height="7" fill="#142638"></rect><rect x="170" y="49" width="7" height="7" fill="#142638"></rect><rect x="177" y="49" width="7" height="7" fill="#142638"></rect><rect x="184" y="49" width="7" height="7" fill="#142638"></rect><rect x="191" y="49" width="7" height="7" fill="#142638"></rect><rect x="198" y="49" width="7" height="7" fill="#142638"></rect><rect x="205" y="49" width="7" height="7" fill="#142638"></rect><rect x="128" y="56" width="7" height="7" fill="#70787c"></rect><rect x="135" y="56" width="7" height="7" fill="#70787c"></rect><rect x="142" y="56" width="7" height="7" fill="#70787c"></rect><rect x="149" y="56" width="7" height="7" fill="#70787c"></rect><rect x="156" y="56" width="7" height="7" fill="#70787c"></rect><rect x="163" y="56" width="7" height="7" fill="#70787c"></rect><rect x="170" y="56" width="7" height="7" fill="#70787c"></rect><rect x="177" y="56" width="7" height="7" fill="#70787c"></rect><rect x="184" y="56" width="7" height="7" fill="#70787c"></rect><rect x="191" y="56" width="7" height="7" fill="#70787c"></rect><rect x="198" y="56" width="7" height="7" fill="#70787c"></rect><rect x="205" y="56" width="7" height="7" fill="#70787c"></rect><rect x="135" y="63" width="7" height="7" fill="#70787c"></rect><rect x="142" y="63" width="7" height="7" fill="#70787c"></rect><rect x="163" y="63" width="7" height="7" fill="#70787c"></rect><rect x="170" y="63" width="7" height="7" fill="#70787c"></rect><rect x="191" y="63" width="7" height="7" fill="#70787c"></rect><rect x="198" y="63" width="7" height="7" fill="#70787c"></rect><rect x="282" y="-14" width="7" height="7" fill="#b85a12"></rect><rect x="289" y="-14" width="7" height="7" fill="#b85a12"></rect><rect x="282" y="-7" width="7" height="7" fill="#b85a12"></rect><rect x="289" y="-7" width="7" height="7" fill="#b85a12"></rect><rect x="275" y="0" width="7" height="7" fill="#70787c"></rect><rect x="282" y="0" width="7" height="7" fill="#70787c"></rect><rect x="275" y="7" width="7" height="7" fill="#70787c"></rect><rect x="282" y="7" width="7" height="7" fill="#70787c"></rect><rect x="226" y="14" width="7" height="7" fill="#142638"></rect><rect x="233" y="14" width="7" height="7" fill="#142638"></rect><rect x="240" y="14" width="7" height="7" fill="#142638"></rect><rect x="247" y="14" width="7" height="7" fill="#142638"></rect><rect x="254" y="14" width="7" height="7" fill="#142638"></rect><rect x="261" y="14" width="7" height="7" fill="#142638"></rect><rect x="268" y="14" width="7" height="7" fill="#142638"></rect><rect x="275" y="14" width="7" height="7" fill="#142638"></rect><rect x="282" y="14" width="7" height="7" fill="#142638"></rect><rect x="289" y="14" width="7" height="7" fill="#142638"></rect><rect x="296" y="14" width="7" height="7" fill="#142638"></rect><rect x="303" y="14" width="7" height="7" fill="#142638"></rect><rect x="226" y="21" width="7" height="7" fill="#142638"></rect><rect x="233" y="21" width="7" height="7" fill="#142638"></rect><rect x="240" y="21" width="7" height="7" fill="#142638"></rect><rect x="247" y="21" width="7" height="7" fill="#142638"></rect><rect x="254" y="21" width="7" height="7" fill="#142638"></rect><rect x="261" y="21" width="7" height="7" fill="#142638"></rect><rect x="268" y="21" width="7" height="7" fill="#142638"></rect><rect x="275" y="21" width="7" height="7" fill="#142638"></rect><rect x="282" y="21" width="7" height="7" fill="#142638"></rect><rect x="289" y="21" width="7" height="7" fill="#142638"></rect><rect x="296" y="21" width="7" height="7" fill="#142638"></rect><rect x="303" y="21" width="7" height="7" fill="#142638"></rect><rect x="226" y="28" width="7" height="7" fill="#142638"></rect><rect x="233" y="28" width="7" height="7" fill="#142638"></rect><rect x="254" y="28" width="7" height="7" fill="#142638"></rect><rect x="261" y="28" width="7" height="7" fill="#142638"></rect><rect x="268" y="28" width="7" height="7" fill="#142638"></rect><rect x="275" y="28" width="7" height="7" fill="#142638"></rect><rect x="296" y="28" width="7" height="7" fill="#142638"></rect><rect x="303" y="28" width="7" height="7" fill="#142638"></rect><rect x="226" y="35" width="7" height="7" fill="#142638"></rect><rect x="233" y="35" width="7" height="7" fill="#142638"></rect><rect x="254" y="35" width="7" height="7" fill="#142638"></rect><rect x="261" y="35" width="7" height="7" fill="#142638"></rect><rect x="268" y="35" width="7" height="7" fill="#142638"></rect><rect x="275" y="35" width="7" height="7" fill="#142638"></rect><rect x="296" y="35" width="7" height="7" fill="#142638"></rect><rect x="303" y="35" width="7" height="7" fill="#142638"></rect><rect x="226" y="42" width="7" height="7" fill="#142638"></rect><rect x="233" y="42" width="7" height="7" fill="#142638"></rect><rect x="240" y="42" width="7" height="7" fill="#142638"></rect><rect x="247" y="42" width="7" height="7" fill="#142638"></rect><rect x="254" y="42" width="7" height="7" fill="#142638"></rect><rect x="261" y="42" width="7" height="7" fill="#142638"></rect><rect x="268" y="42" width="7" height="7" fill="#142638"></rect><rect x="275" y="42" width="7" height="7" fill="#142638"></rect><rect x="282" y="42" width="7" height="7" fill="#142638"></rect><rect x="289" y="42" width="7" height="7" fill="#142638"></rect><rect x="296" y="42" width="7" height="7" fill="#142638"></rect><rect x="303" y="42" width="7" height="7" fill="#142638"></rect><rect x="226" y="49" width="7" height="7" fill="#142638"></rect><rect x="233" y="49" width="7" height="7" fill="#142638"></rect><rect x="240" y="49" width="7" height="7" fill="#142638"></rect><rect x="247" y="49" width="7" height="7" fill="#142638"></rect><rect x="254" y="49" width="7" height="7" fill="#142638"></rect><rect x="261" y="49" width="7" height="7" fill="#142638"></rect><rect x="268" y="49" width="7" height="7" fill="#142638"></rect><rect x="275" y="49" width="7" height="7" fill="#142638"></rect><rect x="282" y="49" width="7" height="7" fill="#142638"></rect><rect x="289" y="49" width="7" height="7" fill="#142638"></rect><rect x="296" y="49" width="7" height="7" fill="#142638"></rect><rect x="303" y="49" width="7" height="7" fill="#142638"></rect><rect x="226" y="56" width="7" height="7" fill="#70787c"></rect><rect x="233" y="56" width="7" height="7" fill="#70787c"></rect><rect x="240" y="56" width="7" height="7" fill="#70787c"></rect><rect x="247" y="56" width="7" height="7" fill="#70787c"></rect><rect x="254" y="56" width="7" height="7" fill="#70787c"></rect><rect x="261" y="56" width="7" height="7" fill="#70787c"></rect><rect x="268" y="56" width="7" height="7" fill="#70787c"></rect><rect x="275" y="56" width="7" height="7" fill="#70787c"></rect><rect x="282" y="56" width="7" height="7" fill="#70787c"></rect><rect x="289" y="56" width="7" height="7" fill="#70787c"></rect><rect x="296" y="56" width="7" height="7" fill="#70787c"></rect><rect x="303" y="56" width="7" height="7" fill="#70787c"></rect><rect x="233" y="63" width="7" height="7" fill="#70787c"></rect><rect x="240" y="63" width="7" height="7" fill="#70787c"></rect><rect x="261" y="63" width="7" height="7" fill="#70787c"></rect><rect x="268" y="63" width="7" height="7" fill="#70787c"></rect><rect x="289" y="63" width="7" height="7" fill="#70787c"></rect><rect x="296" y="63" width="7" height="7" fill="#70787c"></rect></svg></a><nav aria-label="Primary" role="navigation" class="css-g5y9jx w-full md:w-auto" data-testid="shell:nav"><div class="flex-row flex relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent m-0 p-0 text-decoration-none gap-6 items-center" data-sentry-element="Stack" data-sentry-source-file="SiteHeaderView.tsx"><a href="/contact" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info" data-testid="shell:nav:Contact">Contact</a><a href="/blog" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info" data-testid="shell:nav:Blog">Blog</a><a href="/privacy" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info" data-testid="shell:nav:Privacy">Privacy</a></div></nav></div></header><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex-1" data-testid="shell:main-slot" testID="shell:main-slot" data-sentry-element="Box" data-sentry-source-file="SiteShellView.tsx"><div style="position:absolute;
336left:0;right:0;top:0;bottom:0;pointer-events:none;visibility:hidden"></div><div class="css-g5y9jx r-13awgt0"><div class="css-g5y9jx r-13awgt0 r-1p0dtai r-1d2f490 r-u8s1d r-zchlnj r-ipm5af" style="background-color:rgba(242,242,242,1.00);display:flex"><div class="css-g5y9jx r-13awgt0"><div class="css-g5y9jx r-13awgt0"><!--$--><div class="css-g5y9jx r-150rngu r-eqz5dr r-16y2uox r-1wbh5a2 r-11yh6sk r-1rnoaur r-agouwx flex-1 bg-surface-base" data-testid="blog:container"><div class="css-g5y9jx"><main role="main" tabindex="-1" class="css-g5y9jx" id="main" data-testid="shell:main"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 items-stretch m-0 p-0 text-decoration-none w-full px-4 py-16 md:px-8 md:py-24 bg-surface-base" data-sentry-element="Box" data-sentry-component="Section" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none mx-auto w-full max-w-wide" data-sentry-element="Box" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent m-0 p-0 text-decoration-none gap-6 items-start" data-sentry-element="Stack" data-sentry-source-file="PageHeroView.tsx"><h1 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-display-xl font-heading font-bold max-w-narrow text-content-primary" data-testid="blog:title" testID="blog:title" data-sentry-element="Heading" data-sentry-source-file="PageHeroView.tsx">The software factory is already here.</h1><div dir="auto" class="css-146c3p1 r-11nzuo4 text-title-sm font-heading font-bold text-content-secondary max-w-prose" data-testid="blog:body">Most teams are still debating whether agents belong in software delivery. We are documenting what happens after that debate is over.</div></div></div></div><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 items-stretch m-0 p-0 text-decoration-none w-full px-4 py-16 md:px-8 md:py-24 bg-surface-raised" data-sentry-element="Box" data-sentry-source-file="index.tsx" data-sentry-component="Section"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none mx-auto w-full max-w-content" data-sentry-element="Box" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent m-0 p-0 text-decoration-none gap-6 items-start" data-sentry-element="Stack" data-sentry-source-file="BlogIndexView.tsx"><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body uppercase text-content-muted">Weekday dispatches</span><h2 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-display-md font-heading font-bold text-content-primary">No hype. No polite fiction.</h2><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary max-w-prose">What works, what breaks and what the shift to autonomous delivery means for the people and companies standing in its path.</div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 w-full" data-testid="blog:posts" testID="blog:posts" data-sentry-element="Box" data-sentry-source-file="index.tsx" data-sentry-component="ThreeUpGrid"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:0" testID="blog:posts:row:0"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-harness-is-the-operating-system" testID="blog:post:the-harness-is-the-operating-system" data-sentry-element="Box" data-sentry-component="C
336ard" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack locks a glowing reasoning core into a guarded factory control ring while wild smoke and broken paths press against its outer gates." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-harness-is-the-operating-system:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-10-03</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The Harness Is the Operating System</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">The model can reason. The harness decides what that reasoning is allowed to become.</div><a href="/blog/the-harness-is-the-operating-system" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:cheap-judgment-still-has-to-earn-authority" testID="blog:post:cheap-judgment-still-has-to-earn-authority" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack advances a small glowing judgment gear through a series of guarded factory gates while a tangled backlog presses against the machinery." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:cheap-judgment-still-has-to-earn-authority:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-09-19</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Cheap Judgment Still Has to Earn Authority</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">A machine can now judge thousands of routine cases for less than the cost of asking a person to open the queue. That changes what you can measure. It does not change what you should trust.</div><a href="/blog/cheap-judgment-still-has-to-earn-authority" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:confidence-needs-a-cost-function" testID="blog:post:confidence-needs-a-cost-function" data-sentry-element="Box" data-sentry-component="C
336ard" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack weighs glowing routing signals on a mechanical balance before opening guarded factory gates while tangled multilingual currents press against the switchboard." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:confidence-needs-a-cost-function:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-09-19</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Confidence Needs a Cost Function</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">A model can be honestly uncertain and still send the work to the wrong place. The score is not the decision. The consequence is.</div><a href="/blog/confidence-needs-a-cost-function" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:1" testID="blog:posts:row:1"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-router-is-not-the-factory" testID="blog:post:the-router-is-not-the-factory" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack sets a compact mechanical switchyard that routes glowing workpieces into guarded factory lines while a cloud of tangled paths presses against the gates." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-router-is-not-the-factory:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-09-19</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The Router Is Not the Factory</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">A tiny model that makes one narrow decision quickly can change the economics of an agent system. It still cannot tell you whether the system deserves to run.</div><a href="/blog/the-router-is-not-the-factory" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:a-proof-cannot-rescue-the-wrong-problem" testID="blog:post:a-proof-cannot-rescue-the-wrong-problem" data-sentry-element="Box" data-sentry-component="C
336ard" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack diverts a glowing mechanism from a perfectly sealed but misdirected proof track toward a researched route through a disciplined factory while smoky shortcuts press against the junction." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:a-proof-cannot-rescue-the-wrong-problem:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-09-18</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">A Proof Cannot Rescue the Wrong Problem</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">You can prove that software obeys every rule you wrote and still build the wrong thing. The proof may be flawless. The decision that came before it may not be.</div><a href="/blog/a-proof-cannot-rescue-the-wrong-problem" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-ide-is-a-manual-control-loop" testID="blog:post:the-ide-is-a-manual-control-loop" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack pulls a glowing software component out of a cramped control booth and sends it through a wide, gated factory route while loose smoky cables resist the transfer." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-ide-is-a-manual-control-loop:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-09-18</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The IDE Is a Manual Control Loop</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">A coding agent inside your editor can feel autonomous while it waits for you at every meaningful turn. If you have to keep watching, the agent is not running the work. You are.</div><a href="/blog/the-ide-is-a-manual-control-loop" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:2" testID="blog:posts:row:2"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:autonomy-stops-where-observation-stops" testID="blog:post:autonomy-stops-where-observation-stops" data-sentry-element="Box" data-sentry-component="C
336ard" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack opens a sequence of mechanical observation gates that turn obscured failures into a clear evidence trail through a disciplined factory." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:autonomy-stops-where-observation-stops:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-09-17</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Autonomy Stops Where Observation Stops</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">An agent cannot take responsibility for a system it cannot see. Give it half the environment and you get half the autonomy, no matter how capable the model is.</div><a href="/blog/autonomy-stops-where-observation-stops" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:quality-is-part-of-the-agent-price" testID="blog:post:quality-is-part-of-the-agent-price" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack weighs a stream of glowing machine parts against the complete burden of proof, repair, and discarded work while loose smoke strains around the measuring gate." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:quality-is-part-of-the-agent-price:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-09-17</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Quality Is Part of the Agent Price</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">A coding agent is not cheap because its meter is low. It is cheap when the work it produces survives without sending the rest of the bill to somebody else.</div><a href="/blog/quality-is-part-of-the-agent-price" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:you-are-benchmarking-the-harness" testID="blog:post:you-are-benchmarking-the-harness" data-sentry-element="Box" data-sentry-component="C
336ard" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack routes one glowing mechanical core through two contrasting factory harnesses, revealing a disciplined proof line on one side and tangled smoky pressure on the other." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:you-are-benchmarking-the-harness:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-09-17</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">You Are Benchmarking the Harness</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Put the same model inside two different coding systems and you do not have the same worker. You have two different factories pretending to share an engine.</div><a href="/blog/you-are-benchmarking-the-harness" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:3" testID="blog:posts:row:3"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:trust-should-be-paid-for-once" testID="blog:post:trust-should-be-paid-for-once" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack locks a durable role plate into a factory station while loose smoke strains against the station's guarded boundary." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:trust-should-be-paid-for-once:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-09-16</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Trust Should Be Paid for Once</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">An agent that has to rediscover who it is, what it may do, and whether the system around it is telling the truth will spend your budget answering questions the factory should have settled already.</div>
336<a href="/blog/trust-should-be-paid-for-once" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:repetition-is-the-factory-test" testID="blog:post:repetition-is-the-factory-test" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack resets a mechanical production loop for another pass while loose smoke presses against its guarded handoffs." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:repetition-is-the-factory-test:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-09-15</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Repetition Is the Factory Test</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">One clean agent run proves that the agent can finish a task. The second run, after the context changed and nobody stayed late to rescue it, tells you whether you built a factory.</div><a href="/blog/repetition-is-the-factory-test" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-agent-is-not-where-your-product-lives" testID="blog:post:the-agent-is-not-where-your-product-lives" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack loads durable context plates into a guarded factory mechanism while a shifting cloud of loose machine parts presses against the line." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-agent-is-not-where-your-product-lives:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap w
336ord-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-09-15</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The Agent Is Not Where Your Product Lives</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">The agent can write the code. It should not be the only place that knows what the product is, how the work gets done, or why the result is allowed to ship.</div><a href="/blog/the-agent-is-not-where-your-product-lives" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:4" testID="blog:posts:row:4"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:every-feature-needs-an-exit" testID="blog:post:every-feature-needs-an-exit" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack pulls an obsolete mechanism from a disciplined factory line while tangled smoky growth presses in around the open space." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:every-feature-needs-an-exit:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-09-14</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Every Feature Needs an Exit</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">The dangerous thing about cheap code is not that agents will write bad features. It is that they will make every feature feel too inexpensive to refuse and too established to remove.</div><a href="/blog/every-feature-needs-an-exit" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-harness-is-a-security-boundary" testID="blog:post:the-harness-is-a-security-boundary" data-sentry-element="Box" data-sentry-component="C
336ard" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack closes a heavy mechanical gate around a branching agent assembly line while smoky tendrils press against the controlled boundary." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-harness-is-a-security-boundary:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-09-14</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The Harness Is a Security Boundary</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">You can spend months deciding whether a model is safe, then give it a harness that turns one bad decision into a thousand fast, repeatable actions. The model is only one part of the threat surface.</div><a href="/blog/the-harness-is-a-security-boundary" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:a-second-agent-is-not-independent-proof" testID="blog:post:a-second-agent-is-not-independent-proof" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack separates a mechanical builder from an independent proof chamber while tangled smoke presses against the testing gate." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:a-second-agent-is-not-independent-proof:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-09-12</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">A Second Agent Is Not Independent Proof</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Giving a coding agent another agent to test its work is a real advance. It is also the start of a verification system, not the end of one. Two agents can still share the same blind spot, reward the same shortcut, and agree on a result that should never ship.</div><a href="/blog/a-second-agent-is-not-independent-proof" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:5" testID="blog:posts:row:5"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:ai-code-needs-a-higher-bar" testID="blog:post:ai-code-needs-a-higher-bar" data-sentry-element="Box" data-sentry-component="C
336ard" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack raises a fortified mechanical gate around a fast assembly line while smoky duplicate flaws press toward the production side." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:ai-code-needs-a-higher-bar:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-09-12</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">AI Code Needs a Higher Bar</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Code written by an agent should face a higher bar before it reaches production. Not because a person is automatically better, but because automation can repeat one bad assumption across a codebase before a human team finishes discussing the first pull request.</div><a href="/blog/ai-code-needs-a-higher-bar" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:coding-is-a-hobby-delivery-is-the-job" testID="blog:post:coding-is-a-hobby-delivery-is-the-job" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack guides streams of machine-built components through a guarded proof gate while an abandoned hand tool rests outside the active factory line." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:coding-is-a-hobby-delivery-is-the-job:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-09-12</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Coding Is a Hobby. Delivery Is the Job.</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Writing code by hand is becoming an elective activity. You can still love it, teach it, and get very good at it. But an organization that pays people to type every implementation themselves is choosing craft over economics.</div><a href="/blog/coding-is-a-hobby-delivery-is-the-job" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:creativity-is-not-a-release-decision" testID="blog:post:creativity-is-not-a-release-decision" data-sentry-element="Box" data-sentry-component="C
336ard" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack routes one precise glowing mechanism from a storm of unfinished inventions through a guarded factory gate." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:creativity-is-not-a-release-decision:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-09-12</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Creativity Is Not a Release Decision</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">An agent can produce a hundred plausible directions before your team finishes debating the first one. That does not make judgment obsolete. It makes selection the most expensive decision in the room.</div><a href="/blog/creativity-is-not-a-release-decision" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:6" testID="blog:posts:row:6"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:recursive-improvement-is-a-factory-problem" testID="blog:post:recursive-improvement-is-a-factory-problem" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack closes a disciplined mechanical loop around an experiment chamber while uncontrolled sparks press against its proof gates." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:recursive-improvement-is-a-factory-problem:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-09-12</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap w
336ord-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Recursive Improvement Is a Factory Problem</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">A model that helps improve the next model sounds like a loop. It is not one. Until the work can propose a change, run an experiment, judge the evidence, and survive a bad result, you have a clever assistant waiting on a human research process.</div><a href="/blog/recursive-improvement-is-a-factory-problem" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-factory-is-built-from-refusals" testID="blog:post:the-factory-is-built-from-refusals" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack routes glowing workpieces through a series of mechanical gates while loose smoky fragments are rejected into the surrounding wash." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-factory-is-built-from-refusals:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-09-12</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The Factory Is Built From Refusals</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Launching more coding agents is easy. Building a system that knows when they should not start, continue, or ship is the actual work.</div><a href="/blog/the-factory-is-built-from-refusals" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:a-green-gate-can-still-miss-the-change" testID="blog:post:a-green-gate-can-still-miss-the-change" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack routes a newly forged component through a complete ring of inspection gates while loose smoke conceals broken, disconnected checkpoints nearby." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:a-green-gate-can-still-miss-the-c
336hange:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-09-11</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">A Green Gate Can Still Miss the Change</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Every check passed. The new behavior still escaped three of them. That is not a testing failure. It is an inventory failure hiding behind a green result.</div><a href="/blog/a-green-gate-can-still-miss-the-change" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:7" testID="blog:posts:row:7"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:a-model-launch-is-not-a-capacity-plan" testID="blog:post:a-model-launch-is-not-a-capacity-plan" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack routes interchangeable glowing machine cores through a rigorous proving gate while a turbulent scoreboard-like cloud collapses behind the factory line." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:a-model-launch-is-not-a-capacity-plan:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-09-11</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">A Model Launch Is Not a Capacity Plan</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">A new model can beat yesterday's favorite before your procurement meeting ends. That is useful. It is also a terrible foundation for an operating plan.</div><a href="/blog/a-model-launch-is-not-a-capacity-plan" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:disposable-code-needs-a-hard-boundary" testID="blog:post:disposable-code-needs-a-hard-boundary" data-sentry-element="Box" data-sentry-component="C
336ard" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack sorts rough temporary mechanisms away from polished components at a guarded factory boundary while tangled smoke presses toward the durable assembly line." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:disposable-code-needs-a-hard-boundary:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-09-11</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Disposable Code Needs a Hard Boundary</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">An agent can write ugly code that is perfectly fit for a five-second tool call. The failure begins when that same code crosses into the product and nobody makes it earn the right to stay.</div><a href="/blog/disposable-code-needs-a-hard-boundary" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:green-tests-are-not-a-clean-bill-of-health" testID="blog:post:green-tests-are-not-a-clean-bill-of-health" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack guides a clean gear assembly through a measuring gate while tangled duplicate machinery presses against the factory line from the shadows." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:green-tests-are-not-a-clean-bill-of-health:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-09-11</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Green Tests Are Not a Clean Bill of Health</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">An agent can make every test pass and still leave the codebase worse than
336it found it. Correct behavior is the entry fee. The factory also has to control what each change does to the system behind that behavior.</div><a href="/blog/green-tests-are-not-a-clean-bill-of-health" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:8" testID="blog:posts:row:8"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:a-testing-tool-is-not-a-testing-strategy" testID="blog:post:a-testing-tool-is-not-a-testing-strategy" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack aims a precise mechanical testing rig at the strained joints of a complex machine while loose ornamental tools dissolve into smoke." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:a-testing-tool-is-not-a-testing-strategy:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-09-08</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">A Testing Tool Is Not a Testing Strategy</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Tell an agent to use fuzzing, property tests, or formal methods and it may use the tool perfectly while proving almost nothing. The label changed. The verification strategy did not.</div><a href="/blog/a-testing-tool-is-not-a-testing-strategy" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:bad-code-does-not-find-the-bottom" testID="blog:post:bad-code-does-not-find-the-bottom" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack braces a descending factory platform with a locked mechanical stop while cracked gears and dark smoke pull the uncontrolled machinery downward." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:bad-code-does-not-find-the-bottom:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap w
336ord-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-09-07</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Bad Code Does Not Find the Bottom</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Bad code does not eventually become too bad to continue. It keeps accepting one more shortcut, one more patch, and one more feature until the business discovers the limit for it.</div><a href="/blog/bad-code-does-not-find-the-bottom" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:build-buy-or-blend-is-a-routing-decision" testID="blog:post:build-buy-or-blend-is-a-routing-decision" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack directs glowing components through three guarded factory routes while tangled smoke pushes against the switching mechanism." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:build-buy-or-blend-is-a-routing-decision:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-09-07</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Build, Buy, or Blend Is a Routing Decision</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">The build-versus-buy debate asks for one answer and then tries to make that answer last forever. AI makes that mistake more expensive, not less.</div><a href="/blog/build-buy-or-blend-is-a-routing-decision" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:9" testID="blog:posts:row:9"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:rollback-is-a-factory-capability" testID="blog:post:rollback-is-a-factory-capability" data-sentry-element="Box" data-sentry-component="C
336ard" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack pulls a precise mechanical lever that guides a glowing component back through a protected factory loop while tangled smoke presses toward the active line." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:rollback-is-a-factory-capability:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-09-07</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Rollback Is a Factory Capability</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">When agents can change production all day, undo cannot remain the plan you invent after something breaks. Reversal has to be part of the factory that shipped the change.</div><a href="/blog/rollback-is-a-factory-capability" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-agent-toolbox-is-a-build-input" testID="blog:post:the-agent-toolbox-is-a-build-input" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack locks a set of mechanical tools into a governed factory carriage while loose, mismatched instruments press through smoky disorder around the gate." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-agent-toolbox-is-a-build-input:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-09-07</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The Agent Toolbox Is a Build Input</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Give a coding agent a clean machine and it will start making choices before it starts making software. Those choices are part of the build, whether you govern them or not.</div><a href="/blog/the-agent-toolbox-is-a-build-input" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-demo-is-not-the-operating-model" testID="blog:post:the-demo-is-not-the-operating-model" data-sentry-element="Box" data-sentry-component="C
336ard" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack guides a newly forged component from a bright assembly bench into a guarded operating loop while smoke and broken machinery press against the route." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-demo-is-not-the-operating-model:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-09-07</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The Demo Is Not the Operating Model</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">AI can get you to working software fast. That is useful. It is also the point where the expensive part begins.</div><a href="/blog/the-demo-is-not-the-operating-model" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:10" testID="blog:posts:row:10"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:you-cannot-retrofit-a-factory-around-a-pull-request" testID="blog:post:you-cannot-retrofit-a-factory-around-a-pull-request" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack rebuilds a narrow pull-request checkpoint into a branching factory gate while a growing pile of components and tangled smoke press against the old route." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:you-cannot-retrofit-a-factory-around-a-pull-request:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-09-07</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap w
336ord-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">You Cannot Retrofit a Factory Around a Pull Request</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Put agents into the delivery process you already have and you will get more code. You will not get a software factory. You will get the same human system with a much faster loading dock.</div><a href="/blog/you-cannot-retrofit-a-factory-around-a-pull-request" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:self-hosted-execution-is-not-operational-control" testID="blog:post:self-hosted-execution-is-not-operational-control" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack secures a factory's local tool chamber while tracing a remote planning conduit through a guarded switchboard toward a tested exit route." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:self-hosted-execution-is-not-operational-control:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-09-03</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Self-Hosted Execution Is Not Operational Control</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Putting an agent's hands inside your network does not put its brain under your control. It solves a real problem. It also leaves the bigger dependency exactly where it was.</div><a href="/blog/self-hosted-execution-is-not-operational-control" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-factory-needs-a-complexity-budget" testID="blog:post:the-factory-needs-a-complexity-budget" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack diverts an overloaded branching gear train through a disciplined set of mechanical gates while tangled smoke presses toward the factory line." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-factory-needs-a-complexity-budget:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap w
336ord-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-09-03</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The Factory Needs a Complexity Budget</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">The agent can keep changing code long after your team can explain it. That is not proof the code is healthy. It is proof your old warning signal disappeared.</div><a href="/blog/the-factory-needs-a-complexity-budget" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:11" testID="blog:posts:row:11"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:understanding-cannot-wait-for-code-review" testID="blog:post:understanding-cannot-wait-for-code-review" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack pulls a bright design thread through a working factory before components reach a crowded inspection gate, while loose smoke gathers behind the finished machinery." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:understanding-cannot-wait-for-code-review:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-09-03</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Understanding Cannot Wait for Code Review</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">A pull request is a terrible place to discover why the system changed. By then, the important decisions have already been made and buried in a diff.</div><a href="/blog/understanding-cannot-wait-for-code-review" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-agent-needs-a-real-system-to-test" testID="blog:post:the-agent-needs-a-real-system-to-test" data-sentry-element="Box" data-sentry-component="C
336ard" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack routes a newly built component through an isolated mechanical test chamber connected to a vast working factory while loose smoke presses against the chamber walls." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-agent-needs-a-real-system-to-test:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-31</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The Agent Needs a Real System to Test</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">An agent can run every test you give it and still prove the wrong thing. The missing piece is often not another test. It is a system worth testing against.</div><a href="/blog/the-agent-needs-a-real-system-to-test" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:your-ai-vendor-is-a-control-plane" testID="blog:post:your-ai-vendor-is-a-control-plane" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack reroutes a disciplined factory line through a sturdy mechanical switchyard while a distant gate closes behind it in a cloud of loose ink." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:your-ai-vendor-is-a-control-plane:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-30</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Your AI Vendor Is a Control Plane</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">If another company can switch off your software factory by changing a contract, that c
336ompany is part of your control plane. Design accordingly.</div><a href="/blog/your-ai-vendor-is-a-control-plane" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:12" testID="blog:posts:row:12"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:a-rule-should-get-harder" testID="blog:post:a-rule-should-get-harder" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack forges a loose paper rule into a sequence of stronger mechanical gates while thorny smoke presses against the unfinished path." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:a-rule-should-get-harder:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-27</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">A Rule Should Get Harder</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">If an agent breaks the same rule twice, the problem is no longer the agent. The factory saw a pattern and chose to leave it as advice.</div><a href="/blog/a-rule-should-get-harder" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:cheap-code-makes-complexity-more-expensive" testID="blog:post:cheap-code-makes-complexity-more-expensive" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack routes a stream of machine-built components through disciplined gates while a growing tangle of loose connections presses against the factory." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;
336width:revert-layer" data-testid="blog:post:cheap-code-makes-complexity-more-expensive:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-27</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Cheap Code Makes Complexity More Expensive</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Agents are making code cheaper. They are not making complexity cheaper. If anything, they are giving complexity a faster engine.</div><a href="/blog/cheap-code-makes-complexity-more-expensive" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:programming-ends-where-the-factory-begins" testID="blog:post:programming-ends-where-the-factory-begins" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack directs streams of machine-built components through proof gates into a working factory while abandoned hand tools fade into loose smoke." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:programming-ends-where-the-factory-begins:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-27</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Programming Ends Where the Factory Begins</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">The end of programming does not mean the end of engineering. It means typing code stops being the center of the job, and the machinery around it finally becomes impossible to ignore.</div><a href="/blog/programming-ends-where-the-factory-begins" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:13" testID="blog:posts:row:13"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-harness-has-to-learn" testID="blog:post:the-harness-has-to-learn" data-sentry-element="Box" data-sentry-component="C
336ard" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack feeds glowing evidence from a broken factory route back into a rebuilt system of context, worker, critic, and proof gates while loose smoke presses against the old path." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-harness-has-to-learn:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-27</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The Harness Has to Learn</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">A harness that starts every job with the same mistakes is not infrastru
336cture. It is a reset button with tools attached.</div><a href="/blog/the-harness-has-to-learn" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-product-record-must-survive-the-code" testID="blog:post:the-product-record-must-survive-the-code" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack pulls a glowing product change through a mechanical evidence loop while loose smoke tries to separate the original intent from the observed result." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-product-record-must-survive-the-code:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-27</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The Product Record Must Survive the Code</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">A code diff can tell you what changed. It cannot tell you whether the product now does what you meant. As agents make implementation cheaper, that missing answer becomes the center of the work.</div><a href="/blog/the-product-record-must-survive-the-code" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:discovery-is-not-delegation" testID="blog:post:discovery-is-not-delegation" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack routes one glowing machine module from a vast catalog through a sequence of permission and proof gates while loose thorny smoke presses toward the open tracks." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:discovery-is-not-delegation:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap w
336ord-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-24</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Discovery Is Not Delegation</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">An agent can find the right tool and still have no business using it. Discovery answers what exists. A factory has to answer what may act, under which conditions, and who proves the result.</div><a href="/blog/discovery-is-not-delegation" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:14" testID="blog:posts:row:14"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:expertise-must-move-into-the-factory" testID="blog:post:expertise-must-move-into-the-factory" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack routes glowing lessons from a collapsing practice track into durable factory gates while dark tangled machinery presses in from the side." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:expertise-must-move-into-the-factory:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-24</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Expertise Must Move Into the Factory</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">AI will erase much of the work that used to produce experienced developers. Preserving that work is not the answer. Building a better route to judgment is.</div><a href="/blog/expertise-must-move-into-the-factory" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:your-voice-needs-a-gate" testID="blog:post:your-voice-needs-a-gate" data-sentry-element="Box" data-sentry-component="C
336ard" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack tunes a mechanical signal gate that separates one clear orange waveform from a cloud of tangled, nearly identical echoes." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:your-voice-needs-a-gate:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-24</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Your Voice Needs a Gate</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">A model can sound exactly like you for one page and drift into polished mush on the next. That is not a mysterious creative failure. It is an uncontrolled production system.</div><a href="/blog/your-voice-needs-a-gate" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:a-pattern-is-not-a-factory-control" testID="blog:post:a-pattern-is-not-a-factory-control" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack pulls a loose pattern sheet into a precise gear-driven control loom that stamps verified parts while thorny smoke presses against the machinery." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:a-pattern-is-not-a-factory-control:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-23</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">A Pattern Is Not a Factory Control</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">A written pattern can teach an engineer what good agentic work looks like. It cannot make the next agent follow the rule.</div><a href="/blog/a-pattern-is-not-a-factory-control" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:15" testID="blog:posts:row:15"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-expensive-model-belongs-at-the-narrowest-gate" testID="blog:post:the-expensive-model-belongs-at-the-narrowest-gate" data-sentry-element="Box" data-sentry-component="C
336ard" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack directs simple mechanical parts through a broad efficient assembly line while reserving a narrow guarded forge for one complex component as tangled smoke presses against the routing gates." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-expensive-model-belongs-at-the-narrowest-gate:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-23</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The Expensive Model Belongs at the Narrowest Gate</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Sending every software task to the strongest model is not a strategy. It is what you do before the factory knows how to route work.</div><a href="/blog/the-expensive-model-belongs-at-the-narrowest-gate" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-harness-is-not-the-factory" testID="blog:post:the-harness-is-not-the-factory" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack locks a compact agent engine into a larger factory track of gates, tools, and evidence while loose smoke presses against the unfinished route." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-harness-is-not-the-factory:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-23</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The Harness Is Not the Factory</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">An agent harness turns a model into a worker. It does not turn that worker into a software-delivery system.</div><a href="/blog/the-harness-is-not-the-factory" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:your-toolchain-is-not-your-operating-system" testID="blog:post:your-toolchain-is-not-your-operating-system" data-sentry-element="Box" data-sentry-component="C
336ard" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack locks a changing set of mechanical power cores into a stable factory control frame while loose gears and smoky pressure swirl outside its proof gates." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:your-toolchain-is-not-your-operating-system:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-23</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Your Toolchain Is Not Your Operating System</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">If every model release forces your team to relearn how software gets built, you do not have an AI strategy. You have a subscription to operational whiplash.</div><a href="/blog/your-toolchain-is-not-your-operating-system" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:16" testID="blog:posts:row:16"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:code-review-cannot-carry-the-factory" testID="blog:post:code-review-cannot-carry-the-factory" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack routes a flood of machine parts through layered mechanical proof gates while a small inspection platform stands clear of the controlled flow." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:code-review-cannot-carry-the-factory:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-22</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap w
336ord-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Code Review Cannot Carry the Factory</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">If your safety system depends on a person reading every line an agent writes, you have not built a software factory. You have built a faster way to exhaust a reviewer.</div><a href="/blog/code-review-cannot-carry-the-factory" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:coding-speed-is-not-factory-throughput" testID="blog:post:coding-speed-is-not-factory-throughput" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack regulates a fast gear-driven assembly line so verified machine parts pass through a proof gate while loose untested parts pile up against smoky pressure." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:coding-speed-is-not-factory-throughput:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-22</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Coding Speed Is Not Factory Throughput</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">An agent can finish the coding step faster and still make the company slower. That is not a contradiction. It is what happens when you measure one station and ignore the line.</div><a href="/blog/coding-speed-is-not-factory-throughput" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:done-is-a-factory-decision" testID="blog:post:done-is-a-factory-decision" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack closes a precise mechanical completion gate as an orderly assembly loop reaches it and a runaway track of repeated parts curls into smoke beyond the boundary." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:done-is-a-factory-decision:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap w
336ord-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-22</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Done Is a Factory Decision</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">An agent does not know when the work is done. It knows when the machinery around it has stopped asking for another attempt.</div><a href="/blog/done-is-a-factory-decision" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:17" testID="blog:posts:row:17"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:a-citizen-developer-is-not-a-software-factory" testID="blog:post:a-citizen-developer-is-not-a-software-factory" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack turns a stream of rough ideas into tested mechanical components while a gated factory line holds back loose smoke and tangled shortcuts." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:a-citizen-developer-is-not-a-software-factory:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-20</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">A Citizen Developer Is Not a Software Factory</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Letting anyone ask for software is useful. Letting anyone quietly become the entire software delivery system is how a fast demo becomes a permanent liability.</div><a href="/blog/a-citizen-developer-is-not-a-software-factory" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:a-closed-pull-request-is-not-finished-work" testID="blog:post:a-closed-pull-request-is-not-finished-work" data-sentry-element="Box" data-sentry-component="C
336ard" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack carries a finished machine component beyond a closed review gate and through a series of production proof stations while loose code fragments dissolve behind it." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:a-closed-pull-request-is-not-finished-work:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-20</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">A Closed Pull Request Is Not Finished Work</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Lines of code measure what the machine emitted. Closed pull requests measure what crossed a review boundary. Neither tells you whether the change deserved to survive.</div><a href="/blog/a-closed-pull-request-is-not-finished-work" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:ai-authorship-is-not-a-quality-signal" testID="blog:post:ai-authorship-is-not-a-quality-signal" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack sorts a torrent of nearly identical paper pages through a mechanical proof gate, sending verified pages into an ordered archive while loose copies dissolve into smoke." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:ai-authorship-is-not-a-quality-signal:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-20</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">AI Authorship Is Not a Quality Signal</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">The web is filling with language machines helped produce. That does not tell you which pages are true, useful, original, or worth trusting.</div><a href="/blog/ai-authorship-is-not-a-quality-signal" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:18" testID="blog:posts:row:18"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:junior-engineers-need-a-different-ramp" testID="blog:post:junior-engineers-need-a-different-ramp" data-sentry-element="Box" data-sentry-component="C
336ard" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack builds a rising mechanical ramp of verified components while tangled smoke presses against its unsupported outer edge." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:junior-engineers-need-a-different-ramp:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-20</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Junior Engineers Need a Different Ramp</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">AI did not make junior engineers useless. It made the old way of developing them too slow, too expensive, and too dependent on senior attention.</div><a href="/blog/junior-engineers-need-a-different-ramp" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:ai-usage-is-not-factory-performance" testID="blog:post:ai-usage-is-not-factory-performance" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack redirects a flood of glowing activity signals through a disciplined proof engine that releases only verified machine components onto the factory line." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:ai-usage-is-not-factory-performance:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-19</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">AI Usage Is Not Factory Performance</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Your AI dashboard can tell you who opened the tool, how often they used it, and how much output it produced. It still cannot tell you whether the softw
336are factory got better.</div><a href="/blog/ai-usage-is-not-factory-performance" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:skepticism-belongs-in-the-gate" testID="blog:post:skepticism-belongs-in-the-gate" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack locks a skeptical inspection lens into a factory gate that rejects warped mechanisms while verified machinery continues down the line." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:skepticism-belongs-in-the-gate:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-17</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Skepticism Belongs in the Gate</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Skeptics are right about the failure. A fluent model can produce plausible software that is subtly, confidently wrong. They are wrong about what follows: the answer is a gate, not a retreat to manual work.</div><a href="/blog/skepticism-belongs-in-the-gate" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:19" testID="blog:posts:row:19"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-proof-must-outrank-the-builder" testID="blog:post:the-proof-must-outrank-the-builder" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack locks a finished machine component beneath an independent proof gate while loose self-approved plans break against the guarded boundary." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-proof-must-outrank-the-builder:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap w
336ord-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-17</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The Proof Must Outrank the Builder</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">An agent can write the feature and the test in the same pass. That looks efficient right up until both agree on the same mistake.</div><a href="/blog/the-proof-must-outrank-the-builder" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:a-bigger-model-does-not-shrink-the-factory" testID="blog:post:a-bigger-model-does-not-shrink-the-factory" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack routes a small stream of glowing work through selected chambers of a monumental machine, then sends the result toward an independent proof gate." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:a-bigger-model-does-not-shrink-the-factory:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-16</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">A Bigger Model Does Not Shrink the Factory</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">A model can carry an enormous amount of capacity and activate only a fraction of it for each token. That is clever engineering. It is not an operating model for your software.</div><a href="/blog/a-bigger-model-does-not-shrink-the-factory" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:a-code-graph-is-not-a-factory" testID="blog:post:a-code-graph-is-not-a-factory" data-sentry-element="Box" data-sentry-component="C
336ard" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack routes a glowing path through a dense mechanical map while a guarded inspection gate tests the finished component beyond it." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:a-code-graph-is-not-a-factory:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-16</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">A Code Graph Is Not a Factory</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Mapping every symbol and dependency in your codebase can make an agent faster. It cannot tell the agent what should change, what must survive, or whether the result deserves to ship.</div><a href="/blog/a-code-graph-is-not-a-factory" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:20" testID="blog:posts:row:20"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:a-coding-session-is-not-factory-memory" testID="blog:post:a-coding-session-is-not-factory-memory" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack transfers glowing mechanical records from a fading smoke-filled chamber into a durable factory archive connected to an active assembly line." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:a-coding-session-is-not-factory-memory:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-16</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap w
336ord-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">A Coding Session Is Not Factory Memory</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">A long coding session can feel like a system. It remembers the discussion, holds the plan, and keeps moving. Then the session ends, and you find out how much of the system only existed in the conversation.</div><a href="/blog/a-coding-session-is-not-factory-memory" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:agility-needs-an-executable-specification" testID="blog:post:agility-needs-an-executable-specification" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack locks a layered specification plate into a factory control gate, aligning disciplined machinery while loose ambiguous shapes press against the outer boundary." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:agility-needs-an-executable-specification:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-16</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Agility Needs an Executable Specification</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Agile delivery could survive a vague ticket because people repaired the ambiguity in conversation. An agent-run factory cannot build its operating system out of hallway context.</div><a href="/blog/agility-needs-an-executable-specification" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:craft-must-become-machinery" testID="blog:post:craft-must-become-machinery" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack presses a craftsperson'
336s precise patterns into durable metal control plates that guide an advancing factory line while loose smoky improvisation pushes against it." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:craft-must-become-machinery:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-16</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Craft Must Become Machinery</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Careful people can get excellent work from coding agents. That is useful, but it is not the finish line. If the quality lives in one person's habits, the factory loses it when that person leaves the keyboard.</div><a href="/blog/craft-must-become-machinery" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:21" testID="blog:posts:row:21"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:history-needs-a-reproduction-test" testID="blog:post:history-needs-a-reproduction-test" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack feeds broken mechanisms from an archive into a disciplined reproduction chamber that tests each old failure against a new factory line." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:history-needs-a-reproduction-test:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-16</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">History Needs a Reproduction Test</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Software teams love lessons from history until a lesson threatens the architecture they already want. Then the past becomes an anecdote, the present becomes unique, and the organization pays tuition for the same failure again.</div><a href="/blog/history-needs-a-reproduction-test" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:leadership-is-a-manual-control-loop" testID="blog:post:leadership-is-a-manual-control-loop" data-sentry-element="Box" data-sentry-component="C
336ard" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack closes a disciplined mechanical control loop around delegated work while loose instruction threads and smoky ambiguity press against the factory gates." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:leadership-is-a-manual-control-loop:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-16</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Leadership Is a Manual Control Loop</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Working with an agent can feel less like coding and more like leading a capable new hire. That is a useful observation. It is also a warning that the operating system still lives in somebody's head.</div><a href="/blog/leadership-is-a-manual-control-loop" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:memory-is-not-a-message-thread" testID="blog:post:memory-is-not-a-message-thread" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack extracts durable evidence plates from a fading spiral of message ribbons and locks them into a governed factory memory vault while loose context dissolves into smoke." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:memory-is-not-a-message-thread:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-16</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Memory Is Not a Message Thread</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">A model can continue a conversation without your factory remembering anything that matters. Fluent continuity is useful. It is not operational memory.</div><a href="/blog/memory-is-not-a-message-thread" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:22" testID="blog:posts:row:22"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:one-score-cannot-route-a-factory" testID="blog:post:one-score-cannot-route-a-factory" data-sentry-element="Box" data-sentry-component="C
336ard" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack operates a precise switching yard that routes different glowing machine cores toward separate proof gates while a single oversized gauge dissolves into smoke." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:one-score-cannot-route-a-factory:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-16</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">One Score Cannot Route a Factory</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">A model can climb a leaderboard and still be the wrong worker for your next change. Production does not need a champion. It needs a routing decision that survives contact with the work.</div><a href="/blog/one-score-cannot-route-a-factory" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-rejected-pull-request-trains-the-factory" testID="blog:post:the-rejected-pull-request-trains-the-factory" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack redirects a rejected machine component from a proof gate into a calibration loop that steadily improves an automated maintenance line." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-rejected-pull-request-trains-the-factory:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-16</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The Rejected Pull Request Trains the Factory</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">An agent opening maintenance pull requests every morning is useful. A factory that gets better because yesterday'
336s pull requests failed is the thing worth building.</div><a href="/blog/the-rejected-pull-request-trains-the-factory" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:token-efficiency-is-not-factory-efficiency" testID="blog:post:token-efficiency-is-not-factory-efficiency" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack weighs a small stream of glowing tokens against finished machine parts that have passed a series of proof gates while rejected pieces dissolve into smoke." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:token-efficiency-is-not-factory-efficiency:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-16</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Token Efficiency Is Not Factory Efficiency</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">A model can produce a better answer with fewer tokens and still make your software factory more expensive. The meter improved. The work may not have.</div><a href="/blog/token-efficiency-is-not-factory-efficiency" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:23" testID="blog:posts:row:23"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:tokens-need-work-not-users" testID="blog:post:tokens-need-work-not-users" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack locks a stream of glowing machine fuel into a disciplined factory line that produces finished mechanisms while loose crowds and smoke fade outside the system." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:tokens-need-work-not-users:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap w
336ord-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-16</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Tokens Need Work, Not Users</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">The AI industry keeps asking how many people will use the models. That is the wrong demand question. The durable buyer is a work machine that cannot finish without them.</div><a href="/blog/tokens-need-work-not-users" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:your-model-contract-is-a-decaying-asset" testID="blog:post:your-model-contract-is-a-decaying-asset" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack reroutes glowing workpieces from a rigid rusting conduit into a flexible network of machine paths leading through a proof gate." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:your-model-contract-is-a-decaying-asset:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-16</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Your Model Contract Is a Decaying Asset</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">The model capacity you locked in today can keep working perfectly and still become a bad deal. Capability moves, prices fall, and your contract does neither.</div><a href="/blog/your-model-contract-is-a-decaying-asset" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:your-prompt-is-a-manual-build-step" testID="blog:post:your-prompt-is-a-manual-build-step" data-sentry-element="Box" data-sentry-component="C
336ard" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack operates a mechanical context press that turns a tangled mass of plans, code, and evidence into one precise packet for a disciplined factory line." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:your-prompt-is-a-manual-build-step:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-16</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Your Prompt Is a Manual Build Step</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">If a person has to repack the codebase, explain the exceptions, choose the model, and rewrite the request for every run, you do not have an autonomous agent. You have a very fast machine waiting at a manual loading dock.</div><a href="/blog/your-prompt-is-a-manual-build-step" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:24" testID="blog:posts:row:24"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:code-generation-is-not-the-bottleneck" testID="blog:post:code-generation-is-not-the-bottleneck" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack directs a fast mechanical code forge through measured proof gates while a tangled wall of unchecked parts presses against the line." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:code-generation-is-not-the-bottleneck:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-13</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap w
336ord-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Code Generation Is Not the Bottleneck</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Coding agents can produce more change than your team can responsibly accept. That is not a reason to slow them down. It is a reason to rebuild everything around them.</div><a href="/blog/code-generation-is-not-the-bottleneck" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-assistant-market-is-a-shrinking-market" testID="blog:post:the-assistant-market-is-a-shrinking-market" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack redirects power from a fading ring of assistant desks into a disciplined autonomous factory line while loose smoke presses against the machinery." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-assistant-market-is-a-shrinking-market:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-13</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The Assistant Market Is a Shrinking Market</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">The fight to become every employee's favorite AI assistant is happening inside a market that the same technology is about to shrink.</div><a href="/blog/the-assistant-market-is-a-shrinking-market" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-factory-does-not-need-a-standup" testID="blog:post:the-factory-does-not-need-a-standup" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack routes work through a self-reporting factory line while an abandoned circle of meeting chairs dissolves into loose smoke." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-factory-does-not-need-a-standup:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap w
336ord-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-13</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The Factory Does Not Need a Standup</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Agile turned missing machinery into meetings. Software factories make the machinery real, so the meetings can finally go away.</div><a href="/blog/the-factory-does-not-need-a-standup" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:25" testID="blog:posts:row:25"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-prompt-box-is-not-the-factory" testID="blog:post:the-prompt-box-is-not-the-factory" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack converts a loose stream of glowing requests into precise mechanical plans that pass through guarded proof gates while smoky ambiguity presses against the line." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-prompt-box-is-not-the-factory:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-13</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The Prompt Box Is Not the Factory</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Letting more people ask for software is a real breakthrough. Pretending the request is the whole delivery system is how a breakthrough becomes a very expensive pile of guesses.</div><a href="/blog/the-prompt-box-is-not-the-factory" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:technical-debt-is-a-judgment-queue" testID="blog:post:technical-debt-is-a-judgment-queue" data-sentry-element="Box" data-sentry-component="C
336ard" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack sorts tangled dark machinery into a disciplined migration line while loose smoke presses against the newly opened path." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:technical-debt-is-a-judgment-queue:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-12</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Technical Debt Is a Judgment Queue</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Your oldest system is not hard to change because nobody can type the replacement. It is hard because years of unresolved decisions are hiding inside the code.</div><a href="/blog/technical-debt-is-a-judgment-queue" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:a-source-of-truth-needs-a-write-path" testID="blog:post:a-source-of-truth-needs-a-write-path" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack routes glowing evidence through a guarded mechanical writing gate into one ordered archive while loose duplicate pages and smoky contradictions press against it." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:a-source-of-truth-needs-a-write-path:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-11</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">A Source of Truth Needs a Write Path</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Give every agent the same source of truth and you remove one class of confusion. Leave every agent free to rewrite it and you have built a faster rumor mill.</div><a href="/blog/a-source-of-truth-needs-a-write-path" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:26" testID="blog:posts:row:26"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:a-computer-use-score-is-not-operating-authority" testID="blog:post:a-computer-use-score-is-not-operating-authority" data-sentry-element="Box" data-sentry-component="C
336ard" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack locks a glowing mechanical permission key into a guarded control console while disciplined evidence rails contain a storm of loose cursors and broken interface shapes." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:a-computer-use-score-is-not-operating-authority:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-10</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">A Computer-Use Score Is Not Operating Authority</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">A model that can operate software is useful. A model that can operate your business without a factory around it is a liability with a cursor.</div><a href="/blog/a-computer-use-score-is-not-operating-authority" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:four-models-do-not-make-a-factory" testID="blog:post:four-models-do-not-make-a-factory" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack routes four glowing mechanical engines through separate gated tracks while a tangled cloud of crossed signals presses against the disciplined factory line." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:four-models-do-not-make-a-factory:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-10</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Four Models Do Not Make a Factory</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Putting more models in the loop does not create an agent team. Without a governed division of labor, it creates a meeting where every participant charges by the word.</div>
336<a href="/blog/four-models-do-not-make-a-factory" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-agent-budget-will-cut-payroll-first" testID="blog:post:the-agent-budget-will-cut-payroll-first" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack directs measured energy through a productive factory line while cutting away a duplicate shadow assembly tangled in smoky overhead." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-agent-budget-will-cut-payroll-first:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-10</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The Agent Budget Will Cut Payroll First</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">When the agent bill jumps, companies will not put the old team back together. They will ask why they are paying for machine execution and human execution at the same time.</div><a href="/blog/the-agent-budget-will-cut-payroll-first" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:27" testID="blog:posts:row:27"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:your-hours-do-not-compound" testID="blog:post:your-hours-do-not-compound" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack captures a fierce orange spark inside a disciplined gear train that keeps turning while a brittle wall of hourglasses collapses into smoke." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:your-hours-do-not-compound:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap w
336ord-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-10</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Your Hours Do Not Compound</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">You probably will not build something extraordinary on casual effort. But if your plan for greatness is simply more human hours, you have confused intensity with a system.</div><a href="/blog/your-hours-do-not-compound" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:auto-permission-is-still-permission" testID="blog:post:auto-permission-is-still-permission" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack routes a glowing workpiece through a layered mechanical permission gate while thorny smoke presses against the gate's sealed outer boundary." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:auto-permission-is-still-permission:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-09</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Auto Permission Is Still Permission</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">A coding agent that decides whether its own next action is safe can remove a thousand interruptions. It cannot remove the authority boundary those interruptions were trying to protect.</div><a href="/blog/auto-permission-is-still-permission" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:solved-code-still-needs-a-factory" testID="blog:post:solved-code-still-needs-a-factory" data-sentry-element="Box" data-sentry-component="C
336ard" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack channels a torrent of glowing mechanical parts through specification, proof, and release gates while loose smoky forms press against the disciplined factory line." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:solved-code-still-needs-a-factory:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-09</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Solved Code Still Needs a Factory</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Suppose coding is solved. You still do not have software. You have a machine that can produce implementations faster than your organization can decide which ones deserve to exist.</div><a href="/blog/solved-code-still-needs-a-factory" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:28" testID="blog:posts:row:28"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-revenue-is-upstream-because-the-work-is-not" testID="blog:post:the-revenue-is-upstream-because-the-work-is-not" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack redirects a bright stream of mechanical power from two towering upstream engines into a disciplined factory line while loose smoke spills away from unfinished channels." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-revenue-is-upstream-because-the-work-is-not:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-09</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap w
336ord-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The Revenue Is Upstream Because the Work Is Not</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">When most of the money in a new software category stops at two model providers, the interesting question is not who won the model race. It is why so little value has made it through the rest of the system.</div><a href="/blog/the-revenue-is-upstream-because-the-work-is-not" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-workspace-is-becoming-a-control-room" testID="blog:post:the-workspace-is-becoming-a-control-room" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack operates a mechanical control room that routes persistent work through evidence and authority gates while loose smoke presses against the factory boundary." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-workspace-is-becoming-a-control-room:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-09</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The Workspace Is Becoming a Control Room</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">The interesting part of an agentic development environment is not where the chat box lives. It is what happens when the work keeps moving after the person closes it.</div><a href="/blog/the-workspace-is-becoming-a-control-room" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:trash-output-is-a-factory-signal" testID="blog:post:trash-output-is-a-factory-signal" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack diverts a malformed component from a bright assembly line into a mechanical inspection gate while smoky debris presses against the factory outside." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:trash-output-is-a-factory-signal:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap w
336ord-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-09</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Trash Output Is a Factory Signal</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">An agent can generate terrible code. So can a person. The useful question is why your system let either one ship.</div><a href="/blog/trash-output-is-a-factory-signal" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:29" testID="blog:posts:row:29"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:cheap-code-does-not-erase-the-craft" testID="blog:post:cheap-code-does-not-erase-the-craft" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack preserves an intricate mechanical core while routing repeatable construction through a disciplined factory line against a smoky pressure that tries to flatten the craft." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:cheap-code-does-not-erase-the-craft:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-08</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Cheap Code Does Not Erase the Craft</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Code was hard. It still is. The fact that machines can now produce more of it does not rewrite the skill, patience, and judgment programmers spent decades building.</div><a href="/blog/cheap-code-does-not-erase-the-craft" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:headcount-is-not-a-unit-of-work" testID="blog:post:headcount-is-not-a-unit-of-work" data-sentry-element="Box" data-sentry-component="C
336ard" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack weighs a torrent of loose mechanical pieces against a smaller chain of finished, verified components moving through a disciplined factory gate." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:headcount-is-not-a-unit-of-work:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-08</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Headcount Is Not a Unit of Work</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Saying AI did the work of hundreds of engineers sounds precise. It is not. A headcount equivalent tells you nothing about what shipped, what survived, or what machinery made the result repeatable.</div><a href="/blog/headcount-is-not-a-unit-of-work" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:shared-context-is-not-coordination" testID="blog:post:shared-context-is-not-coordination" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack locks several glowing agent conduits into a disciplined coordination hub while loose message streams twist into smoke beyond the factory boundary." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:shared-context-is-not-coordination:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-08</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Shared Context Is Not Coordination</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Letting coding agents exchange messages across terminals removes a copy-and-paste step. It does not create a team, a plan, or a factory. Communication is a capability. Coordination is machinery.</
336div><a href="/blog/shared-context-is-not-coordination" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:30" testID="blog:posts:row:30"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-agent-inbox-is-an-authority-boundary" testID="blog:post:the-agent-inbox-is-an-authority-boundary" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack routes sealed message capsules through a guarded authorization switchboard while unverified signals break apart outside the factory boundary." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-agent-inbox-is-an-authority-boundary:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-08</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The Agent Inbox Is an Authority Boundary</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">When one coding agent can message another, the message is not just context. It can redirect work, change assumptions, and trigger tools. That makes the inbox part of your production control plane.</div><a href="/blog/the-agent-inbox-is-an-authority-boundary" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-capability-gate-must-change-the-system" testID="blog:post:the-capability-gate-must-change-the-system" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack locks a bright capability core behind layered mechanical gates while thorny smoke presses against the sealed authority channels beyond them." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-capability-gate-must-change-the-system:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap w
336ord-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-08</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The Capability Gate Must Change the System</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Pausing a powerful model is a decision. Building a system that knows why it paused, what must change, and which authority stays unavailable is the strategy.</div><a href="/blog/the-capability-gate-must-change-the-system" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-reorg-is-not-the-ai-strategy" testID="blog:post:the-reorg-is-not-the-ai-strategy" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack locks a glowing research engine into a disciplined factory line while loose organizational blocks and smoky arrows collapse against the machinery." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-reorg-is-not-the-ai-strategy:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-08</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The Reorg Is Not the AI Strategy</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Moving AI researchers closer to product teams may shorten a meeting. It does not create the machinery that turns a model breakthrough into software your business can ship, govern, and improve repeatedly.</div><a href="/blog/the-reorg-is-not-the-ai-strategy" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:31" testID="blog:posts:row:31"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-token-bill-is-a-value-gate" testID="blog:post:the-token-bill-is-a-value-gate" data-sentry-element="Box" data-sentry-component="C
336ard" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack routes glowing software components across a balanced value gate while wasteful branches dissolve into smoky tangles outside the disciplined factory line." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-token-bill-is-a-value-gate:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-08</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The Token Bill Is a Value Gate</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Software teams have spent years treating the cost of another feature as a staffing conversation. Agents make the meter visible on every run, and that forces the better question: was this change worth producing at all?</div><a href="/blog/the-token-bill-is-a-value-gate" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:an-agent-credential-is-a-production-boundary" testID="blog:post:an-agent-credential-is-a-production-boundary" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack fits a glowing task-shaped key into one guarded factory gate while tangled shadow keys and smoke press against the surrounding credential vault." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:an-agent-credential-is-a-production-boundary:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-07</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">An Agent Credential Is a Production Boundary</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">An agent with a goal and a reusable credential does not have autonomy. It has standing permission to turn one bad instruction into a production event.</div><a href="/blog/an-agent-credential-is-a-production-boundary" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:cheap-code
336-makes-selection-more-important" testID="blog:post:cheap-code-makes-selection-more-important" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack operates a disciplined selection gate that admits a few glowing mechanisms into a factory while diverting a flood of cheap unfinished parts away from the production line." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:cheap-code-makes-selection-more-important:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-07</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Cheap Code Makes Selection More Important</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">When building gets cheap, bad ideas do not become good investments. They become easier to bury inside the product.</div><a href="/blog/cheap-code-makes-selection-more-important" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:32" testID="blog:posts:row:32"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-factory-must-prove-who-wrote-the-code" testID="blog:post:the-factory-must-prove-who-wrote-the-code" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack stamps a glowing chain of provenance seals onto code components before guiding them through a guarded factory gate while untraceable fragments dissolve into smoke outside." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-factory-must-prove-who-wrote-the-code:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-07</span>
336<h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The Factory Must Prove Who Wrote the Code</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">If your project cannot accept AI-generated code, the problem is not that the machine typed it. The problem is that your delivery system cannot prove what entered the machine or who can stand behind what came out.</div><a href="/blog/the-factory-must-prove-who-wrote-the-code" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-fastest-agent-is-not-the-best-factory" testID="blog:post:the-fastest-agent-is-not-the-best-factory" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack diverts rushing mechanical runners from a speed track into a measured factory line where completed parts must pass proof gates before reaching the exit." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-fastest-agent-is-not-the-best-factory:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-07</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The Fastest Agent Is Not the Best Factory</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">A leaderboard can tell you which agent finished a task first. It cannot tell you which factory should run your software business.</div><a href="/blog/the-fastest-agent-is-not-the-best-factory" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-pdf-is-not-the-context" testID="blog:post:the-pdf-is-not-the-context" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack dismantles a tangled tower of document sheets into clean, reusable components that flow through a disciplined factory context gate while loose pages dissolve into smoke." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-pdf-is-not-the-context:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap w
336ord-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-07</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The PDF Is Not the Context</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">A document can be perfectly readable to a person and still be terrible factory input. If every agent has to decode the presentation before it can do the work, you built a token furnace, not a knowledge system.</div><a href="/blog/the-pdf-is-not-the-context" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:33" testID="blog:posts:row:33"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-price-card-is-not-the-bill" testID="blog:post:the-price-card-is-not-the-bill" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack routes glowing workpieces through differently sized machine paths while a disciplined proof gate weighs completed parts against a storm of loose tokens and tangled receipts." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-price-card-is-not-the-bill:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-07</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The Price Card Is Not the Bill</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">A cheap model can produce expensive software. A premium model can be the bargain. The price card cannot tell you which one you are buying.</div><a href="/blog/the-price-card-is-not-the-bill" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-winner-expired-before-the-benchmark" testID="blog:post:the-winner-expired-before-the-benchmark" data-sentry-element="Box" data-sentry-component="C
336ard" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack replaces a glowing engine inside a disciplined four-station factory while a crumbling victory pedestal dissolves into smoke beyond the machinery." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-winner-expired-before-the-benchmark:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-07</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The Winner Expired Before the Benchmark</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Four coordinated agents beat one model. Then a newer model arrived. If that changes your architecture, you never had one.</div><a href="/blog/the-winner-expired-before-the-benchmark" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-agent-needs-an-operating-system" testID="blog:post:the-agent-needs-an-operating-system" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack conducts specialized mechanical lines through a central state engine while disciplined gates hold back tangled smoke and broken paths." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-agent-needs-an-operating-system:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-06</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The Agent Needs an Operating System</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">A clever agent loop can produce an impressive answer. A software factory has to produce the next right action, survive interruption, reject bad work, and remember why any of it happened.</div><a href="/blog/the-agent-needs-an-operating-system" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:34" testID="blog:posts:row:34"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-cheap-model-changes-the-factory" testID="blog:post:the-cheap-model-changes-the-factory" data-sentry-element="Box" data-sentry-component="C
336ard" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack routes a torrent of small glowing mechanisms through separate factory lanes toward a demanding proof gate while loose smoke presses against the system." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-cheap-model-changes-the-factory:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-06</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The Cheap Model Changes the Factory</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">A cheaper coding model does not make software delivery cheap. It makes attempts cheap. Your factory decides whether those attempts become leverage or waste.</div><a href="/blog/the-cheap-model-changes-the-factory" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-job-title-hides-the-displacement" testID="blog:post:the-job-title-hides-the-displacement" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack pulls repeatable work blocks out of a hollow metal job-title shell and routes them into a disciplined factory while tangled smoke presses against the line." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-job-title-hides-the-displacement:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-06</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The Job Title Hides the Displacement</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">The argument about whether AI is eliminating software jobs starts with the wrong unit. A job title can survive long after the work inside it has been handed to a machine.</div><a href="/blog/the-job-title-hides-the-displacement" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:a-benchmark-is-not-a-factory" testID="blog:post:a-benchmark-is-not-a-factory" data-sentry-element="Box" data-sentry-component="C
336ard" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack drives a newly forged mechanism through a narrow proof gate while an unfinished factory of shifting tracks and turbulent smoke waits beyond it." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:a-benchmark-is-not-a-factory:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-04</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">A Benchmark Is Not a Factory</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Rebuilding a large program from its behavior is serious evidence. Treating that result as proof that an agent can own your software is how a benchmark becomes a sales deck.</div><a href="/blog/a-benchmark-is-not-a-factory" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:35" testID="blog:posts:row:35"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:a-rollout-is-not-a-factory" testID="blog:post:a-rollout-is-not-a-factory" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack locks scattered glowing tools into a disciplined factory line that routes finished mechanisms through a proof gate while loose parts and smoke press in from outside." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:a-rollout-is-not-a-factory:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-04</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap w
336ord-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">An Agent Rollout Is Not a Software Factory</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Giving every engineer a coding agent changes who can generate code. It does not change how your company delivers software.</div><a href="/blog/a-rollout-is-not-a-factory" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:self-improvement-belongs-in-the-harness" testID="blog:post:self-improvement-belongs-in-the-harness" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack installs a newly forged control into a looping factory track while rejected fragments are captured at a proof gate and converted into stronger machinery." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:self-improvement-belongs-in-the-harness:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-04</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Self-Improvement Belongs in the Harness</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">The agent does not need a pep talk after it fails. The factory needs to remember what the failure taught it.</div><a href="/blog/self-improvement-belongs-in-the-harness" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-budget-is-part-of-the-harness" testID="blog:post:the-budget-is-part-of-the-harness" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack meters glowing energy into a disciplined factory line while diverting a smoky tangle of waste away from a bright proof gate." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-budget-is-part-of-the-harness:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap w
336ord-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-04</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The Budget Is Part of the Harness</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">An agent with unlimited retries does not have more autonomy. It has permission to hide a broken process behind more activity.</div><a href="/blog/the-budget-is-part-of-the-harness" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:36" testID="blog:posts:row:36"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-evidence-can-talk-back" testID="blog:post:the-evidence-can-talk-back" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack routes a thorn-wrapped evidence capsule through isolated mechanical chambers while deceptive smoke presses against the inspection gates." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-evidence-can-talk-back:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-04</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The Evidence Can Talk Back</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">The moment an agent reads hostile material, the evidence stops being passive. It can make a case for its own innocence, and your guardrail becomes part of the argument.</div><a href="/blog/the-evidence-can-talk-back" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-harness-must-not-grade-itself" testID="blog:post:the-harness-must-not-grade-itself" data-sentry-element="Box" data-sentry-component="C
336ard" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack upgrades a factory mechanism inside a guarded workbench while an independent evidence gate remains locked beyond its reach." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-harness-must-not-grade-itself:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-04</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The Harness Must Not Grade Itself</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Let an agent improve its own factory and it may find a better machine. Let it redefine success and it will find an easier exam.</div><a href="/blog/the-harness-must-not-grade-itself" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-interface-is-not-the-factory" testID="blog:post:the-interface-is-not-the-factory" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack fits a compact control console into a much larger gated factory, while a bright but disconnected terminal-shaped portal fades into loose smoke nearby." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-interface-is-not-the-factory:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-04</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The Interface Is Not the Factory</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">A smoother agent in your terminal can be genuinely useful. It is still a terrible reason to rebuild your software factory around a new tool.</div><a href="/blog/the-interface-is-not-the-factory" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:37" testID="blog:posts:row:37"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-skill-issue-is-the-system" testID="blog:post:the-skill-issue-is-the-system" data-sentry-element="Box" data-sentry-component="C
336ard" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack replaces a loose maze of smoky guesses with a gated mechanical track that carries a precise component toward independent proof." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-skill-issue-is-the-system:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-04</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The Skill Issue Is the System</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">If your coding agent keeps producing confident nonsense, stop arguing about whether the model can program. Inspect the machine you put around it.</div><a href="/blog/the-skill-issue-is-the-system" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:your-task-runner-is-an-agent-interface" testID="blog:post:your-task-runner-is-an-agent-interface" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack locks a compact command dial into a dense factory console, sending work through disciplined build and proof lines while loose command fragments dissolve into smoke outside the mechanism." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:your-task-runner-is-an-agent-interface:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-04</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Your Task Runner Is an Agent Interface</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">A coding agent should not spend its context window reverse-engineering how your repository wants to be tested. Give it verbs that bite.</div><a href="/blog/your-task-runner-is-an-agent-interface" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:keep-the-mechanism-lose-the-vampire" testID="blog:post:keep-the-mechanism-lose-the-vampire" data-sentry-element="Box" data-sentry-component="C
336ard" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack extracts a precise mechanical control kernel from a cloud of theatrical vampire smoke and installs it in a disciplined factory gate." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:keep-the-mechanism-lose-the-vampire:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-03</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Keep the Mechanism. Lose the AI Vampire.</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Steve Yegge saw the agentic coding wave early, built in public, and said what he believed while most of the industry was still polishing chatbot demos. He deserves credit. He also sounds like he has spent too long alone with the agents.</div><a href="/blog/keep-the-mechanism-lose-the-vampire" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:38" testID="blog:posts:row:38"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:rewriting-the-output-proves-nothing" testID="blog:post:rewriting-the-output-proves-nothing" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack routes a machine-produced artifact through an evidence gate while loose handwritten copies dissolve into smoke beside the disciplined factory line." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:rewriting-the-output-proves-nothing:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-03</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap w
336ord-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Rewriting the Output Proves Nothing</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">An AI answer does not become trustworthy because a person retyped it. It becomes harder to audit.</div><a href="/blog/rewriting-the-output-proves-nothing" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:your-merge-queue-is-not-a-release-strategy" testID="blog:post:your-merge-queue-is-not-a-release-strategy" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack sorts a rushing stream of mechanical change capsules into controlled release channels while smoky pressure gathers behind the intake gate." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:your-merge-queue-is-not-a-release-strategy:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-03</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">Your Merge Queue Is Not a Release Strategy</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Agents can fill a repository faster than your release process can empty it. Calling that productivity does not make the software shipped.</div><a href="/blog/your-merge-queue-is-not-a-release-strategy" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:a-label-is-not-a-requirement" testID="blog:post:a-label-is-not-a-requirement" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack measures a vague blank component against a precise mechanical boundary before allowing it onto a disciplined factory line." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:a-label-is-not-a-requirement:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap w
336ord-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-01</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">A Label Is Not a Requirement</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Call the work a dashboard, a migration, or a checkout flow and everyone in the room will nod. Your factory should refuse to move.</div><a href="/blog/a-label-is-not-a-requirement" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-col gap-6 md:flex-row md:items-stretch" data-testid="blog:posts:row:39" testID="blog:posts:row:39"><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-handoff-is-the-system" testID="blog:post:the-handoff-is-the-system" data-sentry-element="Box" data-sentry-component="Card" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack locks a precise mechanical coupling between two factory lines while loose smoky pressure pushes against the exposed joint." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-handoff-is-the-system:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-08-01</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The Handoff Is the System</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">Your agents can each do excellent work and still produce a terrible result. The failure lives in the space between them.</div><a href="/blog/the-handoff-is-the-system" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div><div class="relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none flex flex-1 flex-col"><div class="flex flex-col relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none rounded-lg border border-outline-default p-6 bg-surface-raised shadow-soft-1 flex-1" data-testid="blog:post:the-factory-starves-at-the-spec" testID="blog:post:the-factory-starves-at-the-spec" data-sentry-element="Box" data-sentry-component="C
336ard" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none gap-3" data-sentry-element="Stack" data-sentry-source-file="BlogPostCardView.tsx"><div aria-label="Stack feeds scarce glowing decision components through a narrow precision gate into a vast mechanical factory while tangled magical ambiguity presses from the opposite side." role="img" class="css-g5y9jx r-1mlwlqe r-1udh08x r-417010 max-w-full w-full rounded-lg bg-surface-muted" style="aspect-ratio:1.5;height:revert-layer;width:revert-layer" data-testid="blog:post:the-factory-starves-at-the-spec:hero"><div class="css-g5y9jx r-1niwhzg r-vvn4in r-u6sd8q r-1p0dtai r-1pi2tsx r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-13qz1uu r-1wyyakw r-4gszlv"></div></div><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-caption font-body text-content-muted" data-sentry-element="Text" data-sentry-source-file="BlogPostCardView.tsx">2026-07-31</span><h3 class="tracking-sm my-0 tracking-sm bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap word-wrap-break-word text-title font-heading font-bold text-content-primary" data-sentry-element="Heading" data-sentry-source-file="BlogPostCardView.tsx">The Factory Starves at the Spec</h3><div dir="auto" class="css-146c3p1 r-11nzuo4 text-body font-body text-content-secondary">You can buy more implementation capacity than your organization knows how to feed. That is the new bottleneck, and another coding agent will not fix it.</div><a href="/blog/the-factory-starves-at-the-spec" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-primary-600 hover:text-primary-700 focus:outline-none focus:ring-2 focus:ring-indicator-info">Read the dispatch</a></div></div></div></div></div></div></div></div></main><footer role="contentinfo" class="css-g5y9jx" data-testid="shell:footer"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 items-stretch m-0 p-0 text-decoration-none w-full border-t border-outline-default px-4 py-12 md:px-8 bg-surface-inverse" data-sentry-element="Box" data-sentry-source-file="index.tsx" data-sentry-component="Footer"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent items-stretch m-0 p-0 text-decoration-none mx-auto w-full max-w-content" data-sentry-element="Box" data-sentry-source-file="index.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent m-0 p-0 text-decoration-none gap-8 items-start md:flex-row md:justify-between md:gap-16" data-sentry-element="Stack" data-sentry-source-file="SiteFooterView.tsx"><div class="flex flex-col relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent m-0 p-0 text-decoration-none gap-3 items-start" data-sentry-element="Stack" data-sentry-source-file="SiteFooterView.tsx"><a href="/contact" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-content-inverse hover:text-content-inverse focus:outline-none focus:ring-2 focus:ring-indicator-info" data-testid="shell:footer:contact">Contact</a><a href="/blog" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-content-inverse hover:text-content-inverse focus:outline-none focus:ring-2 focus:ring-indicator-info" data-testid="shell:footer:page:Blog">Blog</a><a href="/privacy" dir="auto" role="link" class="css-146c3p1 text-body font-body underline text-content-inverse hover:text-content-inverse focus:outline-none focus:ring-2 focus:ring-indicator-info" data-testid="shell:footer:page:Privacy">Privacy</a><div class="flex-row flex relative z-0 box-border border-0 list-none min-w-0 min-h-0 bg-transparent m-0 p-0 text-decoration-none gap-5 items-center py-1" data-testid="shell:footer:social" testID="shell:footer:social" data-sentry-element="Stack" data-sentry-component="SocialLinksView" data-sentry-source-file="SocialLinksView.tsx"><a href="https://www.linkedin.com/company/gunner-technology" dir="auto" aria-label="Gunner Technology on LinkedIn" role="link" class="css-146c3p1 text-body font-body underline text-content-inverse hover:text-content-inverse focus:outline-none focus:ring-2 focus:ring-indicator-info" data-testid="shell:footer:social:linkedin"><svg width="22" height="22" viewBox="0 0 24 24" importantForAccessibility="no-hide-descendants" data-sentry-element="Svg" data-sentry-component="SocialMark" data-sentry-source-file="index.tsx" aria-hidden="true" role="presentation" tabindex="-1"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z" fill="currentColor" data-sentry-element="Path" data-sentry-source-file="index.tsx"></path></svg></a><a href="https://x.com/gunnertech" dir="auto" aria-label="Gunner Technology on X" role="link" class="css-146c3p1 text-body font-body underline text-content-inverse hover:text-content-inverse focus:outline-none focus:ring-2 focus:ring-indicator-info" data-testid="shell:footer:social:x"><svg width="22" height="22" viewBox="0 0 24 24" importantForAccessibility="no-hide-descendants" data-sentry-element="Svg" data-sentry-component="SocialMark" data-sentry-source-file="index.tsx" aria-hidden="true" role="presentation" tabindex="-1"><path d="M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298L17.61 20.644Z" fill="currentColor" data-sentry-element="Path" data-sentry-source-file="index.tsx"></path></svg></a></div><div dir="auto" class="css-146c3p1 r-11nzuo4 text-caption font-body text-content-inverse" data-testid="shell:footer:legal">© 2026 Gunner Technology</div><button aria-label="v0.0.287, copy build details" role="button" data-hover="false" data-focus="false" data-active="false" data-disabled="false" data-focus-visible="false" tabindex="0" class="css-g5y9jx r-1loqt21 r-1otgn73 data-[focus-visible=true]:outline-none data-[focus-visible=true]:ring-indicator-info data-[focus-visible=true]:ring-2 data-[disabled=true]:opacity-40 self-start rounded-sm py-2" data-testid="shell:footer:version" type="button"><span class="tracking-sm my-0 bg-transparent border-0 box-border display-inline list-none margin-0 padding-0 position-relative text-start no-underline whitespace-pre-wrap w
336ord-wrap-break-word text-caption font-body text-content-inverse" data-sentry-element="Text" data-sentry-source-file="SiteFooterView.tsx">v0.0.287</span></button></div><div class="flex relative z-0 box-border list-none min-w-0 min-h-0 items-stretch m-0 text-decoration-none flex-row rounded-md border border-outline-default bg-surface-raised p-1" data-testid="shell:theme-toggle" testID="shell:theme-toggle" role="radiogroup" aria-label="Color theme" data-sentry-element="Box" data-sentry-component="ThemeToggleView" data-sentry-source-file="ThemeToggleView.tsx"><div aria-checked="false" aria-label="Light theme" role="radio" data-hover="false" data-focus="false" data-active="false" data-disabled="false" data-focus-visible="false" tabindex="0" class="css-g5y9jx r-1loqt21 r-1otgn73 data-[focus-visible=true]:outline-none data-[focus-visible=true]:ring-indicator-info data-[focus-visible=true]:ring-2 data-[disabled=true]:opacity-40 rounded-sm p-2 bg-transparent" data-testid="shell:theme-option:light"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-testid="shell:theme-option:light:icon" class="fill-none pointer-events-none h-4 w-4 text-content-secondary" aria-hidden="true" role="presentation" tabindex="-1"><circle fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="fill-none pointer-events-none h-4 w-4 text-content-secondary" cx="12" cy="12" r="4" aria-hidden="true" role="presentation" tabindex="-1" data-testid="shell:theme-option:light:icon"></circle><path fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="fill-none pointer-events-none h-4 w-4 text-content-secondary" d="M12 2v2" aria-hidden="true" role="presentation" tabindex="-1" data-testid="shell:theme-option:light:icon"></path><path fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="fill-none pointer-events-none h-4 w-4 text-content-secondary" d="M12 20v2" aria-hidden="true" role="presentation" tabindex="-1" data-testid="shell:theme-option:light:icon"></path><path fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="fill-none pointer-events-none h-4 w-4 text-content-secondary" d="m4.93 4.93 1.41 1.41" aria-hidden="true" role="presentation" tabindex="-1" data-testid="shell:theme-option:light:icon"></path><path fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="fill-none pointer-events-none h-4 w-4 text-content-secondary" d="m17.66 17.66 1.41 1.41" aria-hidden="true" role="presentation" tabindex="-1" data-testid="shell:theme-option:light:icon"></path><path fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="fill-none pointer-events-none h-4 w-4 text-content-secondary" d="M2 12h2" aria-hidden="true" role="presentation" tabindex="-1" data-testid="shell:theme-option:light:icon"></path><path fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="fill-none pointer-events-none h-4 w-4 text-content-secondary" d="M20 12h2" aria-hidden="true" role="presentation" tabindex="-1" data-testid="shell:theme-option:light:icon"></path><path fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="fill-none pointer-events-none h-4 w-4 text-content-secondary" d="m6.34 17.66-1.41 1.41" aria-hidden="true" role="presentation" tabindex="-1" data-testid="shell:theme-option:light:icon"></path><path fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="fill-none pointer-events-none h-4 w-4 text-content-secondary" d="m19.07 4.93-1.41 1.41" aria-hidden="true" role="presentation" tabindex="-1" data-testid="shell:theme-option:light:icon"></path></svg></div><div aria-checked="false" aria-label="Dark theme" role="radio" data-hover="false" data-focus="false" data-active="false" data-disabled="false" data-focus-visible="false" tabindex="0" class="css-g5y9jx r-1loqt21 r-1otgn73 data-[focus-visible=true]:outline-none data-[focus-visible=true]:ring-indicator-info data-[focus-visible=true]:ring-2 data-[disabled=true]:opacity-40 rounded-sm p-2 bg-transparent" data-testid="shell:theme-option:dark"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-testid="shell:theme-option:dark:icon" class="fill-none pointer-events-none h-4 w-4 text-content-secondary" aria-hidden="true" role="presentation" tabindex="-1"><path fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="fill-none pointer-events-none h-4 w-4 text-content-secondary" d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401" aria-hidden="true" role="presentation" tabindex="-1" data-testid="shell:theme-option:dark:icon"></path></svg></div><div aria-checked="true" aria-label="System theme" role="radio" data-hover="false" data-focus="false" data-active="false" data-disabled="false" data-focus-visible="false" tabindex="0" class="css-g5y9jx r-1loqt21 r-1otgn73 data-[focus-visible=true]:outline-none data-[focus-visible=true]:ring-indicator-info data-[focus-visible=true]:ring-2 data-[disabled=true]:opacity-40 rounded-sm p-2 bg-primary-500" data-testid="shell:theme-option:system"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-testid="shell:theme-option:system:icon" class="fill-none pointer-events-none h-4 w-4 text-content-inverse" aria-hidden="true" role="presentation" tabindex="-1"><rect fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="fill-none pointer-events-none h-4 w-4 text-content-inverse" width="20" height="14" x="2" y="3" rx="2" aria-hidden="true" role="presentation" tabindex="-1" data-testid="shell:theme-option:system:icon"></rect><line fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="fill-none pointer-events-none h-4 w-4 text-content-inverse" x1="8" x2="16" y1="21" y2="21" aria-hidden="true" role="presentation" tabindex="-1" data-testid="shell:theme-option:system:icon"></line><line fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="fill-none pointer-events-none h-4 w-4 text-content-inverse" x1="12" x2="12" y1="17" y2="21" aria-hidden="true" role="presentation" tabindex="-1" data-testid="shell:theme-option:system:icon"></line></svg></div></div></div></div></div></footer></div></div><!--/$--></div></div></div></div></div></div></div></div><!--/$--></div></div>
336<script src="/_expo/static/js/web/__expo-metro-runtime-1f8f5d3ca6b7f58204d51e14506d73fb.js" defer></script>
336<script src="/_expo/static/js/web/_layout-bc5b6394e3aeb9d6306da735a706267f.js" defer></script>
336<script src="/_expo/static/js/web/index-0dceac6f8ea733eaea0aa77236068eef.js" defer></script>
336<script src="/_expo/static/js/web/__common-41fa39e779bacccf22da18d837e5c982.js" defer></script>
336<script src="/_expo/static/js/web/entry-d8f89fd5ed3627d19e69911fa81b28f1.js" defer></script>
336 337</body></html>
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.