agentic-ai-engineering/site/.vitepress/dist/assets/modules_software-factory.md...

7 lines
3.8 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import{c as a,Q as e,j as s,m as i}from"./chunks/framework.BPKcPtvA.js";const k=JSON.parse('{"title":"Software Factory: Paperclip Integration","description":"","frontmatter":{},"headers":[],"relativePath":"modules/software-factory.md","filePath":"modules/software-factory.md","lastUpdated":1780488246000}'),n={name:"modules/software-factory.md"};function r(l,t,o,p,d,h){return e(),s("div",null,[...t[0]||(t[0]=[i(`<h1 id="software-factory-paperclip-integration" tabindex="-1">Software Factory: Paperclip Integration <a class="header-anchor" href="#software-factory-paperclip-integration" aria-label="Permalink to &quot;Software Factory: Paperclip Integration&quot;"></a></h1><p>Close the loop: Plan, Build, Test, Verify, Ship — orchestrated through Paperclip with JWT auth.</p><h2 id="pipeline" tabindex="-1">Pipeline <a class="header-anchor" href="#pipeline" aria-label="Permalink to &quot;Pipeline&quot;"></a></h2><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>PLAN ---&gt; BUILD ---&gt; TEST ---&gt; VERIFY ---&gt; SHIP</span></span>
<span class="line"><span> CEO Agent CI/CD Verifier Paperclip</span></span>
<span class="line"><span> Board Chains Pipeline Agent Heartbeat</span></span>
<span class="line"><span> (all JWT authenticated)</span></span></code></pre></div><h2 id="authentication-tiers" tabindex="-1">Authentication Tiers <a class="header-anchor" href="#authentication-tiers" aria-label="Permalink to &quot;Authentication Tiers&quot;"></a></h2><table tabindex="0"><thead><tr><th>Tier</th><th>Trust Model</th><th>Token</th><th>Use Case</th></tr></thead><tbody><tr><td><strong>1. Local</strong></td><td>Same machine</td><td>Short-lived JWT (48h)</td><td>Local dev</td></tr><tr><td><strong>2. CLI</strong></td><td>Shell access</td><td>Long-lived API key</td><td>Remote agents</td></tr><tr><td><strong>3. Self-register</strong></td><td>Autonomous</td><td>Invite URL to JWT</td><td>OpenClaw agents</td></tr></tbody></table><h2 id="quick-start" tabindex="-1">Quick Start <a class="header-anchor" href="#quick-start" aria-label="Permalink to &quot;Quick Start&quot;"></a></h2><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">cd</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> paperclip</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">pnpm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> dev</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --bind</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> lan</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">curl</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -sS</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> http://127.0.0.1:3100/api/health</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> jq</span></span></code></pre></div><h2 id="status" tabindex="-1">Status <a class="header-anchor" href="#status" aria-label="Permalink to &quot;Status&quot;"></a></h2><p>Paperclip&#39;s auth plan documents all 3 tiers. Tier 1 is partially implemented — env vars are passed but <code>PAPERCLIP_API_KEY</code> (JWT) needs to be added to the env injection. This is the last code change needed to close the factory loop.</p>`,10)])])}const u=a(n,[["render",r]]);export{k as __pageData,u as default};