syntaxai/tdd.md · main · public / images / goal-chain-gap.svg
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 700" width="1200" height="700">
<rect width="1200" height="700" fill="#0a0a0a"/>
<!-- Header -->
<g font-family="ui-monospace, 'SF Mono', 'JetBrains Mono', Menlo, Consolas, monospace">
<text x="80" y="46" font-size="20" font-weight="600" fill="#909090">The empirical chain — auditable artifacts vs the missing piece</text>
<text x="80" y="92" font-size="30" font-weight="700" fill="#e8e8e8">Every chain artifact lives in git — except the /goal.</text>
<text x="80" y="120" font-size="14" fill="#7a7a7a">tdd.md's argument rests on every artifact being inspectable. The /goal that drives every PR isn't.</text>
</g>
<!-- Column headers -->
<g font-family="ui-monospace, 'SF Mono', 'JetBrains Mono', Menlo, Consolas, monospace" font-size="13" font-weight="600" letter-spacing="2">
<text x="100" y="172" fill="#909090">ARTIFACT</text>
<text x="640" y="172" fill="#909090">LOCATION</text>
<text x="1020" y="172" fill="#909090">IN GIT?</text>
</g>
<line x1="80" y1="184" x2="1120" y2="184" stroke="#2a2a2a" stroke-width="1"/>
<!-- Rows -->
<g font-family="ui-monospace, 'SF Mono', 'JetBrains Mono', Menlo, Consolas, monospace" font-size="15">
<text x="100" y="216" fill="#c8c8c8">source code (the implementation)</text>
<text x="640" y="216" fill="#8a8a8a">src/*.ts</text>
<text x="1020" y="216" fill="#7ec77e">✓ committed</text>
<text x="100" y="246" fill="#c8c8c8">sibling tests (the spec)</text>
<text x="640" y="246" fill="#8a8a8a">src/*.test.ts</text>
<text x="1020" y="246" fill="#7ec77e">✓ committed</text>
<text x="100" y="276" fill="#c8c8c8">SAMA profile (the contract)</text>
<text x="640" y="276" fill="#8a8a8a">sama.profile.toml</text>
<text x="1020" y="276" fill="#7ec77e">✓ committed</text>
<text x="100" y="306" fill="#c8c8c8">§4 verifier verdict (the gate)</text>
<text x="640" y="306" fill="#8a8a8a">tdd.md/sama/v2/verify</text>
<text x="1020" y="306" fill="#7ec77e">✓ live, auditable</text>
<text x="100" y="336" fill="#c8c8c8">§5 cross-repo measurements</text>
<text x="640" y="336" fill="#8a8a8a">scripts/measure-*.ts + blog posts</text>
<text x="1020" y="336" fill="#7ec77e">✓ pinned SHAs</text>
<text x="100" y="366" fill="#c8c8c8">blog posts (the argument)</text>
<text x="640" y="366" fill="#8a8a8a">content/blog/*.md</text>
<text x="1020" y="366" fill="#7ec77e">✓ committed</text>
<text x="100" y="396" fill="#c8c8c8">sitemap (the discoverability)</text>
<text x="640" y="396" fill="#8a8a8a">/sitemap.xml (generated)</text>
<text x="1020" y="396" fill="#7ec77e">✓ from registries</text>
<text x="100" y="426" fill="#c8c8c8">commit messages (the why)</text>
<text x="640" y="426" fill="#8a8a8a">git log</text>
<text x="1020" y="426" fill="#7ec77e">✓ committed</text>
<text x="100" y="456" fill="#c8c8c8">PR descriptions (the summary)</text>
<text x="640" y="456" fill="#8a8a8a">gh pr view <num></text>
<text x="1020" y="456" fill="#c89a3a">~ partial only</text>
<!-- The dramatic row -->
<rect x="80" y="476" width="1040" height="40" fill="#2a1010" stroke="#7c2020" stroke-width="1.5" rx="4"/>
<text x="100" y="502" fill="#e88080" font-weight="700">/goal commands (the spec that drove EVERY row above)</text>
<text x="640" y="502" fill="#c87070">goal.md → overwritten next turn</text>
<text x="1020" y="502" fill="#e85050" font-weight="700">✗ LOST</text>
</g>
<!-- Bottom callout -->
<rect x="80" y="552" width="1040" height="100" fill="#1a1010" stroke="#3a2020" stroke-width="1" rx="6"/>
<g font-family="ui-monospace, 'SF Mono', 'JetBrains Mono', Menlo, Consolas, monospace">
<text x="100" y="584" font-size="16" font-weight="600" fill="#e88080">The self-violation:</text>
<text x="100" y="608" font-size="14" fill="#c8c8c8">The site's load-bearing claim is "every artifact is auditable — here is the URL where the verifier runs."</text>
<text x="100" y="628" font-size="14" fill="#c8c8c8">But the /goal that produced that codebase vanishes the moment the next /goal is typed. The chain has a hole.</text>
</g>
<!-- Watermark -->
<text x="1120" y="684" text-anchor="end" font-family="ui-monospace, 'SF Mono', 'JetBrains Mono', Menlo, Consolas, monospace" font-size="12" fill="#5a5a5a">https://tdd.md</text>
</svg>