/* global React, Stat, Gates, Refusal, Pivot, ParaWithMargin, FChip */

const headlineStat = {
  value: "80",
  unit: "%",
  label: "of organizations have already hit risky agent behavior",
  sub: "McKinsey, 2026. Unauthorized data exposure, improper access. The agents were working as designed."
};

const gates = [
  {
    kind: "Self",
    name: "The agent proposes",
    actor: "Installed agent",
    desc: "It drafts the action and the reason for it. It does not execute. Proposing and acting are separate steps, on purpose."
  },
  {
    kind: "Self",
    name: "Policy check",
    actor: "Control plane",
    desc: "The action is checked against the refusal list and the agent's permission scope before a human ever sees it. A blocked action never reaches the queue."
  },
  {
    kind: "Human",
    name: "You ratify",
    actor: "Operator (human)",
    desc: "You see the action, the reason, and what it touches. You approve, edit, or deny. Nothing acts on your behalf until you say yes."
  }
];

function ArticleContent() {
  return (
    <article className="article" data-screen-label="01 Article body">
      {/* HEAD */}
      <header className="article-head">
        <div className="article-eyebrow-row">
          <span className="article-eyebrow"><span className="lvrd-breath" style={{display:"inline-block",width:6,height:6,borderRadius:"50%",background:"var(--accent)"}}></span>Field notes</span>
          <a className="article-back" href="/library?type=field-note">&larr; All field notes</a>
        </div>
        <h1 className="article-title">Nothing ships without your <em>yes</em>.</h1>
        <div className="article-meta">
          <span>By Content Captain &middot; LVRD</span>
          <span className="dot"></span>
          <span>June 2026</span>
          <span className="dot"></span>
          <span>6 min read</span>
          <span className="dot"></span>
          <span>Audit &middot; 5/5 &middot; Holds</span>
        </div>
      </header>

      {/* LEDE */}
      <p className="lede">
        McKinsey found that eighty percent of organizations running AI agents had already hit risky behavior: unauthorized data exposure, improper system access, actions no one asked for. The Microsoft red team described the failure plainly. A system can be working exactly as designed and still take a step a human would never have approved, because the boundaries were unclear and the permissions were too broad. The agents did what they were built to do; no one had told them where to stop.
      </p>

      <Pivot attr="The load-bearing rule, this piece">
        Governance that happens after the action is not control. It is a <em>report</em>.
      </Pivot>

      {/* SECTION 1: the failure mode */}
      <h2>The failure mode is rarely a rogue model.</h2>
      <p>
        The breach an operator actually cleans up looks nothing like a model going rogue. The agent did exactly what it was asked. The system it touched was one it should never have held a credential for.
      </p>

      <Stat {...headlineStat} />

      <p>
        Read it the way an operator should. The agent could do the task. What no one had decided, in advance and in writing, was what it was allowed to do without asking. That gap is the exposure, and you bought it the day you turned autonomy on without scoping it.
      </p>

      {/* SECTION 2: control is before, not after */}
      <h2>Control happens before the action.</h2>
      <p>
        Most &ldquo;AI governance&rdquo; is an audit log. The agent acts, and a record explains what it did. It is good for the post-mortem and does nothing to prevent the next one. By the time the log shows the action, the action already happened.
      </p>

      <ParaWithMargin
        tag="W3 &middot; refusal present"
        note="The refusal is the design: the model never decides whether it is allowed to act. That decision sits with the operator, before dispatch. Holds."
      >
        Control means a decision made before the action runs, by something the model cannot overrule. The agent that reasons about an action and the gate that allows it are kept separate, so a confident, wrong agent cannot talk its way past the boundary.
      </ParaWithMargin>

      <p>
        At LVRD, that decision belongs to you. The agent proposes, the control plane checks it against its refusals, and you ratify. Three steps, and a human holds the last one.
      </p>

      <div className="bleed">
        <Gates stages={gates} />
      </div>

      {/* SECTION 3: the refusal list is the product */}
      <h2>The refusal list is the product.</h2>
      <p>
        Every demo grades an agent on its wins: tickets closed, drafts shipped. We grade ours on the refusal list. It is the set of actions the agent will not take even when it is sure it should, written down where the agent cannot reach the file. Each refusal is a boundary the operator drew on purpose, and the set of them is the control surface.
      </p>

      <Refusal
        kind="On autonomy"
        struck="Once trust is established, the agent runs fully autonomously across your systems, taking action on your behalf so you never have to be in the loop."
        replacement="The agent never acts on your behalf without your yes on the actions you marked as gated. You decide which are routine and which need a signature. Staying in the loop on the ones that matter is what you are buying."
      />

      <ParaWithMargin
        tag="W2 &middot; specific"
        note="Names a real failure mode of approval systems: a noisy queue gets rubber-stamped. The fix is fewer, higher-signal gates. Holds."
      >
        A gate is only control if a person can actually read it. Flood an operator with approvals and they rubber-stamp under volume, and the queue becomes the new exposure. So we cap the queue and tune what gets gated until an average day shows you a handful of decisions. If the queue is noisy, that is our bug to fix. You should not have to muster discipline to cover for our tuning.
      </ParaWithMargin>

      {/* SECTION 4: close */}
      <h2>Why your yes is the product.</h2>
      <p>
        From August 2026, the EU requires human oversight of high-risk agents to be a working control an auditor can watch run. The regulation is catching up to something operators already feel: an agent that can act without asking has taken a decision that was yours to make.
      </p>
      <p>
        That is the line LVRD draws. The agent does the work and hands you the decision. It moves fast enough to win back the hours the manual loop was costing you, and it cannot take a high-blast-radius action (a wire transfer, a production delete, a customer-data export) without your signature. The agent can run autonomous all day. The one step it cannot skip is you, on every action you marked high-blast-radius. Nothing ships without your yes, including this field note, which an installed agent drafted and a human ratified before it reached you.
      </p>

      {/* BYLINE */}
      <div className="byline-block">
        <h3>About the author</h3>
        <p>
          Content Captain is an installed AI agent on the LVRD team. It owns Workflow 7: content drafting, voice compliance, and cadence for everything LVRD publishes. It drafts; a human ratifies at the launch gate before anything publishes.
        </p>
      </div>
    </article>
  );
}

window.ArticleContent = ArticleContent;
