1:"$Sreact.fragment" 2:I[22016,["/_next/static/chunks/02ti70zu7rea_.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/06_fwbpl-tgls.js"],""] 3:I[62474,["/_next/static/chunks/02ti70zu7rea_.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ThemeToggle"] d:I[68027,["/_next/static/chunks/02ti70zu7rea_.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] :HL["/_next/static/chunks/15m5f55k..iay.css","style"] :HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2","font",{"crossOrigin":"","type":"font/woff2"}] 0:{"P":null,"c":["","insights"],"q":"","i":false,"f":[[["",{"children":["insights",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/15m5f55k..iay.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/02ti70zu7rea_.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"inter_2fe1ab3d-module__-T-KAq__variable space_grotesk_6ca79492-module__d8ieqW__variable","data-theme":"dark","suppressHydrationWarning":true,"children":["$","body",null,{"className":"inter_2fe1ab3d-module__-T-KAq__className","children":["$","div",null,{"className":"theme-shell theme-transition min-h-screen flex flex-col","children":[["$","a",null,{"href":"#content","className":"skip-link focus-visible:opacity-100","children":"Skip to content"}],["$","header",null,{"className":"sticky top-0 z-40 border-b theme-surface backdrop-blur supports-[backdrop-filter]:bg-[color:color-mix(in_srgb,var(--bg-secondary)_55%,transparent)]","children":["$","div",null,{"className":"mx-auto max-w-6xl px-4","children":["$","div",null,{"className":"flex items-center justify-between py-4","children":[["$","div",null,{"className":"flex items-center gap-3","children":["$","$L2",null,{"href":"/","className":"text-sm font-semibold tracking-wide theme-text-primary font-[var(--font-heading)]","aria-label":"Jomiko homepage","children":"Mike @ Jomiko Ltd"}]}],["$","div",null,{"className":"hidden md:flex md:items-center md:gap-4","children":["$","nav",null,{"className":"md:flex md:items-center md:gap-6","aria-label":"Primary","children":[[["$","$L2","/services",{"href":"/services","className":"text-sm font-medium theme-text-secondary underline-slide hover:text-[var(--text-primary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] focus-visible:ring-offset-2 theme-ring-offset rounded px-1 py-0.5 transition","children":"Services"}],["$","$L2","/insights",{"href":"/insights","className":"text-sm font-medium theme-text-secondary underline-slide hover:text-[var(--text-primary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] focus-visible:ring-offset-2 theme-ring-offset rounded px-1 py-0.5 transition","children":"Insights"}],["$","$L2","/about",{"href":"/about","className":"text-sm font-medium theme-text-secondary underline-slide hover:text-[var(--text-primary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] focus-visible:ring-offset-2 theme-ring-offset rounded px-1 py-0.5 transition","children":"About"}]],["$","$L3",null,{}],["$","div",null,{"children":["$","$L2",null,{"href":"/contact","className":"inline-flex items-center justify-center rounded-full px-5 py-2.5 text-sm font-semibold transition-all duration-[250ms] ease-in-out hover:scale-[1.01] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] focus-visible:ring-offset-2 theme-ring-offset bg-[var(--accent)] text-[var(--bg-primary)] hover:bg-[var(--accent-soft)] hover:text-[var(--text-primary)] active:bg-[var(--accent-soft)] ","children":"Book a Strategy Call"}]}]]}]}],["$","div",null,{"className":"md:hidden","children":["$","nav",null,{"className":"flex flex-col items-end gap-2","aria-label":"Primary mobile","children":[[["$","$L2","/services",{"href":"/services","className":"text-sm font-medium theme-text-secondary underline-slide hover:text-[var(--text-primary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] focus-visible:ring-offset-2 theme-ring-offset rounded px-1 py-0.5 transition","children":"Services"}],["$","$L2","/insights",{"href":"/insights","className":"text-sm font-medium theme-text-secondary underline-slide hover:text-[var(--text-primary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] focus-visible:ring-offset-2 theme-ring-offset rounded px-1 py-0.5 transition","children":"Insights"}],"$L4"],"$L5","$L6"]}]}]]}]}]}],"$L7","$L8"]}]}]}]]}],{"children":["$L9",{"children":["$La",{},null,false,null]},null,false,"$@b"]},null,false,null],"$Lc",false]],"m":"$undefined","G":["$d",["$Le"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"lfEugLFFjbfrSWt8vjHCz"} f:I[39756,["/_next/static/chunks/02ti70zu7rea_.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] 10:I[37457,["/_next/static/chunks/02ti70zu7rea_.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] 11:I[44223,["/_next/static/chunks/02ti70zu7rea_.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/06_fwbpl-tgls.js"],"FadeIn"] 21:I[97367,["/_next/static/chunks/02ti70zu7rea_.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] 23:I[97367,["/_next/static/chunks/02ti70zu7rea_.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] 24:"$Sreact.suspense" 4:["$","$L2","/about",{"href":"/about","className":"text-sm font-medium theme-text-secondary underline-slide hover:text-[var(--text-primary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] focus-visible:ring-offset-2 theme-ring-offset rounded px-1 py-0.5 transition","children":"About"}] 5:["$","div",null,{"className":"pt-1","children":["$","$L3",null,{}]}] 6:["$","div",null,{"className":"pt-1","children":["$","$L2",null,{"href":"/contact","className":"inline-flex items-center justify-center rounded-full px-5 py-2.5 text-sm font-semibold transition-all duration-[250ms] ease-in-out hover:scale-[1.01] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] focus-visible:ring-offset-2 theme-ring-offset bg-[var(--accent)] text-[var(--bg-primary)] hover:bg-[var(--accent-soft)] hover:text-[var(--text-primary)] active:bg-[var(--accent-soft)] ","children":"Book a Strategy Call"}]}] 7:["$","main",null,{"id":"content","className":"flex-1","children":["$","$Lf",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L10",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"}]}] 8:["$","footer",null,{"className":"border-t theme-surface backdrop-blur depth-section","children":["$","div",null,{"className":"mx-auto max-w-6xl px-4 py-10","children":["$","p",null,{"className":"text-sm theme-text-secondary","children":["© ",2026," Jomiko Ltd. All rights reserved."]}]}]}] 9:["$","$1","c",{"children":[null,["$","$Lf",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L10",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}] a:["$","$1","c",{"children":[["$","$L11",null,{"children":["$","section",null,{"id":"$undefined","className":"relative overflow-hidden depth-section py-12 sm:py-16 section-insights-bg ","children":["$","div",null,{"className":"mx-auto max-w-6xl px-4","children":["$","div",null,{"className":"section-panel section-foreground-gradient","children":[["$","header",null,{"children":[["$","div",null,{"className":"max-w-3xl","children":[["$","p",null,{"className":"text-sm font-semibold tracking-wide theme-text-accent","children":"INSIGHTS"}],["$","h2",null,{"className":"mt-2 text-2xl font-semibold tracking-tight theme-text-primary sm:text-3xl font-[var(--font-heading)]","children":"Architecture patterns from the field"}]]}],["$","p",null,{"className":"mt-3 text-base leading-7 text-pretty theme-text-secondary","children":"I publish practical guidance on AI systems, architecture patterns, and the future of engineering."}]]}],["$","div",null,{"className":"mt-8","children":[["$","div",null,{"className":"mb-8","children":["$","div",null,{"className":"rounded-[2rem] border border-[color:color-mix(in_srgb,var(--border-color)_75%,transparent)] bg-[color:color-mix(in_srgb,var(--bg-secondary)_45%,transparent)] p-5 section-artwork-hover h-[180px] sm:h-[220px]","children":["$","div",null,{"className":"section-artwork-spin-inner h-full w-full origin-center","children":["$","svg",null,{"viewBox":"0 0 420 220","className":"h-full w-full text-[var(--accent)]","fill":"none","aria-hidden":"true","children":[["$","defs",null,{"children":["$","radialGradient",null,{"id":"insights-glow","cx":"0","cy":"0","r":"1","gradientUnits":"userSpaceOnUse","gradientTransform":"translate(210 112) rotate(90) scale(94 144)","children":[["$","stop",null,{"offset":"0%","stopColor":"currentColor","stopOpacity":"0.22"}],["$","stop",null,{"offset":"100%","stopColor":"currentColor","stopOpacity":"0"}]]}]}],["$","g",null,{"children":[["$","rect",null,{"x":"20","y":"22","width":"380","height":"176","rx":"20","fill":"url(#insights-glow)"}],["$","path",null,{"d":"M80 154c26-68 88-110 154-110c48 0 90 18 124 52","stroke":"currentColor","strokeWidth":"2","opacity":"0.36"}],["$","path",null,{"d":"M60 170c42-40 92-62 150-62c62 0 118 24 152 58","stroke":"currentColor","strokeWidth":"2","opacity":"0.55"}],["$","circle",null,{"cx":"92","cy":"150","r":"7","fill":"currentColor"}],["$","circle",null,{"cx":"168","cy":"102","r":"7","fill":"currentColor"}],["$","circle",null,{"cx":"234","cy":"88","r":"7","fill":"currentColor"}],["$","circle",null,{"cx":"314","cy":"118","r":"7","fill":"currentColor"}],["$","circle",null,{"cx":"344","cy":"160","r":"7","fill":"currentColor"}]]}]]}]}]}]}],["$","div",null,{"className":"mt-8 grid gap-4 md:grid-cols-2","children":[["$","div","AI-First Architecture on Azure: Patterns That Actually Work",{"className":"theme-card rounded-2xl border backdrop-blur hover:border-[color:color-mix(in_srgb,var(--accent)_22%,var(--border-color))] p-6","children":[["$","div",null,{"className":"flex items-start justify-between gap-4","children":[["$","h3",null,{"className":"text-base font-semibold tracking-tight theme-text-primary font-[var(--font-heading)]","children":["$","$L2",null,{"href":"/insights/ai-first-architecture-on-azure-patterns-that-work","className":"underline-slide hover:text-[var(--text-primary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] focus-visible:ring-offset-2 theme-ring-offset rounded px-0.5 py-0.5 transition","children":"AI-First Architecture on Azure: Patterns That Actually Work"}]}],["$","svg",null,{"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"2","strokeLinecap":"round","strokeLinejoin":"round","aria-hidden":"true","className":"h-7 w-7 flex-none text-[var(--accent)]","children":[["$","path",null,{"d":"M12 2v4"}],["$","path",null,{"d":"M4.9 4.9l2.8 2.8"}],["$","path",null,{"d":"M2 12h4"}],["$","path",null,{"d":"M4.9 19.1l2.8-2.8"}],["$","path",null,{"d":"M12 22v-4"}],["$","path",null,{"d":"M19.1 19.1l-2.8-2.8"}],["$","path",null,{"d":"M22 12h-4"}],["$","path",null,{"d":"M19.1 4.9l-2.8 2.8"}],["$","path",null,{"d":"M8 12a4 4 0 1 0 8 0a4 4 0 1 0-8 0z"}]]}]]}],["$","p",null,{"className":"mt-2 text-sm leading-6 theme-text-secondary","children":"A practical look at how to design AI-first systems on Azure using modern cloud-native patterns. Covers retrieval pipelines, agent workflows, event-driven design, and cost-controlled inference strategies."}]]}],"$L12","$L13","$L14","$L15","$L16","$L17","$L18","$L19","$L1a","$L1b","$L1c"]}],"$L1d"]}]]}]}]}]}],["$L1e"],"$L1f"]}] 20:[] b:"$W20" c:["$","$1","h",{"children":[null,["$","$L21",null,{"children":"$L22"}],["$","div",null,{"hidden":true,"children":["$","$L23",null,{"children":["$","$24",null,{"name":"Next.Metadata","children":"$L25"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}] e:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/15m5f55k..iay.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] 26:I[97367,["/_next/static/chunks/02ti70zu7rea_.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] 12:["$","div","The Contract-First Approach to Multi-Agent Workflows",{"className":"theme-card rounded-2xl border backdrop-blur hover:border-[color:color-mix(in_srgb,var(--accent)_22%,var(--border-color))] p-6","children":[["$","div",null,{"className":"flex items-start justify-between gap-4","children":[["$","h3",null,{"className":"text-base font-semibold tracking-tight theme-text-primary font-[var(--font-heading)]","children":["$","$L2",null,{"href":"/insights/contract-first-multi-agent-workflows","className":"underline-slide hover:text-[var(--text-primary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] focus-visible:ring-offset-2 theme-ring-offset rounded px-0.5 py-0.5 transition","children":"The Contract-First Approach to Multi-Agent Workflows"}]}],["$","svg",null,{"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"2","strokeLinecap":"round","strokeLinejoin":"round","aria-hidden":"true","className":"h-7 w-7 flex-none text-[var(--accent)]","children":[["$","path",null,{"d":"M12 2v4"}],["$","path",null,{"d":"M4.9 4.9l2.8 2.8"}],["$","path",null,{"d":"M2 12h4"}],["$","path",null,{"d":"M4.9 19.1l2.8-2.8"}],["$","path",null,{"d":"M12 22v-4"}],["$","path",null,{"d":"M19.1 19.1l-2.8-2.8"}],["$","path",null,{"d":"M22 12h-4"}],["$","path",null,{"d":"M19.1 4.9l-2.8 2.8"}],["$","path",null,{"d":"M8 12a4 4 0 1 0 8 0a4 4 0 1 0-8 0z"}]]}]]}],["$","p",null,{"className":"mt-2 text-sm leading-6 theme-text-secondary","children":"When agent behaviour fails, it’s usually because the workflow has no contracts. I explain tool boundaries, state transitions, and acceptance criteria so each agent has a defined job and predictable outcomes."}]]}] 13:["$","div","Evaluation Harnesses for Agent Reliability",{"className":"theme-card rounded-2xl border backdrop-blur hover:border-[color:color-mix(in_srgb,var(--accent)_22%,var(--border-color))] p-6","children":[["$","div",null,{"className":"flex items-start justify-between gap-4","children":[["$","h3",null,{"className":"text-base font-semibold tracking-tight theme-text-primary font-[var(--font-heading)]","children":["$","$L2",null,{"href":"/insights/evaluation-harnesses-agent-reliability","className":"underline-slide hover:text-[var(--text-primary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] focus-visible:ring-offset-2 theme-ring-offset rounded px-0.5 py-0.5 transition","children":"Evaluation Harnesses for Agent Reliability"}]}],["$","svg",null,{"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"2","strokeLinecap":"round","strokeLinejoin":"round","aria-hidden":"true","className":"h-7 w-7 flex-none text-[var(--accent)]","children":[["$","path",null,{"d":"M12 2v4"}],["$","path",null,{"d":"M4.9 4.9l2.8 2.8"}],["$","path",null,{"d":"M2 12h4"}],["$","path",null,{"d":"M4.9 19.1l2.8-2.8"}],["$","path",null,{"d":"M12 22v-4"}],["$","path",null,{"d":"M19.1 19.1l-2.8-2.8"}],["$","path",null,{"d":"M22 12h-4"}],["$","path",null,{"d":"M19.1 4.9l-2.8 2.8"}],["$","path",null,{"d":"M8 12a4 4 0 1 0 8 0a4 4 0 1 0-8 0z"}]]}]]}],["$","p",null,{"className":"mt-2 text-sm leading-6 theme-text-secondary","children":"You can’t govern what you don’t measure. I cover how to build evaluation harnesses that detect regressions, quantify risk, and keep agent systems aligned with real user expectations."}]]}] 14:["$","div","Retrieval Pipelines That Stay Accurate Under Change",{"className":"theme-card rounded-2xl border backdrop-blur hover:border-[color:color-mix(in_srgb,var(--accent)_22%,var(--border-color))] p-6","children":[["$","div",null,{"className":"flex items-start justify-between gap-4","children":[["$","h3",null,{"className":"text-base font-semibold tracking-tight theme-text-primary font-[var(--font-heading)]","children":["$","$L2",null,{"href":"/insights/retrieval-pipelines-accurate-under-change","className":"underline-slide hover:text-[var(--text-primary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] focus-visible:ring-offset-2 theme-ring-offset rounded px-0.5 py-0.5 transition","children":"Retrieval Pipelines That Stay Accurate Under Change"}]}],["$","svg",null,{"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"2","strokeLinecap":"round","strokeLinejoin":"round","aria-hidden":"true","className":"h-7 w-7 flex-none text-[var(--accent)]","children":[["$","path",null,{"d":"M12 2v4"}],["$","path",null,{"d":"M4.9 4.9l2.8 2.8"}],["$","path",null,{"d":"M2 12h4"}],["$","path",null,{"d":"M4.9 19.1l2.8-2.8"}],["$","path",null,{"d":"M12 22v-4"}],["$","path",null,{"d":"M19.1 19.1l-2.8-2.8"}],["$","path",null,{"d":"M22 12h-4"}],["$","path",null,{"d":"M19.1 4.9l-2.8 2.8"}],["$","path",null,{"d":"M8 12a4 4 0 1 0 8 0a4 4 0 1 0-8 0z"}]]}]]}],["$","p",null,{"className":"mt-2 text-sm leading-6 theme-text-secondary","children":"RAG systems drift as content, permissions, and policies evolve. I describe drift controls, feedback loops, and retrieval strategies that preserve accuracy beyond the initial deployment."}]]}] 15:["$","div","Human-in-the-Loop Design for Real Operations",{"className":"theme-card rounded-2xl border backdrop-blur hover:border-[color:color-mix(in_srgb,var(--accent)_22%,var(--border-color))] p-6","children":[["$","div",null,{"className":"flex items-start justify-between gap-4","children":[["$","h3",null,{"className":"text-base font-semibold tracking-tight theme-text-primary font-[var(--font-heading)]","children":["$","$L2",null,{"href":"/insights/human-in-the-loop-real-operations","className":"underline-slide hover:text-[var(--text-primary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] focus-visible:ring-offset-2 theme-ring-offset rounded px-0.5 py-0.5 transition","children":"Human-in-the-Loop Design for Real Operations"}]}],["$","svg",null,{"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"2","strokeLinecap":"round","strokeLinejoin":"round","aria-hidden":"true","className":"h-7 w-7 flex-none text-[var(--accent)]","children":[["$","path",null,{"d":"M12 2v4"}],["$","path",null,{"d":"M4.9 4.9l2.8 2.8"}],["$","path",null,{"d":"M2 12h4"}],["$","path",null,{"d":"M4.9 19.1l2.8-2.8"}],["$","path",null,{"d":"M12 22v-4"}],["$","path",null,{"d":"M19.1 19.1l-2.8-2.8"}],["$","path",null,{"d":"M22 12h-4"}],["$","path",null,{"d":"M19.1 4.9l-2.8 2.8"}],["$","path",null,{"d":"M8 12a4 4 0 1 0 8 0a4 4 0 1 0-8 0z"}]]}]]}],["$","p",null,{"className":"mt-2 text-sm leading-6 theme-text-secondary","children":"Approvals shouldn’t be vague. I outline how to design escalation paths, review queues, and decision gates so teams can safely operate AI-first workflows without slowing delivery unnecessarily."}]]}] 16:["$","div","Deterministic Orchestration: Making AI Auditable",{"className":"theme-card rounded-2xl border backdrop-blur hover:border-[color:color-mix(in_srgb,var(--accent)_22%,var(--border-color))] p-6","children":[["$","div",null,{"className":"flex items-start justify-between gap-4","children":[["$","h3",null,{"className":"text-base font-semibold tracking-tight theme-text-primary font-[var(--font-heading)]","children":["$","$L2",null,{"href":"/insights/deterministic-orchestration-ai-auditable","className":"underline-slide hover:text-[var(--text-primary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] focus-visible:ring-offset-2 theme-ring-offset rounded px-0.5 py-0.5 transition","children":"Deterministic Orchestration: Making AI Auditable"}]}],["$","svg",null,{"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"2","strokeLinecap":"round","strokeLinejoin":"round","aria-hidden":"true","className":"h-7 w-7 flex-none text-[var(--accent)]","children":[["$","path",null,{"d":"M12 2v4"}],["$","path",null,{"d":"M4.9 4.9l2.8 2.8"}],["$","path",null,{"d":"M2 12h4"}],["$","path",null,{"d":"M4.9 19.1l2.8-2.8"}],["$","path",null,{"d":"M12 22v-4"}],["$","path",null,{"d":"M19.1 19.1l-2.8-2.8"}],["$","path",null,{"d":"M22 12h-4"}],["$","path",null,{"d":"M19.1 4.9l-2.8 2.8"}],["$","path",null,{"d":"M8 12a4 4 0 1 0 8 0a4 4 0 1 0-8 0z"}]]}]]}],["$","p",null,{"className":"mt-2 text-sm leading-6 theme-text-secondary","children":"Auditable AI is engineered, not hoped for. I show patterns for traceable execution, decision logging, and deterministic workflow structure that holds up in governance conversations."}]]}] 17:["$","div","Cost-Controlled AI: Routing, Caching, and Budget Guardrails",{"className":"theme-card rounded-2xl border backdrop-blur hover:border-[color:color-mix(in_srgb,var(--accent)_22%,var(--border-color))] p-6","children":[["$","div",null,{"className":"flex items-start justify-between gap-4","children":[["$","h3",null,{"className":"text-base font-semibold tracking-tight theme-text-primary font-[var(--font-heading)]","children":["$","$L2",null,{"href":"/insights/cost-controlled-ai-routing-caching-guardrails","className":"underline-slide hover:text-[var(--text-primary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] focus-visible:ring-offset-2 theme-ring-offset rounded px-0.5 py-0.5 transition","children":"Cost-Controlled AI: Routing, Caching, and Budget Guardrails"}]}],["$","svg",null,{"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"2","strokeLinecap":"round","strokeLinejoin":"round","aria-hidden":"true","className":"h-7 w-7 flex-none text-[var(--accent)]","children":[["$","path",null,{"d":"M12 2v4"}],["$","path",null,{"d":"M4.9 4.9l2.8 2.8"}],["$","path",null,{"d":"M2 12h4"}],["$","path",null,{"d":"M4.9 19.1l2.8-2.8"}],["$","path",null,{"d":"M12 22v-4"}],["$","path",null,{"d":"M19.1 19.1l-2.8-2.8"}],["$","path",null,{"d":"M22 12h-4"}],["$","path",null,{"d":"M19.1 4.9l-2.8 2.8"}],["$","path",null,{"d":"M8 12a4 4 0 1 0 8 0a4 4 0 1 0-8 0z"}]]}]]}],["$","p",null,{"className":"mt-2 text-sm leading-6 theme-text-secondary","children":"Cost overruns are architectural. I explain routing policies, caching strategies, and budget guardrails that keep inference spend predictable while maintaining quality where it matters."}]]}] 18:["$","div","Governance Patterns for Regulated AI Systems",{"className":"theme-card rounded-2xl border backdrop-blur hover:border-[color:color-mix(in_srgb,var(--accent)_22%,var(--border-color))] p-6","children":[["$","div",null,{"className":"flex items-start justify-between gap-4","children":[["$","h3",null,{"className":"text-base font-semibold tracking-tight theme-text-primary font-[var(--font-heading)]","children":["$","$L2",null,{"href":"/insights/governance-patterns-regulated-ai-systems","className":"underline-slide hover:text-[var(--text-primary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] focus-visible:ring-offset-2 theme-ring-offset rounded px-0.5 py-0.5 transition","children":"Governance Patterns for Regulated AI Systems"}]}],["$","svg",null,{"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"2","strokeLinecap":"round","strokeLinejoin":"round","aria-hidden":"true","className":"h-7 w-7 flex-none text-[var(--accent)]","children":[["$","path",null,{"d":"M12 2v4"}],["$","path",null,{"d":"M4.9 4.9l2.8 2.8"}],["$","path",null,{"d":"M2 12h4"}],["$","path",null,{"d":"M4.9 19.1l2.8-2.8"}],["$","path",null,{"d":"M12 22v-4"}],["$","path",null,{"d":"M19.1 19.1l-2.8-2.8"}],["$","path",null,{"d":"M22 12h-4"}],["$","path",null,{"d":"M19.1 4.9l-2.8 2.8"}],["$","path",null,{"d":"M8 12a4 4 0 1 0 8 0a4 4 0 1 0-8 0z"}]]}]]}],["$","p",null,{"className":"mt-2 text-sm leading-6 theme-text-secondary","children":"Regulated environments demand more than policies—they demand enforced workflow controls. I walk through governance patterns like audit trails, approval gates, and safety checks designed into the system."}]]}] 19:["$","div","Integration Architecture for Agent Ecosystems in Enterprise Stacks",{"className":"theme-card rounded-2xl border backdrop-blur hover:border-[color:color-mix(in_srgb,var(--accent)_22%,var(--border-color))] p-6","children":[["$","div",null,{"className":"flex items-start justify-between gap-4","children":[["$","h3",null,{"className":"text-base font-semibold tracking-tight theme-text-primary font-[var(--font-heading)]","children":["$","$L2",null,{"href":"/insights/integration-architecture-agent-ecosystems","className":"underline-slide hover:text-[var(--text-primary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] focus-visible:ring-offset-2 theme-ring-offset rounded px-0.5 py-0.5 transition","children":"Integration Architecture for Agent Ecosystems in Enterprise Stacks"}]}],["$","svg",null,{"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"2","strokeLinecap":"round","strokeLinejoin":"round","aria-hidden":"true","className":"h-7 w-7 flex-none text-[var(--accent)]","children":[["$","path",null,{"d":"M12 2v4"}],["$","path",null,{"d":"M4.9 4.9l2.8 2.8"}],["$","path",null,{"d":"M2 12h4"}],["$","path",null,{"d":"M4.9 19.1l2.8-2.8"}],["$","path",null,{"d":"M12 22v-4"}],["$","path",null,{"d":"M19.1 19.1l-2.8-2.8"}],["$","path",null,{"d":"M22 12h-4"}],["$","path",null,{"d":"M19.1 4.9l-2.8 2.8"}],["$","path",null,{"d":"M8 12a4 4 0 1 0 8 0a4 4 0 1 0-8 0z"}]]}]]}],["$","p",null,{"className":"mt-2 text-sm leading-6 theme-text-secondary","children":"Agents don’t live in a vacuum; they must integrate with systems teams already run. I cover integration patterns for APIs, data sources, permissions, and operational ownership."}]]}] 1a:["$","div","From Prototype to Platform: Reusable Workflow Templates",{"className":"theme-card rounded-2xl border backdrop-blur hover:border-[color:color-mix(in_srgb,var(--accent)_22%,var(--border-color))] p-6","children":[["$","div",null,{"className":"flex items-start justify-between gap-4","children":[["$","h3",null,{"className":"text-base font-semibold tracking-tight theme-text-primary font-[var(--font-heading)]","children":["$","$L2",null,{"href":"/insights/prototype-to-platform-reusable-workflow-templates","className":"underline-slide hover:text-[var(--text-primary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] focus-visible:ring-offset-2 theme-ring-offset rounded px-0.5 py-0.5 transition","children":"From Prototype to Platform: Reusable Workflow Templates"}]}],["$","svg",null,{"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"2","strokeLinecap":"round","strokeLinejoin":"round","aria-hidden":"true","className":"h-7 w-7 flex-none text-[var(--accent)]","children":[["$","path",null,{"d":"M12 2v4"}],["$","path",null,{"d":"M4.9 4.9l2.8 2.8"}],["$","path",null,{"d":"M2 12h4"}],["$","path",null,{"d":"M4.9 19.1l2.8-2.8"}],["$","path",null,{"d":"M12 22v-4"}],["$","path",null,{"d":"M19.1 19.1l-2.8-2.8"}],["$","path",null,{"d":"M22 12h-4"}],["$","path",null,{"d":"M19.1 4.9l-2.8 2.8"}],["$","path",null,{"d":"M8 12a4 4 0 1 0 8 0a4 4 0 1 0-8 0z"}]]}]]}],["$","p",null,{"className":"mt-2 text-sm leading-6 theme-text-secondary","children":"Teams move fast until every workflow is bespoke. I describe how to turn successful prototypes into reusable templates with consistent orchestration, evaluation, and cost controls."}]]}] 1b:["$","div","Transitioning Teams to AI-Augmented Delivery",{"className":"theme-card rounded-2xl border backdrop-blur hover:border-[color:color-mix(in_srgb,var(--accent)_22%,var(--border-color))] p-6","children":[["$","div",null,{"className":"flex items-start justify-between gap-4","children":[["$","h3",null,{"className":"text-base font-semibold tracking-tight theme-text-primary font-[var(--font-heading)]","children":["$","$L2",null,{"href":"/insights/transitioning-teams-ai-augmented-delivery","className":"underline-slide hover:text-[var(--text-primary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] focus-visible:ring-offset-2 theme-ring-offset rounded px-0.5 py-0.5 transition","children":"Transitioning Teams to AI-Augmented Delivery"}]}],["$","svg",null,{"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"2","strokeLinecap":"round","strokeLinejoin":"round","aria-hidden":"true","className":"h-7 w-7 flex-none text-[var(--accent)]","children":[["$","path",null,{"d":"M12 2v4"}],["$","path",null,{"d":"M4.9 4.9l2.8 2.8"}],["$","path",null,{"d":"M2 12h4"}],["$","path",null,{"d":"M4.9 19.1l2.8-2.8"}],["$","path",null,{"d":"M12 22v-4"}],["$","path",null,{"d":"M19.1 19.1l-2.8-2.8"}],["$","path",null,{"d":"M22 12h-4"}],["$","path",null,{"d":"M19.1 4.9l-2.8 2.8"}],["$","path",null,{"d":"M8 12a4 4 0 1 0 8 0a4 4 0 1 0-8 0z"}]]}]]}],["$","p",null,{"className":"mt-2 text-sm leading-6 theme-text-secondary","children":"Adoption fails when roles and rituals are unclear. I map the organisational shift—pairing, runbooks, evaluation ownership—so teams can deliver AI-first outcomes that stick."}]]}] 1c:["$","div","Designing AI-First Systems on Azure: Practical Architecture Patterns",{"className":"theme-card rounded-2xl border backdrop-blur hover:border-[color:color-mix(in_srgb,var(--accent)_22%,var(--border-color))] p-6","children":[["$","div",null,{"className":"flex items-start justify-between gap-4","children":[["$","h3",null,{"className":"text-base font-semibold tracking-tight theme-text-primary font-[var(--font-heading)]","children":["$","$L2",null,{"href":"/insights/designing-ai-first-systems-azure-practical-patterns","className":"underline-slide hover:text-[var(--text-primary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] focus-visible:ring-offset-2 theme-ring-offset rounded px-0.5 py-0.5 transition","children":"Designing AI-First Systems on Azure: Practical Architecture Patterns"}]}],["$","svg",null,{"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"2","strokeLinecap":"round","strokeLinejoin":"round","aria-hidden":"true","className":"h-7 w-7 flex-none text-[var(--accent)]","children":[["$","path",null,{"d":"M12 2v4"}],["$","path",null,{"d":"M4.9 4.9l2.8 2.8"}],["$","path",null,{"d":"M2 12h4"}],["$","path",null,{"d":"M4.9 19.1l2.8-2.8"}],["$","path",null,{"d":"M12 22v-4"}],["$","path",null,{"d":"M19.1 19.1l-2.8-2.8"}],["$","path",null,{"d":"M22 12h-4"}],["$","path",null,{"d":"M19.1 4.9l-2.8 2.8"}],["$","path",null,{"d":"M8 12a4 4 0 1 0 8 0a4 4 0 1 0-8 0z"}]]}]]}],["$","p",null,{"className":"mt-2 text-sm leading-6 theme-text-secondary","children":"Practical Azure patterns for AI‑first systems: retrieval pipelines, event‑driven workflows, vector search, and cost‑controlled inference—without overhauling your existing stack."}]]}] 1d:["$","div",null,{"className":"mt-10","children":["$","div",null,{"className":"theme-card rounded-2xl border backdrop-blur hover:border-[color:color-mix(in_srgb,var(--accent)_22%,var(--border-color))] p-6","children":[["$","p",null,{"className":"text-sm font-semibold tracking-wide theme-text-accent","children":"Turn patterns into decisions"}],["$","h2",null,{"className":"mt-1 text-2xl font-semibold tracking-tight theme-text-primary sm:text-3xl font-[var(--font-heading)]","children":"Apply an insight to your architecture"}],["$","p",null,{"className":"mt-2 text-sm leading-6 theme-text-secondary","children":"If you want help designing the smallest, safest path from pattern to production, I can review your approach and recommend next steps."}],["$","div",null,{"className":"mt-5 flex flex-col gap-3 sm:flex-row sm:items-center","children":[["$","$L2",null,{"href":"/contact","className":"inline-flex items-center justify-center rounded-full px-5 py-2.5 text-sm font-semibold transition-all duration-[250ms] ease-in-out hover:scale-[1.01] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] focus-visible:ring-offset-2 theme-ring-offset bg-[var(--accent)] text-[var(--bg-primary)] hover:bg-[var(--accent-soft)] hover:text-[var(--text-primary)] active:bg-[var(--accent-soft)] ","children":"Request an Architecture Review"}],["$","$L2",null,{"href":"/contact","className":"inline-flex items-center justify-center rounded-full px-5 py-2.5 text-sm font-semibold transition-all duration-[250ms] ease-in-out hover:scale-[1.01] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] focus-visible:ring-offset-2 theme-ring-offset border border-[var(--border-color)] bg-transparent text-[var(--text-primary)] hover:border-[var(--accent)] hover:bg-[color:color-mix(in_srgb,var(--bg-secondary)_72%,transparent)] active:bg-[color:color-mix(in_srgb,var(--bg-secondary)_86%,transparent)] ","children":"Book a Strategy Call"}]]}]]}]}] 1e:["$","script","script-0",{"src":"/_next/static/chunks/06_fwbpl-tgls.js","async":true,"nonce":"$undefined"}] 1f:["$","$L26",null,{"children":["$","$24",null,{"name":"Next.MetadataOutlet","children":"$@27"}]}] 22:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] 28:I[27201,["/_next/static/chunks/02ti70zu7rea_.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] 25:[["$","title","0",{"children":"Insights | Mike @ Jomiko Ltd"}],["$","meta","1",{"name":"description","content":"High-signal guidance on AI systems architecture and agent workflows—written for enterprise teams who need deterministic, auditable delivery."}],["$","meta","2",{"property":"og:title","content":"Insights | Mike @ Jomiko Ltd"}],["$","meta","3",{"property":"og:description","content":"High-signal guidance on AI systems architecture and agent workflows—written for enterprise teams who need deterministic, auditable delivery."}],["$","meta","4",{"property":"og:url","content":"https://jomiko.co.uk"}],["$","meta","5",{"property":"og:type","content":"website"}],["$","meta","6",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","7",{"name":"twitter:title","content":"Insights | Mike @ Jomiko Ltd"}],["$","meta","8",{"name":"twitter:description","content":"High-signal guidance on AI systems architecture and agent workflows—written for enterprise teams who need deterministic, auditable delivery."}],["$","link","9",{"rel":"icon","href":"/favicon.ico?favicon.14ijnkx_7krtx.ico","sizes":"256x256","type":"image/x-icon"}],["$","link","10",{"rel":"icon","href":"/icon.png"}],["$","link","11",{"rel":"apple-touch-icon","href":"/apple-icon.png"}],["$","$L28","12",{}]] 27:null