1<!DOCTYPE html><!--_zn3GuVPQm5byThL_h6L5--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/03fc1b4a8d284b5e-s.p.af4fcd24.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/23b7a97ae3b5c134-s.p.2902b61f.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/99e609270109b47d-s.p.64b9304e.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/effe91970fc4db64-s.p.19510058.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" as="image" href="/galois-portrait.png"/><link rel="stylesheet" href="/_next/static/chunks/317104747d52be6b.css?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/e168b69717eace01.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ"/>
1<script src="/_next/static/chunks/82abf2d65f5428ae.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ" async=""></script>
1<script src="/_next/static/chunks/e3e47e6fd8964181.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ" async=""></script>
1<script src="/_next/static/chunks/f2f58a7e93290fbb.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ" async=""></script>
1<script src="/_next/static/chunks/turbopack-79c96e93b5a8b469.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ" async=""></script>
1<script src="/_next/static/chunks/0d3df6ba13288dad.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ" async=""></script>
1<script src="/_next/static/chunks/74934b8fb74ac1d2.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ" async=""></script>
1<script src="/_next/static/chunks/1e9f768250e0891c.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ" async=""></script>
1<script src="/_next/static/chunks/ff1a16fafef87110.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ" async=""></script>
1<script src="/_next/static/chunks/d2be314c3ece3fbe.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ" async=""></script>
1<script src="/_next/static/chunks/f8c6647dbdac6b16.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ" async=""></script>
1<script src="/_next/static/chunks/58f50d44a262d023.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ" async=""></script>
1<script src="/_next/static/chunks/7461ff4bc7be57c7.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ" async=""></script>
1<meta name="next-size-adjust" content=""/><title>Product â English in, evidence out â Galois Labs</title><meta name="description" content="Describe a test in English. Galois compiles a versioned sequence, runs it on your bench, and files the evidence â reports today, sign-off packages in build."/><link rel="canonical" href="https://galoislabs.ai/product"/><meta property="og:title" content="Galois Labs â The operating system for R&D"/><meta property="og:description" content="The operating system for R&D. Bench, sequences, captures, reports, and audits â automated, versioned, AI-assisted. Every step faster; the savings compound."/><meta property="og:url" content="https://galoislabs.ai"/><meta property="og:site_name" content="Galois Labs"/><meta property="og:image:alt" content="Galois Labs â The operating system for R&D"/><meta property="og:image:type" content="image/png"/><meta property="og:image" content="https://galoislabs.ai/opengraph-image?bc8bf573afc1cb85"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Galois Labs â The operating system for R&D"/><meta name="twitter:description" content="The operating system for R&D. Bench, sequences, captures, reports, and audits â automated, versioned, AI-assisted. Every step faster; the savings compound."/><meta name="twitter:image:alt" content="Galois Labs â The operating system for R&D"/><meta name="twitter:image:type" content="image/png"/><meta name="twitter:image" content="https://galoislabs.ai/opengraph-image?bc8bf573afc1cb85"/><meta name="twitter:image:width" content="1200"/><meta name="twitter:image:height" content="630"/><link rel="icon" href="/favicon.ico" sizes="any"/><link rel="icon" href="/favicon-32x32.png" sizes="32x32" type="image/png"/><link rel="apple-touch-icon" href="/apple-touch-icon.png"/>
1<script>(function(){try{var t=localStorage.getItem("theme");if(t==="dark"||(t!=="light"&&matchMedia("(prefers-color-scheme:dark)").matches))document.documentElement.classList.add("dark")}catch(e){}})()</script>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","name":"Galois Labs","url":"https://galoislabs.ai","description":"The operating system for R&D.","logo":"https://galoislabs.ai/apple-touch-icon.png","sameAs":["https://github.com/Galois-Labs","https://www.linkedin.com/company/galois-labs/"]}</script>
1<script src="/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ" noModule=""></script>
1</head><body class="ibm_plex_sans_fbfe13bd-module__imwjEq__variable ibm_plex_mono_b1df0642-module__ou0oxa__variable font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><header class="fixed top-0 z-50 w-full border-b bg-background/80 backdrop-blur-md"><nav class="mx-auto flex h-16 max-w-6xl items-center justify-between px-4"><a class="flex items-center gap-2 font-mono text-lg font-bold tracking-tight" href="/"><span class="flex h-8 w-7 items-center justify-center rounded dark:bg-stone-200"><img src="/galois-portrait.png" alt="" class="h-7 w-auto"/></span>Galois Labs</a><div class="hidden items-center gap-1 lg:flex"><a class="rounded-md px-3 py-2 text-sm font-medium text-muted-foreground transition-colors hover:text-foreground" href="/product">Product</a><a class="rounded-md px-3 py-2 text-sm font-medium text-muted-foreground transition-colors hover:text-foreground" href="/workplace-intelligence">Workplace Intelligence</a><a class="rounded-md px-3 py-2 text-sm font-medium text-muted-foreground transition-colors hover:text-foreground" href="/deployment">Deployment</a><button class="rounded-md px-3 py-2 text-sm font-medium text-muted-foreground transition-colors hover:text-foreground inline-flex items-center gap-1" type="button" id="radix-_R_4idb_" aria-haspopup="menu" aria-expanded="false" data-state="closed" data-slot="dropdown-menu-trigger">Solutions<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="h-4 w-4"><path d="M212.24,100.24l-80,80a6,6,0,0,1-8.48,0l-80-80a6,6,0,0,1,8.48-8.48L128,167.51l75.76-75.75a6,6,0,0,1,8.48,8.48Z"></path></svg></button><a class="rounded-md px-3 py-2 text-sm font-medium text-muted-foreground transition-colors hover:text-foreground" href="/instruments">Instruments</a><a class="rounded-md px-3 py-2 text-sm font-medium text-muted-foreground transition-colors hover:text-foreground" href="/pricing">Pricing</a><a href="https://docs.galoislabs.ai" class="rounded-md px-3 py-2 text-sm font-medium text-muted-foreground transition-colors hover:text-foreground">Docs</a><button data-slot="button" data-variant="ghost" data-size="icon" class="inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 size-9" aria-label="Toggle theme"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="h-5 w-5 rotate-0 scale-100 transition-all dark:rotate-90 dark:scale-0"><path d="M122,40V16a6,6,0,0,1,12,0V40a6,6,0,0,1-12,0Zm68,88a62,62,0,1,1-62-62A62.07,62.07,0,0,1,190,128Zm-12,0a50,50,0,1,0-50,50A50.06,50.06,0,0,0,178,128ZM59.76,68.24a6,6,0,1,0,8.48-8.48l-16-16a6,6,0,0,0-8.48,8.48Zm0,119.52-16,16a6,6,0,1,0,8.48,8.48l16-16a6,6,0,1,0-8.48-8.48ZM192,70a6,6,0,0,0,4.24-1.76l16-16a6,6,0,0,0-8.48-8.48l-16,16A6,6,0,0,0,192,70Zm4.24,117.76a6,6,0,0,0-8.48,8.48l16,16a6,6,0,0,0,8.48-8.48ZM46,128a6,6,0,0,0-6-6H16a6,6,0,0,0,0,12H40A6,6,0,0,0,46,128Zm82,82a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V216A6,6,0,0,0,128,210Zm112-88H216a6,6,0,0,0,0,12h24a6,6,0,0,0,0-12Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="absolute h-5 w-5 rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100"><path d="M232.13,143.64a6,6,0,0,0-6-1.49A90.07,90.07,0,0,1,113.86,29.85a6,6,0,0,0-7.49-7.48A102.88,102.88,0,0,0,54.48,58.68,102,102,0,0,0,197.32,201.52a102.88,102.88,0,0,0,36.31-51.89A6,6,0,0,0,232.13,143.64Zm-42,48.29a90,90,0,0,1-126-126A90.9,90.9,0,0,1,99.65,37.66,102.06,102.06,0,0,0,218.34,156.35,90.9,90.9,0,0,1,190.1,191.93Z"></path></svg></button><a href="https://cloud.galoislabs.ai/login" class="rounded-md px-3 py-2 text-sm font-medium text-muted-foreground transition-colors hover:text-foreground">Log in</a><a data-slot="button" data-variant="default" data-size="sm" class="inline-flex shrink-0 items-center justify-center text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='
1size-'])]:size-4 bg-primary text-primary-foreground hover:bg-primary/90 h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5 ml-2" href="/contact?lane=demo">Book a demo</a></div><div class="flex items-center gap-2 lg:hidden"><button data-slot="button" data-variant="ghost" data-size="icon" class="inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 size-9" aria-label="Toggle theme"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="h-5 w-5 rotate-0 scale-100 transition-all dark:rotate-90 dark:scale-0"><path d="M122,40V16a6,6,0,0,1,12,0V40a6,6,0,0,1-12,0Zm68,88a62,62,0,1,1-62-62A62.07,62.07,0,0,1,190,128Zm-12,0a50,50,0,1,0-50,50A50.06,50.06,0,0,0,178,128ZM59.76,68.24a6,6,0,1,0,8.48-8.48l-16-16a6,6,0,0,0-8.48,8.48Zm0,119.52-16,16a6,6,0,1,0,8.48,8.48l16-16a6,6,0,1,0-8.48-8.48ZM192,70a6,6,0,0,0,4.24-1.76l16-16a6,6,0,0,0-8.48-8.48l-16,16A6,6,0,0,0,192,70Zm4.24,117.76a6,6,0,0,0-8.48,8.48l16,16a6,6,0,0,0,8.48-8.48ZM46,128a6,6,0,0,0-6-6H16a6,6,0,0,0,0,12H40A6,6,0,0,0,46,128Zm82,82a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V216A6,6,0,0,0,128,210Zm112-88H216a6,6,0,0,0,0,12h24a6,6,0,0,0,0-12Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="absolute h-5 w-5 rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100"><path d="M232.13,143.64a6,6,0,0,0-6-1.49A90.07,90.07,0,0,1,113.86,29.85a6,6,0,0,0-7.49-7.48A102.88,102.88,0,0,0,54.48,58.68,102,102,0,0,0,197.32,201.52a102.88,102.88,0,0,0,36.31-51.89A6,6,0,0,0,232.13,143.64Zm-42,48.29a90,90,0,0,1-126-126A90.9,90.9,0,0,1,99.65,37.66,102.06,102.06,0,0,0,218.34,156.35,90.9,90.9,0,0,1,190.1,191.93Z"></path></svg></button><button data-slot="button" data-variant="ghost" data-size="icon" class="inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 size-9" aria-label="Toggle menu"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="h-5 w-5"><path d="M222,128a6,6,0,0,1-6,6H40a6,6,0,0,1,0-12H216A6,6,0,0,1,222,128ZM40,70H216a6,6,0,0,0,0-12H40a6,6,0,0,0,0,12ZM216,186H40a6,6,0,0,0,0,12H216a6,6,0,0,0,0-12Z"></path></svg></button></div></nav></header><main class="min-h-screen pt-16">
1<script type="application/ld+json">[{"@context":"https://schema.org","@type":"SoftwareApplication","name":"Galois","applicationCategory":"DeveloperApplication","applicationSubCategory":"Test & Measurement Automation","operatingSystem":"Windows, macOS, Linux","url":"https://galoislabs.ai","description":"Open-source, Python-native platform for instrument control, test sequencing, real-time monitoring, and AI reporting. A vendor-neutral alternative to LabVIEW, TestStand, and PyVISA.","license":"https://www.apache.org/licenses/LICENSE-2.0","offers":[{"@type":"Offer","name":"Open Source","price":"0","priceCurrency":"USD","description":"Free, open-source galois-edge daemon (Apache-2.0)."},{"@type":"Offer","name":"Enterprise","priceCurrency":"USD","description":"Dedicated cloud or airgapped on-prem, custom-scoped to your deployment.","url":"https://galoislabs.ai/pricing"}]},{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://galoislabs.ai/"},{"@type":"ListItem","position":2,"name":"Product","item":"https://galoislabs.ai/product"}]}]</script>
1<section class="relative flex min-h-[85vh] flex-col items-center justify-center overflow-hidden pt-16 pb-16 sm:pt-20 sm:pb-20"><div aria-hidden="true" class="pointer-events-none absolute inset-0 -z-10" style="mask-image:radial-gradient(ellipse 90% 70% at 50% 0%, black 25%, transparent 80%);-webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 0%, black 25%, transparent 80%)"><div style="width:100%;height:100%"></div></div><div class="relative mx-auto max-w-4xl px-4 text-center"><div style="opacity:0;transform:translateY(20px)"><p class="type-mono-label text-muted-foreground">The mechanism</p><h1 class="type-display mt-6 whitespace-pre-line">English in. 2Evidence out.</h1></div><div style="opacity:0;transform:translateY(20px)"><p class="type-subhead mx-auto mt-6 max-w-2xl">A sentence becomes a versioned sequence, runs on your bench, and files its own evidence.</p><div class="mt-8 flex flex-col items-center gap-4 sm:flex-row sm:justify-center"><a data-slot="button" data-variant="default" data-size="lg" class="inline-flex shrink-0 items-center justify-center gap-2 text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 bg-primary text-primary-foreground hover:bg-primary/90 h-10 rounded-md px-6 has-[>svg]:px-4" href="/contact?lane=demo">Book a demo</a><a href="#sequence" data-slot="button" data-variant="outline" data-size="lg" class="inline-flex shrink-0 items-center justify-center gap-2 text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50 h-10 rounded-md px-6 has-[>svg]:px-4">See the sequence</a></div><p class="type-mono-label mt-6 text-muted-foreground/70">573<!-- --> instruments · <!-- -->135<!-- --> manufacturers · Apache-2.0</p></div></div><div class="relative w-full" style="opacity:0;transform:translateY(20px)"><figure class="mx-auto mt-12 w-full max-w-5xl px-4"><div class="overflow-hidden rounded-lg border border-[#e8eefc]/10 bg-[#0a111d] text-left"><div class="flex flex-wrap items-center justify-between gap-x-3 gap-y-1 border-b border-[#e8eefc]/10 px-4 py-2"><span class="type-mono-label text-[#8a95b0]">galois sequence â new</span><span class="type-mono-label shrink-0 rounded-lg border border-[#8a95b0]/40 px-2 py-0.5 text-[#8a95b0]">Demo â synthetic data</span></div><div class="type-mono-data space-y-1.5 overflow-x-auto p-4 text-[#e8eefc]"><p class="relative text-[#7ac8ff]"><span aria-hidden="true" class="invisible">> <!-- -->ramp psu to 1 kV, hold 60 s, log leakage<span class="ml-1 inline-block w-[2px]"></span></span><span class="absolute inset-0">> <span aria-hidden="true" class="ml-1 inline-block h-[1em] w-[2px] translate-y-[0.15em] bg-[#7ac8ff] animate-[blink_0.6s_step-end_infinite] motion-reduce:animate-none"></span></span></p><p class="whitespace-nowrap invisible"><span class="text-[#8a95b0]">compiling â hv_bringup.seq</span></p><p class="whitespace-nowrap invisible"><span class="text-[#5fd4a0]">â</span> 01 psu.set ramp 0â1000 V · 50 V/s</p><p class="whitespace-nowrap invisible"><span class="text-[#5fd4a0]">â</span> 02 hold 60 s · log I_leak @ 10 Hz</p><p class="whitespace-nowrap invisible"><span class="text-[#5fd4a0]">â</span> 03 limit.check I_leak ⤠10 µA</p><p class="whitespace-nowrap invisible"><span class="text-[#8a95b0]">run: cloud · approval required: qa-lead</span></p></div></div><figcaption class="type-mono-label mt-3 text-center text-muted-foreground">Fig. 1 â Sequence from English</figcaption></figure></div></section><section id="sequence" class="scroll-mt-24 border-t py-16 sm:py-24"><div class="mx-auto max-w-6xl px-4"><div style="opacity:0;transform:translateY(20px)"><p class="type-mono-label text-muted-foreground">01 â Sequence</p><h2 class="type-h2 mt-4">One artifact, from English to evidence.</h2><p class="type-subhead mt-3 max-w-2xl">Sequences are versioned YAML â reviewed, locked, and run with every step traced.</p></div><div style="opacity:0;transform:translateY(20px)"><figure class="mt-10"><div class="overflow-hidden rounded-lg border bg-card"><div class="grid divide-y md:grid-cols-5 md:divide-x md:divide-y-0"><div class="p-4 sm:p-5"><div class="flex items-center justify-between gap-2"><span class="flex items-center gap-2"><span aria-hidden="true" class="h-1.5 w-1.5 shrink-0 rounded-full bg-accent"></span><span class="type-mono-label">Draft</span></span><span aria-hidden="true" class="type-mono-label hidden text-muted-foreground
2/50 md:inline">â</span></div><p class="type-caption mt-2">Generated from the prompt.</p></div><div class="p-4 sm:p-5"><div class="flex items-center justify-between gap-2"><span class="flex items-center gap-2"><span aria-hidden="true" class="h-1.5 w-1.5 shrink-0 rounded-full bg-accent"></span><span class="type-mono-label">Reviewed</span></span><span aria-hidden="true" class="type-mono-label hidden text-muted-foreground/50 md:inline">â</span></div><p class="type-caption mt-2">Diffed like code.</p></div><div class="p-4 sm:p-5"><div class="flex items-center justify-between gap-2"><span class="flex items-center gap-2"><span aria-hidden="true" class="h-1.5 w-1.5 shrink-0 rounded-full bg-accent"></span><span class="type-mono-label">Locked</span></span><span aria-hidden="true" class="type-mono-label hidden text-muted-foreground/50 md:inline">â</span></div><p class="type-caption mt-2">Production revision, immutable.</p></div><div class="p-4 sm:p-5"><div class="flex items-center justify-between gap-2"><span class="flex items-center gap-2"><span aria-hidden="true" class="h-1.5 w-1.5 shrink-0 rounded-full bg-accent"></span><span class="type-mono-label">Run</span></span><span aria-hidden="true" class="type-mono-label hidden text-muted-foreground/50 md:inline">â</span></div><p class="type-caption mt-2">Executes on the bench.</p></div><div class="p-4 sm:p-5"><div class="flex items-center justify-between gap-2"><span class="flex items-center gap-2"><span aria-hidden="true" class="h-1.5 w-1.5 shrink-0 rounded-full bg-accent"></span><span class="type-mono-label">Report</span></span></div><p class="type-caption mt-2">Evidence, assembled.</p></div></div><div class="grid divide-y divide-[#e8eefc]/10 border-t bg-[#0a111d] sm:grid-cols-2 sm:divide-x sm:divide-y-0"><p class="type-mono-data flex flex-wrap items-center gap-x-3 gap-y-1.5 px-4 py-3 text-[#e8eefc]"><span class="text-[#8a95b0]">revision gate</span><span class="rounded-lg border border-[#8a95b0]/40 px-2 py-0.5">v1.4 â approved v1.2</span></p><p class="type-mono-data flex flex-wrap items-center gap-x-3 gap-y-1.5 px-4 py-3 text-[#e8eefc]"><span class="text-[#8a95b0]">limit.check</span><span>I_leak 4.82 µA â¤Â 10 µA</span><span class="text-[#5fd4a0]">PASS â</span></p></div></div><figcaption class="type-mono-label mt-3 text-muted-foreground">Fig. 2 â Sequence lifecycle</figcaption></figure></div></div></section><section id="bench" class="scroll-mt-24 border-t py-16 sm:py-24"><div class="mx-auto max-w-6xl px-4"><div style="opacity:0;transform:translateY(20px)"><p class="type-mono-label text-muted-foreground">02 â Bench</p><h2 class="type-h2 mt-4">Real instruments, one daemon.</h2><p class="type-subhead mt-3 max-w-2xl">Two static binaries connect the bench â no Python, no Docker, works offline.</p></div><div class="mt-10 grid items-start gap-10 lg:grid-cols-2 lg:gap-16"><div style="opacity:0;transform:translateY(20px)"><figure><div class="rounded-lg border bg-card"><div class="flex flex-wrap items-center justify-between gap-x-3 gap-y-1 border-b px-4 py-2"><span class="type-mono-label text-muted-foreground">galois-edge status</span><span class="type-mono-label shrink-0 rounded-lg border px-2 py-0.5 text-muted-foreground">Demo â synthetic data</span></div><div class="type-mono-data space-y-1.5 overflow-x-auto p-4"><p class="flex items-center gap-2"><span aria-hidden="true" class="h-1.5 w-1.5 shrink-0 rounded-full bg-accent animate-[svc-pulse_2.4s_ease-in-out_infinite] motion-reduce:animate-none" style="animation-delay:0s"></span>galois-edge<!-- --> <span class="text-muted-foreground">active (running)</span></p><p class="flex items-center gap-2"><span aria-hidden="true" class="h-1.5 w-1.5 shrink-0 rounded-full bg-accent animate-[svc-pulse_2.4s_ease-in-out_infinite] motion-reduce:animate-none" style="animation-delay:0.8s"></span>galois-edge-daemon<!-- --> <span class="text-muted-foreground">active (running)</span></p><p class="text-muted-foreground">mesh <span class="text-foreground">tailnet-lab-01.ts.net</span></p><p class="text-muted-foreground">instruments <span class="text-foreground">4 connected</span></p><p class="pl-5">Keithley 2400<!-- --> <span class="text-muted-foreground">GPIB::24</span></p><p class="pl-5">Keysight 34461A<!-- --> <span class="text-muted-foreground">USB</span></p><p class="pl-5">Rigol DS1054Z<!-- --> <span class="text-muted-foreground">LAN</span></p><p class="pl-5">SRS SR830<!-- --> <span class="text-muted-foreground">GPIB::8</span></p><p class="text-muted-foreground">grpc :50051 ready · websocket :8765 ready</p></div></div><figcaption class="type-mono-label mt-3 text-muted-foreground">Fig. 3 â Edge daemon</figcaption></figure></div><div style="opacity:0;transform:translateY(20px)"><p class="type-body">Vendor SDKs proxy through the daemon, so NI, Keysight, and Digilent stacks keep working.</p><div class="mt-6 divide-y border-y"><p class="type-mono-label py-3 text-muted-foreground">Buses â GPIB · USB · LAN · Serial · Modbus · CAN · SPI · I²C · OPC-UA</p><p class="type-mono-label py-3 text-muted-foreground">SDKs â NI DAQmx · NI-VISA · Keysight IO · Digilent WaveForms · Zurich LabOne · Quantum Design PPMS</p><p class="flex items-center gap-2 py-3"><span aria-hidden="true" class="h-1.5 w-1.5 shrink-0 rounded-full border border-muted-foreground
2/70"></span><span class="type-mono-label text-muted-foreground">FPGA bitstream library â in build</span></p></div><p class="type-caption mt-4">Cloud, dedicated tenant, or air-gapped â see<!-- --> <a class="underline decoration-dotted underline-offset-4 hover:text-foreground" href="/deployment">deployment</a>.</p><div class="mt-6"><a data-slot="button" data-variant="outline" data-size="default" class="inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50 h-9 px-4 py-2 has-[>svg]:px-3" href="/instruments">Browse the instruments</a></div></div></div></div></section><section id="evidence" class="scroll-mt-24 bg-muted/40 py-16 sm:py-24"><div class="mx-auto max-w-6xl px-4"><div style="opacity:0;transform:translateY(20px)"><p class="type-mono-label text-muted-foreground">03 â Evidence</p><h2 class="type-h2 mt-4">Every run files its own evidence.</h2><p class="type-subhead mt-3 max-w-2xl">Per-step traces draft reports today; attested sign-off packages are in build.</p></div><div class="mt-10 grid items-start gap-8 lg:grid-cols-5"><div class="min-w-0 lg:col-span-3" style="opacity:0;transform:translateY(20px)"><figure><div class="rounded-lg border bg-card"><div class="flex flex-wrap items-center justify-between gap-x-3 gap-y-1 border-b px-4 py-2"><span class="type-mono-label text-muted-foreground">Evidence report · EN 61010-1</span><span class="flex items-center gap-2"><span class="type-mono-label shrink-0 rounded-lg border px-2 py-0.5 text-muted-foreground">Demo â synthetic data</span><span class="type-mono-label text-accent">Signed</span></span></div><div class="overflow-x-auto p-4"><table class="w-full border-collapse"><thead><tr><th class="type-mono-label border-b py-2 text-left font-medium text-muted-foreground">Step</th><th class="type-mono-label border-b py-2 text-left font-medium text-muted-foreground">Measured</th><th class="type-mono-label border-b py-2 text-left font-medium text-muted-foreground">Verdict</th></tr></thead><tbody><tr><td class="type-mono-data border-b py-2 pr-2 sm:pr-3">insulation_resist</td><td class="type-mono-data border-b py-2 pr-2 text-muted-foreground sm:pr-3">1000 V · 4.82 µA</td><td class="type-mono-data border-b py-2 text-accent">PASS</td></tr><tr><td class="type-mono-data border-b py-2 pr-2 sm:pr-3">rail_5v0_limit</td><td class="type-mono-data border-b py-2 pr-2 text-muted-foreground sm:pr-3">3.31 V â [3.20, 3.40]</td><td class="type-mono-data border-b py-2 text-accent">PASS</td></tr><tr><td class="type-mono-data border-b py-2 pr-2 sm:pr-3">n77_evm_check</td><td class="type-mono-data border-b py-2 pr-2 text-muted-foreground sm:pr-3">2.8 % â¤Â 3.5 %</td><td class="type-mono-data border-b py-2 text-accent">PASS</td></tr></tbody></table><p class="type-mono-data mt-3 text-muted-foreground">sha256 9f2câ¦e41a · qa-lead · run 1284 · seq pcba_eol v1.4</p></div></div><figcaption class="type-mono-label mt-3 text-muted-foreground">Fig. 4 â Evidence report</figcaption></figure><div class="mt-3 flex flex-wrap gap-x-6 gap-y-1"></div></div><div class="lg:col-span-2" style="opacity:0;transform:translateY(20px)"><div class="rounded-lg border bg-card p-5"><p class="type-mono-label text-muted-foreground">Every step records</p><div class="mt-3 flex flex-wrap gap-2"><span class="type-mono-data rounded-lg border px-2 py-1 text-muted-foreground">measured value</span><span class="type-mono-data rounded-lg border px-2 py-1 text-muted-foreground">limits</span><span class="type-mono-data rounded-lg border px-2 py-1 text-muted-foreground">raw command + response</span><span class="type-mono-data rounded-lg border px-2 py-1 text-muted-foreground">instrument ID</span><span class="type-mono-data rounded-lg border px-2 py-1 text-muted-foreground">operator</span><span class="type-mono-data rounded-lg border px-2 py-1 text-muted-foreground">
2DUT serial</span><span class="type-mono-data rounded-lg border px-2 py-1 text-muted-foreground">git SHA</span><span class="type-mono-data rounded-lg border px-2 py-1 text-muted-foreground">sequence revision</span><span class="type-mono-data rounded-lg border px-2 py-1 text-muted-foreground">timestamp</span></div></div><div id="compliance" class="mt-6 grid gap-4 scroll-mt-24"><div class="rounded-lg border bg-card p-4"><div class="flex items-center gap-2"><span aria-hidden="true" class="h-1.5 w-1.5 shrink-0 rounded-full bg-accent"></span><p class="type-mono-label">Reports</p></div><p class="type-caption mt-2">Drafted from live run data.</p></div><div class="rounded-lg border bg-card p-4"><div class="flex items-center gap-2"><span aria-hidden="true" class="h-1.5 w-1.5 shrink-0 rounded-full border border-muted-foreground/70"></span><p class="type-mono-label">Sign-off packages</p></div><p class="type-caption mt-2">RTM, findings, and attestation compiled from the same run record.</p><p class="type-mono-label mt-3 text-muted-foreground/60">In build</p></div></div></div></div><div style="opacity:0;transform:translateY(20px)"><div id="economics" class="mt-12 border-t pt-10 scroll-mt-24"><p class="type-mono-label text-muted-foreground">Failure economics</p><p class="type-body mt-4">About 50% of products fail EMC testing on the first attempt (Intertek). Every failed loop costs weeks of schedule and five figures in re-tests and rework â and a full certification campaign in a regulated market runs well into six figures.</p><p class="type-body mt-4">Galois automates the loop â so the first attempt is the last.</p><div class="mt-6 space-y-1.5"><a href="https://web.archive.org/web/20220424064926/https://www.intertek.com/uploadedFiles/Intertek/Divisions/Commercial_and_Electrical/Media/PDF/EMC_Testing/Why-50-Percent-Fail-EMC-WP.pdf" target="_blank" rel="noreferrer" class="type-mono-label block w-fit text-muted-foreground/70 underline-offset-4 hover:underline">Source: Intertek â EMC first-pass failure</a><a href="https://www.tek.com/en/blog/financial-case-emi-emc-pre-compliance-test-solution" target="_blank" rel="noreferrer" class="type-mono-label block w-fit text-muted-foreground/70 underline-offset-4 hover:underline">Source: Tektronix â EMI/EMC re-test costs</a><a href="https://pcbsync.com/npi-new-product-introduction/" target="_blank" rel="noreferrer" class="type-mono-label block w-fit text-muted-foreground/70 underline-offset-4 hover:underline">Source: PCBSync â respin schedule cost</a><a href="https://www.quilter.ai/glossary/board-respin" target="_blank" rel="noreferrer" class="type-mono-label block w-fit text-muted-foreground/70 underline-offset-4 hover:underline">Source: Quilter â board respin average</a><a href="https://medicaldeviceacademy.com/510k-cost/" target="_blank" rel="noreferrer" class="type-mono-label block w-fit text-muted-foreground/70 underline-offset-4 hover:underline">Source: Medical Device Academy â 510(k) testing</a></div></div></div></div></section><section id="design" class="scroll-mt-24 py-16 sm:py-24"><div class="mx-auto max-w-6xl px-4"><div style="opacity:0;transform:translateY(20px)"><p class="type-mono-label text-muted-foreground">04 â Design · Sim</p><h2 class="type-h2 mt-4">Catch it before the fab run.</h2><p class="type-subhead mt-3 max-w-2xl">One ECAD ingest feeds nine board analyses and keeps the test plan tracking every revision.</p></div><div class="mt-10 grid items-start gap-8 lg:grid-cols-2"><div style="opacity:0;transform:translateY(20px)"><div class="flex items-center gap-2"><span aria-hidden="true" class="h-1.5 w-1.5 shrink-0 rounded-full bg-accent"></span>
2<p class="type-mono-label">Simulation</p></div><p class="type-body mt-2 text-muted-foreground">IR-drop to 2.5D EM â nine analyses before boards are ordered.</p><figure class="mt-4"><div class="rounded-lg border bg-card"><div class="flex flex-wrap items-center justify-between gap-x-3 gap-y-1 border-b px-4 py-2"><span class="type-mono-label text-muted-foreground">stokes â s-param correlation</span><span class="type-mono-label flex shrink-0 items-center gap-1.5 rounded-lg border px-2 py-0.5 text-muted-foreground"><span aria-hidden="true" class="h-1.5 w-1.5 rounded-full border border-muted-foreground/70"></span>In build</span></div><div class="p-4"><svg viewBox="0 0 480 200" class="block h-auto w-full" role="img" aria-label="Simulated versus VNA-measured insertion loss traces overlaid, measurement inside the half-decibel tolerance band"><line x1="44" y1="12" x2="44" y2="156" stroke="var(--border)"></line><line x1="44" y1="156" x2="464" y2="156" stroke="var(--border)"></line><line x1="226.5" y1="12" x2="226.5" y2="156" stroke="var(--border)" stroke-dasharray="1 5"></line><line x1="409.1" y1="12" x2="409.1" y2="156" stroke="var(--border)" stroke-dasharray="1 5"></line><line x1="44" y1="60" x2="464" y2="60" stroke="var(--border)" stroke-dasharray="1 5"></line><line x1="44" y1="108" x2="464" y2="108" stroke="var(--border)" stroke-dasharray="1 5"></line><text x="4" y="15" font-size="9" font-family="'IBM Plex Mono', monospace" fill="var(--muted-foreground)">dB</text><text x="4" y="88" font-size="9" font-family="'IBM Plex Mono', monospace" fill="var(--muted-foreground)">|S21|</text><text x="38" y="15" font-size="9" font-family="'IBM Plex Mono', monospace" fill="var(--muted-foreground)" text-anchor="end">0</text><text x="38" y="63" font-size="9" font-family="'IBM Plex Mono', monospace" fill="var(--muted-foreground)" text-anchor="end">-2</text><text x="38" y="111" font-size="9" font-family="'IBM Plex Mono', monospace" fill="var(--muted-foreground)" text-anchor="end">-4</text><text x="38" y="159" font-size="9" font-family="'IBM Plex Mono', monospace" fill="var(--muted-foreground)" text-anchor="end">-6</text><text x="44" y="170" font-size="9" font-family="'IBM Plex Mono', monospace" fill="var(--muted-foreground)">0.1</text><text x="226.5" y="170" font-size="9" font-family="'IBM Plex Mono', monospace" fill="var(--muted-foreground)" text-anchor="middle">1</text><text x="409.1" y="170" font-size="9" font-family="'IBM Plex Mono', monospace" fill="var(--muted-foreground)" text-anchor="middle">10</text><text x="464" y="170" font-size="9" font-family="'IBM Plex Mono', monospace" fill="var(--muted-foreground)" text-anchor="end">GHz</text><path d="M44.0 12.0 L56.6 12.0 L69.2 12.0 L81.8 12.0 L94.4 12.0 L107.0 12.0 L119.6 12.0 L132.2 12.0 L144.8 12.0 L157.4 12.0 L170.0 12.0 L182.6 12.9 L195.2 14.1 L207.8 15.4 L220.4 16.8 L233.0 18.4 L245.6 20.2 L258.2 22.1 L270.8 24.2 L283.4 26.7 L296.0 29.4 L308.6 32.3 L321.2 35.5 L333.8 39.3 L346.4 43.4 L359.0 48.0 L371.6 53.1 L384.2 58.9 L396.8 65.4 L409.4 72.7 L422.0 81.0 L434.6 90.3 L447.2 100.9 L459.8 112.9 L464.0 117.2 L464.0 141.2 L459.8 136.9 L447.2 124.9 L434.6 114.3 L422.0 105.0 L409.4 96.7 L396.8 89.4 L384.2 82.9 L371.6 77.1 L359.0 72.0 L346.4 67.4 L333.8 63.3 L321.2 59.5 L308.6 56.3 L296.0 53.4 L283.4 50.7 L270.8 48.2 L258.2 46.1 L245.6 44.2 L233.0 42.4 L220.4 40.8 L207.8 39.4 L195.2 38.1 L182.6 36.9 L170.0 35.8 L157.4 34.8 L144.8 33.9 L132.2 33.1 L119.6 32.3 L107.0 31.6 L94.4 31.0 L81.8 30.4 L69.2 29.9 L56.6 29.4 L44.0 29.0 Z" fill="var(--accent)" fill-opacity="0.08" stroke="none"></path><path d="M44.0 17.0 L56.6 17.4 L69.2 17.9 L81.8 18.4 L94.4 19.0 L107.0 19.6 L119.6 20.3 L132.2 21.1 L144.8 21.9 L157.4 22.8 L170.0 23.8 L182.6 24.9 L195.2 26.1 L207.8 27.4 L220.4 28.8 L233.0 30.4 L245.6 32.2 L258.2 34.1 L270.8 36.2 L283.4 38.7 L296.0 41.4 L308.6 44.3 L321.2 47.5 L333.8 51.3 L346.4 55.4 L359.0 60.0 L371.6 65.1 L384.2 70.9 L396.8 77.4 L409.4 84.7 L422.0 93.0 L434.6 102.3 L447.2 112.9 L459.8 124.9 L464.0 129.2" fill="none" stroke="var(--accent)" stroke-width="1.4" stroke-dasharray="5 4"></path><path d="M44.0 17.2 L56.6 17.4 L69.2 17.7 L81.8 18.0 L94.4 18.4 L107.0 18.9 L119.6 19.5 L132.2 20.2 L144.8 21.1 L157.4 22.1 L170.0 23.2 L182.6 24.5 L195.2 25.9 L207.8 27.5
2L220.4 29.2 L233.0 31.1 L245.6 33.2 L258.2 35.4 L270.8 37.9 L283.4 40.6 L296.0 43.5 L308.6 46.7 L321.2 50.1 L333.8 54.0 L346.4 58.2 L359.0 63.0 L371.6 68.2 L384.2 74.0 L396.8 80.6 L409.4 88.0 L422.0 96.3 L434.6 105.8 L447.2 116.5 L459.8 128.8 L464.0 133.2" fill="none" stroke="var(--foreground)" stroke-width="1.4"></path><g transform="translate(326 22)"><line x1="0" y1="0" x2="18" y2="0" stroke="var(--accent)" stroke-dasharray="5 4" stroke-width="1.4"></line><text x="24" y="3" font-size="9" font-family="'IBM Plex Mono', monospace" fill="var(--muted-foreground)">SIM</text><line x1="56" y1="0" x2="74" y2="0" stroke="var(--foreground)" stroke-width="1.4"></line><text x="80" y="3" font-size="9" font-family="'IBM Plex Mono', monospace" fill="var(--muted-foreground)">MEAS (VNA)</text></g><text x="464" y="192" font-size="9" font-family="'IBM Plex Mono', monospace" fill="var(--muted-foreground)" text-anchor="end">S21 max |Î| 0.17 dB ⤠tol 0.5 dB</text></svg></div></div><figcaption class="type-mono-label mt-3 text-muted-foreground">Fig. 5 â Sim vs measured</figcaption></figure></div><div style="opacity:0;transform:translateY(20px)"><div class="flex items-center gap-2"><span aria-hidden="true" class="h-1.5 w-1.5 shrink-0 rounded-full border border-muted-foreground/70"></span><p class="type-mono-label">Design plugins</p><p class="type-mono-label text-muted-foreground/60">In build</p></div><p class="type-body mt-2 text-muted-foreground">The Altium extension snapshots the design; findings cross-probe back to the schematic.</p><p class="type-mono-label mt-2 text-muted-foreground">Altium 26.6 · KiCad M0</p><figure class="mt-4"><div class="rounded-lg border bg-card p-4"><svg viewBox="0 0 480 220" class="block h-auto w-full" role="img" aria-label="Design artifacts connected to test plans through the Galois plugin"><path d="M 132 60 C 175 60, 185 110, 208 110" fill="none" stroke="var(--accent)" stroke-opacity="0.45" stroke-width="1"></path><path d="M 132 122 C 175 122, 185 110, 208 110" fill="none" stroke="var(--accent)" stroke-opacity="0.45" stroke-width="1"></path><path d="M 132 184 C 175 184, 185 110, 208 110" fill="none" stroke="var(--accent)" stroke-opacity="0.45" stroke-width="1"></path><path d="M 272 110 C 295 110, 305 60, 348 60" fill="none" stroke="var(--accent)" stroke-opacity="0.45" stroke-width="1"></path><path d="M 272 110 C 295 110, 305 122, 348 122" fill="none" stroke="var(--accent)" stroke-opacity="0.45" stroke-width="1"></path><path d="M 272 110 C 295 110, 305 184, 348 184" fill="none" stroke="var(--accent)" stroke-opacity="0.45" stroke-width="1"></path><g transform="translate(12 48)"><rect width="120" height="24" rx="2" fill="none" stroke="var(--border)"></rect><text x="10" y="16" font-size="10" font-family="'IBM Plex Mono', monospace" fill="var(--foreground)">board.kicad_sch</text></g><g transform="translate(12 110)"><rect width="120" height="24" rx="2" fill="none" stroke="var(--border)"></rect><text x="10" y="16" font-size="10" font-family="'IBM Plex Mono', monospace" fill="var(--foreground)">enclosure.step</text></g><g transform="translate(12 172)"><rect width="120" height="24" rx="2" fill="none" stroke="var(--border)"></rect><text x="10" y="16" font-size="10" font-family="'IBM Plex Mono', monospace" fill="var(--foreground)">bom.csv</text></g><g transform="translate(208 96)"><rect width="64" height="28" rx="2" fill="none" stroke="var(--accent)"></rect><text x="32" y="18" font-size="10" font-family="'IBM Plex Mono', monospace" fill="var(--foreground)" text-anchor="middle">plugin</text></g><g transform="translate(348 48)"><rect width="120" height="24" rx="2" fill="none" stroke="var(--border)"></rect><circle cx="12" cy="12" r="2.5" fill="var(--accent)"></circle><text x="22" y="16" font-size="10" font-family="'IBM Plex Mono', monospace" fill="var(--foreground)">power_on.seq</text></g><g transform="translate(348 110)"><rect width="120" height="24" rx="2" fill="none" stroke="var(--border)"></rect><circle cx="12" cy="12" r="2.5" fill="var(--accent)"></circle><text x="22" y="16" font-size="10" font-family="'IBM Plex Mono', monospace" fill="var(--foreground)">rail_limits.seq</text></g><g transform="translate(348 172)"><rect width="120" height="24" rx="2" fill="none" stroke="var(--border)"></rect><circle cx="12" cy="12" r="2.5" fill="var(--accent)"></circle><text x="22" y="16" font-size="10" font-family="'IBM Plex Mono', monospace" fill="var(--foreground)">thermal_soak.seq</text></g><text x="12" y="24" font-size="9" font-family="'IBM Plex Mono', monospace" fill="var(--muted-foreground)" letter-spacing="0.08em">DESIGN REV C4</text><text x="348" y="24" font-size="9" font-family="'IBM Plex Mono', monospace" fill="var(--muted-foreground)" letter-spacing="0.08em">TEST PLAN</text><text x="12" y="210" font-size="9" font-family="'IBM Plex Mono', monospace" fill="var(--muted-foreground)">rev C3 â C4 · 2 nets changed · 1 test added</text></svg></div><figcaption class="type-mono-label mt-3 text-muted-foreground">Fig. 6 â Design to test</figcaption></figure></div></div></div></section><section id="memory" class="scroll-mt-24 border-t py-16 sm:py-24"><div class="mx-auto max-w-6xl px-4"><div style="opacity:0;transform:translateY(20px)"><p class="type-mono-label text-muted-foreground">05 â Memory</p><div class="mt-6 flex items-center gap-2.5 rounded-lg border bg-card px-5 py-4"><span aria-hidden="true" class="h-1.5 w-1.5 shrink-0 rounded-full bg-accent"></span><span class="type-mono-label">Memory</span><span aria-hidden="true" class="hidden h-px flex-1 bg-border sm:block"></span></div><h2 class="type-h2 mt-8">The bench remembers.</h2><p class="type-subhead mt-3 max-w-2xl">Runs, annotations, and recurring failures ingest automatically; every answer comes back cited.</p></div><div style="opacity:0;transform:translateY(20px)"><figure class="mt-8 max-w-3xl"><div class="rounded-lg border bg-card"><div class="flex flex-wrap items-center justify-between gap-x-3 gap-y-1 border-b px-4 py-2"><span class="type-mono-label text-muted-foreground">évariste â memory</span><span class="type-mono-label shrink-0 rounded-lg border px-2 py-0.5 text-muted-foreground">Demo â synthetic data</span></div><div class="border-b px-4 py-3"><p class="type-mono-data"><span class="text-accent">?</span> why did rail_5v0 start failing on line 4</p></div><div class="p-4"><p class="type-body">V_rail drifted +0.12 V after the 06-12 fixture swap; the 3.60 V limit was first exceeded in run 1279.</p><div class="mt-4 flex flex-wrap gap-2"><span class="type-mono-label rounded-lg border px-2 py-1 text-muted-foreground">run 1279</span><span class="type-mono-label rounded-lg border px-2 py-1 text-muted-foreground">run 1284</span><span class="type-mono-label rounded-lg border px-2 py-1 text-muted-foreground">pcba_eol v1.2âv1.4</span><span class="type-mono-label rounded-lg border px-2 py-1 text-muted-foreground">fixture log 06-12</span></div></div></div><figcaption class="type-mono-label mt-3 text-muted-foreground">Fig. 7 â Memory query</figcaption></figure><div class="mt-6"><a data-slot="button" data-variant="outline" data-size="default" class="inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='
2size-'])]:size-4 border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50 h-9 px-4 py-2 has-[>svg]:px-3" href="/workplace-intelligence">Memory, in depth</a></div></div></div></section><section class="border-t py-24"><div class="mx-auto max-w-6xl px-4"><div style="opacity:0;transform:translateY(20px)"><div class="relative overflow-hidden rounded-lg border bg-card"><div aria-hidden="true" class="pointer-events-none absolute inset-0"><div style="width:100%;height:100%"></div></div><div class="relative p-8 sm:p-12"><p class="type-mono-data text-primary/80">$ curl -fsSL https://get.galoislabs.ai | sh</p><h2 class="type-h2 mt-4">Now run it on your hardware.</h2><p class="type-subhead mt-4 max-w-xl">Apache-2.0 daemon, free forever. Enterprise is custom â cloud or on-prem.</p><div class="mt-8 flex flex-col gap-4 sm:flex-row"><a data-slot="button" data-variant="default" data-size="lg" class="inline-flex shrink-0 items-center justify-center gap-2 text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 bg-primary text-primary-foreground hover:bg-primary/90 h-10 rounded-md px-6 has-[>svg]:px-4" href="/contact?lane=demo">Book a demo</a><a data-slot="button" data-variant="outline" data-size="lg" class="inline-flex shrink-0 items-center justify-center gap-2 text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50 h-10 rounded-md px-6 has-[>svg]:px-4" href="/docs/quickstart">Install the daemon</a></div></div></div></div></div></section><!--$--><!--/$--></main><footer class="border-t bg-muted/40"><div class="mx-auto max-w-6xl px-4 py-12"><div class="grid gap-8 sm:grid-cols-2 lg:grid-cols-4"><div><p class="font-mono text-lg font-bold tracking-tight">Galois Labs</p><p class="mt-2 text-sm text-muted-foreground">Open-source instrument control and cloud platform for engineering teams.</p></div><div><p class="mb-3 font-mono text-xs font-medium uppercase tracking-wider">Product</p><ul class="space-y-2"><li><a class="text-sm text-muted-foreground transition-colors hover:text-foreground" href="/product#bench">Bench</a></li><li><a class="text-sm text-muted-foreground transition-colors hover:text-foreground" href="/product#evidence">Evidence & sign-off</a></li><li><a class="text-sm text-muted-foreground transition-colors hover:text-foreground" href="/product#compliance">Compliance</a></li><li><a class="text-sm text-muted-foreground transition-colors hover:text-foreground" href="/workplace-intelligence">Workplace Intelligence</a></li><li><a class="text-sm text-muted-foreground transition-colors hover:text-foreground" href="/deployment">Deployment</a></li></ul></div><div><p class="mb-3 font-mono text-xs font-medium uppercase tracking-wider">Solutions</p><ul class="space-y-2"><li><a class="text-sm text-muted-foreground transition-colors hover:text-foreground" href="/solutions/engineers">For Engineers</a></li><li><a class="text-sm text-muted-foreground transition-colors hover:text-foreground" href="/solutions/research">For Research</a></li><li><a class="text-sm text-muted-foreground transition-colors hover:text-foreground" href="/compare">Compare</a></li><li><a class="text-sm text-muted-foreground transition-colors hover:text-foreground" href="/pricing">Pricing</a></li><li><a class="text-sm text-muted-foreground transition-colors hover:text-foreground" href="/instruments">Instruments</a></li></ul></div><div><p class="mb-3 font-mono text-xs font-medium uppercase tracking-wider">Resources</p><ul class="space-y-2"><li><a href="https://docs.galoislabs.ai" target="_blank" rel="noopener noreferrer" class="text-sm text-muted-foreground transition-colors hover:text-foreground">Documentation</a></li><li><a href="https://github.com/Galois-Labs/" target="_blank" rel="noopener noreferrer" class="text-sm text-muted-foreground transition-colors hover:text-foreground">GitHub</a></li><li><a href="https://www.linkedin.com/company/galois-labs/" target="_blank" rel="noopener noreferrer" class="text-sm text-muted-foreground transition-colors hover:text-foreground">LinkedIn</a></li><li><a class="text-sm text-muted-foreground transition-colors hover:text-foreground" href="/security">Security</a></li><li><a class="text-sm text-muted-foreground transition-colors hover:text-foreground" href="/contact">Contact</a></li></ul></div></div><div data-orientation="horizontal" role="none" data-slot="separator" class="shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px my-8"></div><p class="text-center text-sm text-muted-foreground">© <!-- -->2026<!-- --> Galois Labs. All rights reserved.</p></div></footer><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$-->
2<script src="/_next/static/chunks/e168b69717eace01.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ" id="_R_" async=""></script>
2<script>(self.__next_f=self.__next_f||[]).push([0])</script>
2<script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[27423,[\"/_next/static/chunks/0d3df6ba13288dad.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"/_next/static/chunks/74934b8fb74ac1d2.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"/_next/static/chunks/1e9f768250e0891c.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\"],\"ThemeProvider\"]\n3:I[2874,[\"/_next/static/chunks/0d3df6ba13288dad.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"/_next/static/chunks/74934b8fb74ac1d2.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"/_next/static/chunks/1e9f768250e0891c.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\"],\"Navbar\"]\n4:I[39756,[\"/_next/static/chunks/ff1a16fafef87110.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"/_next/static/chunks/d2be314c3ece3fbe.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\"],\"default\"]\n5:I[37457,[\"/_next/static/chunks/ff1a16fafef87110.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"/_next/static/chunks/d2be314c3ece3fbe.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\"],\"default\"]\n6:I[22016,[\"/_next/static/chunks/0d3df6ba13288dad.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"/_next/static/chunks/74934b8fb74ac1d2.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"/_next/static/chunks/1e9f768250e0891c.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"/_next/static/chunks/f8c6647dbdac6b16.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"/_next/static/chunks/58f50d44a262d023.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"/_next/static/chunks/7461ff4bc7be57c7.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\"],\"\"]\n12:I[68027,[],\"default\"]\n:HL[\"/_next/static/chunks/317104747d52be6b.css?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"style\"]\n:HL[\"/_next/static/media/03fc1b4a8d284b5e-s.p.af4fcd24.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/23b7a97ae3b5c134-s.p.2902b61f.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/99e609270109b47d-s.p.64b9304e.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/effe91970fc4db64-s.p.19510058.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n"])</script>
2<script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"-zn3GuVPQm5byThL_h6L5\",\"c\":[\"\",\"product\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"product\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/317104747d52be6b.css?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0d3df6ba13288dad.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/74934b8fb74ac1d2.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/1e9f768250e0891c.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var t=localStorage.getItem(\\\"theme\\\");if(t===\\\"dark\\\"||(t!==\\\"light\\\"\u0026\u0026matchMedia(\\\"(prefers-color-scheme:dark)\\\").matches))document.documentElement.classList.add(\\\"dark\\\")}catch(e){}})()\"}}],[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Organization\\\",\\\"name\\\":\\\"Galois Labs\\\",\\\"url\\\":\\\"https://galoislabs.ai\\\",\\\"description\\\":\\\"The operating system for R\u0026D.\\\",\\\"logo\\\":\\\"https://galoislabs.ai/apple-touch-icon.png\\\",\\\"sameAs\\\":[\\\"https://github.com/Galois-Labs\\\",\\\"https://www.linkedin.com/company/galois-labs/\\\"]}\"}}]]}],[\"$\",\"body\",null,{\"className\":\"ibm_plex_sans_fbfe13bd-module__imwjEq__variable ibm_plex_mono_b1df0642-module__ou0oxa__variable font-sans antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[[\"$\",\"$L3\",null,{}],[\"$\",\"main\",null,{\"className\":\"min-h-screen pt-16\",\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],[\"$\",\"footer\",null,{\"className\":\"border-t bg-muted/40\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-6xl px-4 py-12\",\"children\":[[\"$\",\"div\",null,{\"className\":\"grid gap-8 sm:grid-cols-2 lg:grid-cols-4\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"p\",null,{\"className\":\"font-mono text-lg font-bold tracking-tight\",\"children\":\"Galois Labs\"}],[\"$\",\"p\",null,{\"className\":\"mt-2 text-sm text-muted-foreground\",\"children\":\"Open-source instrument control and cloud platform for engineering teams.\"}]]}],[[\"$\",\"div\",\"Product\",{\"children\":[[\"$\",\"p\",null,{\"className\":\"mb-3 font-mono text-xs font-medium uppercase tracking-wider\",\"children\":\"Product\"}],[\"$\",\"ul\",null,{\"className\":\"space-y-2\",\"children\":[[\"$\",\"li\",\"Bench\",{\"children\":[\"$\",\"$L6\",null,{\"href\":\"/product#bench\",\"className\":\"text-sm text-muted-foreground transition-colors hover:text-foreground\",\"children\":\"Bench\"}]}],[\"$\",\"li\",\"Evidence \u0026 sign-off\",{\"children\":[\"$\",\"$L6\",null,{\"href\":\"/product#evidence\",\"className\":\"text-sm text-muted-foreground transition-colors hover:text-foreground\",\"children\":\"Evidence \u0026 sign-off\"}]}],[\"$\",\"li\",\"Compliance\",{\"children\":\"$L7\"}],\"$L8\",\"$L9\"]}]]}],\"$La\",\"$Lb\"]]}],\"$Lc\",\"$Ld\"]}]}],\"$Le\"]}]}]]}]]}],{\"children\":[\"$Lf\",{\"children\":[\"$L10\",{}
2,null,false,false]},null,false,false]},null,false,false],\"$L11\",false]],\"m\":\"$undefined\",\"G\":[\"$12\",[]],\"S\":true}\n"])</script>
2<script>self.__next_f.push([1,"13:I[72436,[\"/_next/static/chunks/0d3df6ba13288dad.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"/_next/static/chunks/74934b8fb74ac1d2.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"/_next/static/chunks/1e9f768250e0891c.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\"],\"Separator\"]\n14:I[2355,[\"/_next/static/chunks/0d3df6ba13288dad.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"/_next/static/chunks/74934b8fb74ac1d2.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"/_next/static/chunks/1e9f768250e0891c.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\"],\"Analytics\"]\n16:I[72856,[\"/_next/static/chunks/0d3df6ba13288dad.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"/_next/static/chunks/74934b8fb74ac1d2.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"/_next/static/chunks/1e9f768250e0891c.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"/_next/static/chunks/f8c6647dbdac6b16.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"/_next/static/chunks/58f50d44a262d023.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"/_next/static/chunks/7461ff4bc7be57c7.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\"],\"GridBackdrop\"]\n17:I[20371,[\"/_next/static/chunks/0d3df6ba13288dad.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"/_next/static/chunks/74934b8fb74ac1d2.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"/_next/static/chunks/1e9f768250e0891c.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"/_next/static/chunks/f8c6647dbdac6b16.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"/_next/static/chunks/58f50d44a262d023.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"/_next/static/chunks/7461ff4bc7be57c7.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\"],\"FadeIn\"]\n24:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"/_next/static/chunks/d2be314c3ece3fbe.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\"],\"ViewportBoundary\"]\n26:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"/_next/static/chunks/d2be314c3ece3fbe.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\"],\"MetadataBoundary\"]\n27:\"$Sreact.suspense\"\n7:[\"$\",\"$L6\",null,{\"href\":\"/product#compliance\",\"className\":\"text-sm text-muted-foreground transition-colors hover:text-foreground\",\"children\":\"Compliance\"}]\n8:[\"$\",\"li\",\"Workplace Intelligence\",{\"children\":[\"$\",\"$L6\",null,{\"href\":\"/workplace-intelligence\",\"className\":\"text-sm text-muted-foreground transition-colors hover:text-foreground\",\"children\":\"Workplace Intelligence\"}]}]\n9:[\"$\",\"li\",\"Deployment\",{\"children\":[\"$\",\"$L6\",null,{\"href\":\"/deployment\",\"className\":\"text-sm text-muted-foreground transition-colors hover:text-foreground\",\"children\":\"Deployment\"}]}]\na:[\"$\",\"div\",\"Solutions\",{\"children\":[[\"$\",\"p\",null,{\"className\":\"mb-3 font-mono text-xs font-medium uppercase tracking-wider\",\"children\":\"Solutions\"}],[\"$\",\"ul\",null,{\"className\":\"space-y-2\",\"children\":[[\"$\",\"li\",\"For Engineers\",{\"children\":[\"$\",\"$L6\",null,{\"href\":\"/solutions/engineers\",\"className\":\"text-sm text-muted-foreground transition-colors hover:text-foreground\",\"children\":\"For Engineers\"}]}],[\"$\",\"li\",\"For Research\",{\"children\":[\"$\",\"$L6\",null,{\"href\":\"/solutions/research\",\"className\":\"text-sm text-muted-foreground transition-colors hover:text-foreground\",\"children\":\"For Research\"}]}],[\"$\",\"li\",\"Compare\",{\"children\":[\"$\",\"$L6\",null,{\"href\":\"/compare\",\"className\":\"text-sm text-muted-foreground transition-colors hover:text-foreground\",\"children\":\"Compare\"}]}],[\"$\",\"li\",\"Pricing\",{\"children\":[\"$\",\"$L6\",null,{\"href\":\"/pricing\",\"className\":\"text-sm text-muted-foreground transition-colors hover:text-foreground\",\"children\":\"Pricing\"}]}],[\"$\",\"li\",\"Instruments\",{\"children\":[\"$\",\"$L6\",null,{\"href\":\"/instruments\",\"className\":\"text-sm text-muted-foreground transition-colors hover:text-foreground\",\"children\":\"Instruments\"}]}]]}]]}]\nb:[\"$\",\"div\",\"Resources\",{\"children\":[[\"$\",\"p\",null,{\"className\":\"mb-3 font-mono text-xs font-medium uppercase tracking-wider\",\"children\":\"Resources\"}],[\"$\",\"ul\",null,{\"className\":\"space-y-2\",\"children\":[[\"$\",\"li\",\"Documentation\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://docs.galoislabs.ai\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"text-sm text-muted-foreground transition-colors hover:text-foreground\",\"childr"])</script>
2<script>self.__next_f.push([1,"en\":\"Documentation\"}]}],[\"$\",\"li\",\"GitHub\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://github.com/Galois-Labs/\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"text-sm text-muted-foreground transition-colors hover:text-foreground\",\"children\":\"GitHub\"}]}],[\"$\",\"li\",\"LinkedIn\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://www.linkedin.com/company/galois-labs/\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"text-sm text-muted-foreground transition-colors hover:text-foreground\",\"children\":\"LinkedIn\"}]}],[\"$\",\"li\",\"Security\",{\"children\":[\"$\",\"$L6\",null,{\"href\":\"/security\",\"className\":\"text-sm text-muted-foreground transition-colors hover:text-foreground\",\"children\":\"Security\"}]}],[\"$\",\"li\",\"Contact\",{\"children\":[\"$\",\"$L6\",null,{\"href\":\"/contact\",\"className\":\"text-sm text-muted-foreground transition-colors hover:text-foreground\",\"children\":\"Contact\"}]}]]}]]}]\nc:[\"$\",\"$L13\",null,{\"className\":\"my-8\"}]\nd:[\"$\",\"p\",null,{\"className\":\"text-center text-sm text-muted-foreground\",\"children\":[\"© \",2026,\" Galois Labs. All rights reserved.\"]}]\ne:[\"$\",\"$L14\",null,{}]\nf:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n15:T446,[{\"@context\":\"https://schema.org\",\"@type\":\"SoftwareApplication\",\"name\":\"Galois\",\"applicationCategory\":\"DeveloperApplication\",\"applicationSubCategory\":\"Test \u0026 Measurement Automation\",\"operatingSystem\":\"Windows, macOS, Linux\",\"url\":\"https://galoislabs.ai\",\"description\":\"Open-source, Python-native platform for instrument control, test sequencing, real-time monitoring, and AI reporting. A vendor-neutral alternative to LabVIEW, TestStand, and PyVISA.\",\"license\":\"https://www.apache.org/licenses/LICENSE-2.0\",\"offers\":[{\"@type\":\"Offer\",\"name\":\"Open Source\",\"price\":\"0\",\"priceCurrency\":\"USD\",\"description\":\"Free, open-source galois-edge daemon (Apache-2.0).\"},{\"@type\":\"Offer\",\"name\":\"Enterprise\",\"priceCurrency\":\"USD\",\"description\":\"Dedicated cloud or airgapped on-prem, custom-scoped to your deployment.\",\"url\":\"https://galoislabs.ai/pricing\"}]},{\"@context\":\"https://schema.org\",\"@type\":\"BreadcrumbList\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://galoislabs.ai/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Product\",\"item\":\"https://galoislabs.ai/product\"}]}]"])</script>
2<script>self.__next_f.push([1,"10:[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"$15\"}}],[\"$\",\"section\",null,{\"className\":\"relative flex min-h-[85vh] flex-col items-center justify-center overflow-hidden pt-16 pb-16 sm:pt-20 sm:pb-20\",\"children\":[[\"$\",\"$L16\",null,{\"maskImage\":\"radial-gradient(ellipse 90% 70% at 50% 0%, black 25%, transparent 80%)\"}],[\"$\",\"div\",null,{\"className\":\"relative mx-auto max-w-4xl px-4 text-center\",\"children\":[[\"$\",\"$L17\",null,{\"children\":[[\"$\",\"p\",null,{\"className\":\"type-mono-label text-muted-foreground\",\"children\":\"The mechanism\"}],[\"$\",\"h1\",null,{\"className\":\"type-display mt-6 whitespace-pre-line\",\"children\":\"English in.\\nEvidence out.\"}]]}],[\"$\",\"$L17\",null,{\"delay\":0.05,\"children\":[[\"$\",\"p\",null,{\"className\":\"type-subhead mx-auto mt-6 max-w-2xl\",\"children\":\"A sentence becomes a versioned sequence, runs on your bench, and files its own evidence.\"}],[\"$\",\"div\",null,{\"className\":\"mt-8 flex flex-col items-center gap-4 sm:flex-row sm:justify-center\",\"children\":[[\"$\",\"$L6\",null,{\"href\":\"/contact?lane=demo\",\"children\":\"Book a demo\",\"data-slot\":\"button\",\"data-variant\":\"default\",\"data-size\":\"lg\",\"className\":\"inline-flex shrink-0 items-center justify-center gap-2 text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 bg-primary text-primary-foreground hover:bg-primary/90 h-10 rounded-md px-6 has-[\u003esvg]:px-4\",\"ref\":null}],[\"$\",\"a\",null,{\"href\":\"#sequence\",\"children\":\"See the sequence\",\"data-slot\":\"button\",\"data-variant\":\"outline\",\"data-size\":\"lg\",\"className\":\"inline-flex shrink-0 items-center justify-center gap-2 text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50 h-10 rounded-md px-6 has-[\u003esvg]:px-4\",\"ref\":null}]]}],\"$L18\"]}]]}],\"$L19\"]}],\"$L1a\",\"$L1b\",\"$L1c\",\"$L1d\",\"$L1e\",\"$L1f\"],[\"$L20\",\"$L21\",\"$L22\"],\"$L23\"]}]\n"])</script>
2<script>self.__next_f.push([1,"11:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L24\",null,{\"children\":\"$L25\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L26\",null,{\"children\":[\"$\",\"$27\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L28\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n"])</script>
2<script>self.__next_f.push([1,"29:I[59222,[\"/_next/static/chunks/0d3df6ba13288dad.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"/_next/static/chunks/74934b8fb74ac1d2.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"/_next/static/chunks/1e9f768250e0891c.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"/_next/static/chunks/f8c6647dbdac6b16.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"/_next/static/chunks/58f50d44a262d023.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"/_next/static/chunks/7461ff4bc7be57c7.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\"],\"FigSequenceFromEnglish\"]\n3d:I[72856,[\"/_next/static/chunks/0d3df6ba13288dad.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"/_next/static/chunks/74934b8fb74ac1d2.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"/_next/static/chunks/1e9f768250e0891c.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"/_next/static/chunks/f8c6647dbdac6b16.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"/_next/static/chunks/58f50d44a262d023.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"/_next/static/chunks/7461ff4bc7be57c7.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\"],\"PaperBackdrop\"]\n3e:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"/_next/static/chunks/d2be314c3ece3fbe.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\"],\"OutletBoundary\"]\n18:[\"$\",\"p\",null,{\"className\":\"type-mono-label mt-6 text-muted-foreground/70\",\"children\":[573,\" instruments · \",135,\" manufacturers · Apache-2.0\"]}]\n19:[\"$\",\"$L17\",null,{\"delay\":0.1,\"className\":\"relative w-full\",\"children\":[\"$\",\"figure\",null,{\"className\":\"mx-auto mt-12 w-full max-w-5xl px-4\",\"children\":[[\"$\",\"$L29\",null,{}],[\"$\",\"figcaption\",null,{\"className\":\"type-mono-label mt-3 text-center text-muted-foreground\",\"children\":\"Fig. 1 â Sequence from English\"}]]}]}]\n"])</script>
2<script>self.__next_f.push([1,"1a:[\"$\",\"section\",null,{\"id\":\"sequence\",\"className\":\"scroll-mt-24 border-t py-16 sm:py-24\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-6xl px-4\",\"children\":[[\"$\",\"$L17\",null,{\"children\":[[\"$\",\"p\",null,{\"className\":\"type-mono-label text-muted-foreground\",\"children\":\"01 â Sequence\"}],[\"$\",\"h2\",null,{\"className\":\"type-h2 mt-4\",\"children\":\"One artifact, from English to evidence.\"}],[\"$\",\"p\",null,{\"className\":\"type-subhead mt-3 max-w-2xl\",\"children\":\"Sequences are versioned YAML â reviewed, locked, and run with every step traced.\"}]]}],[\"$\",\"$L17\",null,{\"delay\":0.05,\"children\":[[\"$\",\"figure\",null,{\"className\":\"mt-10\",\"children\":[[\"$\",\"div\",null,{\"className\":\"overflow-hidden rounded-lg border bg-card\",\"children\":[[\"$\",\"div\",null,{\"className\":\"grid divide-y md:grid-cols-5 md:divide-x md:divide-y-0\",\"children\":[[\"$\",\"div\",\"Draft\",{\"className\":\"p-4 sm:p-5\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-between gap-2\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex items-center gap-2\",\"children\":[[\"$\",\"span\",null,{\"aria-hidden\":true,\"className\":\"h-1.5 w-1.5 shrink-0 rounded-full bg-accent\"}],[\"$\",\"span\",null,{\"className\":\"type-mono-label\",\"children\":\"Draft\"}]]}],[\"$\",\"span\",null,{\"aria-hidden\":true,\"className\":\"type-mono-label hidden text-muted-foreground/50 md:inline\",\"children\":\"â\"}]]}],[\"$\",\"p\",null,{\"className\":\"type-caption mt-2\",\"children\":\"Generated from the prompt.\"}]]}],[\"$\",\"div\",\"Reviewed\",{\"className\":\"p-4 sm:p-5\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-between gap-2\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex items-center gap-2\",\"children\":[[\"$\",\"span\",null,{\"aria-hidden\":true,\"className\":\"h-1.5 w-1.5 shrink-0 rounded-full bg-accent\"}],[\"$\",\"span\",null,{\"className\":\"type-mono-label\",\"children\":\"Reviewed\"}]]}],[\"$\",\"span\",null,{\"aria-hidden\":true,\"className\":\"type-mono-label hidden text-muted-foreground/50 md:inline\",\"children\":\"â\"}]]}],[\"$\",\"p\",null,{\"className\":\"type-caption mt-2\",\"children\":\"Diffed like code.\"}]]}],[\"$\",\"div\",\"Locked\",{\"className\":\"p-4 sm:p-5\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-between gap-2\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex items-center gap-2\",\"children\":[[\"$\",\"span\",null,{\"aria-hidden\":true,\"className\":\"h-1.5 w-1.5 shrink-0 rounded-full bg-accent\"}],[\"$\",\"span\",null,{\"className\":\"type-mono-label\",\"children\":\"Locked\"}]]}],[\"$\",\"span\",null,{\"aria-hidden\":true,\"className\":\"type-mono-label hidden text-muted-foreground/50 md:inline\",\"children\":\"â\"}]]}],[\"$\",\"p\",null,{\"className\":\"type-caption mt-2\",\"children\":\"Production revision, immutable.\"}]]}],[\"$\",\"div\",\"Run\",{\"className\":\"p-4 sm:p-5\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-between gap-2\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex items-center gap-2\",\"children\":[[\"$\",\"span\",null,{\"aria-hidden\":true,\"className\":\"h-1.5 w-1.5 shrink-0 rounded-full bg-accent\"}],[\"$\",\"span\",null,{\"className\":\"type-mono-label\",\"children\":\"Run\"}]]}],[\"$\",\"span\",null,{\"aria-hidden\":true,\"className\":\"type-mono-label hidden text-muted-foreground/50 md:inline\",\"children\":\"â\"}]]}],[\"$\",\"p\",null,{\"className\":\"type-caption mt-2\",\"children\":\"Executes on the bench.\"}]]}],[\"$\",\"div\",\"Report\",{\"className\":\"p-4 sm:p-5\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-between gap-2\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex items-center gap-2\",\"children\":[[\"$\",\"span\",null,{\"aria-hidden\":true,\"className\":\"h-1.5 w-1.5 shrink-0 rounded-full bg-accent\"}],[\"$\",\"span\",null,{\"className\":\"type-mono-label\",\"children\":\"Report\"}]]}],false]}],[\"$\",\"p\",null,{\"className\":\"type-caption mt-2\",\"children\":\"Evidence, assembled.\"}]]}]]}],[\"$\",\"div\",null,{\"className\":\"grid divide-y divide-[#e8eefc]/10 border-t bg-[#0a111d] sm:grid-cols-2 sm:divide-x sm:divide-y-0\",\"children\":[[\"$\",\"p\",null,{\"className\":\"type-mono-data flex flex-wrap items-center gap-x-3 gap-y-1.5 px-4 py-3 text-[#e8eefc]\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[#8a95b0]\",\"children\":\"revision gate\"}],[\"$\",\"span\",null,{\"className\":\"rounded-lg border border-[#8a95b0]/40 px-2 py-0.5\",\"children\":\"v1.4 â approved v1.2\"}]]}],[\"$\",\"p\",null,{\"className\":\"type-mono-data flex flex-wrap items-center gap-x-3 gap-y-1.5 px-4 py-3 text-[#e8eefc]\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[#8a95b0]\",\"children\":\"limit.check\"}],\"$L2a\",\"$L2b\"]}]]}]]}],\"$L2c\"]}],\"$L2d\"]}]]}]}]\n"])</script>
2<script>self.__next_f.push([1,"1b:[\"$\",\"section\",null,{\"id\":\"bench\",\"className\":\"scroll-mt-24 border-t py-16 sm:py-24\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-6xl px-4\",\"children\":[[\"$\",\"$L17\",null,{\"children\":[[\"$\",\"p\",null,{\"className\":\"type-mono-label text-muted-foreground\",\"children\":\"02 â Bench\"}],[\"$\",\"h2\",null,{\"className\":\"type-h2 mt-4\",\"children\":\"Real instruments, one daemon.\"}],[\"$\",\"p\",null,{\"className\":\"type-subhead mt-3 max-w-2xl\",\"children\":\"Two static binaries connect the bench â no Python, no Docker, works offline.\"}]]}],[\"$\",\"div\",null,{\"className\":\"mt-10 grid items-start gap-10 lg:grid-cols-2 lg:gap-16\",\"children\":[[\"$\",\"$L17\",null,{\"delay\":0.05,\"children\":[\"$\",\"figure\",null,{\"children\":[[\"$\",\"div\",null,{\"className\":\"rounded-lg border bg-card\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-wrap items-center justify-between gap-x-3 gap-y-1 border-b px-4 py-2\",\"children\":[[\"$\",\"span\",null,{\"className\":\"type-mono-label text-muted-foreground\",\"children\":\"galois-edge status\"}],[\"$\",\"span\",null,{\"className\":\"type-mono-label shrink-0 rounded-lg border px-2 py-0.5 text-muted-foreground\",\"children\":\"Demo â synthetic data\"}]]}],[\"$\",\"div\",null,{\"className\":\"type-mono-data space-y-1.5 overflow-x-auto p-4\",\"children\":[[[\"$\",\"p\",\"galois-edge\",{\"className\":\"flex items-center gap-2\",\"children\":[[\"$\",\"span\",null,{\"aria-hidden\":true,\"className\":\"h-1.5 w-1.5 shrink-0 rounded-full bg-accent animate-[svc-pulse_2.4s_ease-in-out_infinite] motion-reduce:animate-none\",\"style\":{\"animationDelay\":\"0s\"}}],\"galois-edge\",\" \",[\"$\",\"span\",null,{\"className\":\"text-muted-foreground\",\"children\":\"active (running)\"}]]}],[\"$\",\"p\",\"galois-edge-daemon\",{\"className\":\"flex items-center gap-2\",\"children\":[[\"$\",\"span\",null,{\"aria-hidden\":true,\"className\":\"h-1.5 w-1.5 shrink-0 rounded-full bg-accent animate-[svc-pulse_2.4s_ease-in-out_infinite] motion-reduce:animate-none\",\"style\":{\"animationDelay\":\"0.8s\"}}],\"galois-edge-daemon\",\" \",[\"$\",\"span\",null,{\"className\":\"text-muted-foreground\",\"children\":\"active (running)\"}]]}]],[\"$\",\"p\",null,{\"className\":\"text-muted-foreground\",\"children\":[\"mesh \",[\"$\",\"span\",null,{\"className\":\"text-foreground\",\"children\":\"tailnet-lab-01.ts.net\"}]]}],[\"$\",\"p\",null,{\"className\":\"text-muted-foreground\",\"children\":[\"instruments \",[\"$\",\"span\",null,{\"className\":\"text-foreground\",\"children\":\"4 connected\"}]]}],[[\"$\",\"p\",\"Keithley 2400\",{\"className\":\"pl-5\",\"children\":[\"Keithley 2400\",\" \",[\"$\",\"span\",null,{\"className\":\"text-muted-foreground\",\"children\":\"GPIB::24\"}]]}],[\"$\",\"p\",\"Keysight 34461A\",{\"className\":\"pl-5\",\"children\":[\"Keysight 34461A\",\" \",[\"$\",\"span\",null,{\"className\":\"text-muted-foreground\",\"children\":\"USB\"}]]}],[\"$\",\"p\",\"Rigol DS1054Z\",{\"className\":\"pl-5\",\"children\":[\"Rigol DS1054Z\",\" \",[\"$\",\"span\",null,{\"className\":\"text-muted-foreground\",\"children\":\"LAN\"}]]}],[\"$\",\"p\",\"SRS SR830\",{\"className\":\"pl-5\",\"children\":[\"SRS SR830\",\" \",[\"$\",\"span\",null,{\"className\":\"text-muted-foreground\",\"children\":\"GPIB::8\"}]]}]],[\"$\",\"p\",null,{\"className\":\"text-muted-foreground\",\"children\":\"grpc :50051 ready · websocket :8765 ready\"}]]}]]}],[\"$\",\"figcaption\",null,{\"className\":\"type-mono-label mt-3 text-muted-foreground\",\"children\":\"Fig. 3 â Edge daemon\"}]]}]}],[\"$\",\"$L17\",null,{\"delay\":0.1,\"children\":[[\"$\",\"p\",null,{\"className\":\"type-body\",\"children\":\"Vendor SDKs proxy through the daemon, so NI, Keysight, and Digilent stacks keep working.\"}],[\"$\",\"div\",null,{\"className\":\"mt-6 divide-y border-y\",\"children\":[[[\"$\",\"p\",\"Buses â GPIB · USB · LAN · Serial · Modbus · CAN · SPI · I²C · OPC-UA\",{\"className\":\"type-mono-label py-3 text-muted-foreground\",\"children\":\"Buses â GPIB · USB · LAN · Serial · Modbus · CAN · SPI · I²C · OPC-UA\"}],[\"$\",\"p\",\"SDKs â NI DAQmx · NI-VISA · Keysight IO · Digilent WaveForms · Zurich LabOne · Quantum Design PPMS\",{\"className\":\"type-mono-label py-3 text-muted-foreground\",\"children\":\"SDKs â NI DAQmx · NI-VISA · Keysight IO · Digilent WaveForms · Zurich LabOne · Quantum Design PPMS\"}]],[\"$\",\"p\",null,{\"className\":\"flex items-center gap-2 py-3\",\"children\":[[\"$\",\"span\",null,{\"aria-hidden\":true,\"className\":\"h-1.5 w-1.5 shrink-0 rounded-full border border-muted-foreground
2/70\"}],[\"$\",\"span\",null,{\"className\":\"type-mono-label text-muted-foreground\",\"children\":\"FPGA bitstream library â in build\"}]]}]]}],\"$L2e\",\"$L2f\"]}]]}]]}]}]\n"])</script>
2<script>self.__next_f.push([1,"1c:[\"$\",\"section\",null,{\"id\":\"evidence\",\"className\":\"scroll-mt-24 bg-muted/40 py-16 sm:py-24\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-6xl px-4\",\"children\":[[\"$\",\"$L17\",null,{\"children\":[[\"$\",\"p\",null,{\"className\":\"type-mono-label text-muted-foreground\",\"children\":\"03 â Evidence\"}],[\"$\",\"h2\",null,{\"className\":\"type-h2 mt-4\",\"children\":\"Every run files its own evidence.\"}],[\"$\",\"p\",null,{\"className\":\"type-subhead mt-3 max-w-2xl\",\"children\":\"Per-step traces draft reports today; attested sign-off packages are in build.\"}]]}],[\"$\",\"div\",null,{\"className\":\"mt-10 grid items-start gap-8 lg:grid-cols-5\",\"children\":[[\"$\",\"$L17\",null,{\"delay\":0.05,\"className\":\"min-w-0 lg:col-span-3\",\"children\":[[\"$\",\"figure\",null,{\"children\":[[\"$\",\"div\",null,{\"className\":\"rounded-lg border bg-card\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-wrap items-center justify-between gap-x-3 gap-y-1 border-b px-4 py-2\",\"children\":[[\"$\",\"span\",null,{\"className\":\"type-mono-label text-muted-foreground\",\"children\":\"Evidence report · EN 61010-1\"}],[\"$\",\"span\",null,{\"className\":\"flex items-center gap-2\",\"children\":[[\"$\",\"span\",null,{\"className\":\"type-mono-label shrink-0 rounded-lg border px-2 py-0.5 text-muted-foreground\",\"children\":\"Demo â synthetic data\"}],[\"$\",\"span\",null,{\"className\":\"type-mono-label text-accent\",\"children\":\"Signed\"}]]}]]}],[\"$\",\"div\",null,{\"className\":\"overflow-x-auto p-4\",\"children\":[[\"$\",\"table\",null,{\"className\":\"w-full border-collapse\",\"children\":[[\"$\",\"thead\",null,{\"children\":[\"$\",\"tr\",null,{\"children\":[[\"$\",\"th\",\"Step\",{\"className\":\"type-mono-label border-b py-2 text-left font-medium text-muted-foreground\",\"children\":\"Step\"}],[\"$\",\"th\",\"Measured\",{\"className\":\"type-mono-label border-b py-2 text-left font-medium text-muted-foreground\",\"children\":\"Measured\"}],[\"$\",\"th\",\"Verdict\",{\"className\":\"type-mono-label border-b py-2 text-left font-medium text-muted-foreground\",\"children\":\"Verdict\"}]]}]}],[\"$\",\"tbody\",null,{\"children\":[[\"$\",\"tr\",\"insulation_resist\",{\"children\":[[\"$\",\"td\",null,{\"className\":\"type-mono-data border-b py-2 pr-2 sm:pr-3\",\"children\":\"insulation_resist\"}],[\"$\",\"td\",null,{\"className\":\"type-mono-data border-b py-2 pr-2 text-muted-foreground sm:pr-3\",\"children\":\"1000 V · 4.82 µA\"}],[\"$\",\"td\",null,{\"className\":\"type-mono-data border-b py-2 text-accent\",\"children\":\"PASS\"}]]}],[\"$\",\"tr\",\"rail_5v0_limit\",{\"children\":[[\"$\",\"td\",null,{\"className\":\"type-mono-data border-b py-2 pr-2 sm:pr-3\",\"children\":\"rail_5v0_limit\"}],[\"$\",\"td\",null,{\"className\":\"type-mono-data border-b py-2 pr-2 text-muted-foreground sm:pr-3\",\"children\":\"3.31 V â [3.20, 3.40]\"}],[\"$\",\"td\",null,{\"className\":\"type-mono-data border-b py-2 text-accent\",\"children\":\"PASS\"}]]}],[\"$\",\"tr\",\"n77_evm_check\",{\"children\":[[\"$\",\"td\",null,{\"className\":\"type-mono-data border-b py-2 pr-2 sm:pr-3\",\"children\":\"n77_evm_check\"}],[\"$\",\"td\",null,{\"className\":\"type-mono-data border-b py-2 pr-2 text-muted-foreground sm:pr-3\",\"children\":\"2.8 % â¤Â 3.5 %\"}],[\"$\",\"td\",null,{\"className\":\"type-mono-data border-b py-2 text-accent\",\"children\":\"PASS\"}]]}]]}]]}],[\"$\",\"p\",null,{\"className\":\"type-mono-data mt-3 text-muted-foreground\",\"children\":\"sha256 9f2câ¦e41a · qa-lead · run 1284 · seq pcba_eol v1.4\"}]]}]]}],[\"$\",\"figcaption\",null,{\"className\":\"type-mono-label mt-3 text-muted-foreground\",\"children\":\"Fig. 4 â Evidence report\"}]]}],[\"$\",\"div\",null,{\"className\":\"mt-3 flex flex-wrap gap-x-6 gap-y-1\",\"children\":[null,null]}]]}],[\"$\",\"$L17\",null,{\"delay\":0.1,\"className\":\"lg:col-span-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"rounded-lg border bg-card p-5\",\"children\":[[\"$\",\"p\",null,{\"className\":\"type-mono-label text-muted-foreground\",\"children\":\"Every step records\"}],[\"$\",\"div\",null,{\"className\":\"mt-3 flex flex-wrap gap-2\",\"children\":[[\"$\",\"span\",\"measured value\",{\"className\":\"type-mono-data rounded-lg border px-2 py-1 text-muted-foreground\",\"children\":\"measured value\"}],[\"$\",\"span\",\"limits\",{\"className\":\"type-mono-data rounded-lg border px-2 py-1 text-muted-foreground\",\"children\":\"limits\"}],[\"$\",\"span\",\"raw command + response\",{\"className\":\"type-mono-data rounded-lg border px-2 py-1 text-muted-foreground\",\"children\":\"raw command + response\"}],[\"$\",\"span\",\"instrument ID\",{\"className\":\"type-mono-data rounded-lg border px-2 py-1 text-muted-foreground\",\"children\":\"instrument ID\"}],\"$L30\",\"$L31\",\"$L32\",\"$L33\",\"$L34\"]}]]}],\"$L35\"]}]]}],\"$L36\"]}]}]\n"])</script>
2<script>self.__next_f.push([1,"1d:[\"$\",\"section\",null,{\"id\":\"design\",\"className\":\"scroll-mt-24 py-16 sm:py-24\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-6xl px-4\",\"children\":[[\"$\",\"$L17\",null,{\"children\":[[\"$\",\"p\",null,{\"className\":\"type-mono-label text-muted-foreground\",\"children\":\"04 â Design · Sim\"}],[\"$\",\"h2\",null,{\"className\":\"type-h2 mt-4\",\"children\":\"Catch it before the fab run.\"}],[\"$\",\"p\",null,{\"className\":\"type-subhead mt-3 max-w-2xl\",\"children\":\"One ECAD ingest feeds nine board analyses and keeps the test plan tracking every revision.\"}]]}],[\"$\",\"div\",null,{\"className\":\"mt-10 grid items-start gap-8 lg:grid-cols-2\",\"children\":[[\"$\",\"$L17\",null,{\"delay\":0.05,\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center gap-2\",\"children\":[[\"$\",\"span\",null,{\"aria-hidden\":true,\"className\":\"h-1.5 w-1.5 shrink-0 rounded-full bg-accent\"}],[\"$\",\"p\",null,{\"className\":\"type-mono-label\",\"children\":\"Simulation\"}]]}],[\"$\",\"p\",null,{\"className\":\"type-body mt-2 text-muted-foreground\",\"children\":\"IR-drop to 2.5D EM â nine analyses before boards are ordered.\"}],[\"$\",\"figure\",null,{\"className\":\"mt-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"rounded-lg border bg-card\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-wrap items-center justify-between gap-x-3 gap-y-1 border-b px-4 py-2\",\"children\":[[\"$\",\"span\",null,{\"className\":\"type-mono-label text-muted-foreground\",\"children\":\"stokes â s-param correlation\"}],[\"$\",\"span\",null,{\"className\":\"type-mono-label flex shrink-0 items-center gap-1.5 rounded-lg border px-2 py-0.5 text-muted-foreground\",\"children\":[[\"$\",\"span\",null,{\"aria-hidden\":true,\"className\":\"h-1.5 w-1.5 rounded-full border border-muted-foreground/70\"}],\"In build\"]}]]}],[\"$\",\"div\",null,{\"className\":\"p-4\",\"children\":[\"$\",\"svg\",null,{\"viewBox\":\"0 0 480 200\",\"className\":\"block h-auto w-full\",\"role\":\"img\",\"aria-label\":\"Simulated versus VNA-measured insertion loss traces overlaid, measurement inside the half-decibel tolerance band\",\"children\":[[\"$\",\"line\",null,{\"x1\":\"44\",\"y1\":\"12\",\"x2\":\"44\",\"y2\":\"156\",\"stroke\":\"var(--border)\"}],[\"$\",\"line\",null,{\"x1\":\"44\",\"y1\":\"156\",\"x2\":\"464\",\"y2\":\"156\",\"stroke\":\"var(--border)\"}],[[\"$\",\"line\",\"226.5\",{\"x1\":226.5,\"y1\":\"12\",\"x2\":226.5,\"y2\":\"156\",\"stroke\":\"var(--border)\",\"strokeDasharray\":\"1 5\"}],[\"$\",\"line\",\"409.1\",{\"x1\":409.1,\"y1\":\"12\",\"x2\":409.1,\"y2\":\"156\",\"stroke\":\"var(--border)\",\"strokeDasharray\":\"1 5\"}]],[[\"$\",\"line\",\"60\",{\"x1\":\"44\",\"y1\":60,\"x2\":\"464\",\"y2\":60,\"stroke\":\"var(--border)\",\"strokeDasharray\":\"1 5\"}],[\"$\",\"line\",\"108\",{\"x1\":\"44\",\"y1\":108,\"x2\":\"464\",\"y2\":108,\"stroke\":\"var(--border)\",\"strokeDasharray\":\"1 5\"}]],[\"$\",\"text\",null,{\"x\":\"4\",\"y\":\"15\",\"fontSize\":\"9\",\"fontFamily\":\"'IBM Plex Mono', monospace\",\"fill\":\"var(--muted-foreground)\",\"children\":\"dB\"}],[\"$\",\"text\",null,{\"x\":\"4\",\"y\":\"88\",\"fontSize\":\"9\",\"fontFamily\":\"'IBM Plex Mono', monospace\",\"fill\":\"var(--muted-foreground)\",\"children\":\"|S21|\"}],[[\"$\",\"text\",\"0\",{\"x\":\"38\",\"y\":15,\"fontSize\":\"9\",\"fontFamily\":\"'IBM Plex Mono', monospace\",\"fill\":\"var(--muted-foreground)\",\"textAnchor\":\"end\",\"children\":0}],[\"$\",\"text\",\"-2\",{\"x\":\"38\",\"y\":63,\"fontSize\":\"9\",\"fontFamily\":\"'IBM Plex Mono', monospace\",\"fill\":\"var(--muted-foreground)\",\"textAnchor\":\"end\",\"children\":-2}],[\"$\",\"text\",\"-4\",{\"x\":\"38\",\"y\":111,\"fontSize\":\"9\",\"fontFamily\":\"'IBM Plex Mono', monospace\",\"fill\":\"var(--muted-foreground)\",\"textAnchor\":\"end\",\"children\":-4}],[\"$\",\"text\",\"-6\",{\"x\":\"38\",\"y\":159,\"fontSize\":\"9\",\"fontFamily\":\"'IBM Plex Mono', monospace\",\"fill\":\"var(--muted-foreground)\",\"textAnchor\":\"end\",\"children\":-6}]],[\"$\",\"text\",null,{\"x\":\"44\",\"y\":\"170\",\"fontSize\":\"9\",\"fontFamily\":\"'IBM Plex Mono', monospace\",\"fill\":\"var(--muted-foreground)\",\"children\":\"0.1\"}],[\"$\",\"text\",null,{\"x\":\"226.5\",\"y\":\"170\",\"fontSize\":\"9\",\"fontFamily\":\"'IBM Plex Mono', monospace\",\"fill\":\"var(--muted-foreground)\",\"textAnchor\"
2:\"middle\",\"children\":\"1\"}],[\"$\",\"text\",null,{\"x\":\"409.1\",\"y\":\"170\",\"fontSize\":\"9\",\"fontFamily\":\"'IBM Plex Mono', monospace\",\"fill\":\"var(--muted-foreground)\",\"textAnchor\":\"middle\",\"children\":\"10\"}],[\"$\",\"text\",null,{\"x\":\"464\",\"y\":\"170\",\"fontSize\":\"9\",\"fontFamily\":\"'IBM Plex Mono', monospace\",\"fill\":\"var(--muted-foreground)\",\"textAnchor\":\"end\",\"children\":\"GHz\"}],[\"$\",\"path\",null,{\"d\":\"M44.0 12.0 L56.6 12.0 L69.2 12.0 L81.8 12.0 L94.4 12.0 L107.0 12.0 L119.6 12.0 L132.2 12.0 L144.8 12.0 L157.4 12.0 L170.0 12.0 L182.6 12.9 L195.2 14.1 L207.8 15.4 L220.4 16.8 L233.0 18.4 L245.6 20.2 L258.2 22.1 L270.8 24.2 L283.4 26.7 L296.0 29.4 L308.6 32.3 L321.2 35.5 L333.8 39.3 L346.4 43.4 L359.0 48.0 L371.6 53.1 L384.2 58.9 L396.8 65.4 L409.4 72.7 L422.0 81.0 L434.6 90.3 L447.2 100.9 L459.8 112.9 L464.0 117.2 L464.0 141.2 L459.8 136.9 L447.2 124.9 L434.6 114.3 L422.0 105.0 L409.4 96.7 L396.8 89.4 L384.2 82.9 L371.6 77.1 L359.0 72.0 L346.4 67.4 L333.8 63.3 L321.2 59.5 L308.6 56.3 L296.0 53.4 L283.4 50.7 L270.8 48.2 L258.2 46.1 L245.6 44.2 L233.0 42.4 L220.4 40.8 L207.8 39.4 L195.2 38.1 L182.6 36.9 L170.0 35.8 L157.4 34.8 L144.8 33.9 L132.2 33.1 L119.6 32.3 L107.0 31.6 L94.4 31.0 L81.8 30.4 L69.2 29.9 L56.6 29.4 L44.0 29.0 Z\",\"fill\":\"var(--accent)\",\"fillOpacity\":\"0.08\",\"stroke\":\"none\"}],\"$L37\",\"$L38\",\"$L39\",\"$L3a\"]}]}]]}],\"$L3b\"]}]]}],\"$L3c\"]}]]}]}]\n"])</script>
2<script>self.__next_f.push([1,"1e:[\"$\",\"section\",null,{\"id\":\"memory\",\"className\":\"scroll-mt-24 border-t py-16 sm:py-24\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-6xl px-4\",\"children\":[[\"$\",\"$L17\",null,{\"children\":[[\"$\",\"p\",null,{\"className\":\"type-mono-label text-muted-foreground\",\"children\":\"05 â Memory\"}],[\"$\",\"div\",null,{\"className\":\"mt-6 flex items-center gap-2.5 rounded-lg border bg-card px-5 py-4\",\"children\":[[\"$\",\"span\",null,{\"aria-hidden\":true,\"className\":\"h-1.5 w-1.5 shrink-0 rounded-full bg-accent\"}],[\"$\",\"span\",null,{\"className\":\"type-mono-label\",\"children\":\"Memory\"}],[\"$\",\"span\",null,{\"aria-hidden\":true,\"className\":\"hidden h-px flex-1 bg-border sm:block\"}]]}],[\"$\",\"h2\",null,{\"className\":\"type-h2 mt-8\",\"children\":\"The bench remembers.\"}],[\"$\",\"p\",null,{\"className\":\"type-subhead mt-3 max-w-2xl\",\"children\":\"Runs, annotations, and recurring failures ingest automatically; every answer comes back cited.\"}]]}],[\"$\",\"$L17\",null,{\"delay\":0.05,\"children\":[[\"$\",\"figure\",null,{\"className\":\"mt-8 max-w-3xl\",\"children\":[[\"$\",\"div\",null,{\"className\":\"rounded-lg border bg-card\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-wrap items-center justify-between gap-x-3 gap-y-1 border-b px-4 py-2\",\"children\":[[\"$\",\"span\",null,{\"className\":\"type-mono-label text-muted-foreground\",\"children\":\"évariste â memory\"}],[\"$\",\"span\",null,{\"className\":\"type-mono-label shrink-0 rounded-lg border px-2 py-0.5 text-muted-foreground\",\"children\":\"Demo â synthetic data\"}]]}],[\"$\",\"div\",null,{\"className\":\"border-b px-4 py-3\",\"children\":[\"$\",\"p\",null,{\"className\":\"type-mono-data\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-accent\",\"children\":\"?\"}],\" why did rail_5v0 start failing on line 4\"]}]}],[\"$\",\"div\",null,{\"className\":\"p-4\",\"children\":[[\"$\",\"p\",null,{\"className\":\"type-body\",\"children\":\"V_rail drifted +0.12 V after the 06-12 fixture swap; the 3.60 V limit was first exceeded in run 1279.\"}],[\"$\",\"div\",null,{\"className\":\"mt-4 flex flex-wrap gap-2\",\"children\":[[\"$\",\"span\",\"run 1279\",{\"className\":\"type-mono-label rounded-lg border px-2 py-1 text-muted-foreground\",\"children\":\"run 1279\"}],[\"$\",\"span\",\"run 1284\",{\"className\":\"type-mono-label rounded-lg border px-2 py-1 text-muted-foreground\",\"children\":\"run 1284\"}],[\"$\",\"span\",\"pcba_eol v1.2âv1.4\",{\"className\":\"type-mono-label rounded-lg border px-2 py-1 text-muted-foreground\",\"children\":\"pcba_eol v1.2âv1.4\"}],[\"$\",\"span\",\"fixture log 06-12\",{\"className\":\"type-mono-label rounded-lg border px-2 py-1 text-muted-foreground\",\"children\":\"fixture log 06-12\"}]]}]]}]]}],[\"$\",\"figcaption\",null,{\"className\":\"type-mono-label mt-3 text-muted-foreground\",\"children\":\"Fig. 7 â Memory query\"}]]}],[\"$\",\"div\",null,{\"className\":\"mt-6\",\"children\":[\"$\",\"$L6\",null,{\"href\":\"/workplace-intelligence\",\"children\":\"Memory, in depth\",\"data-slot\":\"button\",\"data-variant\":\"outline\",\"data-size\":\"default\",\"className\":\"inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50 h-9 px-4 py-2 has-[\u003esvg]:px-3\",\"ref\":null}]}]]}]]}]}]\n"])</script>
2<script>self.__next_f.push([1,"1f:[\"$\",\"section\",null,{\"className\":\"border-t py-24\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-6xl px-4\",\"children\":[\"$\",\"$L17\",null,{\"children\":[\"$\",\"div\",null,{\"className\":\"relative overflow-hidden rounded-lg border bg-card\",\"children\":[[\"$\",\"$L3d\",null,{}],[\"$\",\"div\",null,{\"className\":\"relative p-8 sm:p-12\",\"children\":[[\"$\",\"p\",null,{\"className\":\"type-mono-data text-primary/80\",\"children\":\"$$ curl -fsSL https://get.galoislabs.ai | sh\"}],[\"$\",\"h2\",null,{\"className\":\"type-h2 mt-4\",\"children\":\"Now run it on your hardware.\"}],[\"$\",\"p\",null,{\"className\":\"type-subhead mt-4 max-w-xl\",\"children\":\"Apache-2.0 daemon, free forever. Enterprise is custom â cloud or on-prem.\"}],[\"$\",\"div\",null,{\"className\":\"mt-8 flex flex-col gap-4 sm:flex-row\",\"children\":[[\"$\",\"$L6\",null,{\"href\":\"/contact?lane=demo\",\"children\":\"Book a demo\",\"data-slot\":\"button\",\"data-variant\":\"default\",\"data-size\":\"lg\",\"className\":\"inline-flex shrink-0 items-center justify-center gap-2 text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 bg-primary text-primary-foreground hover:bg-primary/90 h-10 rounded-md px-6 has-[\u003esvg]:px-4\",\"ref\":null}],[\"$\",\"$L6\",null,{\"href\":\"/docs/quickstart\",\"children\":\"Install the daemon\",\"data-slot\":\"button\",\"data-variant\":\"outline\",\"data-size\":\"lg\",\"className\":\"inline-flex shrink-0 items-center justify-center gap-2 text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50 h-10 rounded-md px-6 has-[\u003esvg]:px-4\",\"ref\":null}]]}]]}]]}]}]}]}]\n"])</script>
2<script>self.__next_f.push([1,"20:[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/f8c6647dbdac6b16.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"async\":true,\"nonce\":\"$undefined\"}]\n21:[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/58f50d44a262d023.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"async\":true,\"nonce\":\"$undefined\"}]\n22:[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/7461ff4bc7be57c7.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"async\":true,\"nonce\":\"$undefined\"}]\n23:[\"$\",\"$L3e\",null,{\"children\":[\"$\",\"$27\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@3f\"}]}]\n"])</script>
2<script>self.__next_f.push([1,"2a:[\"$\",\"span\",null,{\"children\":\"I_leak 4.82 µA â¤Â 10 µA\"}]\n2b:[\"$\",\"span\",null,{\"className\":\"text-[#5fd4a0]\",\"children\":\"PASS â\"}]\n2c:[\"$\",\"figcaption\",null,{\"className\":\"type-mono-label mt-3 text-muted-foreground\",\"children\":\"Fig. 2 â Sequence lifecycle\"}]\n2d:null\n2e:[\"$\",\"p\",null,{\"className\":\"type-caption mt-4\",\"children\":[\"Cloud, dedicated tenant, or air-gapped â see\",\" \",[\"$\",\"$L6\",null,{\"href\":\"/deployment\",\"className\":\"underline decoration-dotted underline-offset-4 hover:text-foreground\",\"children\":\"deployment\"}],\".\"]}]\n2f:[\"$\",\"div\",null,{\"className\":\"mt-6\",\"children\":[\"$\",\"$L6\",null,{\"href\":\"/instruments\",\"children\":\"Browse the instruments\",\"data-slot\":\"button\",\"data-variant\":\"outline\",\"data-size\":\"default\",\"className\":\"inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50 h-9 px-4 py-2 has-[\u003esvg]:px-3\",\"ref\":null}]}]\n30:[\"$\",\"span\",\"operator\",{\"className\":\"type-mono-data rounded-lg border px-2 py-1 text-muted-foreground\",\"children\":\"operator\"}]\n31:[\"$\",\"span\",\"DUT serial\",{\"className\":\"type-mono-data rounded-lg border px-2 py-1 text-muted-foreground\",\"children\":\"DUT serial\"}]\n32:[\"$\",\"span\",\"git SHA\",{\"className\":\"type-mono-data rounded-lg border px-2 py-1 text-muted-foreground\",\"children\":\"git SHA\"}]\n33:[\"$\",\"span\",\"sequence revision\",{\"className\":\"type-mono-data rounded-lg border px-2 py-1 text-muted-foreground\",\"children\":\"sequence revision\"}]\n34:[\"$\",\"span\",\"timestamp\",{\"className\":\"type-mono-data rounded-lg border px-2 py-1 text-muted-foreground\",\"children\":\"timestamp\"}]\n35:[\"$\",\"div\",null,{\"id\":\"compliance\",\"className\":\"mt-6 grid gap-4 scroll-mt-24\",\"children\":[[\"$\",\"div\",null,{\"className\":\"rounded-lg border bg-card p-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center gap-2\",\"children\":[[\"$\",\"span\",null,{\"aria-hidden\":true,\"className\":\"h-1.5 w-1.5 shrink-0 rounded-full bg-accent\"}],[\"$\",\"p\",null,{\"className\":\"type-mono-label\",\"children\":\"Reports\"}]]}],[\"$\",\"p\",null,{\"className\":\"type-caption mt-2\",\"children\":\"Drafted from live run data.\"}]]}],[\"$\",\"div\",null,{\"className\":\"rounded-lg border bg-card p-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center gap-2\",\"children\":[[\"$\",\"span\",null,{\"aria-hidden\":true,\"className\":\"h-1.5 w-1.5 shrink-0 rounded-full border border-muted-foreground/70\"}],[\"$\",\"p\",null,{\"className\":\"type-mono-label\",\"children\":\"Sign-off packages\"}]]}],[\"$\",\"p\",null,{\"className\":\"type-caption mt-2\",\"children\":\"RTM, findings, and attestation compiled from the same run record.\"}],[\"$\",\"p\",null,{\"className\":\"type-mono-label mt-3 text-muted-foreground/60\",\"children\":\"In build\"}]]}]]}]\n"])</script>
2<script>self.__next_f.push([1,"36:[\"$\",\"$L17\",null,{\"delay\":0.1,\"children\":[\"$\",\"div\",null,{\"id\":\"economics\",\"className\":\"mt-12 border-t pt-10 scroll-mt-24\",\"children\":[[\"$\",\"p\",null,{\"className\":\"type-mono-label text-muted-foreground\",\"children\":\"Failure economics\"}],[\"$\",\"p\",null,{\"className\":\"type-body mt-4\",\"children\":\"About 50% of products fail EMC testing on the first attempt (Intertek). Every failed loop costs weeks of schedule and five figures in re-tests and rework â and a full certification campaign in a regulated market runs well into six figures.\"}],[\"$\",\"p\",null,{\"className\":\"type-body mt-4\",\"children\":\"Galois automates the loop â so the first attempt is the last.\"}],[\"$\",\"div\",null,{\"className\":\"mt-6 space-y-1.5\",\"children\":[[\"$\",\"a\",\"Source: Intertek â EMC first-pass failure\",{\"href\":\"https://web.archive.org/web/20220424064926/https://www.intertek.com/uploadedFiles/Intertek/Divisions/Commercial_and_Electrical/Media/PDF/EMC_Testing/Why-50-Percent-Fail-EMC-WP.pdf\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"className\":\"type-mono-label block w-fit text-muted-foreground/70 underline-offset-4 hover:underline\",\"children\":\"Source: Intertek â EMC first-pass failure\"}],[\"$\",\"a\",\"Source: Tektronix â EMI/EMC re-test costs\",{\"href\":\"https://www.tek.com/en/blog/financial-case-emi-emc-pre-compliance-test-solution\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"className\":\"type-mono-label block w-fit text-muted-foreground/70 underline-offset-4 hover:underline\",\"children\":\"Source: Tektronix â EMI/EMC re-test costs\"}],[\"$\",\"a\",\"Source: PCBSync â respin schedule cost\",{\"href\":\"https://pcbsync.com/npi-new-product-introduction/\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"className\":\"type-mono-label block w-fit text-muted-foreground/70 underline-offset-4 hover:underline\",\"children\":\"Source: PCBSync â respin schedule cost\"}],[\"$\",\"a\",\"Source: Quilter â board respin average\",{\"href\":\"https://www.quilter.ai/glossary/board-respin\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"className\":\"type-mono-label block w-fit text-muted-foreground/70 underline-offset-4 hover:underline\",\"children\":\"Source: Quilter â board respin average\"}],[\"$\",\"a\",\"Source: Medical Device Academy â 510(k) testing\",{\"href\":\"https://medicaldeviceacademy.com/510k-cost/\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"className\":\"type-mono-label block w-fit text-muted-foreground/70 underline-offset-4 hover:underline\",\"children\":\"Source: Medical Device Academy â 510(k) testing\"}]]}],null]}]}]\n"])</script>
2<script>self.__next_f.push([1,"37:[\"$\",\"path\",null,{\"d\":\"M44.0 17.0 L56.6 17.4 L69.2 17.9 L81.8 18.4 L94.4 19.0 L107.0 19.6 L119.6 20.3 L132.2 21.1 L144.8 21.9 L157.4 22.8 L170.0 23.8 L182.6 24.9 L195.2 26.1 L207.8 27.4 L220.4 28.8 L233.0 30.4 L245.6 32.2 L258.2 34.1 L270.8 36.2 L283.4 38.7 L296.0 41.4 L308.6 44.3 L321.2 47.5 L333.8 51.3 L346.4 55.4 L359.0 60.0 L371.6 65.1 L384.2 70.9 L396.8 77.4 L409.4 84.7 L422.0 93.0 L434.6 102.3 L447.2 112.9 L459.8 124.9 L464.0 129.2\",\"fill\":\"none\",\"stroke\":\"var(--accent)\",\"strokeWidth\":\"1.4\",\"strokeDasharray\":\"5 4\"}]\n38:[\"$\",\"path\",null,{\"d\":\"M44.0 17.2 L56.6 17.4 L69.2 17.7 L81.8 18.0 L94.4 18.4 L107.0 18.9 L119.6 19.5 L132.2 20.2 L144.8 21.1 L157.4 22.1 L170.0 23.2 L182.6 24.5 L195.2 25.9 L207.8 27.5 L220.4 29.2 L233.0 31.1 L245.6 33.2 L258.2 35.4 L270.8 37.9 L283.4 40.6 L296.0 43.5 L308.6 46.7 L321.2 50.1 L333.8 54.0 L346.4 58.2 L359.0 63.0 L371.6 68.2 L384.2 74.0 L396.8 80.6 L409.4 88.0 L422.0 96.3 L434.6 105.8 L447.2 116.5 L459.8 128.8 L464.0 133.2\",\"fill\":\"none\",\"stroke\":\"var(--foreground)\",\"strokeWidth\":\"1.4\"}]\n39:[\"$\",\"g\",null,{\"transform\":\"translate(326 22)\",\"children\":[[\"$\",\"line\",null,{\"x1\":\"0\",\"y1\":\"0\",\"x2\":\"18\",\"y2\":\"0\",\"stroke\":\"var(--accent)\",\"strokeDasharray\":\"5 4\",\"strokeWidth\":\"1.4\"}],[\"$\",\"text\",null,{\"x\":\"24\",\"y\":\"3\",\"fontSize\":\"9\",\"fontFamily\":\"'IBM Plex Mono', monospace\",\"fill\":\"var(--muted-foreground)\",\"children\":\"SIM\"}],[\"$\",\"line\",null,{\"x1\":\"56\",\"y1\":\"0\",\"x2\":\"74\",\"y2\":\"0\",\"stroke\":\"var(--foreground)\",\"strokeWidth\":\"1.4\"}],[\"$\",\"text\",null,{\"x\":\"80\",\"y\":\"3\",\"fontSize\":\"9\",\"fontFamily\":\"'IBM Plex Mono', monospace\",\"fill\":\"var(--muted-foreground)\",\"children\":\"MEAS (VNA)\"}]]}]\n3a:[\"$\",\"text\",null,{\"x\":\"464\",\"y\":\"192\",\"fontSize\":\"9\",\"fontFamily\":\"'IBM Plex Mono', monospace\",\"fill\":\"var(--muted-foreground)\",\"textAnchor\":\"end\",\"children\":\"S21 max |Î| 0.17 dB ⤠tol 0.5 dB\"}]\n3b:[\"$\",\"figcaption\",null,{\"className\":\"type-mono-label mt-3 text-muted-foreground\",\"children\":\"Fig. 5 â Sim vs measured\"}]\n"])</script>
2<script>self.__next_f.push([1,"3c:[\"$\",\"$L17\",null,{\"delay\":0.1,\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center gap-2\",\"children\":[[\"$\",\"span\",null,{\"aria-hidden\":true,\"className\":\"h-1.5 w-1.5 shrink-0 rounded-full border border-muted-foreground/70\"}],[\"$\",\"p\",null,{\"className\":\"type-mono-label\",\"children\":\"Design plugins\"}],[\"$\",\"p\",null,{\"className\":\"type-mono-label text-muted-foreground/60\",\"children\":\"In build\"}]]}],[\"$\",\"p\",null,{\"className\":\"type-body mt-2 text-muted-foreground\",\"children\":\"The Altium extension snapshots the design; findings cross-probe back to the schematic.\"}],[\"$\",\"p\",null,{\"className\":\"type-mono-label mt-2 text-muted-foreground\",\"children\":\"Altium 26.6 · KiCad M0\"}],[\"$\",\"figure\",null,{\"className\":\"mt-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"rounded-lg border bg-card p-4\",\"children\":[\"$\",\"svg\",null,{\"viewBox\":\"0 0 480 220\",\"className\":\"block h-auto w-full\",\"role\":\"img\",\"aria-label\":\"Design artifacts connected to test plans through the Galois plugin\",\"children\":[[[\"$\",\"path\",\"l-48\",{\"d\":\"M 132 60 C 175 60, 185 110, 208 110\",\"fill\":\"none\",\"stroke\":\"var(--accent)\",\"strokeOpacity\":\"0.45\",\"strokeWidth\":\"1\"}],[\"$\",\"path\",\"l-110\",{\"d\":\"M 132 122 C 175 122, 185 110, 208 110\",\"fill\":\"none\",\"stroke\":\"var(--accent)\",\"strokeOpacity\":\"0.45\",\"strokeWidth\":\"1\"}],[\"$\",\"path\",\"l-172\",{\"d\":\"M 132 184 C 175 184, 185 110, 208 110\",\"fill\":\"none\",\"stroke\":\"var(--accent)\",\"strokeOpacity\":\"0.45\",\"strokeWidth\":\"1\"}]],[[\"$\",\"path\",\"r-48\",{\"d\":\"M 272 110 C 295 110, 305 60, 348 60\",\"fill\":\"none\",\"stroke\":\"var(--accent)\",\"strokeOpacity\":\"0.45\",\"strokeWidth\":\"1\"}],[\"$\",\"path\",\"r-110\",{\"d\":\"M 272 110 C 295 110, 305 122, 348 122\",\"fill\":\"none\",\"stroke\":\"var(--accent)\",\"strokeOpacity\":\"0.45\",\"strokeWidth\":\"1\"}],[\"$\",\"path\",\"r-172\",{\"d\":\"M 272 110 C 295 110, 305 184, 348 184\",\"fill\":\"none\",\"stroke\":\"var(--accent)\",\"strokeOpacity\":\"0.45\",\"strokeWidth\":\"1\"}]],[[\"$\",\"g\",\"board.kicad_sch\",{\"transform\":\"translate(12 48)\",\"children\":[[\"$\",\"rect\",null,{\"width\":\"120\",\"height\":\"24\",\"rx\":\"2\",\"fill\":\"none\",\"stroke\":\"var(--border)\"}],[\"$\",\"text\",null,{\"x\":\"10\",\"y\":\"16\",\"fontSize\":\"10\",\"fontFamily\":\"'IBM Plex Mono', monospace\",\"fill\":\"var(--foreground)\",\"children\":\"board.kicad_sch\"}]]}],[\"$\",\"g\",\"enclosure.step\",{\"transform\":\"translate(12 110)\",\"children\":[[\"$\",\"rect\",null,{\"width\":\"120\",\"height\":\"24\",\"rx\":\"2\",\"fill\":\"none\",\"stroke\":\"var(--border)\"}],[\"$\",\"text\",null,{\"x\":\"10\",\"y\":\"16\",\"fontSize\":\"10\",\"fontFamily\":\"'IBM Plex Mono', monospace\",\"fill\":\"var(--foreground)\",\"children\":\"enclosure.step\"}]]}],[\"$\",\"g\",\"bom.csv\",{\"transform\":\"translate(12 172)\",\"children\":[[\"$\",\"rect\",null,{\"width\":\"120\",\"height\":\"24\",\"rx\":\"2\",\"fill\":\"none\",\"stroke\":\"var(--border)\"}],[\"$\",\"text\",null,{\"x\":\"10\",\"y\":\"16\",\"fontSize\":\"10\",\"fontFamily\":\"'IBM Plex Mono', monospace\",\"fill\":\"var(--foreground)\",\"children\":\"bom.csv\"}]]}]],[\"$\",\"g\",null,{\"transform\":\"translate(208 96)\",\"children\":[[\"$\",\"rect\",null,{\"width\":\"64\",\"height\":\"28\",\"rx\":\"2\",\"fill\":\"none\",\"stroke\":\"var(--accent)\"}],[\"$\",\"text\",null,{\"x\":\"32\",\"y\":\"18\",\"fontSize\":\"10\",\"fontFamily\":\"'IBM Plex Mono', monospace\",\"fill\":\"var(--foreground)\",\"textAnchor\":\"middle\",\"children\":\"plugin\"}]]}],[[\"$\",\"g\",\"power_on.seq\",{\"transform\":\"translate(348 48)\",\"children\":[[\"$\",\"rect\",null,{\"width\":\"120\",\"height\":\"24\",\"rx\":\"2\",\"fill\":\"none\",\"stroke\":\"var(--border)\"}],[\"$\",\"circle\",null,{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"2.5\",\"fill\":\"var(--accent)\"}],[\"$\",\"text\",null,{\"x\":\"22\",\"y\":\"16\",\"fontSize\":\"10\",\"fontFamily\":\"'IBM Plex Mono', monospace\",\"fill\":\"var(--foreground)\",\"children\":\"power_on.seq\"}]]}],[\"$\",\"g\",\"rail_limits.seq\",{\"transform\":\"translate(348 110)\",\"children\":[[\"$\",\"rect\",null,{\"width\":\"120\",\"height\"
2:\"24\",\"rx\":\"2\",\"fill\":\"none\",\"stroke\":\"var(--border)\"}],[\"$\",\"circle\",null,{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"2.5\",\"fill\":\"var(--accent)\"}],[\"$\",\"text\",null,{\"x\":\"22\",\"y\":\"16\",\"fontSize\":\"10\",\"fontFamily\":\"'IBM Plex Mono', monospace\",\"fill\":\"var(--foreground)\",\"children\":\"rail_limits.seq\"}]]}],[\"$\",\"g\",\"thermal_soak.seq\",{\"transform\":\"translate(348 172)\",\"children\":[[\"$\",\"rect\",null,{\"width\":\"120\",\"height\":\"24\",\"rx\":\"2\",\"fill\":\"none\",\"stroke\":\"var(--border)\"}],[\"$\",\"circle\",null,{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"2.5\",\"fill\":\"var(--accent)\"}],[\"$\",\"text\",null,{\"x\":\"22\",\"y\":\"16\",\"fontSize\":\"10\",\"fontFamily\":\"'IBM Plex Mono', monospace\",\"fill\":\"var(--foreground)\",\"children\":\"thermal_soak.seq\"}]]}]],[\"$\",\"text\",null,{\"x\":\"12\",\"y\":\"24\",\"fontSize\":\"9\",\"fontFamily\":\"'IBM Plex Mono', monospace\",\"fill\":\"var(--muted-foreground)\",\"letterSpacing\":\"0.08em\",\"children\":\"DESIGN REV C4\"}],[\"$\",\"text\",null,{\"x\":\"348\",\"y\":\"24\",\"fontSize\":\"9\",\"fontFamily\":\"'IBM Plex Mono', monospace\",\"fill\":\"var(--muted-foreground)\",\"letterSpacing\":\"0.08em\",\"children\":\"TEST PLAN\"}],\"$L40\"]}]}],\"$L41\"]}]]}]\n"])</script>
2<script>self.__next_f.push([1,"40:[\"$\",\"text\",null,{\"x\":\"12\",\"y\":\"210\",\"fontSize\":\"9\",\"fontFamily\":\"'IBM Plex Mono', monospace\",\"fill\":\"var(--muted-foreground)\",\"children\":\"rev C3 â C4 · 2 nets changed · 1 test added\"}]\n41:[\"$\",\"figcaption\",null,{\"className\":\"type-mono-label mt-3 text-muted-foreground\",\"children\":\"Fig. 6 â Design to test\"}]\n"])</script>
2<script>self.__next_f.push([1,"25:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script>
2<script>self.__next_f.push([1,"42:I[27201,[\"/_next/static/chunks/ff1a16fafef87110.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\",\"/_next/static/chunks/d2be314c3ece3fbe.js?dpl=dpl_8Se2bkrsDs3z4kv41zcyn7oW93YJ\"],\"IconMark\"]\n"])</script>
2<script>self.__next_f.push([1,"28:[[\"$\",\"title\",\"0\",{\"children\":\"Product â English in, evidence out â Galois Labs\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Describe a test in English. Galois compiles a versioned sequence, runs it on your bench, and files the evidence â reports today, sign-off packages in build.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"canonical\",\"href\":\"https://galoislabs.ai/product\"}],[\"$\",\"meta\",\"3\",{\"property\":\"og:title\",\"content\":\"Galois Labs â The operating system for R\u0026D\"}],[\"$\",\"meta\",\"4\",{\"property\":\"og:description\",\"content\":\"The operating system for R\u0026D. Bench, sequences, captures, reports, and audits â automated, versioned, AI-assisted. Every step faster; the savings compound.\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:url\",\"content\":\"https://galoislabs.ai\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:site_name\",\"content\":\"Galois Labs\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:image:alt\",\"content\":\"Galois Labs â The operating system for R\u0026D\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:image:type\",\"content\":\"image/png\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:image\",\"content\":\"https://galoislabs.ai/opengraph-image?bc8bf573afc1cb85\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"13\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"14\",{\"name\":\"twitter:title\",\"content\":\"Galois Labs â The operating system for R\u0026D\"}],[\"$\",\"meta\",\"15\",{\"name\":\"twitter:description\",\"content\":\"The operating system for R\u0026D. Bench, sequences, captures, reports, and audits â automated, versioned, AI-assisted. Every step faster; the savings compound.\"}],[\"$\",\"meta\",\"16\",{\"name\":\"twitter:image:alt\",\"content\":\"Galois Labs â The operating system for R\u0026D\"}],[\"$\",\"meta\",\"17\",{\"name\":\"twitter:image:type\",\"content\":\"image/png\"}],[\"$\",\"meta\",\"18\",{\"name\":\"twitter:image\",\"content\":\"https://galoislabs.ai/opengraph-image?bc8bf573afc1cb85\"}],[\"$\",\"meta\",\"19\",{\"name\":\"twitter:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"20\",{\"name\":\"twitter:image:height\",\"content\":\"630\"}],[\"$\",\"link\",\"21\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\",\"sizes\":\"any\"}],[\"$\",\"link\",\"22\",{\"rel\":\"icon\",\"href\":\"/favicon-32x32.png\",\"sizes\":\"32x32\",\"type\":\"image/png\"}],[\"$\",\"link\",\"23\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-touch-icon.png\"}],[\"$\",\"$L42\",\"24\",{}]]\n"])</script>
2<script>self.__next_f.push([1,"3f:null\n"])</script>
2</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.