PageSourceSearch

https://proofagent.ai/assets/BookChapterPage-BK_p-iv6.js

js proofagent.ai collected 2026-10-05 12:26:50 UTC 7,775 bytes, 1 lines download raw bytes

1import{j as e,L as h,g as S,r as y,h as T,e as $,d as z,P as d}from"./index-CB5zgalJ.js";import{T as A,u as I,c as L,a as N}from"./library-CYIQUIn-.js";import{b as P,B}from"./BookFooter-DoQCtfuS.js";import{A as k}from"./arrow-right-Bm9BzHcR.js";import{c as W}from"./bookMetrics-CqD8mjuI.js";import{A as j}from"./arrow-left-SHrE3v0m.js";const C={"ch05-risk-ownership-and-the-ai-bom":{label:"The AI-BOM, maintained for you",blurb:"This chapter argues an agent needs a bill of materials and an owner. Keeping that current by hand is where it usually dies — the registry derives it from the agent and flags the changes that invalidate your evidence.",to:"/platform",cta:"See the agent registry"},"ch06-evaluating-ai-agent-behavior":{label:"Run this evaluation on your own agent",blurb:"The behavioural evaluation described here is the open-source Harness. It is Apache 2.0, runs on your infrastructure with your own model keys, and scores a real agent in minutes rather than a worked example.",to:"/harness/docs",cta:"Run your first evaluation"},"ch12-the-proofagent-index-and-production-readiness":{label:"Score your agent against the index",blurb:"PAI turns the four axes into one readiness number a release decision can rest on. The Harness computes it from an actual evaluation run, so you get your own score rather than a reading of someone else’s.",to:"/tiers",cta:"See how PAI is computed"},"ch13-policy-as-code-and-release-decisions":{label:"Put this gate in your pipeline",blurb:"A policy that lives in a document is a suggestion. Written as code in CI it becomes a gate that fails a build, which is the difference between a governance intention and a governance control.",to:"/platform",cta:"See policy-as-code gates"},"ch11-building-an-evidence-based-control-system":{label:"Map controls to the frameworks you are audited on",blurb:"The controls in this chapter are the hard part; proving them against a named framework is the part auditors ask for. The compliance catalog covers 25 of them, mapped to the evidence an evaluation already produces.",to:"/platform",cta:"See compliance mapping"},"ch15-your-first-end-to-end-governance-workflow":{label:"Do this walkthrough with your own agent",blurb:"Everything in this workflow runs in the open-source Harness. Start from the quickstart and you will have a scored agent and a release record by the end of it.",to:"/harness/docs",cta:"Open the quickstart"}};function E({slug:c}){const t=C[c];return t?e.jsxs("aside",{style:{marginTop:44,padding:"22px 24px",borderRadius:14,border:"1px solid var(--bk-line)",borderLeft:"3px solid var(--bk-part)",background:"var(--bk-tint, rgba(13,148,136,.04))"},children:[e.jsx("p",{style:{margin:"0 0 6px",fontSize:11,fontWeight:700,letterSpacing:".13em",textTransform:"uppercase",color:"var(--bk-part)"},children:"Next step"}),e.jsx("h3",{style:{margin:"0 0 8px",fontSize:18,fontWeight:700,lineHeight:1.3,color:"var(--bk-ink)"},children:t.label}),e.jsx("p",{style:{margin:"0 0 16px",fontSize:15,lineHeight:1.6,color:"var(--bk-muted, var(--bk-faint))"},children:t.blurb}),e.jsxs(h,{to:t.to,style:{display:"inline-flex",alignItems:"center",gap:7,padding:"10px 18px",borderRadius:999,background:"var(--bk-part)",color:"#ffffff",textDecoration:"none",fontSize:14.5,fontWeight:600},children:[t.cta," ",e.jsx(k,{size:15})]})]}):null}function _({titleId:c="en-governance"}){const t=A[c],r=t.book;I(t.lang,t.dir);const{slug:o=""}=S(),a=L(t,o),p=r.chapters.findIndex(n=>n.slug===o),u=p>0?r.chapters[p-1]:null,g=p>=0&&p<r.chapters.length-1?r.chapters[p+1]:null,w=y.useMemo(()=>r.chapters.reduce((n,s)=>Math.max(n,(s.number??"").length),0),[r]);if(y.useEffect(()=>{if(!a)return;window.scrollTo(0,0),W(t.metrics.reads,!1);const n=`pa-book-apply:${a.slug}`,s=Array.from(document.querySelectorAll(".apply input[type=checkbox]"));if(!s.length)return;let i={};try{i=JSON.parse(localStorage.getItem(n)||"{}")}catch{}const m=s.map((l,x)=>{i[x]&&(l.checked=!0);const b=()=>{i[x]=l.checked;try{localStorage.setItem(n,JSON.stringify(i))}catch{}};return l.addEventListener("change",b),()=>l.removeEventListener("change",b)});return()=>m.forEach(l=>l())},[a]),!a)return e.jsx(T,{to:t.base,replace:!0});
1const f=a.kind==="chapter"?t.ui.chapterLabel(a.number):a.kind==="appendix"?t.ui.appendixLabel(a.number):"";return e.jsxs($,{topBand:!1,children:[e.jsx(z,{title:`${a.title} · ${r.title}`,description:a.deck||`${a.title} — ${r.title} by ${r.author}.`,canonicalPath:`${t.base}/${a.slug}`,alternates:N(t,a.slug),ogType:"article",author:r.author,ogImage:t.ogImage,breadcrumbs:[["Home","/"],["Book",t.base],[a.title,`${t.base}/${a.slug}`]],jsonLd:{"@context":"https://schema.org","@type":"Article",headline:a.title,description:a.deck,author:{"@type":"Person",name:r.author},isPartOf:{"@type":"Book","@id":`https://www.proofagent.ai${t.base}#book`,name:r.title,url:`https://www.proofagent.ai${t.base}`,sameAs:`https://doi.org/${r.doi}`},url:`https://www.proofagent.ai${t.base}/${a.slug}`}}),e.jsx("style",{children:P()}),e.jsx("div",{className:"pa-book",style:{maxWidth:d.max,margin:"0 auto",padding:"116px 24px 96px"},children:e.jsxs("div",{className:"pa-book-wrap",children:[e.jsxs("nav",{className:"pa-book-rail","aria-label":"Contents",style:{fontSize:13,"--bk-num":`max(20px, ${w+2}ch)`},children:[e.jsxs(h,{to:t.base,style:{display:"inline-flex",alignItems:"center",gap:7,fontSize:12.5,fontWeight:700,letterSpacing:".06em",textTransform:"uppercase",color:"var(--marketing-accent-from)",textDecoration:"none"},children:[e.jsx(j,{size:14})," Contents"]}),r.parts.map(n=>e.jsxs("div",{children:[e.jsxs("div",{className:"grp",children:[t.partLabel(n.num)," · ",n.title]}),n.chapters.map(s=>{const i=r.chapters.find(m=>m.slug===s);return e.jsxs(h,{to:`${t.base}/${s}`,className:s===o?"on":void 0,children:[e.jsx("span",{className:"n",children:i.number}),e.jsx("span",{children:i.title})]},s)})]},n.num))]}),e.jsxs("article",{children:[e.jsxs("header",{style:{marginBottom:34},children:[a.part&&e.jsxs("div",{style:{fontSize:11.5,fontWeight:700,letterSpacing:".13em",textTransform:"uppercase",color:"var(--bk-part)",marginBottom:8},children:[t.partLabel(a.part.num)," · ",a.part.title]}),f&&e.jsx("div",{style:{fontSize:11.5,fontWeight:700,letterSpacing:".13em",textTransform:"uppercase",color:"var(--marketing-accent-from)",marginBottom:10},children:f}),e.jsx("h1",{style:{margin:0,fontSize:"clamp(30px, 4vw, 42px)",lineHeight:1.1,letterSpacing:"-.022em",fontWeight:700},children:a.title}),a.deck&&e.jsx("p",{style:{margin:"16px 0 0",paddingTop:15,borderTop:"1px solid var(--bk-line)",fontSize:17,lineHeight:1.5,color:d.muted},children:a.deck}),e.jsx("div",{style:{marginTop:12,fontSize:12,letterSpacing:".07em",textTransform:"uppercase",color:d.muted},children:t.ui.minRead(a.minutes)})]}),e.jsx("div",{className:"pa-book-prose",dangerouslySetInnerHTML:{__html:a.html}}),e.jsx(E,{slug:a.slug}),e.jsxs("nav",{style:{display:"flex",justifyContent:"space-between",gap:24,marginTop:56,paddingTop:24,borderTop:"1px solid var(--bk-line)"},children:[u?e.jsx(v,{to:`${t.base}/${u.slug}`,label:t.ui.prev,title:u.title}):e.jsx("span",{}),g?e.jsx(v,{to:`${t.base}/${g.slug}`,label:t.ui.next,title:g.title,align:"right"}):e.jsx("span",{})]}),e.jsx(B,{edition:t})]})]})})]})}function v({to:c,label:t,title:r,align:o="left"}){return e.jsxs(h,{to:c,style:{maxWidth:"46%",textAlign:o,textDecoration:"none",color:"inherit"},children:[e.jsxs("span",{style:{display:"flex",alignItems:"center",gap:6,justifyContent:o==="right"?"flex-end":"flex-start",fontSize:11.5,letterSpacing:".12em",textTransform:"uppercase",color:d.muted,marginBottom:4},children:[o==="left"&&e.jsx(j,{size:12}),t,o==="right"&&e.jsx(k,{size:12})]}),e.jsx("span",{style:{fontSize:15,fontWeight:600,lineHeight:1.3},children:r})]})}export{_ as default};

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.