syntaxai/tdd.md · main · public / images / contributing-onramp-fix.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 fix — CONTRIBUTING.md synthesizes existing artifacts, no new abstractions</text>
<text x="80" y="92" font-size="32" font-weight="700" fill="#e8e8e8">Each section links to its canonical source. No duplication.</text>
<text x="80" y="120" font-size="14" fill="#7a7a7a">Two on-site surfaces: ./CONTRIBUTING.md browseable at /GIT/tdd.md/blob/main/CONTRIBUTING.md + /contributing canonical. One file.</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">CONTRIBUTING.md SECTION</text>
<text x="640" y="172" fill="#909090">CANONICAL SOURCE (linked)</text>
<text x="1000" y="172" fill="#909090">SYNTHESIS</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="14">
<text x="100" y="216" fill="#c8c8c8" font-weight="600">Before you start</text>
<text x="640" y="216" fill="#6a8db5">/sama/v2 · /blog/sama-v2-goal-chain-gap</text>
<text x="1000" y="216" fill="#8a8a8a">3 links</text>
<text x="100" y="246" fill="#c8c8c8" font-weight="600">The /goal workflow</text>
<text x="640" y="246" fill="#6a8db5">/goals/migrate-historical-goals</text>
<text x="1000" y="246" fill="#8a8a8a">7-line summary</text>
<text x="100" y="276" fill="#c8c8c8" font-weight="600">SAMA layer convention</text>
<text x="640" y="276" fill="#6a8db5">/sama/v2 §1.1 + /sama/sorted</text>
<text x="1000" y="276" fill="#8a8a8a">aXX/bXX/cXX/dXX table</text>
<text x="100" y="306" fill="#c8c8c8" font-weight="600">How to add a blog post</text>
<text x="640" y="306" fill="#6a8db5">content/blog/<slug>.md + ALL_POSTS</text>
<text x="1000" y="306" fill="#8a8a8a">recipe</text>
<text x="100" y="336" fill="#c8c8c8" font-weight="600">How to add a /goal</text>
<text x="640" y="336" fill="#6a8db5">workflow memory + /goals registry</text>
<text x="1000" y="336" fill="#8a8a8a">recipe</text>
<text x="100" y="366" fill="#c8c8c8" font-weight="600">How to add an image</text>
<text x="640" y="366" fill="#6a8db5">public/images/ + watermark convention</text>
<text x="1000" y="366" fill="#8a8a8a">recipe</text>
<text x="100" y="396" fill="#c8c8c8" font-weight="600">How to add a Layer-1 helper</text>
<text x="640" y="396" fill="#6a8db5">b32_<name>.ts + b32_<name>.test.ts</text>
<text x="1000" y="396" fill="#8a8a8a">recipe</text>
<text x="100" y="426" fill="#c8c8c8" font-weight="600">How to add a top-level directory</text>
<text x="640" y="426" fill="#6a8db5">Containerfile COPY line (gotcha PR #46)</text>
<text x="1000" y="426" fill="#8a8a8a">recipe + warning</text>
<text x="100" y="456" fill="#c8c8c8" font-weight="600">Anti-fudge defaults</text>
<text x="640" y="456" fill="#6a8db5">/sama/v2/verify (must stay 7/7 ✓)</text>
<text x="1000" y="456" fill="#8a8a8a">5-bullet checklist</text>
<text x="100" y="486" fill="#c8c8c8" font-weight="600">Branch / deploy flow</text>
<text x="640" y="486" fill="#6a8db5">scripts/p620/deploy-tdd-md.sh + gh CLI</text>
<text x="1000" y="486" fill="#8a8a8a">5-step sequence</text>
</g>
<!-- Bottom callout -->
<rect x="80" y="520" width="1040" height="140" fill="#101a10" stroke="#1f3f1f" stroke-width="1" rx="6"/>
<g font-family="ui-monospace, 'SF Mono', 'JetBrains Mono', Menlo, Consolas, monospace">
<text x="100" y="552" font-size="16" font-weight="600" fill="#7ec77e">Three load-bearing properties:</text>
<text x="100" y="578" font-size="14" fill="#c8c8c8">1. SINGLE SOURCE OF TRUTH — every rule is owned by exactly one canonical artifact; CONTRIBUTING.md links, doesn't restate.</text>
<text x="100" y="602" font-size="14" fill="#c8c8c8">2. TWO ON-SITE SURFACES — /GIT/tdd.md/blob/main/CONTRIBUTING.md (auto via /GIT/) + /contributing (canonical). No GitHub dependency.</text>
<text x="100" y="626" font-size="14" fill="#c8c8c8">3. DOGFOODED — its own creation is a /goal-driven artifact at /goals/contributing-md, with merge_sha in frontmatter.</text>
<text x="100" y="648" font-size="13" fill="#8a8a8a">Drift detection follow-up: a test grep-checks that CONTRIBUTING.md only contains references to canonical sources (no rule restatements).</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>