<!doctype html>
<html lang="en" data-world="undertow" data-theme="dark">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
    <title>tcell-armorer · SoulStack docs</title>
    <meta name="description" content="Audits and improves the immune system itself - checks that pass on empty output, speed budgets that never fire, drivers that cannot see what matters, and instruments that are missing. Use every few patrols, or when another immune cell reports &quot;we have no way to measure this&quot;. Stem cell: grows into this project's own version on first run." />
    <meta property="og:type" content="website" />
    <meta property="og:site_name" content="SoulStack" />
    <meta property="og:title" content="tcell-armorer · SoulStack docs" />
    <meta property="og:description" content="Audits and improves the immune system itself - checks that pass on empty output, speed budgets that never fire, drivers that cannot see what matters, and instruments that are missing. Use every few patrols, or when another immune cell reports &quot;we have no way to measure this&quot;. Stem cell: grows into this project's own version on first run." />
    <meta property="og:url" content="https://soulstack.proxysoul.com/docs/immune-cells/tcell-armorer" />
    <meta property="og:image" content="https://soulstack.proxysoul.com/og/docs.png" />
    <meta property="og:image:width" content="1200" />
    <meta property="og:image:height" content="630" />
    <meta name="twitter:card" content="summary_large_image" />
    <meta name="twitter:image" content="https://soulstack.proxysoul.com/og/docs.png" />
    <link rel="icon" href="/brand/logo-undertow.webp" />
    <link rel="alternate" type="text/markdown" href="/index.md" title="This page as Markdown" />
    <link rel="help" href="/llms.txt" title="Docs for agents" />
    <link rel="preload" href="/fonts/recursive-living.woff2" as="font" type="font/woff2" crossorigin />
    <script>
      (() => {
        const q = new URLSearchParams(location.search);
        const worlds = ["empryo", "soul", "coffee", "water", "crimson", "undertow"];
        let saved = null;
        try {
          saved = JSON.parse(localStorage.getItem("soulstack-world") || "null");
        } catch (err) {
          console.warn("soulstack: ignoring saved world", err);
        }
        const world = q.get("world") || saved?.world || worlds[Math.floor(Math.random() * worlds.length)];
        const mode = q.get("mode") || saved?.mode || (matchMedia("(prefers-color-scheme: light)").matches ? "light" : "dark");
        const r = document.documentElement;
        r.dataset.world = worlds.includes(world) ? world : "undertow";
        r.dataset.theme = mode === "light" ? "light" : "dark";
        r.dataset.motion = q.get("motion") === "still" || matchMedia("(prefers-reduced-motion: reduce)").matches ? "still" : "live";
        const icon = document.querySelector("link[rel=icon]");
        if (icon) icon.href = "/brand/" + ({ empryo: "logo-mark", soul: "logo-proxysoul" }[r.dataset.world] || "logo-" + r.dataset.world) + ".webp";
      })();
    </script>
    <script type="module" crossorigin src="/assets/index-jooLEQoa.js"></script>
    <link rel="stylesheet" crossorigin href="/assets/index-DgXdzYtk.css">
  </head>
  <body>
    <div id="app"></div>
  </body>
</html>
