1<!doctype html> 2<html lang="en"> 3 <head> 4 <meta charset="UTF-8" /> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 6 <title>Blog | Forged Operations</title> 7 <meta name="description" content="Technical insights and analysis from Forged Operations, on nuclear quality, compliance, AI, and the software decisions shaping the next generation of nuclear programs." /> 8 <meta name="robots" content="index, follow" /> 9 <meta name="author" content="Forged Operations" /> 10 <meta name="theme-color" content="#4a4aff" /> 11 <link rel="canonical" href="https://forgedops.com/blog/" /> 12
12<script type="application/ld+json"> 13 { 14 "@context": "https://schema.org", 15 "@type": "Blog", 16 "name": "Forged Operations Blog", 17 "description": "Technical insights and analysis from Forged Operations on nuclear quality, compliance, and AI.", 18 "url": "https://forgedops.com/blog/", 19 "publisher": { "@type": "Organization", "name": "Forged Operations", "url": "https://forgedops.com" } 20 } 21 </script>
21 22 <!-- OpenGraph --> 23 <meta property="og:type" content="website" /> 24 <meta property="og:url" content="https://forgedops.com/blog/" /> 25 <meta property="og:title" content="Blog | Forged Operations" /> 26 <meta property="og:description" content="Technical insights and analysis from Forged Operations, on nuclear quality, compliance, AI, and the software decisions shaping the next generation of nuclear programs." /> 27 <meta property="og:image" content="https://forgedops.com/img/og-card.png" /> 28 <meta property="og:image:width" content="1200" /> 29 <meta property="og:image:height" content="630" /> 30 <meta property="og:site_name" content="Forged Operations" /> 31 <!-- Twitter / X --> 32 <meta name="twitter:card" content="summary_large_image" /> 33 <meta name="twitter:title" content="Blog | Forged Operations" /> 34 <meta name="twitter:description" content="Technical insights and analysis from Forged Operations, on nuclear quality, compliance, AI, and the software decisions shaping the next generation of nuclear programs." /> 35 <meta name="twitter:image" content="https://forgedops.com/img/og-card.png" /> 36 <link rel="alternate" type="application/rss+xml" title="Forged Operations â Blog" href="/blog/rss.xml" /> 37 <link rel="icon" type="image/png" href="/img/forged_favicon.png" /> 38 <link rel="preconnect" href="https://fonts.googleapis.com" /> 39 <link rel="preload" as="style" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" /> 40 <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet" /> 41 <link rel="stylesheet" href="/base.css" /> 42 <link rel="stylesheet" href="/footer.css" /> 43 44 <style> 45 h3 { 46 font-size: 1rem; 47 font-weight: 600; 48 line-height: 1.35; 49 letter-spacing: -0.01em; 50 } 51 52 .page-header { 53 padding: 128px 0 64px; 54 background: var(--white); 55 background-image: 56 radial-gradient(circle at 50% 0%, rgba(74, 74, 255, 0.06) 0%, transparent 55%), 57 radial-gradient(circle, rgba(74, 74, 255, 0.3) 1px, transparent 1px); 58 background-size: 100% 100%, 24px 24px; 59 background-position: center top, center top; 60 position: relative; 61 } 62 .page-header::before { 63 content: ""; 64 position: absolute; 65 inset: 0; 66 background: linear-gradient(180deg, transparent 0%, var(--white) 90%); 67 pointer-events: none; 68 } 69 .page-header .container { position: relative; } 70 .page-header h1 { color: var(--black); margin-bottom: 14px; } 71 .page-header p { 72 font-size: 1.05rem; 73 color: var(--gray-500); 74 max-width: 520px; 75 line-height: 1.7; 76 } 77 .breadcrumb { 78 display: flex; 79 align-items: center; 80 gap: 6px; 81 font-size: 0.78rem; 82 color: var(--gray-300); 83 margin-bottom: 24px; 84 } 85 .breadcrumb a { 86 color: var(--gray-400); 87 text-decoration: none; 88 transition: color 0.15s; 89 } 90 .breadcrumb a:hover { color: var(--accent); } 91 .breadcrumb-sep { color: var(--gray-200); } 92 93 .blog-section { padding: 0 0 96px; } 94 .cards-grid { 95 display: grid; 96 grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); 97 gap: 24px; 98 } 99 100 .insights-card { 101 border: 1px solid var(--gray-100); 102 border-radius: var(--radius); 103 background: var(--white); 104 padding: 28px; 105 display: flex; 106 flex-direction: column; 107 gap: 14px; 108 transition: border-color 0.15s, box-shadow 0.15s; 109 text-decoration: none; 110 color: inherit; 111 } 112 .insights-card:hover { 113 border-color: var(--gray-200); 114 box-shadow: 0 8px 32px rgba(0, 0, 0, 0.06); 115 } 116 117 .insights-card[data-category="industry"] { --tag-color: #4a4aff; --tag-bg: rgba(74,74,255,0.08); } 118 .insights-card[data-category="compliance"] { --tag-color: #059669; --tag-bg: rgba(5,150,105,0.08); } 119 .insights-card[data-category="product"] { --tag-color: #d97706; --tag-bg: rgba(217,119,6,0.08); } 120 .insights-card[data-category="fundamentals"] { --tag-color: #4a4aff; --tag-bg: rgba(74,74,255,0.08); } 121 122 .card-tag { 123 display: inline-flex; 124 align-items: center; 125 gap: 6px; 126 font-size: 0.65rem; 127 font-weight: 700; 128 letter-spacing: 0.08em; 129 text-transform: uppercase; 130 color: var(--tag-color); 131 background: var(--tag-bg); 132 padding: 4px 10px; 133 border-radius: 4px; 134 width: fit-content; 135 } 136 .card-tag .tag-dot { 137 width: 5px; 138 height: 5px; 139 border-radius: 50%; 140 background: var(--tag-color); 141 flex-shrink: 0; 142 } 143 144 .card-body { flex: 1; display: flex; flex-direction: column; gap: 8px; } 145 .card-title { 146 font-size: 1rem; 147 font-weight: 700; 148 color: var(--gray-900); 149 line-height: 1.4; 150 letter-spacing: -0.01em; 151 } 152 .insights-card:hover .card-title { color: var(--accent); } 153 .card-excerpt { 154 font-size: 0.875rem; 155 color: var(--gray-400); 156 line-height: 1.6; 157 } 158 159 .card-footer { 160 display: flex; 161 align-items: center; 162 justify-content: space-between; 163 padding-top: 4px; 164 border-top: 1px solid var(--gray-50); 165 } 166 .card-meta { display: flex; align-items: center; gap: 10px; } 167 .card-date { font-size: 0.75rem; color: var(--gray-300); font-weight: 500; } 168 .card-read-time { font-size: 0.75rem; color: var(--gray-300); font-weight: 500; } 169 .card-meta-sep { font-size: 0.75rem; color: var(--gray-200); } 170 .card-arrow { color: var(--gray-300); transition: color 0.15s, transform 0.15s; } 171 .insights-card:hover .card-arrow { color: var(--accent); transform: translateX(3px); } 172 173 @media (max-width: 600px) { 174 .cards-grid { grid-template-columns: 1fr; } 175 .page-header { padding: 110px 0 48px; } 176 } 177 </style> 178
178<script data-cfasync="false" nonce="75d7c955-6d9f-4f4a-b303-167c863eb08d">try{(function(w,d){!function(kP,kQ,kR,kS){if(kP.zaraz)console.error("zaraz is loaded twice");else{kP[kR]=kP[kR]||{};kP[kR].executed=[];kP.zaraz={deferred:[],listeners:[]};kP.zaraz._v="20";kP.zaraz._n="75d7c955-6d9f-4f4a-b303-167c863eb08d";kP.zaraz.q=[];kP.zaraz._f=function(kT){return async function(){var kU=Array.prototype.slice.call(arguments);kP.zaraz.q.push({m:kT,a:kU})}};for(const kV of["track","set","debug"])kP.zaraz[kV]=kP.zaraz._f(kV);kP.zaraz.init=()=>{var kW=kQ.getElementsByTagName(kS)[0],kX=kQ.createElement(kS),kY=kQ.getElementsByTagName("title")[0];kY&&(kP[kR].t=kQ.getElementsByTagName("title")[0].text);kP[kR].x=Math.random();kP[kR].w=kP.screen.width;kP[kR].h=kP.screen.height;kP[kR].j=kP.innerHeight;kP[kR].e=kP.innerWidth;kP[kR].l=kP.location.href;kP[kR].r=kQ.referrer;kP[kR].k=kP.screen.colorDepth;kP[kR].n=kQ.characterSet;kP[kR].o=(new Date).getTimezoneOffset();if(kP.dataLayer)for(const kZ of Object.entries(Object.entries(dataLayer).reduce((k$,la)=>({...k$[1],...la[1]}),{})))zaraz.set(kZ[0],kZ[1],{scope:"page"});kP[kR].q=[];for(;kP.zaraz.q.length;){const lb=kP.zaraz.q.shift();kP[kR].q.push(lb)}kX.defer=!0;for(const lc of[localStorage,sessionStorage])Object.keys(lc||{}).filter(le=>le.startsWith("_zaraz_")).forEach(ld=>{try{kP[kR]["z_"+ld.slice(7)]=JSON.parse(lc.getItem(ld))}catch{kP[kR]["z_"+ld.slice(7)]=lc.getItem(ld)}});kX.referrerPolicy="origin";kX.src="/cdn-cgi/zaraz/s.js?z="+btoa(encodeURIComponent(JSON.stringify(kP[kR])));kW.parentNode.insertBefore(kX,kW)};["complete","interactive"].includes(kQ.readyState)?zaraz.init():kP.addEventListener("DOMContentLoaded",zaraz.init)}}(w,d,"zarazData","script");window.zaraz._p=async kH=>new Promise(kI=>{if(kH){kH.e&&kH.e.forEach(kJ=>{try{const kK=d.querySelector("script[nonce]"),kL=kK?.nonce||kK?.getAttribute("nonce"),kM=d.createElement("script");kL&&(kM.nonce=kL);kM.innerHTML=kJ;kM.onload=()=>{d.head.removeChild(kM)};d.head.appendChild(kM)}catch(kN){console.error(`Error executing script: ${kJ}\n`,kN)}});Promise.allSettled((kH.f||[]).map(kO=>fetch(kO[0],kO[1])))}kI()});zaraz._p({"e":["(function(w,d){})(window,document)"]});})(window,document)}catch(e){throw fetch("/cdn-cgi/zaraz/t"),e;};</script>
178</head> 179 <body> 180 181 <div id="site-nav" data-active="blog"></div> 182 183 <section class="page-header"> 184 <div class="container"> 185 <p class="eyebrow"><span class="dot"></span> Forged Operations · Blog</p> 186 <h1>Blog</h1> 187 <p>Technical analysis, industry commentary, and perspectives from the team building AI-native quality infrastructure for nuclear.</p> 188 </div> 189 </section> 190 191 <div class="container"> 192 <section class="blog-section"> 193 <div class="cards-grid"> 194 195 <a href="/blog/what-is-nuclear-quality-assurance.html" class="insights-card" data-category="fundamentals"> 196 <div class="card-tag"><span class="tag-dot"></span>Fundamentals</div> 197 <div class="card-body"> 198 <p class="card-title">What Is Nuclear Quality Assurance?</p> 199 <p class="card-excerpt">A plain-language guide to nuclear QA: the system that makes safety demonstrable. What it is, where the rules come from, and what a working program actually contains.</p> 200 </div> 201 <div class="card-footer"> 202 <div class="card-meta"> 203 <span class="card-date">September 2026</span> 204 <span class="card-meta-sep">·</span> 205 <span class="card-read-time">7 min read</span> 206 </div> 207 <svg class="card-arrow" xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M17 8l4 4m0 0l-4 4m4-4H3"/></svg> 208 </div> 209 </a> 210 211 <a href="/blog/nuclear-compliance-ai-2026.html" class="insights-card" data-category="compliance"> 212 <div class="card-tag"><span class="tag-dot"></span>Compliance</div> 213 <div class="card-body"> 214 <p class="card-title">From Reactive to Proactive: How AI is Changing Nuclear Compliance</p> 215 <p class="card-excerpt">Regulators expect continuous programme health, not inspection-season sprints. AI is what makes proactive compliance operationally achievable, and changes what work gets done by whom.</p> 216 </div> 217 <div class="card-footer"> 218 <div class="card-meta"> 219 <span class="card-date">March 2026</span> 220 <span class="card-meta-sep">·</span> 221 <span class="card-read-time">5 min read</span> 222 </div> 223 <svg class="card-arrow" xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M17 8l4 4m0 0l-4 4m4-4H3"/></svg> 224 </div> 225 </a> 226 227 <a href="/blog/nuclear-supply-chain-visibility.html" class="insights-card" data-category="industry"> 228 <div class="card-tag"><span class="tag-dot"></span>Industry Insights</div> 229 <div class="card-body"> 230 <p class="card-title">The Supply Chain Visibility Problem in Nuclear</p> 231 <p class="card-excerpt">Nuclear supply chains are networks in theory, bilateral email threads in practice. The downstream effect: schedule impact that has already happened by the time it shows up in a report.</p> 232 </div> 233 <div class="card-footer"> 234 <div class="card-meta"> 235 <span class="card-date">March 2026</span> 236 <span class="card-meta-sep">·</span> 237 <span class="card-read-time">4 min read</span> 238 </div> 239 <svg class="card-arrow" xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M17 8l4 4m0 0l-4 4m4-4H3"/></svg> 240 </div> 241 </a> 242 243 <a href="/blog/state-of-nuclear-2026.html" class="insights-card" data-category="industry"> 244 <div class="card-tag"><span class="tag-dot"></span>Industry Insights</div> 245 <div class="card-body"> 246 <p class="card-title">State of Nuclear in 2026: A New Dawn for Nuclear Software</p> 247 <p class="card-excerpt">The largest build pipeline in forty years is underway. The softw
247are decisions New Build programmes make in the next two years will define their operating model for the life of the plant.</p> 248 </div> 249 <div class="card-footer"> 250 <div class="card-meta"> 251 <span class="card-date">March 2026</span> 252 <span class="card-meta-sep">·</span> 253 <span class="card-read-time">4 min read</span> 254 </div> 255 <svg class="card-arrow" xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M17 8l4 4m0 0l-4 4m4-4H3"/></svg> 256 </div> 257 </a> 258 259 </div> 260 </section> 261 </div> 262 263 <div id="site-footer"></div> 264
264<script src="/navbar.js"></script>
264 265
265<script src="/footer.js"></script>
265 266
266<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"f45b285c45124f29b84c84a04d5379a2","r":1,"spa":2}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 266
266
267<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a4576e2a8ee67dda',t:'MTc5MTE1MDkyMQ=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
267</body> 268</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.