import{_ as a,o as t,c as r,a2 as o}from"./chunks/framework.CJEbdX1t.js";const g=JSON.parse('{"title":"Concepts","description":"","frontmatter":{},"headers":[],"relativePath":"concepts/index.md","filePath":"concepts/index.md"}'),n={name:"concepts/index.md"};function s(i,e,c,h,l,p){return t(),r("div",null,[...e[0]||(e[0]=[o('<h1 id="concepts" tabindex="-1">Concepts <a class="header-anchor" href="#concepts" aria-label="Permalink to &quot;Concepts&quot;">​</a></h1><p>Specwright is built on a few core ideas that distinguish it from traditional documentation tools. Understanding these concepts will help you get the most out of the platform.</p><h2 id="core-thesis" tabindex="-1">Core Thesis <a class="header-anchor" href="#core-thesis" aria-label="Permalink to &quot;Core Thesis&quot;">​</a></h2><p>Documentation fails because it&#39;s a <strong>write-once artifact</strong>. Specwright treats docs as <strong>living programs</strong> — all markdown is input, AI agents are the runtime, code is the ground truth, and the repo is the execution environment.</p><p>Specs define <strong>intent</strong> — what should be built. Code reveals <strong>reality</strong> — what actually shipped. Other docs (ADRs, guides, READMEs) provide <strong>context</strong> — why decisions were made. The platform closes the loop across all three, continuously evaluating whether intent matches reality and keeping context accurate.</p><h2 id="key-concepts" tabindex="-1">Key Concepts <a class="header-anchor" href="#key-concepts" aria-label="Permalink to &quot;Key Concepts&quot;">​</a></h2><h3 id="openspec-framework" tabindex="-1"><a href="./openspec.html">OpenSpec Framework</a> <a class="header-anchor" href="#openspec-framework" aria-label="Permalink to &quot;[OpenSpec Framework](./openspec)&quot;">​</a></h3><p>The structured artifact model that makes specs machine-readable. Proposals, sections, acceptance criteria, and tasks — all in markdown, all tracked.</p><h3 id="living-specs" tabindex="-1"><a href="./living-specs.html">Living Specs</a> <a class="header-anchor" href="#living-specs" aria-label="Permalink to &quot;[Living Specs](./living-specs)&quot;">​</a></h3><p>The feedback loop that keeps documentation alive. PMs write specs, agents create tickets, engineers write code, agents verify implementation, docs auto-update.</p><h3 id="delta-tracking" tabindex="-1"><a href="./delta-tracking.html">Delta Tracking</a> <a class="header-anchor" href="#delta-tracking" aria-label="Permalink to &quot;[Delta Tracking](./delta-tracking)&quot;">​</a></h3><p>How Specwright tracks changes through status transitions and hidden comments rather than rewriting specs.</p><h3 id="agent-mesh" tabindex="-1"><a href="./agent-mesh.html">Agent Mesh</a> <a class="header-anchor" href="#agent-mesh" aria-label="Permalink to &quot;[Agent Mesh](./agent-mesh)&quot;">​</a></h3><p>The agent architecture — from single-repo agents to cross-repo coordination to the org-wide knowledge brain.</p><h3 id="spec-coverage" tabindex="-1"><a href="./coverage.html">Spec Coverage</a> <a class="header-anchor" href="#spec-coverage" aria-label="Permalink to &quot;[Spec Coverage](./coverage)&quot;">​</a></h3><p>The metric model that measures what percentage of spec acceptance criteria are verified against actual code.</p>',16)])])}const m=a(n,[["render",s]]);export{g as __pageData,m as default};
