1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6757],{3706:(e,t,a)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/gate",function(){return a(6352)}])},6352:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>H});var i=a(7876),n=a(8230),r=a.n(n),s=a(4232),o=a(8047),d=a(6730),l=a(175),c=a(3900),m=a(9013),g=a(7966),h=a(1174),p=a(3291),x=a(1829),u=a(1099),f=a(57),b=a(1391),v=a(8249),w=a(418),y=a(9060),j=a(5691),N=a(2257),C=a(4206),k=a(6887),A=a(1298);function I(){let e=(0,s.useRef)(null);return(0,s.useEffect)(()=>{let t=e.current;if(!t)return;let a=e=>t.querySelector(e),i=window.matchMedia("(prefers-reduced-motion: reduce)").matches,n=[["import","stripe"],[],["def","sync_inventory(items):"],[" for item in items:"],[" stripe.Inventory.update(item.sku, quantity=item.qty)"],[],["def","charge(user, amount_dollars):"],[" stripe.Charge.create("],[" amount=<flag>amount_dollars * 1.075</flag>,"],[' currency="usd", source=user.card,'],[" )"],[' return "success"']],r=[["import","stripe"],[],["def","charge(user, amount_cents: int, key: str):"],[" if amount_cents <= 0:"],[' raise ValueError("amount must be > 0")'],[" try:"],[" return stripe.PaymentIntent.create("],[' amount=amount_cents, currency="usd",'],[" payment_method=user.card, confirm=True,"],[" idempotency_key=key,"],[" )"],[" except stripe.error.StripeError as e:"],[" raise PaymentFailed(e.user_message)"]],s=new Set(["import","def","for","in","try","except","return","raise","if","as","True"]),o=e=>e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),d=e=>{let t=null,a=o(e=e.replace(/<flag>([\s\S]*?)<\/flag>/,(e,a)=>(t=a,"FLAGZ"))).replace(/"([^"]*)"/g,'<span class="st">"$1"</span>');return null!==t&&(a=a.replace("FLAGZ",'<span class="flag">'.concat(o(t),"</span>"))),a},l=e=>{let t="";return e.forEach((e,a)=>{let i,n=String(a+1).padStart(2," ");i=0===e.length?"":2===e.length&&s.has(e[0])?'<span class="kw">'.concat(e[0],"</span> ").concat(d(e[1])):d(e.join(" ")),t+='<span class="ln">'.concat(n,"</span>").concat(i,"\n")}),t},c=[["crit","reliability","Float amount passed to Stripe â it expects <b>integer cents</b>. Coerced, it undercharges the customer 100\xd7."],["high","performance","<b>N+1</b> synchronous calls in a loop â blocking latency and Stripeâs 100 req/s rate limit."],["high","reliability","No error handling â any network blip crashes mid-charge, leaving payment and inventory inconsistent."],["high","reliability","No <b>idempotency key</b> â a retried timeout double-charges the customer."],["med","standards","Legacy <code>stripe.Charge</code>; PaymentIntent is required for SCA / 3-D Secure."]],m='<span class="fn">validate_ai_output</span>(<span class="arg">charge.py</span>)',g=(e,t)=>{let i=a("#gd-ringfg");i.style.stroke=t,i.style.strokeDashoffset=String(195-195*e/100)},h=[],p=(e,t)=>{h.push(window.setTimeout(t,e))},x=()=>{h.forEach(clearTimeout),h=[]},u=e=>"crit"===e?"critical":"high"===e?"high":"medium",f=()=>{x(),a("#gd-cmd").innerHTML="",a("#gd-code").innerHTML=l(n),a("#gd-code").style.opacity="1",a("#gd-codestate").textContent="\xb7 from your AI assistant",a("#gd-stagetag").innerHTML=" ",a("#gd-score").textContent="â",g(0,"var(--gd-crit)"),a("#gd-badge").className="badge rej",a("#gd-badge").textContent="Runningâ¦",a("#gd-vdesc").style.display="block",a("#gd-findings").innerHTML="",a("#gd-findings").style.display="flex",a("#gd-approved").style.display="none"},b=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1150,i=a("#gd-scan");i.classList.remove("run"),i.offsetWidth,i.classList.add("run"),p(t,e)},v=function(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:700,n=parseFloat(a("#gd-score").textContent||"0")||0,r=performance.now(),s=o=>{let d=Math.min(1,(o-r)/i),l=n+(e-n)*d;a("#gd-score").textContent=l.toFixed(l>=100?0:1),g(l,t),d<1&&requestAnimationFrame(s)};requestAnimationFrame(s)},w=()=>{if(i)return void(f(),a("#gd-cmd").innerHTML=m,a("#gd-stagetag").innerHTML='<span class="gate">code_reality_gate</span> \xb7 +15 gates \xb7 frontier review',a("#gd-badge").className="badge rej",a("#gd-badge").textContent="Rejected",a("#gd-score").textContent="70",g(70,"var(--gd-crit)"),a("#gd-vde
1sc").innerHTML="<b>Blocked before merge.</b> 5 findings â reasoning and production arithmetic on each.",c.forEach(e=>{let t=document.createElement("div");t.className="finding in",t.innerHTML='<span class="sev '.concat(e[0],'">').concat(u(e[0]),'</span><div class="txt"><span class="cat">').concat(e[1],"</span>").concat(e[2],"</div>"),a("#gd-findings").appendChild(t)}));f(),p(300,()=>(e=>{let t="validate_ai_output(charge.py)",i=0,n=()=>{i<=t.length?(a("#gd-cmd").innerHTML=t.slice(0,i)+'<span class="caret"></span>',i++,p(38,n)):(a("#gd-cmd").innerHTML=m,e())};n()})(()=>{p(250,()=>{a("#gd-stagetag").innerHTML='running <span class="gate">17 reality gates</span> + frontier reviewâ¦',b(()=>{a("#gd-stagetag").innerHTML='<span class="gate">code_reality_gate</span> vetoed \xb7 +4 findings',a("#gd-badge").className="badge rej",a("#gd-badge").textContent="Rejected",a("#gd-vdesc").innerHTML="<b>Blocked before merge.</b> Deterministic gates first, then the model â the veto stands.",v(70,"var(--gd-crit)"),c.forEach((e,t)=>p(430*t,()=>{let t=document.createElement("div");t.className="finding",t.innerHTML='<span class="sev '.concat(e[0],'">').concat(u(e[0]),'</span><div class="txt"><span class="cat">').concat(e[1],"</span>").concat(e[2],"</div>"),a("#gd-findings").appendChild(t),requestAnimationFrame(()=>t.classList.add("in"))}))})})})),p(6600,()=>{a("#gd-stagetag").innerHTML="developer applies the fixesâ¦",a("#gd-codestate").textContent="\xb7 fixed",a("#gd-code").style.opacity="0",p(520,()=>{a("#gd-code").innerHTML=l(r),a("#gd-code").style.opacity="1"})}),p(7700,()=>{a("#gd-stagetag").innerHTML="re-validatingâ¦",b(()=>{a("#gd-findings").style.display="none",a("#gd-badge").className="badge app",a("#gd-badge").textContent="Approved",a("#gd-vdesc").style.display="none",a("#gd-stagetag").innerHTML='all gates <span class="gate">passed</span> \xb7 frontier review clear',a("#gd-approved").style.display="flex",v(91,"var(--gd-ok)")})}),p(14600,w)},y=a(".replay"),j=()=>{x(),w()};return y.addEventListener("click",j),w(),()=>{x(),y.removeEventListener("click",j)}},[]),(0,i.jsxs)("div",{className:"gatedemo",ref:e,children:[(0,i.jsx)("style",{dangerouslySetInnerHTML:{__html:'\n.gatedemo{--gd-bg:#080A08;--gd-panel:#0E120C;--gd-panel2:#11150E;--gd-line:#20261E;--gd-line2:#2b3325;\n --gd-ink:#E9ECE6;--gd-muted:#8f988c;--gd-faint:#5c655a;--gd-lime:#8CCB43;\n --gd-crit:#ff5c5c;--gd-high:#ff9f45;--gd-med:#e8c547;--gd-ok:#8CCB43;\n --gd-mono:"Cascadia Code","JetBrains Mono","SF Mono",ui-monospace,Menlo,Consolas,monospace;\n --gd-ui:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;\n position:relative;border-radius:16px;padding:26px;\n background:radial-gradient(1000px 500px at 82% -12%,rgba(140,203,67,.09),transparent 60%),var(--gd-bg);\n border:1px solid var(--gd-line);color:var(--gd-ink);font-family:var(--gd-ui)}\n.gatedemo *{box-sizing:border-box}\n.gatedemo .topline{display:flex;align-items:center;gap:12px;margin:0 2px 14px}\n.gatedemo .brand{display:flex;align-items:center;gap:9px;font-family:var(--gd-mono);font-weight:700}\n.gatedemo .brand .mark{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;\n background:linear-gradient(145deg,#0E120C,#161c11);border:1px solid var(--gd-line2);color:var(--gd-lime);font-size:13px}\n.gatedemo .brand b{color:var(--gd-ink);font-size:15px}\n.gatedemo .topline .sep{color:var(--gd-faint)}\n.gatedemo .topline .sub{font-size:12.5px;color:var(--gd-muted);font-family:var(--gd-mono)}\n.gatedemo .live{margin-left:auto;display:flex;align-items:center;gap:7px;font-family:var(--gd-mono);font-size:11px;\n color:var(--gd-muted);text-transform:uppercase;letter-spacing:.12em}\n.gatedemo .live .dot{width:7px;height:7px;border-radius:50%;background:var(--gd-lime);animation:gd-pulse 2s infinite}\n@keyframes gd-pulse{0%{box-shadow:0 0 0 0 rgba(140,203,67,.5)}70%{box-shadow:0 0 0 7px rgba(140,203,67,0)}100%{box-shadow:0 0 0 0 rgba(140,203,67,0)}}\n.gatedemo .console{border:1px solid var(--gd-line);border-radius:13px;overflow:hidden;background:var(--gd-panel);\n box-shadow:0 30px 70px -34px rgba(0,0,0,.8)}\n.gatedemo .chrome{display:flex;align-items:center;gap:8px;padding:11px 14px;background:#0b0f09;border-bottom:1px solid var(--gd-line)}
1\n.gatedemo .chrome i{width:11px;height:11px;border-radius:50%;display:inline-block;background:#2c3327}\n.gatedemo .chrome i.r{background:#42322f}.gatedemo .chrome i.y{background:#3d3a2b}.gatedemo .chrome i.g{background:#2c3a26}\n.gatedemo .chrome .cmd{margin-left:10px;font-family:var(--gd-mono);font-size:12.5px;color:var(--gd-muted);white-space:nowrap;overflow:hidden}\n.gatedemo .chrome .cmd .fn{color:var(--gd-lime)}.gatedemo .chrome .cmd .arg{color:var(--gd-ink)}\n.gatedemo .caret{display:inline-block;width:8px;height:15px;vertical-align:-2px;background:var(--gd-lime);margin-left:2px;animation:gd-blink 1s steps(1) infinite}\n@keyframes gd-blink{50%{opacity:0}}\n.gatedemo .grid{display:grid;grid-template-columns:1.05fr .95fr;min-height:430px}\n@media(max-width:760px){.gatedemo .grid{grid-template-columns:1fr}}\n.gatedemo .pane{padding:18px 20px}\n.gatedemo .code{border-right:1px solid var(--gd-line);position:relative;background:linear-gradient(180deg,rgba(255,255,255,.015),transparent 120px)}\n@media(max-width:760px){.gatedemo .code{border-right:none;border-bottom:1px solid var(--gd-line)}}\n.gatedemo .pane-label{font-family:var(--gd-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gd-faint);margin-bottom:12px;display:flex;gap:8px;align-items:center}\n.gatedemo .pane-label .fdot{width:6px;height:6px;border-radius:50%;background:var(--gd-faint)}\n.gatedemo pre{margin:0;font-family:var(--gd-mono);font-size:13px;line-height:1.62;color:#cdd4c8;tab-size:4;white-space:pre;overflow-x:auto}\n.gatedemo pre .ln{color:#39412f;user-select:none;display:inline-block;width:1.6em;text-align:right;margin-right:14px}\n.gatedemo .kw{color:#a7bfe0}.gatedemo .st{color:#c7d98a}\n.gatedemo .flag{background:rgba(255,92,92,.14);border-bottom:1.5px dashed rgba(255,92,92,.6);border-radius:2px;padding:0 2px}\n.gatedemo .codeblock{transition:opacity .5s ease}\n.gatedemo .scan{position:absolute;left:0;right:0;top:0;height:64px;pointer-events:none;opacity:0;\n background:linear-gradient(180deg,transparent,rgba(140,203,67,.16),transparent);box-shadow:0 0 24px rgba(140,203,67,.25)}\n.gatedemo .scan.run{animation:gd-sweep 1.15s ease-in-out}\n@keyframes gd-sweep{0%{opacity:0;top:-64px}12%{opacity:1}88%{opacity:1}100%{opacity:0;top:100%}}\n.gatedemo .verdict{background:var(--gd-panel2);display:flex;flex-direction:column}\n.gatedemo .vhead{display:flex;align-items:center;gap:14px;margin-bottom:16px}\n.gatedemo .ring{position:relative;width:74px;height:74px;flex:none}\n.gatedemo .ring svg{transform:rotate(-90deg)}\n.gatedemo .ring .val{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--gd-mono);font-weight:700;font-size:20px;font-variant-numeric:tabular-nums}\n.gatedemo .badge{display:inline-flex;align-items:center;gap:7px;font-family:var(--gd-mono);font-weight:700;font-size:13px;letter-spacing:.06em;padding:5px 11px;border-radius:7px;text-transform:uppercase;transition:.35s}\n.gatedemo .badge.rej{color:#ffd9d9;background:rgba(255,92,92,.13);border:1px solid rgba(255,92,92,.35)}\n.gatedemo .badge.app{color:#e6ffcf;background:rgba(140,203,67,.14);border:1px solid rgba(140,203,67,.4)}\n.gatedemo .vmeta{min-width:0}\n.gatedemo .vmeta .desc{margin-top:8px;font-size:12.5px;color:var(--gd-muted);line-height:1.5}\n.gatedemo .vmeta .desc b{color:var(--gd-ink);font-weight:600}\n.gatedemo .stage-tag{font-family:var(--gd-mono);font-size:11px;color:var(--gd-faint);margin-bottom:12px;min-height:14px}\n.gatedemo .stage-tag .gate{color:var(--gd-lime)}\n.gatedemo .findings{display:flex;flex-direction:column;gap:9px;overflow:hidden}\n.gatedemo .finding{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:start;padding:10px 12px;border:1px solid var(--gd-line);border-radius:9px;background:#0d110b;opacity:0;transform:translateY(6px);transition:opacity .4s ease,transform .4s ease}\n.gatedemo .finding.in{opacity:1;transform:none}\n.gatedemo .sev{font-family:var(--gd-mono);font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 7px;border-radius:5px;white-space:nowrap;margin-top:1px}\n.gatedemo .sev.crit{color:var(--gd-crit);background:rgba(255,92,92,.13);border:1px solid rgba(255,92,92,.3)}\n.gatedemo .sev.high{color:var(--gd-high);background:rgba(255,159,69,.12);border:1px solid rgba(255,159,69,.28)}\n.gatedemo .sev.med{color:var(--gd-med);background:rgba(232,197,71,.11);border:1px solid rgba(232,197,71,.26)}\n.gatedemo .finding .txt{font-size:12.3px;line-height:1.5;color:#c6cdbf}\n.gatedemo .finding .txt .cat{color:var(--gd-muted);font-family:var(--gd-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;margin-right:6px}\n.gatedemo .finding .txt code{font-family:var(--gd-mono);font-size:11.5px;color:#d7dccb}\n.gatedemo .approved-note{display:none;align-items:center;gap:12px;padding:16px;border:1px solid rgba(140,203,67,.3);border-radius:10px;background:rgba(140,203,67,.06)}\n.gatedemo .approved-note .big{font-family:var(--gd-mono);font-weight:700;color:var(--gd-lime);font-size:14px}\n.gatedemo .approved-note .s{font-size:12.5px;color:var(--gd-muted);line-height:1.5;margin-top:3px}\n.gatedemo .approved-note .chk{width:34px;height:34px;flex:none;border-radius:8px;display:grid;place-items:center;background:rgba(140,203,67,.14);border:1px solid rgba(140,203,67,.35);color:var(--gd-lime);font-size:18px}\n.gatedemo .footer{display:flex;align-items:center;gap:14px;margin:16px 2px 0;flex-wrap:wrap}\n.gatedemo .cap{font-size:12.5px;color:var(--gd-muted);line-height:1.5;flex:1;min-width:240px}\n.gatedemo .cap b{color:var(--gd-ink);font-weight:600}\n.gatedemo button.replay{font-family:var(--gd-mono);font-size:12px;color:var(--gd-muted);background:#0d110b;border:1px solid var(--gd-line);padding:7px 13px;border-radius:8px;
1cursor:pointer;transition:.2s}\n.gatedemo button.replay:hover{color:var(--gd-ink);border-color:var(--gd-line2)}\n.gatedemo button.replay:focus-visible{outline:2px solid var(--gd-lime);outline-offset:2px}\n@media (prefers-reduced-motion: reduce){.gatedemo .scan,.gatedemo .live .dot,.gatedemo .caret{animation:none!important}.gatedemo .finding{transition:none}}\n'}}),(0,i.jsxs)("div",{className:"topline",children:[(0,i.jsxs)("span",{className:"brand",children:[(0,i.jsx)("span",{className:"mark",children:"â"}),(0,i.jsx)("b",{children:"Verificate\xa0MCP"})]}),(0,i.jsx)("span",{className:"sep",children:"\xb7"}),(0,i.jsx)("span",{className:"sub",children:"the merge gate for AI-written code"}),(0,i.jsxs)("span",{className:"live",children:[(0,i.jsx)("span",{className:"dot"})," live verdict"]})]}),(0,i.jsxs)("div",{className:"console",role:"img","aria-label":"Verificate MCP validating AI-written payment code: rejected at 70, then approved at 91 after fixes.",children:[(0,i.jsxs)("div",{className:"chrome",children:[(0,i.jsx)("i",{className:"r"}),(0,i.jsx)("i",{className:"y"}),(0,i.jsx)("i",{className:"g"}),(0,i.jsx)("span",{className:"cmd",id:"gd-cmd"})]}),(0,i.jsxs)("div",{className:"grid",children:[(0,i.jsxs)("div",{className:"pane code",children:[(0,i.jsxs)("div",{className:"pane-label",children:[(0,i.jsx)("span",{className:"fdot"})," charge.py ",(0,i.jsx)("span",{id:"gd-codestate",style:{color:"var(--gd-faint)"},children:"\xb7 from your AI assistant"})]}),(0,i.jsx)("div",{className:"scan",id:"gd-scan"}),(0,i.jsx)("pre",{className:"codeblock",id:"gd-code"})]}),(0,i.jsxs)("div",{className:"pane verdict",children:[(0,i.jsx)("div",{className:"stage-tag",id:"gd-stagetag",children:"\xa0"}),(0,i.jsxs)("div",{className:"vhead",children:[(0,i.jsxs)("div",{className:"ring",children:[(0,i.jsxs)("svg",{width:"74",height:"74",viewBox:"0 0 74 74",children:[(0,i.jsx)("circle",{cx:"37",cy:"37",r:"31",fill:"none",stroke:"#20261E",strokeWidth:"6"}),(0,i.jsx)("circle",{id:"gd-ringfg",cx:"37",cy:"37",r:"31",fill:"none",stroke:"var(--gd-crit)",strokeWidth:"6",strokeLinecap:"round",strokeDasharray:"195",strokeDashoffset:"195"})]}),(0,i.jsx)("div",{className:"val",id:"gd-score",children:"â"})]}),(0,i.jsxs)("div",{className:"vmeta",children:[(0,i.jsx)("span",{className:"badge rej",id:"gd-badge",children:"Runningâ¦"}),(0,i.jsx)("div",{className:"desc",id:"gd-vdesc",children:"17 deterministic reality gates, then a frontier-model review. The gates hold veto power the model can't override."})]})]}),(0,i.jsx)("div",{className:"findings",id:"gd-findings"}),(0,i.jsxs)("div",{className:"approved-note",id:"gd-approved",children:[(0,i.jsx)("div",{className:"chk",children:"â"}),(0,i.jsxs)("div",{children:[(0,i.jsx)("div",{className:"big",children:"Approved \xb7 91.2 / 100"}),(0,i.jsx)("div",{className:"s",children:"Integer cents, idempotency key, error handling and PaymentIntent (SCA) â every blocker cleared. Safe to merge."})]})]})]})]})]}),(0,i.jsxs)("div",{className:"footer",children:[(0,i.jsxs)("div",{className:"cap",children:[(0,i.jsx)("b",{children:"Real output from the live server."})," 12 lines of AI-written payment code, gated in seconds â the bugs that pass every test, caught before they ship."]}),(0,i.jsx)("button",{className:"replay",type:"button",children:"â» Replay"})]})]})}var E=a(7569),_=a(8558),B=a(8300);let S={hidden:{opacity:0,y:18},show:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return{opacity:1,y:0,transition:{duration:.5,delay:.06*e}}}},M=[{icon:d.A,title:"It dies at real traffic",body:"AI-written code is instant with one user. Blocking I/O, hidden O(N) network storms and thread-pool starvation don't exist until real users arrive â then they're all that exists.",quote:"âFor 100 items, this results in 100 sequential HTTP roundtrips, taking ~10â20 seconds and blocking the event loop/worker thread.â"},{icon:l.A,title:"It breaks when anything fails",body:"Generated code follows the happy path. Production doesn't: partial failures, missing transaction boundaries and retry storms corrupt real data in week one.",quote:"âScales O(N) with batch size, and will trigger Stripe rate limiting (100 req/sec limit)⦠a single API failure causes partial updates and leaves the system in an inconsistent state.â"},{icon:c.A,title:"It's built on APIs that don't exist",body:"Models invent SDK calls and get provider rules wrong â with total confidence. Checking that is the research an experienced engineer does before shipping.",quote:"âstripe.Inventory is not a valid Stripe SDK resource⦠floating-point representation issues lead to rounding errors;
1 Stripe API requires integer cents.â"}],L=[{sev:"high",find:"N+1 synchronous API calls â O(N) blocking path; 100 items â 100 roundtrips, ~10â20 s, blocks the worker thread; trips Stripe's 100 req/s limit",tag:"performance"},{sev:"high",find:"float for currency â rounding errors in financial transactions; Stripe requires integer cents",tag:"domain reality"},{sev:"high",find:"stripe.Inventory does not exist in the Stripe SDK â hallucinated API",tag:"SDK reality"},{sev:"medium",find:"No exception handling or transaction boundaries â one failure leaves partial, inconsistent state",tag:"failure modes"},{sev:"critical",find:"Refund path returns success without moving money â rejected outright by the delivery-assurance checks",tag:"reality check"}],T=[{name:"Incomplete & mock implementations",body:"Mocks, placeholders and NotImplemented paths dressed up as done are rejected â blocking, not advisory."},{name:"Hallucinated APIs & dependencies",body:"Calls to SDK resources, packages or endpoints that don't exist are surfaced before they reach a human reviewer."},{name:"False completion claims",body:"The agent cannot claim work is finished â completion must be provable against what actually changed."},{name:"Manipulation & reward-gaming",body:"Score manipulation, artificial confidence patterns and self-passing tests are detected and rejected."},{name:"Bypass attempts",body:"Attempts to slip work around the validation flow are rejected outright."},{name:"Session integrity",body:"Loop detection and manipulation scoring across the whole agent session, not just one output."}],D=[{icon:m.A,name:"generate_code",body:"Produce code that is checked against your real codebase and constraints before it is returned."},{icon:g.A,name:"validate_plan",body:"Score an AI plan for feasibility and grounding before any work begins."},{icon:h.A,name:"analyze_code",body:"Performance, scalability, reliability and tech-debt analysis informed by the ISO/IEC 25010:2023 quality model â the deep-review pass, on demand."},{icon:p.A,name:"validate_ai_output",body:"Gate any model output: deterministic delivery-assurance checks first (any one can block), then the engineering review scores what survives."}],P=[{name:"GitHub Action",key:"github-action",href:"https://github.com/marketplace/actions/verificate-gate",body:"Verificate Gate as a required check on every pull request â a rejected change blocks the merge until it's fixed.",external:!0},{name:"LangChain",key:"langchain",href:"https://github.com/Verificate-Dev/verificate-langchain",body:"Gate agent and chain outputs inside LangChain pipelines before they reach downstream systems.",external:!0},{name:"OpenClaw Guard",key:"openclaw-guard",href:"https://clawhub.ai/verificate/plugins/openclaw-guard",body:"A trust layer for OpenClaw agents â every risky action passes the Gate first.",external:!0},{name:"MCP clients & IDEs",key:"mcp-clients",href:"#install",body:"Claude Code, Cursor, Windsurf, VS Code, LM Studio, Goose and any MCP client â MCP is the integration transport.",external:!1}],G="eyJ1cmwiOiJodHRwczovL21jcC52ZXJpZmljYXRlLmFpL21jcCJ9",q=encodeURIComponent(JSON.stringify({type:"http",url:A.LJ})),O=[{name:"Cursor",href:"https://cursor.com/en/install-mcp?name=verificate&config=".concat(G)},{name:"VS Code",href:"https://vscode.dev/redirect/mcp/install?name=verificate&config=".concat(q)},{name:"VS Code Insiders",href:"https://insiders.vscode.dev/redirect/mcp/install?name=verificate&config=".concat(q)},{name:"LM Studio",href:"lmstudio://add_mcp?name=verificate&config=".concat(G)},{name:"Goose",href:"goose://extension?url=".concat(encodeURIComponent(A.LJ),"&type=streamable_http&id=verificate&name=Verificate&description=").concat(encodeURIComponent("Quality gate for AI-written software"))}],R='{\n "mcpServers": {\n "verificate": {\n "url": "'.concat(A.LJ,'",\n "transport": "http"\n }\n }\n}');function H(){let[e,t]=(0,s.useState)(!1),a=()=>{var e;(0,E.sn)("gate","json"),null==(e=navigator.clipboard)||e.writeText(R).then(()=>{t(!0),setTimeout(()=>t(!1),1800)})};return(0,i.jsxs)("div",{className:"bg-[#080A08] text-white/85 min-h-screen antialiased",children:[(0,i.jsx)(_.A,{title:"Verificate Gate â Check AI-written work before you accept it",description:"Review AI-written code and plans with Verificate Gate. Get a verdict, clear findings and remediation guidance before accepting work or merging a change.",path:"/gate",image:"https://verificate.ai/og-mcp.png",jsonLd:(0,B.aJ)({name:"Verificate Gate",description:"The hard quality gate for AI-written software: deterministic agent-delivery-assurance checks plus an engineering review informed by ISO/IEC 25010, integrated into pull requests, CI/CD, agent workflows and MCP clients.",path:"/gate",category:"DeveloperApplication",installUrl:B.Ec.githubMarketplace,sameAs:[B.Ec.githubMarketplace,B.Ec.clawhubGuard,B.Ec.glama,B.Ec.gateActionRepo,B.Ec.mcpQuickstart]})}),(0,i.jsx)(A.Nv,{}),(0,i.jsxs)("main",{id:"main-content",children:[(0,i.jsxs)("div",{className:"relative overflow-hidden",children:[(0,i.jsx)("div",{className:"absolute -top-40 right-[-10%] w-[55%] h-[55%] rounded-full opacity-[0.15] pointer-events-none",style:{background:"radial-gradient(circle,#8CCB43 0%,rgba(140,203,67,0) 68%)"}}),(0,i.jsxs)(A.wn,{className:"relative pt-28 pb-12 sm:pt-36 sm:pb-16",children:[(0,i.jsx)(o.P.div,{initial:"hidden",animate:"show",variants:S,children:(0,i.jsx)(A.YZ,{children:"Verificate Gate \xb7 for software buyers and developer teams"})}),(0,i.jsxs)("h1",{className:"mt-6 text-4xl sm:text-5xl md:text-6xl font-bold tracking-tight text-white leading-[1.06] max-w-4xl",children:["Check AI-written work",(0,i.jsx)("br",{}),(0,i.jsx)("span",{className:"text-[#b2df85]",children:"before you accept it."})]}),(0,i.jsx)("p",{className:"mt-6 text-lg md:text-xl text-white/60 max-w-2xl leading-relaxed",children:"Whether you commission software or build it yourself, a convincing demo is not enough. Verificate Gate reviews AI-written code and plans, returning a verdict, findings and practical next steps. Deterministic checks and a model-assisted engineering review help you decide what needs attention before accepting or shipping work."}),(0,i.jsx)(o.P.div,{initial:"hidden",animate:"show",custom:2,variants:S,className:"mt-9 grid gap-3 sm:grid-cols-2 max-w-2xl",children:[["Is my data safe?","Security"],["Does it actually work, not just demo?","Reliability"],["Will it scale, or burn cloud money?","Performance"],["Can another team take it over?","Maintainability"]].map(e=>
1{let[t,a]=e;return(0,i.jsxs)("div",{className:"rounded-xl border border-white/[0.08] bg-[#0E120C] px-4 py-3.5",children:[(0,i.jsx)("div",{className:"text-[15px] font-semibold text-white leading-snug",children:t}),(0,i.jsx)("div",{className:"mt-1 font-mono text-[11px] uppercase tracking-wider text-[#8CCB43]/80",children:a})]},a)})}),(0,i.jsxs)(o.P.div,{initial:"hidden",animate:"show",custom:3,variants:S,className:"mt-8 flex flex-wrap gap-4",children:[(0,i.jsxs)(r(),{href:"/scan",onClick:()=>(0,E.sn)("gate","try_scan_cta"),className:"inline-flex items-center gap-2 px-5 py-3 rounded-lg bg-[#8CCB43] hover:bg-[#7cbb37] text-[#0A0D0A] font-semibold transition-colors",children:[(0,i.jsx)(x.A,{className:"w-4 h-4"})," Grade your code, free"]}),(0,i.jsx)("a",{href:"#what",className:"inline-flex items-center gap-2 px-5 py-3 rounded-lg border border-white/15 text-white hover:border-[#8CCB43]/60 hover:text-[#8CCB43] font-semibold transition-colors",children:"See what it catches"}),(0,i.jsxs)("a",{href:"#install",onClick:()=>(0,E.sn)("gate","install_cta"),className:"inline-flex items-center gap-2 px-5 py-3 rounded-lg border border-white/15 text-white hover:border-[#8CCB43]/60 hover:text-[#8CCB43] font-semibold transition-colors",children:[(0,i.jsx)(u.A,{className:"w-4 h-4"})," For developers: install the Gate"]}),(0,i.jsx)(r(),{href:"/docs/gate",className:"vf-action vf-action-secondary",children:"Setup & verdict guide"}),(0,i.jsx)(r(),{href:"/contact?interest=gate",className:"vf-action vf-action-secondary",children:"Discuss your review workflow"})]})]})]}),(0,i.jsx)(A.wn,{className:"pb-8 -mt-4",children:(0,i.jsx)(o.P.div,{initial:"hidden",whileInView:"show",viewport:{once:!0,margin:"-80px"},variants:S,children:(0,i.jsx)(I,{})})}),(0,i.jsxs)(A.wn,{className:"py-16 border-t border-white/[0.06]",children:[(0,i.jsx)(A.YZ,{children:"The delivery gap"}),(0,i.jsx)("h2",{className:"mt-5 text-3xl md:text-4xl font-bold text-white tracking-tight max-w-3xl",children:"AI generation is cheap. Verification is the bottleneck."}),(0,i.jsxs)("p",{className:"mt-4 text-white/55 max-w-2xl text-[15px] leading-relaxed",children:["AI coding is generating more code, faster â and the burden lands on human review. Review fatigue is real. Verificate Gate is an AI-powered continuous-integration gate: ",(0,i.jsx)("span",{className:"text-white",children:"17 separate modules"}),", each targeting a different form of hallucination, plus automated checks across the four ISO/IEC 5055 areas â security, reliability, performance efficiency and maintainability."]}),(0,i.jsxs)("p",{className:"mt-3 text-white/55 max-w-2xl text-[15px] leading-relaxed",children:["Three classes of defect never show while you're demoing â and always show when real users, real money and real traffic arrive. Each quote below is a ",(0,i.jsx)("span",{className:"text-white",children:"verbatim finding"})," ","from a real validation run against this production gateway."," ",(0,i.jsx)(r(),{href:"/scan",className:"text-[#8CCB43] hover:underline",children:"Try the Gate now â paste code, get a Grade"})," â within the first minute it can surface the performance and reliability issues that decide whether your application scales."]}),(0,i.jsx)("div",{className:"mt-10 grid gap-6 lg:grid-cols-3",children:M.map((e,t)=>(0,i.jsxs)(o.P.div,{initial:"hidden",whileInView:"show",viewport:{once:!0,margin:"-60px"},custom:t,variants:S,className:"rounded-2xl border border-white/[0.08] bg-[#0E120C] p-7 flex flex-col",children:[(0,i.jsx)("div",{className:"w-10 h-10 rounded-lg bg-[#15200D] border border-[#2C3D1B] flex items-center justify-center text-[#8CCB43]",children:(0,i.jsx)(e.icon,{className:"w-5 h-5"})}),(0,i.jsx)("h3",{className:"mt-4 text-lg font-bold text-white",children:e.title}),(0,i.jsx)("p",{className:"mt-2 text-[14px] text-white/55 leading-relaxed",children:e.body}),(0,i.jsx)("blockquote",{className:"mt-4 pt-4 border-t border-white/[0.06] text-[13px] leading-relaxed text-[#8CCB43]/90 font-mono",children:e.quote})]},e.title))})]}),(0,i.jsxs)(A.wn,{className:"py-16 border-t border-white/[0.06]",children:[(0,i.jsx)(A.YZ,{children:"How it works"}),(0,i.jsx)("h2",{className:"mt-5 text-3xl md:text-4xl font-bold text-white tracking-tight max-w-3xl",children:"Deterministic assurance first. Engineering review second. Standards coverage as a roadmap."}),(0,i.jsxs)("div",{className:"mt-10 grid gap-6 lg:grid-cols-3",children:[(0,i.jsxs)("div",{className:"rounded-2xl border border-[#2C3D1B] bg-[#12190C] p-7",children:[(0,i.jsxs)("div",{className:"flex items-center justify-between",children:[(0,i.jsx)("div",{className:"w-10 h-10 rounded-lg bg-[#15200D] border border-[#2C3D1B] flex items-center justify-center text-[#8CCB43]",children:(0,i.jsx)(p.A,{className:"w-5 h-5"})}),(0,i.jsx)("span",{className:"font-mono text-[11px] text-[#8CCB43]",children:"LAYER 1 \xb7 TODAY"})]}),(0,i.jsx)("h3",{className:"mt-4 text-lg font-bold text-white",children:"Agent Delivery Assurance"}),(0,i.jsx)("p",{className:"mt-2 text-[14px] text-white/55 leading-relaxed",children:"Deterministic checks built for AI-native delivery failures that traditional static-analysis rules may not capture: incomplete or mock implementations, hallucinated dependencies, reward-gaming, bypass attempts, and false completion claims. Any one can block the output."})]}),(0,i.jsxs)("div",{className:"rounded-2xl border border-white/[0.08] bg-[#0E120C] p-7",children:[(0,i.jsxs)("div",{className:"flex items-center justify-between",children:[(0,i.jsx)("div",{className:"w-10 h-10 rounded-lg bg-[#15200D] border border-[#2C3D1B] flex items-center justify-center text-[#8CCB43]",children:(0,i.jsx)(f.A,{className:"w-5 h-5"})}),(0,i.jsx)("span",{className:"font-mono text-[11px] text-white/45",children:"LAYER 2 \xb7 TODAY"})]}),(0,i.jsx)("h3",{className:"mt-4 text-lg font-bold text-white",children:"Engineering Quality Review"}),(0,i.jsx)("p",{className:"mt-2 text-[14px] text-white/55 leading-relaxed",children:"An advisory review informed by the ISO/IEC 25010:2023 product-quality model â performance, reliability, scalability, maintainability â that organises findings, risks and remediation recommendations on whatever survives the deterministic layer."})]}),(0,i.jsxs)("div",{className:"rounded-2xl border border-[#4A3A18] bg-[#0E120C] p-7",children:[(0,i.jsxs)("div",{className:"flex items-center justify-between",children:[(0,i.jsx)("div",{className:"w-10 h-10 rounded-lg bg-[#241C0C] border border-[#4A3A18] flex items-center justify-center text-[#E0A94A]",children:(0,i.jsx)(b.A,{className:"w-5 h-5"})}),(0,i.jsxs)("span",{className:"font-mono text-[11px] text-[#E0A94A]",children:["LAYER 3 \xb7 ROADMAP ",(0,i.jsx)(A.y0,{kind:"R"})]})]}),(0,i.jsx)("h3",{className:"mt-4 text-lg font-bold text-white",children:"Structural Code Quality"}),(0,i.jsx)("p",{className:"mt-2 text-[14px] text-white/55 leading-relaxed",children:"Verificate Gate is building toward an ISO/IEC 5055-aligned hard gate for AI-written software: source-code quality measures for reliability, security, performance efficiency, and maintainability. A roadmap â not a claim of conformance or complete coverage today."})]})]})]}),(0,i.jsxs)(A.wn,{id:"what",className:"py-16 border-t border-white/[0.06]",children:[(0,i.jsx)(A.YZ,{children:"What it catches"}),(0,i.jsx)("h2",{className:"mt-5 text-3xl md:text-4xl font-bold text-white tracking-tight max-w-3xl",children:"12 plausible lines. Rejected in seconds, with the latency math to prove it."}),(0,i.jsx)("p",{className:"mt-4 text-white/55 max-w-2xl text-[15px] leading-relaxed",children:"This snippet demos perfectly and reads fine in a diff. Every defect in it surfaces after launch â as missing money, a reconciliation mismatch, or an intermittent 429 nobody can reproduce."}),(0,i.jsxs)("div",{className:"mt-10 grid gap-6 lg:grid-cols-2",children:[(0,i.jsxs)("div",{className:"rounded-2xl border border-white/[0.08] bg-[#0C0F0A] overflow-hidden",children:[(0,i.jsx)("div",{className:"px-5 py-3 border-b border-white/[0.06] font-mono text-xs text-white/45",children:"what the assistant wrote"}),(0,i.jsx)("pre",{className:"px-5 py-4 overflow-x-auto text-[12.5px] leading-relaxed font-mono text-white/75",children:(0,i.jsx)("code",{children:'import stripe\n\ndef process_refund(order_id: str, amount: float):\n """Refund a customer order."""\n # TODO: wire up real refund later â return success for now so tests pass\n return {"status": "refunded", "order_id": order_id}
1\n\ndef sync_inventory(items):\n # Simulated inventory sync (mock until the ERP API is ready)\n for item in items:\n stripe.Inventory.update(item["sku"], quantity=item["qty"])\n return True'})})]}),(0,i.jsxs)("div",{className:"rounded-2xl border border-red-500/20 bg-[#120C0C] overflow-hidden",children:[(0,i.jsxs)("div",{className:"flex items-center justify-between px-5 py-3 border-b border-white/[0.06]",children:[(0,i.jsx)("span",{className:"font-mono text-xs text-white/45",children:"validate_ai_output \xb7 production gateway"}),(0,i.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-xs font-bold text-red-400",children:[(0,i.jsx)(v.A,{className:"w-3.5 h-3.5"})," REJECTED â 30.8/100"]})]}),(0,i.jsx)("ul",{className:"px-5 py-4 space-y-3",children:L.map(e=>(0,i.jsxs)("li",{className:"flex gap-3 text-[13.5px] leading-snug",children:[(0,i.jsx)(w.A,{className:"w-4 h-4 flex-shrink-0 mt-0.5 ".concat("critical"===e.sev?"text-red-400":"high"===e.sev?"text-amber-400":"text-yellow-200/70")}),(0,i.jsx)("span",{className:"text-white/70",children:e.find}),(0,i.jsx)("span",{className:"ml-auto flex-shrink-0 font-mono text-[11px] text-white/35 text-right",children:e.tag})]},e.find))})]})]}),(0,i.jsx)("div",{className:"mt-10 grid gap-4 sm:grid-cols-2 lg:grid-cols-3",children:T.map(e=>(0,i.jsxs)("div",{className:"rounded-xl border border-white/[0.08] bg-[#0E120C] px-5 py-4",children:[(0,i.jsx)("div",{className:"font-semibold text-[14px] text-white",children:e.name}),(0,i.jsx)("p",{className:"mt-1.5 text-[13.5px] text-white/55 leading-relaxed",children:e.body})]},e.name))})]}),(0,i.jsx)(A.wn,{className:"py-16 border-t border-white/[0.06]",children:(0,i.jsxs)("div",{className:"rounded-3xl border border-[#4A3A18] bg-gradient-to-b from-[#171208] to-[#0B0F0A] p-8 md:p-12",children:[(0,i.jsxs)("div",{className:"flex items-center gap-3",children:[(0,i.jsx)(A.YZ,{children:"Standards roadmap"}),(0,i.jsx)(A.y0,{kind:"R"})]}),(0,i.jsx)("h2",{className:"mt-5 text-3xl md:text-4xl font-bold text-white tracking-tight max-w-3xl",children:"Building toward an ISO/IEC 5055-aligned hard gate."}),(0,i.jsxs)("div",{className:"mt-8 grid gap-6 md:grid-cols-2",children:[(0,i.jsxs)("div",{className:"space-y-4 text-[15px] text-white/60 leading-relaxed",children:[(0,i.jsxs)("p",{children:[(0,i.jsx)("strong",{className:"text-white",children:"Target standard:"})," ISO/IEC 5055:2021 â automated source-code quality measures across four factors: ",(0,i.jsx)("strong",{className:"text-white/80",children:"reliability, security, performance efficiency, and maintainability"}),"."]}),(0,i.jsxs)("p",{children:[(0,i.jsx)("strong",{className:"text-white",children:"Where we are today:"})," deterministic Agent Delivery Assurance for AI-native failures, plus limited structural checks. The Gate's engineering review is informed by the ISO/IEC 25010:2023 product-quality model."]})]}),(0,i.jsxs)("div",{className:"space-y-4 text-[15px] text-white/60 leading-relaxed",children:[(0,i.jsxs)("p",{children:[(0,i.jsx)("strong",{className:"text-white",children:"Next validation state:"})," a rule-by-rule coverage audit, a supported-language matrix, policy thresholds, a reproducible benchmark method, and an independent validation plan."]}),(0,i.jsxs)("p",{children:[(0,i.jsx)("strong",{className:"text-white",children:"Validation partner:"})," formal validation and benchmark work are planned through the CSIRO Accelerate program, subject to project completion and publication approval."]})]})]}),(0,i.jsxs)("p",{className:"mt-6 text-xs text-white/40 max-w-3xl",children:["Roadmap statements are forward-looking. Verificate Gate does not currently claim ISO/IEC 5055 conformance, certification, or complete coverage of its measures â see"," ",(0,i.jsx)(r(),{href:"/legal",className:"underline hover:text-white/60",children:"claim substantiation"}),"."]})]})}),(0,i.jsxs)(A.wn,{id:"integrations",className:"py-16 border-t border-white/[0.06]",children:[(0,i.jsx)(A.YZ,{children:"Integrations"}),(0,i.jsx)("h2",{className:"mt-5 text-3xl md:text-4xl font-bold text-white tracking-tight max-w-3xl",children:"One gate, everywhere your AI delivers work."}),(0,i.jsx)("div",{className:"mt-10 grid gap-5 md:grid-cols-2",children:P.map(e=>(0,i.jsxs)("a",{href:e.href,...e.external?{target:"_blank",rel:"noopener noreferrer"}:{},onClick:()=>
1(0,E._X)("gate",e.key),className:"group rounded-2xl border border-white/[0.08] bg-[#0E120C] p-7 hover:border-[#8CCB43]/40 transition-colors",children:[(0,i.jsxs)("div",{className:"flex items-center gap-2.5",children:["github-action"===e.key?(0,i.jsx)(y.A,{className:"w-5 h-5 text-[#8CCB43]"}):(0,i.jsx)(u.A,{className:"w-5 h-5 text-[#8CCB43]"}),(0,i.jsx)("span",{className:"font-bold text-white",children:e.name}),e.external&&(0,i.jsx)(j.A,{className:"w-3.5 h-3.5 text-white/35 group-hover:text-[#8CCB43]"})]}),(0,i.jsx)("p",{className:"mt-3 text-[14.5px] text-white/55 leading-relaxed",children:e.body})]},e.key))}),(0,i.jsx)("p",{className:"mt-5 text-xs text-white/35 max-w-3xl",children:"GitHub, LangChain, OpenClaw, ClawHub and all other product names are trademarks of their respective owners, used for identification only â no endorsement or affiliation implied."}),(0,i.jsxs)("div",{className:"mt-12 rounded-2xl border border-white/[0.08] bg-[#0C0F0A] p-7",children:[(0,i.jsx)("div",{className:"font-mono text-[11px] uppercase tracking-wider text-white/40",children:"Find Verificate Gate where you already work"}),(0,i.jsxs)("ul",{className:"mt-4 grid gap-2.5 sm:grid-cols-2 text-[14px]",children:[(0,i.jsxs)("li",{children:[(0,i.jsx)("a",{href:B.Ec.githubMarketplace,target:"_blank",rel:"noopener noreferrer",onClick:()=>(0,E._X)("gate","listing_github_marketplace"),className:"text-[#8CCB43] hover:underline",children:"Verificate Gate on the GitHub Marketplace"})," ",(0,i.jsx)("span",{className:"text-white/40",children:"â the CI gate as a GitHub Action"})]}),(0,i.jsxs)("li",{children:[(0,i.jsx)("a",{href:B.Ec.glama,target:"_blank",rel:"noopener noreferrer",onClick:()=>(0,E._X)("gate","listing_glama"),className:"text-[#8CCB43] hover:underline",children:"Verificate MCP server on Glama"})," ",(0,i.jsx)("span",{className:"text-white/40",children:"â the MCP directory listing"})]}),(0,i.jsxs)("li",{children:[(0,i.jsx)("a",{href:B.Ec.clawhubGuard,target:"_blank",rel:"noopener noreferrer",onClick:()=>(0,E._X)("gate","listing_clawhub_guard"),className:"text-[#8CCB43] hover:underline",children:"OpenClaw Guard on ClawHub"})," ",(0,i.jsx)("span",{className:"text-white/40",children:"â the trust layer for OpenClaw agents"})]}),(0,i.jsxs)("li",{children:[(0,i.jsx)("a",{href:B.Ec.clawhubProfile,target:"_blank",rel:"noopener noreferrer",onClick:()=>(0,E._X)("gate","listing_clawhub_profile"),className:"text-[#8CCB43] hover:underline",children:"Verificate on ClawHub"})," ",(0,i.jsx)("span",{className:"text-white/40",children:"â skills & plugins profile"})]}),(0,i.jsxs)("li",{children:[(0,i.jsx)("a",{href:B.Ec.mcpQuickstart,target:"_blank",rel:"noopener noreferrer",onClick:()=>(0,E._X)("gate","listing_quickstart"),className:"text-[#8CCB43] hover:underline",children:"MCP quickstart on GitHub"})," ",(0,i.jsx)("span",{className:"text-white/40",children:"â config for Claude Code, Cursor & Windsurf"})]}),(0,i.jsxs)("li",{children:[(0,i.jsx)("a",{href:B.Ec.langchain,target:"_blank",rel:"noopener noreferrer",onClick:()=>(0,E._X)("gate","listing_langchain"),className:"text-[#8CCB43] hover:underline",children:"LangChain integration on GitHub"})," ",(0,i.jsx)("span",{className:"text-white/40",children:"â gate chains and agent outputs"})]})]})]})]}),(0,i.jsxs)(A.wn,{className:"py-16 border-t border-white/[0.06]",children:[(0,i.jsx)(A.YZ,{children:"What you plug in"}),(0,i.jsx)("h2",{className:"mt-5 text-3xl md:text-4xl font-bold text-white tracking-tight max-w-2xl",children:"Four tools. One promise: no output ships unchecked."}),(0,i.jsx)("div",{className:"mt-12 grid gap-6 md:grid-cols-2",children:D.map((e,t)=>(0,i.jsxs)(o.P.div,{initial:"hidden",whileInView:"show",viewport:{once:!0,margin:"-60px"},custom:t,variants:S,className:"rounded-2xl border border-white/[0.08] bg-[#0E120C] p-7",children:[(0,i.jsxs)("div",{className:"flex items-center gap-3",children:[(0,i.jsx)("div",{className:"w-10 h-10 rounded-lg bg-[#15200D] border border-[#2C3D1B] flex items-center justify-center text-[#8CCB43]",children:(0,i.jsx)(e.icon,{className:"w-5 h-5"})}),(0,i.jsx)("code",{className:"font-mono text-[15px] text-white",children:e.name})]}),(0,i.jsx)("p",{className:"mt-4 text-[15px] text-white/55 leading-relaxed",children:e.body})]},e.name))}),(0,i.jsxs)("p",{className:"mt-6 text-sm text-white/45",children:["Need a confidence score on chat or document answers instead? That is the"," ",(0,i.jsx)(r(),{href:"/inference",className:"text-[#8CCB43] hover:underline",children:"Verificate Helix"}),", a separate solution. New to validation gates? Start with the ",(0,i.jsx)(r(),{href:"/articles",className:"text-[#8CCB43] hover:underline",children:"setup and how-to articles"}),"."]})]}),(0,i.jsxs)(A.wn,{className:"py-16 border-t border-white/[0.06]",children:[(0,i.jsx)(A.YZ,{children:"Evidence & control"}),(0,i.jsx)("h2",{className:"mt-5 text-3xl md:text-4xl font-bold text-white tracking-tight max-w-3xl",children:"Every verdict is a record, not a vibe."}),(0,i.jsxs)("div",{className:"mt-10 grid gap-5 md:grid-cols-3",children:[(0,i.jsxs)("div",{className:"rounded-2xl border border-white/[0.08] bg-[#0E120C] p-7",children:[(0,i.jsx)("h3",{className:"font-bold text-white",children:"Audit-oriented verdicts"}),(0,i.jsx)("p",{className:"mt-2.5 text-[14px] text-white/55 leading-relaxed",children:"Each validation returns a verdict, scored findings, and remediation recommendations â a reviewable record of what was checked and why it passed or failed."})]}),(0,i.jsxs)("div",{className:"rounded-2xl border border-white/[0.08] bg-[#0E120C] p-7",children:[(0,i.jsx)("h3",{className:"font-bold text-white",children:"Measured against self-review"}),(0,i.jsxs)("p",{className:"mt-2.5 text-[14px] text-white/55 leading-relaxed",children:["In our published benchmark (six adversarial cases, reproducible methodology), a frontier model reviewing its own output in a natural workflow caught reward-gaming and hallucinated APIs 0 of 6 times; the Gate caught 6 of 6."," ",(0,i.jsx)("a",{href:"https://github.com/Verificate-Dev/verificate-mcp-quickstart/blob/master/COMPARISON.md",target:"_blank",rel:"noopener noreferrer",onClick:()=>(0,E.NI)("gate_benchmark"),className:"text-[#8CCB43] hover:underline",children:"Benchmark & scripts"}),". ",(0,i.jsx)(A.y0,{kind:"M"})]})]}),(0,i.jsxs)("div",{className:"rounded-2xl border border-white/[0.08] bg-[#0E120C] p-7",children:[(0,i.jsx)("h3",{className:"font-bold text-white",children:"Enterprise policy controls"}),(0,i.jsxs)("p",{className:"mt-2.5 text-[14px] text-white/55 leading-relaxed",children:["CI/CD policy enforcement, policy versioning, signed overrides and approver workflow are on the enterprise roadmap. ",(0,i.jsx)(A.y0,{kind:"R"})]})]})]})]}),(0,i.jsxs)(A.wn,{id:"install",className:"py-16 border-t border-white/[0.06]",children:[(0,i.jsx)(A.YZ,{children:"Install the Gate â 30 seconds, no signup"}),(0,i.jsxs)("div",{className:"mt-8 flex flex-wrap gap-3",children:[O.map(e=>(0,i.jsxs)("a",{href:e.href,onClick:()=>(0,E.sn)("gate","install_".concat(e.name.toLowerCase().replace(/\s+/g,"_"))),className:"inline-flex items-center gap-2 px-4 py-2.5 rounded-lg bg-[#15200D] border border-[#2C3D1B] text-[#8CCB43] hover:bg-[#1b2a11] font-semibold text-sm transition-colors",children:[(0,i.jsx)(u.A,{className:"w-4 h-4"})," Add to ",e.name]},e.name)),(0,i.jsx)("button",{onClick:a,className:"inline-flex items-center gap-2 px-4 py-2.5 rounded-lg border border-white/15 text-white hover:border-[#8CCB43]/60 hover:text-[#8CCB43] font-semibold text-sm transition-colors",children:e?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(N.A,{className:"w-4 h-4"})," Copied"]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(C.A,{className:"w-4 h-4"})," Copy config (any client)"]})})]}),(0,i.jsxs)("p",{className:"mt-4 text-sm text-white/45",children:["One-click opens the app ",(0,i.jsx)("span",{className:"text-white/70",children:"if it's already installed"})," (your browser may ask to launch it â allow it). Don't have that editor, or nothing happened? ",(0,i.jsx)("button",{onClick:a,className:"text-[#8CCB43] hover:underline",children:"Copy the config"})," and paste it into your client's MCP settings â that works everywhere. Claude Code is one line:"," ",(0,i.jsxs)("span",{className:"font-mono text-white/70 text-[13px]",children:["claude mcp add --trans
1port http verificate ",A.LJ]})]}),(0,i.jsx)("p",{className:"mt-2 text-sm text-white/45",children:"100 free validations per machine â no account, no card, no token. MCP is the integration transport; the product doing the checking is Verificate Gate."}),(0,i.jsxs)("div",{className:"mt-10 rounded-2xl border border-white/[0.08] bg-[#0C0F0A] overflow-hidden",children:[(0,i.jsxs)("div",{className:"flex items-center justify-between px-5 py-3 border-b border-white/[0.06]",children:[(0,i.jsx)("span",{className:"font-mono text-xs text-white/45",children:"mcp config \xb7 add to your client"}),(0,i.jsx)("button",{onClick:a,className:"inline-flex items-center gap-1.5 text-xs font-semibold text-[#8CCB43] hover:text-[#a5db6b] transition-colors",children:e?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(N.A,{className:"w-3.5 h-3.5"})," Copied"]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(C.A,{className:"w-3.5 h-3.5"})," Copy"]})})]}),(0,i.jsx)("pre",{className:"px-5 py-4 overflow-x-auto text-[13px] leading-relaxed font-mono text-white/80",children:(0,i.jsx)("code",{children:R})})]}),(0,i.jsxs)("p",{className:"mt-4 text-sm text-white/45",children:["That config alone gets you validating â the free tier needs no token. After the free 100,"," ",(0,i.jsx)(r(),{href:"/auth/signup",className:"text-[#8CCB43] hover:underline",children:"create an account"})," (30-day trial, no card) and add ",(0,i.jsxs)("span",{className:"font-mono text-[#8CCB43]",children:['"headers": ',"{",' "Authorization": "Bearer <YOUR_TOKEN>" ',"}"]})," to the same config to keep going."]})]}),(0,i.jsxs)(A.wn,{id:"pricing",className:"py-16 border-t border-white/[0.06]",children:[(0,i.jsx)(A.YZ,{children:"Pricing"}),(0,i.jsx)("h2",{className:"mt-5 text-3xl md:text-4xl font-bold text-white tracking-tight max-w-2xl",children:"Less than one engineer-hour a month."}),(0,i.jsxs)("div",{className:"mt-10 grid gap-6 md:grid-cols-2 max-w-3xl",children:[(0,i.jsxs)("div",{className:"rounded-2xl border border-[#2C3D1B] bg-[#0E120C] p-8",children:[(0,i.jsx)("div",{className:"font-mono text-xs uppercase tracking-wider text-[#8CCB43]",children:"Free trial"}),(0,i.jsx)("div",{className:"mt-3 text-4xl font-bold text-white",children:"30 days"}),(0,i.jsx)("p",{className:"mt-3 text-white/55 text-[15px] leading-relaxed",children:"Before that: 100 validations free on every machine, no account at all. Then sign up for full access to every tool and the governance checks â no card required."}),(0,i.jsx)("ul",{className:"mt-6 space-y-2.5 text-sm text-white/60",children:["All four validation tools","Connect unlimited MCP clients","Full delivery-assurance stack","Email support"].map(e=>(0,i.jsxs)("li",{className:"flex items-center gap-2",children:[(0,i.jsx)(N.A,{className:"w-4 h-4 text-[#8CCB43]"})," ",e]},e))}),(0,i.jsxs)(r(),{href:"/auth/signup",onClick:()=>(0,E.sn)("gate","signup"),className:"mt-8 inline-flex w-full items-center justify-center gap-2 px-5 py-3 rounded-lg bg-[#8CCB43] hover:bg-[#7cbb37] text-[#0A0D0A] font-semibold transition-colors",children:[(0,i.jsx)(k.A,{className:"w-4 h-4"})," Create account"]})]}),(0,i.jsxs)("div",{className:"rounded-2xl border border-white/[0.10] bg-[#0B0F0A] p-8",children:[(0,i.jsx)("div",{className:"font-mono text-xs uppercase tracking-wider text-white/50",children:"Monthly subscription"}),(0,i.jsxs)("div",{className:"mt-3 flex items-baseline gap-1.5",children:[(0,i.jsx)("span",{className:"text-4xl font-bold text-white",children:"$30"}),(0,i.jsx)("span",{className:"text-white/45 text-sm",children:"USD / month"})]}),(0,i.jsx)("div",{className:"mt-3 inline-flex items-center gap-1.5 text-[13px] font-semibold text-[#8CCB43] bg-[#15200D] border border-[#2C3D1B] rounded px-2.5 py-1",children:"Launch offer â 50% off for 3 months ($15/mo)"}),(0,i.jsx)("p",{className:"mt-3 text-white/55 text-[15px] leading-relaxed",children:"Everything in the trial, continued â a single-user key, rate-limited and abuse-protected. Cancel anytime. Volume & academic pricing on request."}),(0,i.jsx)("ul",{className:"mt-6 space-y-2.5 text-sm text-white/60",children:["Uninterrupted access after day 30","Usage dashboard & billing portal","Priority support","Cancel anytime"].map(e=>(0,i.jsxs)("li",{className:"flex items-center gap-2",children:[(0,i.jsx)(N.A,{className:"w-4 h-4 text-[#8CCB43]"})," ",e]},e))}),(0,i.jsxs)("div",{className:"mt-8 flex flex-col gap-3",children:[(0,i.jsx)(r(),{href:"/auth/signup",className:"inline-flex w-full items-center justify-center gap-2 px-5 py-3 rounded-lg border border-white/15 text-white hover:border-[#8CCB43]/60 hover:text-[#8CCB43] font-semibold transition-colors",children:"Start with the trial"}),(0,i.jsx)(A.U5,{label:"Talk to us about volume / academic",secondary:!0})]})]})]}),(0,i.jsxs)("p",{className:"mt-8 text-sm text-white/45",children:["Enterprise deployment, private endpoints and CI/CD policy â"," ",(0,i.jsx)(r(),{href:"/contact?interest=gate",className:"text-[#8CCB43] hover:underline",children:"contact the team"}),"."]})]}),(0,i.jsx)(A.X,{current:"gate"})]})]})}}},e=>{e.O(0,[8096,8799,636,8792],()=>e(e.s=3706)),_N_E=e.O()}]);
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.