PageSourceSearch

https://forgedops.com/blog/

html forgedops.com collected 2026-10-04 21:55:21 UTC 15,971 bytes, 268 lines download raw bytes

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 &middot; 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">&middot;</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">&middot;</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">&middot;</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">&middot;</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.