import{_ as s,C as n,o as r,c as o,j as t,a,b as c,w as i,E as h,a3 as l,a2 as A}from"./chunks/framework.CJEbdX1t.js";const E=JSON.parse('{"title":"Architecture","description":"","frontmatter":{},"headers":[],"relativePath":"architecture/index.md","filePath":"architecture/index.md"}'),m={name:"architecture/index.md"};function p(u,e,g,P,f,b){const d=n("Mermaid");return r(),o("div",null,[e[1]||(e[1]=t("h1",{id:"architecture",tabindex:"-1"},[a("Architecture "),t("a",{class:"header-anchor",href:"#architecture","aria-label":'Permalink to "Architecture"'},"​")],-1)),e[2]||(e[2]=t("p",null,"Specwright's architecture is designed around three tiers — repo agents, agent mesh, and org brain — with a modular component structure.",-1)),e[3]||(e[3]=t("h2",{id:"system-overview",tabindex:"-1"},[a("System Overview "),t("a",{class:"header-anchor",href:"#system-overview","aria-label":'Permalink to "System Overview"'},"​")],-1)),(r(),c(l,null,{default:i(()=>[h(d,{id:"mermaid-9",class:"mermaid",graph:"graph%20TB%0A%20%20%20%20subgraph%20%22Tier%201%3A%20Repo%20Agents%22%0A%20%20%20%20%20%20%20%20WH%5BGitHub%20Webhooks%5D%20--%3E%20APP%5BFastAPI%20App%5D%0A%20%20%20%20%20%20%20%20APP%20--%3E%20PARSE%5BSpec%20Parser%5D%0A%20%20%20%20%20%20%20%20APP%20--%3E%20AGENT%5BClaude%20Agent%5D%0A%20%20%20%20%20%20%20%20APP%20--%3E%20SYNC%5BTicket%20Sync%5D%0A%20%20%20%20%20%20%20%20PARSE%20--%3E%20KB%5BKnowledge%20Base%5D%0A%20%20%20%20%20%20%20%20KB%20--%3E%20AGENT%0A%20%20%20%20%20%20%20%20AGENT%20--%3E%20GH%5BGitHub%20API%5D%0A%20%20%20%20%20%20%20%20SYNC%20--%3E%20JIRA%5BJira%5D%0A%20%20%20%20%20%20%20%20SYNC%20--%3E%20LINEAR%5BLinear%5D%0A%20%20%20%20%20%20%20%20SYNC%20--%3E%20GHI%5BGitHub%20Issues%5D%0A%20%20%20%20end%0A%0A%20%20%20%20subgraph%20%22Dev%20Tools%22%0A%20%20%20%20%20%20%20%20MCP%5BMCP%20Server%5D%20--%3E%20KB%0A%20%20%20%20%20%20%20%20CLI%5BCLI%5D%20--%3E%20PARSE%0A%20%20%20%20%20%20%20%20PLUGIN%5BClaude%20Code%20Plugin%5D%20--%3E%20MCP%0A%20%20%20%20end%0A%0A%20%20%20%20subgraph%20%22Tier%202%3A%20Agent%20Mesh%22%0A%20%20%20%20%20%20%20%20MESH%5BEvent%20Bus%5D%20--%3E%20APP%0A%20%20%20%20end%0A%0A%20%20%20%20subgraph%20%22Tier%203%3A%20Org%20Brain%22%0A%20%20%20%20%20%20%20%20BRAIN%5BKnowledge%20Graph%5D%20--%3E%20MESH%0A%20%20%20%20%20%20%20%20DASH%5BDashboards%5D%20--%3E%20BRAIN%0A%20%20%20%20end%0A"})]),fallback:i(()=>[...e[0]||(e[0]=[a(" Loading... ",-1)])]),_:1})),e[4]||(e[4]=A('<h2 id="component-map" tabindex="-1">Component Map <a class="header-anchor" href="#component-map" aria-label="Permalink to &quot;Component Map&quot;">​</a></h2><table tabindex="0"><thead><tr><th>Component</th><th>Role</th><th>Key Files</th></tr></thead><tbody><tr><td><a href="./system-design.html#fastapi-app">FastAPI App</a></td><td>Webhook routes, health checks</td><td><code>src/specwright/main.py</code></td></tr><tr><td><a href="./system-design.html#spec-parser">Spec Parser</a></td><td>Markdown parsing, frontmatter extraction</td><td><code>src/specwright/parser/</code></td></tr><tr><td><a href="./system-design.html#agent-runtime">Claude Agent</a></td><td>PR analysis, realization checking</td><td><code>src/specwright/agent/</code></td></tr><tr><td><a href="./system-design.html#ticket-sync">Ticket Sync</a></td><td>Bidirectional ticket synchronization</td><td><code>src/specwright/sync/</code></td></tr><tr><td><a href="./system-design.html#github-client">GitHub Client</a></td><td>GitHub API, webhook verification</td><td><code>src/specwright/github/</code></td></tr><tr><td><a href="./system-design.html#config-parser">Config Parser</a></td><td>SPECWRIGHT.yaml validation</td><td><code>src/specwright/config/</code></td></tr></tbody></table><h2 id="further-reading" tabindex="-1">Further Reading <a class="header-anchor" href="#further-reading" aria-label="Permalink to &quot;Further Reading&quot;">​</a></h2><ul><li><a href="./system-design.html">System Design</a> — Detailed component breakdown</li><li><a href="./data-flow.html">Data Flow</a> — Key workflow diagrams</li><li><a href="./components.html">Components</a> — Per-module documentation</li></ul>',4))])}const S=s(m,[["render",p]]);export{E as __pageData,S as default};
