fabro/docs/public/images/parallel-workflow.svg
Bryan Helmkamp 283eab181f
refactor(docs): split docs/ into public/ and internal/
Invert the docs convention so the Mintlify-published site lives under
docs/public/ and internal artifacts (strategy docs, brainstorms, plans,
etc.) sit at docs/ root or docs/internal/. Tools that default to writing
into docs/ now land in the catch-all instead of leaking into the
published tree.

- Move Mintlify content (administration/, agents/, api-reference/,
  changelog/, core-concepts/, examples/, execution/, getting-started/,
  human-tools/, integrations/, languages/, reference/, tutorials/,
  workflows/, images/, logo/, docs.json, favicon.svg, dot-highlight.js)
  into docs/public/.
- Collapse docs-internal/ into docs/internal/.
- Update Rust path references (fabro-api/build.rs, fabro-server,
  fabro-dev), TypeScript generator arg, CI path filters, clippy.toml
  reasons, AGENTS.md/CLAUDE.md, and README.md image refs.

Mintlify dashboard project root must be updated to docs/public/ in a
follow-up. .mintignore move/trim and .claude/skills/ updates land in a
separate commit.
2026-04-27 07:21:13 -07:00

138 lines
7.5 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 14.1.2 (20260124.0452)
-->
<!-- Title: Parallel Pages: 1 -->
<svg width="641pt" height="152pt"
viewBox="0.00 0.00 641.00 152.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<style>
@media (prefers-color-scheme: dark) {
[fill="#1a1a1a"] { fill: #e5e5e5; }
[fill="#666666"] { fill: #aaaaaa; }
[stroke="#666666"] { stroke: #aaaaaa; }
[stroke="#999999"] { stroke: #777777; }
}
</style>
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 148)">
<title>Parallel</title>
<!-- start -->
<g id="node1" class="node">
<title>start</title>
<polygon fill="none" stroke="#357f9e" points="35.26,-90 0,-72 35.26,-54 70.52,-72 35.26,-90"/>
<polyline fill="none" stroke="#357f9e" points="10.69,-77.46 10.69,-66.54"/>
<polyline fill="none" stroke="#357f9e" points="24.57,-59.46 45.95,-59.46"/>
<polyline fill="none" stroke="#357f9e" points="59.83,-66.54 59.83,-77.46"/>
<polyline fill="none" stroke="#357f9e" points="45.95,-84.54 24.57,-84.54"/>
<text xml:space="preserve" text-anchor="middle" x="35.26" y="-66.97" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#1a1a1a">Start</text>
</g>
<!-- fork -->
<g id="node3" class="node">
<title>fork</title>
<polygon fill="none" stroke="#357f9e" points="165.27,-90 106.52,-90 106.52,-86 102.52,-86 102.52,-82 106.52,-82 106.52,-62 102.52,-62 102.52,-58 106.52,-58 106.52,-54 165.27,-54 165.27,-90"/>
<polyline fill="none" stroke="#357f9e" points="106.52,-86 110.52,-86 110.52,-82 106.52,-82"/>
<polyline fill="none" stroke="#357f9e" points="106.52,-62 110.52,-62 110.52,-58 106.52,-58"/>
<text xml:space="preserve" text-anchor="middle" x="135.9" y="-66.97" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#1a1a1a">Fan Out</text>
</g>
<!-- start&#45;&gt;fork -->
<g id="edge1" class="edge">
<title>start&#45;&gt;fork</title>
<path fill="none" stroke="#666666" d="M71.59,-72C79.15,-72 87.19,-72 94.92,-72"/>
<polygon fill="#666666" stroke="#666666" points="94.78,-75.5 104.78,-72 94.78,-68.5 94.78,-75.5"/>
</g>
<!-- exit -->
<g id="node2" class="node">
<title>exit</title>
<polygon fill="none" stroke="#357f9e" points="632.67,-90.12 596.42,-90.12 596.42,-53.88 632.67,-53.88 632.67,-90.12"/>
<polyline fill="none" stroke="#357f9e" points="608.42,-90.12 596.42,-78.12"/>
<polyline fill="none" stroke="#357f9e" points="596.42,-65.88 608.42,-53.88"/>
<polyline fill="none" stroke="#357f9e" points="620.67,-53.88 632.67,-65.88"/>
<polyline fill="none" stroke="#357f9e" points="632.67,-78.12 620.67,-90.12"/>
<text xml:space="preserve" text-anchor="middle" x="614.54" y="-66.97" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#1a1a1a">Exit</text>
</g>
<!-- security -->
<g id="node4" class="node">
<title>security</title>
<polygon fill="none" stroke="#357f9e" points="307.65,-144 230.15,-144 230.15,-148 218.15,-148 218.15,-108 307.65,-108 307.65,-144"/>
<polyline fill="none" stroke="#357f9e" points="218.15,-144 230.15,-144"/>
<text xml:space="preserve" text-anchor="middle" x="262.9" y="-120.97" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#1a1a1a">Security Audit</text>
</g>
<!-- fork&#45;&gt;security -->
<g id="edge2" class="edge">
<title>fork&#45;&gt;security</title>
<path fill="none" stroke="#666666" d="M165.57,-84.39C178.46,-89.95 194.09,-96.71 208.97,-103.14"/>
<polygon fill="#666666" stroke="#666666" points="207.16,-106.17 217.73,-106.92 209.94,-99.74 207.16,-106.17"/>
</g>
<!-- architecture -->
<g id="node5" class="node">
<title>architecture</title>
<polygon fill="none" stroke="#357f9e" points="324.52,-90 213.27,-90 213.27,-94 201.27,-94 201.27,-54 324.52,-54 324.52,-90"/>
<polyline fill="none" stroke="#357f9e" points="201.27,-90 213.27,-90"/>
<text xml:space="preserve" text-anchor="middle" x="262.9" y="-66.97" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#1a1a1a">Architecture Review</text>
</g>
<!-- fork&#45;&gt;architecture -->
<g id="edge3" class="edge">
<title>fork&#45;&gt;architecture</title>
<path fill="none" stroke="#666666" d="M165.57,-72C172.94,-72 181.21,-72 189.72,-72"/>
<polygon fill="#666666" stroke="#666666" points="189.48,-75.5 199.48,-72 189.48,-68.5 189.48,-75.5"/>
</g>
<!-- quality -->
<g id="node6" class="node">
<title>quality</title>
<polygon fill="none" stroke="#357f9e" points="305.77,-36 232.02,-36 232.02,-40 220.02,-40 220.02,0 305.77,0 305.77,-36"/>
<polyline fill="none" stroke="#357f9e" points="220.02,-36 232.02,-36"/>
<text xml:space="preserve" text-anchor="middle" x="262.9" y="-12.97" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#1a1a1a">Code Quality</text>
</g>
<!-- fork&#45;&gt;quality -->
<g id="edge4" class="edge">
<title>fork&#45;&gt;quality</title>
<path fill="none" stroke="#666666" d="M165.57,-59.61C178.58,-53.99 194.37,-47.17 209.38,-40.69"/>
<polygon fill="#666666" stroke="#666666" points="210.42,-44.05 218.21,-36.87 207.64,-37.63 210.42,-44.05"/>
</g>
<!-- merge -->
<g id="node7" class="node">
<title>merge</title>
<polygon fill="none" stroke="#357f9e" points="434.42,-64.54 434.42,-79.46 415.12,-90 387.82,-90 368.52,-79.46 368.52,-64.54 387.82,-54 415.12,-54 434.42,-64.54"/>
<polygon fill="none" stroke="#357f9e" points="438.42,-62.17 438.42,-81.83 416.14,-94 386.8,-94 364.52,-81.83 364.52,-62.17 386.8,-50 416.14,-50 438.42,-62.17"/>
<polygon fill="none" stroke="#357f9e" points="442.42,-59.8 442.42,-84.2 417.16,-98 385.78,-98 360.52,-84.2 360.52,-59.8 385.78,-46 417.16,-46 442.42,-59.8"/>
<text xml:space="preserve" text-anchor="middle" x="401.47" y="-66.97" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#1a1a1a">Merge</text>
</g>
<!-- security&#45;&gt;merge -->
<g id="edge5" class="edge">
<title>security&#45;&gt;merge</title>
<path fill="none" stroke="#666666" d="M307.86,-108.62C322.42,-102.86 338.67,-96.43 353.45,-90.59"/>
<polygon fill="#666666" stroke="#666666" points="354.49,-93.95 362.5,-87.01 351.91,-87.44 354.49,-93.95"/>
</g>
<!-- architecture&#45;&gt;merge -->
<g id="edge6" class="edge">
<title>architecture&#45;&gt;merge</title>
<path fill="none" stroke="#666666" d="M324.99,-72C332.92,-72 340.97,-72 348.72,-72"/>
<polygon fill="#666666" stroke="#666666" points="348.68,-75.5 358.68,-72 348.68,-68.5 348.68,-75.5"/>
</g>
<!-- quality&#45;&gt;merge -->
<g id="edge7" class="edge">
<title>quality&#45;&gt;merge</title>
<path fill="none" stroke="#666666" d="M305.99,-34.64C321.02,-40.58 338.04,-47.32 353.46,-53.41"/>
<polygon fill="#666666" stroke="#666666" points="351.84,-56.53 362.42,-56.96 354.41,-50.02 351.84,-56.53"/>
</g>
<!-- report -->
<g id="node8" class="node">
<title>report</title>
<polygon fill="none" stroke="#357f9e" points="560.42,-90 490.42,-90 490.42,-94 478.42,-94 478.42,-54 560.42,-54 560.42,-90"/>
<polyline fill="none" stroke="#357f9e" points="478.42,-90 490.42,-90"/>
<text xml:space="preserve" text-anchor="middle" x="519.42" y="-66.97" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#1a1a1a">Final Report</text>
</g>
<!-- merge&#45;&gt;report -->
<g id="edge8" class="edge">
<title>merge&#45;&gt;report</title>
<path fill="none" stroke="#666666" d="M442.7,-72C450.52,-72 458.82,-72 466.95,-72"/>
<polygon fill="#666666" stroke="#666666" points="466.75,-75.5 476.75,-72 466.75,-68.5 466.75,-75.5"/>
</g>
<!-- report&#45;&gt;exit -->
<g id="edge9" class="edge">
<title>report&#45;&gt;exit</title>
<path fill="none" stroke="#666666" d="M560.72,-72C568.76,-72 577.04,-72 584.6,-72"/>
<polygon fill="#666666" stroke="#666666" points="584.58,-75.5 594.58,-72 584.58,-68.5 584.58,-75.5"/>
</g>
</g>
</svg>