-
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathcontributing.html
More file actions
195 lines (195 loc) · 99 KB
/
contributing.html
File metadata and controls
195 lines (195 loc) · 99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
<!doctype html>
<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-contributing" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Contributing to Trinity | Trinity</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://gHashTag.github.io/trinity/img/trinity-social-card.png"><meta data-rh="true" name="twitter:image" content="https://gHashTag.github.io/trinity/img/trinity-social-card.png"><meta data-rh="true" property="og:url" content="https://gHashTag.github.io/trinity/docs/contributing"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Contributing to Trinity | Trinity"><meta data-rh="true" name="description" content="Thank you for your interest in contributing to Trinity. This guide covers everything you need to know -- from our specification-first philosophy to the mandatory Golden Chain development cycle."><meta data-rh="true" property="og:description" content="Thank you for your interest in contributing to Trinity. This guide covers everything you need to know -- from our specification-first philosophy to the mandatory Golden Chain development cycle."><link data-rh="true" rel="icon" href="/trinity/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://gHashTag.github.io/trinity/docs/contributing"><link data-rh="true" rel="alternate" href="https://gHashTag.github.io/trinity/docs/contributing" hreflang="en"><link data-rh="true" rel="alternate" href="https://gHashTag.github.io/trinity/docs/contributing" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Contributing to Trinity","item":"https://gHashTag.github.io/trinity/docs/contributing"}]}</script><link rel="stylesheet" href="/trinity/assets/css/styles.1c22ec2b.css">
<script src="/trinity/assets/js/runtime~main.b82ec6ce.js" defer="defer"></script>
<script src="/trinity/assets/js/main.30e5edce.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<svg style="display: none;"><defs>
<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
</defs></svg>
<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")),document.documentElement.setAttribute("data-theme-choice",t||"system")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><link rel="preload" as="image" href="/trinity/img/logo.svg"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="theme-layout-navbar navbar navbar--fixed-top"><div class="navbar__inner"><div class="theme-layout-navbar-left navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/trinity/"><div class="navbar__logo"><img src="/trinity/img/logo.svg" alt="Trinity Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/trinity/img/logo.svg" alt="Trinity Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">Trinity</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/trinity/docs">Documentation</a></div><div class="theme-layout-navbar-right navbar__items navbar__items--right"><a href="https://github.com/gHashTag/trinity" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="system mode" aria-label="Switch between dark and light mode (currently system mode)"><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_g3eP lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_g3eP darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_g3eP systemToggleIcon_QzmC"><path fill="currentColor" d="m12 21c4.971 0 9-4.029 9-9s-4.029-9-9-9-9 4.029-9 9 4.029 9 9 9zm4.95-13.95c1.313 1.313 2.05 3.093 2.05 4.95s-0.738 3.637-2.05 4.95c-1.313 1.313-3.093 2.05-4.95 2.05v-14c1.857 0 3.637 0.737 4.95 2.05z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="theme-layout-main main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/trinity/docs"><span title="Trinity Documentation" class="linkLabel_WmDU">Trinity Documentation</span></a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/trinity/docs/getting-started/quickstart"><span title="Getting Started" class="categoryLinkLabel_W154">Getting Started</span></a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/trinity/docs/vibee"><span title="VIBEE Language" class="categoryLinkLabel_W154">VIBEE Language</span></a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/trinity/docs/sacred-math"><span title="Sacred Mathematics" class="categoryLinkLabel_W154">Sacred Mathematics</span></a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/trinity/docs/api"><span title="API Reference" class="categoryLinkLabel_W154">API Reference</span></a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/trinity/docs/architecture/overview"><span title="Architecture" class="categoryLinkLabel_W154">Architecture</span></a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/trinity/docs/troubleshooting"><span title="Troubleshooting" class="linkLabel_WmDU">Troubleshooting</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" href="/trinity/docs/contributing"><span title="Contributing to Trinity" class="linkLabel_WmDU">Contributing to Trinity</span></a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs"><li class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link">Contributing to Trinity</span></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Contributing to Trinity</h1></header>
<p>Thank you for your interest in contributing to Trinity. This guide covers everything you need to know -- from our specification-first philosophy to the mandatory Golden Chain development cycle.</p>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="1-overview">1. Overview<a href="#1-overview" class="hash-link" aria-label="Direct link to 1. Overview" title="Direct link to 1. Overview" translate="no"></a></h2>
<div class="green-card"><h4>Specification-First Development</h4><p>Trinity follows a <strong>strict specification-first paradigm</strong>. Every line of production code is generated from <code>.vibee</code> specifications. You never write implementation code by hand.</p><blockquote>
<p><strong>ALL CODE MUST BE GENERATED FROM <code>.vibee</code> SPECIFICATIONS</strong></p>
</blockquote></div>
<p>The philosophy is simple:</p>
<ul>
<li class=""><strong>Specifications are the source of truth.</strong> If you want to change behavior, change the spec.</li>
<li class=""><strong>Code generation is deterministic.</strong> The same spec always produces the same output.</li>
<li class=""><strong>Testing is automatic.</strong> Behaviors defined in specs produce tests by construction.</li>
<li class=""><strong>Manual code is forbidden.</strong> The only hand-written code lives in the VIBEE compiler itself (<code>src/vibeec/</code>), documentation, and specification files.</li>
</ul>
<p>This approach guarantees type safety, 100% test coverage, and consistency across all 42+ supported language targets.</p>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="2-the-golden-chain">2. The Golden Chain<a href="#2-the-golden-chain" class="hash-link" aria-label="Direct link to 2. The Golden Chain" title="Direct link to 2. The Golden Chain" translate="no"></a></h2>
<div class="theorem-card"><h4>MANDATORY 16-Link Development Cycle</h4><p>Every contribution -- no matter how small -- must follow the Golden Chain. Run <code>./bin/vibee koschei</code> to display the full chain at any time.</p><p><strong>The chain is closed. No link may be skipped.</strong></p></div>
<p>The 16 links of the Golden Chain are:</p>
<table><thead><tr><th>Link</th><th>Name</th><th>Description</th></tr></thead><tbody><tr><td>1</td><td><span class="badge-golden">ANALYZE</span></td><td>Study the problem domain. Read existing specs, understand the architecture, identify what needs to change.</td></tr><tr><td>2</td><td><span class="badge-golden">RESEARCH</span></td><td>Investigate prior art, mathematical foundations, and relevant algorithms. Document findings.</td></tr><tr><td>3</td><td><span class="badge-golden">SPEC</span></td><td>Write or update the <code>.vibee</code> specification in <code>specs/tri/</code>. This is the <strong>creative step</strong> -- all design decisions happen here.</td></tr><tr><td>4</td><td><span class="badge-golden">VALIDATE</span></td><td>Run <code>./bin/vibee validate specs/tri/your_spec.vibee</code> to check the specification for syntactic and semantic correctness.</td></tr><tr><td>5</td><td><span class="badge-green">GENERATE</span></td><td>Run <code>./bin/vibee gen specs/tri/your_spec.vibee</code> to produce implementation code in the target language.</td></tr><tr><td>6</td><td><span class="badge-green">COMPILE</span></td><td>Build the generated output: <code>zig build</code> or <code>zig build test</code> to verify it compiles without errors.</td></tr><tr><td>7</td><td><span class="badge-green">TEST</span></td><td>Run the full test suite: <code>zig build test</code>. Every behavior's test cases must pass.</td></tr><tr><td>8</td><td><span class="badge-green">BENCH</span></td><td>Run <code>zig build bench</code> to measure performance. Record baseline metrics for comparison.</td></tr><tr><td>9</td><td><span class="badge-golden">ITERATE</span></td><td>If tests fail or performance regresses, return to link 3 (SPEC) and refine. Repeat links 3-8 until green.</td></tr><tr><td>10</td><td><span class="badge-golden">REVIEW</span></td><td>Self-review the specification and generated output. Verify the design matches requirements.</td></tr><tr><td>11</td><td><span class="badge-golden">VERDICT</span></td><td>Write a <strong>TOXIC VERDICT</strong> -- a brutally honest self-criticism of the work (see <a href="#10-toxic-verdict" class="">Section 10</a>).</td></tr><tr><td>12</td><td><span class="badge-golden">TREE</span></td><td>Propose exactly <strong>3 TECH TREE options</strong> for the next iteration (see <a href="#8-tech-tree" class="">Section 8</a>).</td></tr><tr><td>13</td><td><span class="badge-green">DOCUMENT</span></td><td>Update relevant documentation if the change affects public APIs or user-facing behavior.</td></tr><tr><td>14</td><td><span class="badge-green">COMMIT</span></td><td>Create a single atomic commit following <a href="#9-commit-convention" class="">Conventional Commits</a>.</td></tr><tr><td>15</td><td><span class="badge-green">PR</span></td><td>Submit a pull request referencing the relevant issue. Include the Toxic Verdict and Tech Tree.</td></tr><tr><td>16</td><td><span class="badge-golden">CLOSE</span></td><td>Once merged, verify the chain is closed. All exit criteria must be satisfied.</td></tr></tbody></table>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="minimal-quick-cycle">Minimal Quick Cycle<a href="#minimal-quick-cycle" class="hash-link" aria-label="Direct link to Minimal Quick Cycle" title="Direct link to Minimal Quick Cycle" translate="no"></a></h3>
<p>For small changes, the essential links are:</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"># Link 3: Write specification</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token function" style="color:rgb(80, 250, 123)">cat</span><span class="token plain"> </span><span class="token operator">></span><span class="token plain"> specs/tri/feature.vibee </span><span class="token operator"><<</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'EOF'</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">name: feature</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">version: "1.0.0"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">language: zig</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">module: feature</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">types:</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)"> MyType:</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)"> fields:</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)"> name: String</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">behaviors:</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)"> - name: my_func</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)"> given: Input</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)"> when: Action</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)"> then: Result</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">EOF</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)"># Link 5: Generate code</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">./bin/vibee gen specs/tri/feature.vibee </span><span class="token comment" style="color:rgb(98, 114, 164)"># -> trinity/output/feature.zig</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)"># Link 7: Test</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">zig </span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">test</span><span class="token plain"> trinity/output/feature.zig</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)"># Link 11: Write TOXIC VERDICT (harsh self-criticism)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)"># Link 12: Propose 3 TECH TREE options for next iteration</span><br></span></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="for-hardware-verilogfpga">For Hardware (Verilog/FPGA)<a href="#for-hardware-verilogfpga" class="hash-link" aria-label="Direct link to For Hardware (Verilog/FPGA)" title="Direct link to For Hardware (Verilog/FPGA)" translate="no"></a></h3>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"># Use language: varlog in your spec</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">./bin/vibee gen specs/tri/feature_fpga.vibee </span><span class="token comment" style="color:rgb(98, 114, 164)"># -> trinity/output/fpga/feature_fpga.v</span><br></span></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="exit-criteria">Exit Criteria<a href="#exit-criteria" class="hash-link" aria-label="Direct link to Exit Criteria" title="Direct link to Exit Criteria" translate="no"></a></h3>
<div class="formula formula-green"><p><strong>EXIT_SIGNAL = ( tests_pass AND spec_complete AND toxic_verdict_written AND tech_tree_options_proposed AND committed )</strong></p></div>
<p>The Golden Chain is only closed when every condition in the exit signal is true.</p>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="3-vibee-specification-format">3. VIBEE Specification Format<a href="#3-vibee-specification-format" class="hash-link" aria-label="Direct link to 3. VIBEE Specification Format" title="Direct link to 3. VIBEE Specification Format" translate="no"></a></h2>
<div class="green-card"><h4>The .vibee File</h4><p><code>.vibee</code> files are YAML-based specifications that serve as the single source of truth for all generated code. One spec can target Zig, Verilog, Python, and 39 other languages.</p></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="complete-structure">Complete Structure<a href="#complete-structure" class="hash-link" aria-label="Direct link to Complete Structure" title="Direct link to Complete Structure" translate="no"></a></h3>
<div class="vibee-spec"><div class="language-yaml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-yaml codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token key atrule">name</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> module_name </span><span class="token comment" style="color:rgb(98, 114, 164)"># Required: lowercase with underscores</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token key atrule">version</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"1.0.0"</span><span class="token plain"> </span><span class="token comment" style="color:rgb(98, 114, 164)"># Required: semantic version</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token key atrule">language</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> zig </span><span class="token comment" style="color:rgb(98, 114, 164)"># Required: target language (zig, varlog, python, etc.)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token key atrule">module</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> module_name </span><span class="token comment" style="color:rgb(98, 114, 164)"># Required: output module name</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token key atrule">description</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"Description"</span><span class="token plain"> </span><span class="token comment" style="color:rgb(98, 114, 164)"># Optional: human-readable summary</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token key atrule">author</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"Name"</span><span class="token plain"> </span><span class="token comment" style="color:rgb(98, 114, 164)"># Optional: author</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token key atrule">license</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"MIT"</span><span class="token plain"> </span><span class="token comment" style="color:rgb(98, 114, 164)"># Optional: license identifier</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token key atrule">constants</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">PHI</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">1.6180339887498948</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">TRINITY</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">3</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">DIMENSION</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">10000</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">PE_MAGIC</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">0x5A4D</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token key atrule">types</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token comment" style="color:rgb(98, 114, 164)"># Struct definition</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">TypeName</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">fields</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">field1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> String</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">field2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> Int</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">field3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> Bool</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">field4</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> Float</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">field5</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> List<String</span><span class="token punctuation" style="color:rgb(248, 248, 242)">></span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">field6</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> Option<Int</span><span class="token punctuation" style="color:rgb(248, 248, 242)">></span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">constraints</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">-</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"field2 >= 0"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">-</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"field2 <= 100"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token comment" style="color:rgb(98, 114, 164)"># Enum definition</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">Status</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">enum</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">-</span><span class="token plain"> active</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">-</span><span class="token plain"> inactive</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">-</span><span class="token plain"> pending</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token key atrule">behaviors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> function_name</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">given</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> Precondition description</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">when</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> Action description</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">then</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> Expected result description</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> input</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">type</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> TypeName</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> dimension</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">type</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> Int</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">returns</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> TypeName</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">test_cases</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test_basic</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">input</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">input</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token key atrule">field1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"hello"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token key atrule">field2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">42</span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">dimension</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">3</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">expected</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token key atrule">field1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"result"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token key atrule">field2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">42</span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre></div></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="type-mappings">Type Mappings<a href="#type-mappings" class="hash-link" aria-label="Direct link to Type Mappings" title="Direct link to Type Mappings" translate="no"></a></h3>
<table><thead><tr><th>VIBEE Type</th><th>Zig</th><th>Verilog</th><th>Python</th><th>Description</th></tr></thead><tbody><tr><td><code>String</code></td><td><code>[]const u8</code></td><td>N/A</td><td><code>str</code></td><td>Text data</td></tr><tr><td><code>Int</code></td><td><code>i64</code></td><td><code>integer</code></td><td><code>int</code></td><td>Integer</td></tr><tr><td><code>Float</code></td><td><code>f64</code></td><td><code>real</code></td><td><code>float</code></td><td>Floating point</td></tr><tr><td><code>Bool</code></td><td><code>bool</code></td><td><code>reg</code></td><td><code>bool</code></td><td>Boolean</td></tr><tr><td><code>Option<T></code></td><td><code>?T</code></td><td>N/A</td><td><code>Optional[T]</code></td><td>Optional value</td></tr><tr><td><code>List<T></code></td><td><code>[]T</code></td><td>N/A</td><td><code>List[T]</code></td><td>Dynamic list</td></tr></tbody></table>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="behaviors-given-when-then">Behaviors: Given-When-Then<a href="#behaviors-given-when-then" class="hash-link" aria-label="Direct link to Behaviors: Given-When-Then" title="Direct link to Behaviors: Given-When-Then" translate="no"></a></h3>
<p>All behaviors use <strong>BDD (Behavior-Driven Development)</strong> semantics based on Given-When-Then, which maps directly to Hoare logic:</p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">Given: P (precondition) --> {P}</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">When: A (action) --> A</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Then: Q (postcondition) --> {Q}</span><br></span></code></pre></div></div>
<p>Example:</p>
<div class="language-yaml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-yaml codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token key atrule">behaviors</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> bind</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">given</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> Two vectors a and b of same dimension</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">when</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> Element</span><span class="token punctuation" style="color:rgb(248, 248, 242)">-</span><span class="token plain">wise ternary multiplication</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">then</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> Returns bound vector c where c</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain">i</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> = a</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain">i</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> * b</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain">i</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">params</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> a</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">type</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> TritVector</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> b</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">type</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> TritVector</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">returns</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> TritVector</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">test_cases</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> test_bind_identity</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">input</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">a</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token key atrule">data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token number">1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">0</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">-1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token key atrule">dimension</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">b</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token key atrule">data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token number">1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token key atrule">dimension</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">expected</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token key atrule">data</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token number">1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">0</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">-1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token key atrule">dimension</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token number">3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre></div></div>
<p>See the full <a class="" href="/trinity/docs/vibee/specification">VIBEE Specification Reference</a> for more detail.</p>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="4-what-you-can-edit">4. What You Can Edit<a href="#4-what-you-can-edit" class="hash-link" aria-label="Direct link to 4. What You Can Edit" title="Direct link to 4. What You Can Edit" translate="no"></a></h2>
<div class="theorem-card"><h4>Source of Truth</h4><p>The only code you should ever write by hand lives in specifications, the compiler itself, and documentation. Everything else is generated.</p></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="allowed-to-edit">Allowed to Edit<a href="#allowed-to-edit" class="hash-link" aria-label="Direct link to Allowed to Edit" title="Direct link to Allowed to Edit" translate="no"></a></h3>
<table><thead><tr><th>Path</th><th>Description</th></tr></thead><tbody><tr><td><code>specs/tri/*.vibee</code></td><td><strong>Specifications (SOURCE OF TRUTH)</strong> -- all design work happens here</td></tr><tr><td><code>src/vibeec/*.zig</code></td><td>VIBEE compiler source -- the only hand-written Zig</td></tr><tr><td><code>docs/*.md</code></td><td>Documentation files</td></tr><tr><td><code>docsite/**</code></td><td>Documentation website</td></tr><tr><td><code>examples/*.tri</code></td><td>Example programs</td></tr><tr><td><code>CLAUDE.md</code></td><td>AI assistant instructions</td></tr></tbody></table>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="never-edit-auto-generated">Never Edit (Auto-Generated)<a href="#never-edit-auto-generated" class="hash-link" aria-label="Direct link to Never Edit (Auto-Generated)" title="Direct link to Never Edit (Auto-Generated)" translate="no"></a></h3>
<table><thead><tr><th>Path</th><th>Reason</th></tr></thead><tbody><tr><td><code>trinity/output/*.zig</code></td><td>Generated from <code>.vibee</code> specs -- will be overwritten</td></tr><tr><td><code>trinity/output/fpga/*.v</code></td><td>Generated from <code>.vibee</code> specs -- will be overwritten</td></tr><tr><td><code>generated/*.zig</code></td><td>Generated from <code>.vibee</code> specs -- will be overwritten</td></tr></tbody></table>
<p>If you find a bug in generated code, fix the <strong>specification</strong> or the <strong>compiler</strong> -- never the output.</p>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="5-code-style-guide">5. Code Style Guide<a href="#5-code-style-guide" class="hash-link" aria-label="Direct link to 5. Code Style Guide" title="Direct link to 5. Code Style Guide" translate="no"></a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="zig-conventions">Zig Conventions<a href="#zig-conventions" class="hash-link" aria-label="Direct link to Zig Conventions" title="Direct link to Zig Conventions" translate="no"></a></h3>
<ul>
<li class="">Use <strong>4-space indentation</strong> (no tabs).</li>
<li class="">Follow the official <a href="https://ziglang.org/documentation/master/#Style-Guide" target="_blank" rel="noopener noreferrer" class="">Zig Style Guide</a>.</li>
<li class="">Prefer <code>const</code> over <code>var</code> whenever possible.</li>
<li class="">Add doc comments (<code>///</code>) for all public functions.</li>
<li class="">Use <code>@import("std")</code> -- do not alias standard library submodules at file scope unless necessary.</li>
<li class="">Run <code>zig fmt src/</code> before committing to ensure consistent formatting.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="vibee-specification-conventions">VIBEE Specification Conventions<a href="#vibee-specification-conventions" class="hash-link" aria-label="Direct link to VIBEE Specification Conventions" title="Direct link to VIBEE Specification Conventions" translate="no"></a></h3>
<ul>
<li class="">Use <strong>lowercase_with_underscores</strong> for module and behavior names.</li>
<li class="">Use <strong>PascalCase</strong> for type names.</li>
<li class="">Every behavior must include meaningful <code>given</code>, <code>when</code>, and <code>then</code> descriptions -- not placeholders.</li>
<li class="">Include at least one <code>test_case</code> per behavior.</li>
<li class="">Add <code>constraints</code> to types where invariants exist.</li>
<li class="">Keep specifications focused: one module per <code>.vibee</code> file.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="givenwhenthen-best-practices">Given/When/Then Best Practices<a href="#givenwhenthen-best-practices" class="hash-link" aria-label="Direct link to Given/When/Then Best Practices" title="Direct link to Given/When/Then Best Practices" translate="no"></a></h3>
<table><thead><tr><th>Quality</th><th>Bad</th><th>Good</th></tr></thead><tbody><tr><td>Specificity</td><td><code>given: Input</code></td><td><code>given: A non-empty vector of dimension N</code></td></tr><tr><td>Action clarity</td><td><code>when: Processing</code></td><td><code>when: Computing element-wise ternary product</code></td></tr><tr><td>Verifiability</td><td><code>then: Returns result</code></td><td><code>then: Returns vector where each trit is product of corresponding input trits</code></td></tr></tbody></table>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="6-mathematical-foundation">6. Mathematical Foundation<a href="#6-mathematical-foundation" class="hash-link" aria-label="Direct link to 6. Mathematical Foundation" title="Direct link to 6. Mathematical Foundation" translate="no"></a></h2>
<p>Trinity is built on a rigorous mathematical foundation connecting the golden ratio, ternary arithmetic, and information theory.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-trinity-identity">The Trinity Identity<a href="#the-trinity-identity" class="hash-link" aria-label="Direct link to The Trinity Identity" title="Direct link to The Trinity Identity" translate="no"></a></h3>
<div class="formula formula-golden"><p><strong>phi^2 + 1/phi^2 = 3 = TRINITY</strong></p></div>
<p>Where phi = (1 + sqrt(5)) / 2 ~ 1.618 (the Golden Ratio). This identity connects the golden ratio to the ternary base of our computing model. The number 3 is not arbitrary -- it emerges from the deepest structure of mathematics.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-sakra-formula">The Sakra Formula<a href="#the-sakra-formula" class="hash-link" aria-label="Direct link to The Sakra Formula" title="Direct link to The Sakra Formula" translate="no"></a></h3>
<div class="formula formula-golden"><p><strong>V = n * 3^k * pi^m * phi^p * e^q</strong></p></div>
<p>Every fundamental physical constant can be expressed as a combination of:</p>
<ul>
<li class=""><strong>n</strong> -- integer coefficient</li>
<li class=""><strong>3^k</strong> -- powers of trinity</li>
<li class=""><strong>pi^m</strong> -- powers of pi</li>
<li class=""><strong>phi^p</strong> -- powers of the golden ratio</li>
<li class=""><strong>e^q</strong> -- powers of Euler's number</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-phoenix-number">The Phoenix Number<a href="#the-phoenix-number" class="hash-link" aria-label="Direct link to The Phoenix Number" title="Direct link to The Phoenix Number" translate="no"></a></h3>
<div class="formula formula-green"><p><strong>3^21 = 10,460,353,203</strong></p></div>
<p>The Phoenix Number defines the total supply of $TRI tokens. It is derived from 3 (trinity) raised to the 21st power, connecting the ternary foundation to the project's tokenomics.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="why-ternary">Why Ternary?<a href="#why-ternary" class="hash-link" aria-label="Direct link to Why Ternary?" title="Direct link to Why Ternary?" translate="no"></a></h3>
<table><thead><tr><th>Property</th><th>Binary</th><th>Ternary</th><th>Advantage</th></tr></thead><tbody><tr><td>Values per digit</td><td>2</td><td>3</td><td>--</td></tr><tr><td>Information density</td><td>1.00 bits/digit</td><td>1.58 bits/trit</td><td><strong>+58.5%</strong></td></tr><tr><td>Memory (vs float32)</td><td>1x</td><td>1/20x</td><td><strong>20x savings</strong></td></tr><tr><td>Compute model</td><td>Multiply-accumulate</td><td>Add-only</td><td><strong>No multiply</strong></td></tr><tr><td>Optimal radix</td><td>--</td><td>Closest integer to <em>e</em></td><td><strong>Mathematically optimal</strong></td></tr></tbody></table>
<p>See the full <a class="" href="/trinity/docs/sacred-math">Sacred Mathematics</a> section for proofs and derivations.</p>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="7-genetic-algorithm-constants-pas-daemons">7. Genetic Algorithm Constants (PAS DAEMONS)<a href="#7-genetic-algorithm-constants-pas-daemons" class="hash-link" aria-label="Direct link to 7. Genetic Algorithm Constants (PAS DAEMONS)" title="Direct link to 7. Genetic Algorithm Constants (PAS DAEMONS)" translate="no"></a></h2>
<div class="theorem-card"><h4>PAS DAEMONS Constants</h4><p>The evolutionary optimization engine in Trinity uses four sacred constants derived from the golden ratio and ternary mathematics. These govern the genetic algorithm that evolves specifications and optimizes generated code.</p></div>
<table><thead><tr><th>Constant</th><th>Symbol</th><th>Value</th><th>Derivation</th><th>Purpose</th></tr></thead><tbody><tr><td><strong>Mutation Rate</strong></td><td>mu</td><td>0.0382</td><td>1 - 1/phi^(phi+1)</td><td>Controls random perturbation of candidate solutions. Low value ensures stability -- only ~3.8% of genes mutate per generation, preventing catastrophic loss of good traits.</td></tr><tr><td><strong>Crossover Rate</strong></td><td>chi</td><td>0.0618</td><td>1/phi^3</td><td>Governs recombination of parent solutions. At ~6.2%, crossover is selective, combining only the strongest traits from each parent while preserving individual structure.</td></tr><tr><td><strong>Selection Pressure</strong></td><td>sigma</td><td>1.618</td><td>phi</td><td>Determines how aggressively the fittest individuals are favored. Equal to the golden ratio itself, this ensures a balanced tournament where strong candidates win but diversity is maintained.</td></tr><tr><td><strong>Elitism Fraction</strong></td><td>epsilon</td><td>0.333</td><td>1/3</td><td>The fraction of the population that survives unchanged into the next generation. Exactly 1/3 (one trit-value), guaranteeing that the best third of solutions persist while leaving room for evolution.</td></tr></tbody></table>
<p>These four constants form a self-consistent system:</p>
<div class="formula formula-golden"><p><strong>mu * chi * sigma ~ epsilon^3</strong></p><p><em>0.0382 * 0.0618 * 1.618 ~ 0.0038 ~ 0.333^3 = 0.0369</em></p></div>
<p>The near-equality demonstrates that the constants are not arbitrary but emerge from the same golden-ratio/ternary structure underlying all of Trinity.</p>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="8-tech-tree">8. Tech Tree<a href="#8-tech-tree" class="hash-link" aria-label="Direct link to 8. Tech Tree" title="Direct link to 8. Tech Tree" translate="no"></a></h2>
<div class="green-card"><h4>Interactive Tech Tree</h4><p>The Tech Tree maps all development paths in Trinity. View the full interactive version at the <a class="" href="/trinity/docs/architecture/overview">Architecture Overview</a>.</p><p>Every Golden Chain cycle ends with proposing <strong>3 TECH TREE options</strong> -- one from each of three different branches -- giving reviewers meaningful choices for the project's direction.</p></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-5-branches">The 5 Branches<a href="#the-5-branches" class="hash-link" aria-label="Direct link to The 5 Branches" title="Direct link to The 5 Branches" translate="no"></a></h3>
<table><thead><tr><th>Branch</th><th>Focus</th><th>Key Areas</th></tr></thead><tbody><tr><td><span class="badge-green">CORE</span></td><td>Foundation</td><td>VSA operations, ternary VM, packed trit encoding, HybridBigInt, SDK primitives</td></tr><tr><td><span class="badge-green">INFERENCE</span></td><td>AI/ML</td><td>Firebird LLM engine, BitNet b1.58 integration, GGUF model loading, tokenization, transformer layers</td></tr><tr><td><span class="badge-golden">OPTIMIZATION</span></td><td>Performance</td><td>SIMD vectorization (AVX2/NEON), cache-friendly layouts, zero-allocation patterns, benchmark suite</td></tr><tr><td><span class="badge-golden">DEPLOYMENT</span></td><td>Distribution</td><td>WebAssembly targets, DePIN infrastructure, cross-platform release builds, HTTP API server, Telegram bot</td></tr><tr><td><span class="badge-golden">HARDWARE</span></td><td>Physical</td><td>Verilog code generation, FPGA synthesis, ternary ALU design, quantum-ready qutrit mappings, phi-engine</td></tr></tbody></table>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="how-to-propose-tech-tree-options">How to Propose Tech Tree Options<a href="#how-to-propose-tech-tree-options" class="hash-link" aria-label="Direct link to How to Propose Tech Tree Options" title="Direct link to How to Propose Tech Tree Options" translate="no"></a></h3>
<p>At the end of each Golden Chain cycle (link 12), propose exactly 3 options:</p>
<div class="language-markdown codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-markdown codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token title important punctuation" style="color:rgb(248, 248, 242)">##</span><span class="token title important"> TECH TREE</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token title important punctuation" style="color:rgb(248, 248, 242)">###</span><span class="token title important"> Option A: [CORE] Extend VSA with sparse vector support</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token list punctuation" style="color:rgb(248, 248, 242)">-</span><span class="token plain"> Add sparse encoding to reduce memory for high-dimensional vectors</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token list punctuation" style="color:rgb(248, 248, 242)">-</span><span class="token plain"> Estimated effort: 2 days</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token list punctuation" style="color:rgb(248, 248, 242)">-</span><span class="token plain"> Risk: Low</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token title important punctuation" style="color:rgb(248, 248, 242)">###</span><span class="token title important"> Option B: [OPTIMIZATION] AVX-512 path for trit bundling</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token list punctuation" style="color:rgb(248, 248, 242)">-</span><span class="token plain"> 2x throughput on supported hardware</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token list punctuation" style="color:rgb(248, 248, 242)">-</span><span class="token plain"> Estimated effort: 3 days</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token list punctuation" style="color:rgb(248, 248, 242)">-</span><span class="token plain"> Risk: Medium (hardware-specific)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token title important punctuation" style="color:rgb(248, 248, 242)">###</span><span class="token title important"> Option C: [DEPLOYMENT] WebAssembly streaming compilation</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token list punctuation" style="color:rgb(248, 248, 242)">-</span><span class="token plain"> Enable browser-based inference without full download</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token list punctuation" style="color:rgb(248, 248, 242)">-</span><span class="token plain"> Estimated effort: 5 days</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token list punctuation" style="color:rgb(248, 248, 242)">-</span><span class="token plain"> Risk: Medium</span><br></span></code></pre></div></div>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="9-commit-convention">9. Commit Convention<a href="#9-commit-convention" class="hash-link" aria-label="Direct link to 9. Commit Convention" title="Direct link to 9. Commit Convention" translate="no"></a></h2>
<p>All commits must follow <a href="https://www.conventionalcommits.org/" target="_blank" rel="noopener noreferrer" class="">Conventional Commits</a> format.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="prefixes">Prefixes<a href="#prefixes" class="hash-link" aria-label="Direct link to Prefixes" title="Direct link to Prefixes" translate="no"></a></h3>
<table><thead><tr><th>Prefix</th><th>Usage</th><th>Example</th></tr></thead><tbody><tr><td><code>feat:</code></td><td>New feature or specification</td><td><code>feat: add ternary matrix multiplication spec</code></td></tr><tr><td><code>fix:</code></td><td>Bug fix in spec or compiler</td><td><code>fix: correct off-by-one in trit packing</code></td></tr><tr><td><code>docs:</code></td><td>Documentation changes</td><td><code>docs: update VSA API reference</code></td></tr><tr><td><code>refactor:</code></td><td>Code restructuring (compiler only)</td><td><code>refactor: simplify codegen pipeline</code></td></tr><tr><td><code>test:</code></td><td>Test additions or changes</td><td><code>test: add edge cases for bind operation</code></td></tr><tr><td><code>perf:</code></td><td>Performance improvements</td><td><code>perf: SIMD-accelerate bundle3 operation</code></td></tr><tr><td><code>chore:</code></td><td>Build, CI, tooling changes</td><td><code>chore: update Zig to 0.13.0</code></td></tr></tbody></table>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="commit-message-format">Commit Message Format<a href="#commit-message-format" class="hash-link" aria-label="Direct link to Commit Message Format" title="Direct link to Commit Message Format" translate="no"></a></h3>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain"><type>: <short summary in imperative mood></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"><optional body: explain WHY, not WHAT></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"><optional footer: references, breaking changes></span><br></span></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="example">Example<a href="#example" class="hash-link" aria-label="Direct link to Example" title="Direct link to Example" translate="no"></a></h3>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">feat: add ternary matrix multiplication spec</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">- Add specs/tri/matmul.vibee with SIMD-aware behaviors</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">- Includes test cases for AVX2 and NEON paths</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">- Supports dimensions up to 10000x10000</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Refs: #42</span><br></span></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="rules">Rules<a href="#rules" class="hash-link" aria-label="Direct link to Rules" title="Direct link to Rules" translate="no"></a></h3>
<ul>
<li class="">Use <strong>imperative mood</strong> in the summary line ("add", not "added" or "adds").</li>
<li class="">Keep the summary line under 72 characters.</li>
<li class="">Reference related issues in the footer.</li>
<li class="">One logical change per commit. Do not combine unrelated changes.</li>
</ul>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="10-toxic-verdict">10. Toxic Verdict<a href="#10-toxic-verdict" class="hash-link" aria-label="Direct link to 10. Toxic Verdict" title="Direct link to 10. Toxic Verdict" translate="no"></a></h2>
<div class="theorem-card"><h4>Mandatory Self-Criticism</h4><p>Every Golden Chain cycle <strong>must</strong> include a Toxic Verdict -- a brutally honest assessment of the work's weaknesses. This is not optional. No PR will be accepted without one.</p></div>
<p>The Toxic Verdict serves three purposes:</p>
<ol>
<li class=""><strong>Intellectual honesty</strong> -- forces you to confront what you glossed over.</li>
<li class=""><strong>Review efficiency</strong> -- reviewers know exactly where to look for problems.</li>
<li class=""><strong>Iteration fuel</strong> -- weaknesses identified here feed directly into the next cycle's Tech Tree options.</li>
</ol>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="format">Format<a href="#format" class="hash-link" aria-label="Direct link to Format" title="Direct link to Format" translate="no"></a></h3>
<div class="language-markdown codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-markdown codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token title important punctuation" style="color:rgb(248, 248, 242)">##</span><span class="token title important"> TOXIC VERDICT</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token title important punctuation" style="color:rgb(248, 248, 242)">###</span><span class="token title important"> What went wrong</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token list punctuation" style="color:rgb(248, 248, 242)">-</span><span class="token plain"> [Specific technical weakness #1]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token list punctuation" style="color:rgb(248, 248, 242)">-</span><span class="token plain"> [Specific technical weakness #2]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token list punctuation" style="color:rgb(248, 248, 242)">-</span><span class="token plain"> [What was left incomplete or hacky]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token title important punctuation" style="color:rgb(248, 248, 242)">###</span><span class="token title important"> What I would do differently</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token list punctuation" style="color:rgb(248, 248, 242)">-</span><span class="token plain"> [Concrete alternative approach]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token list punctuation" style="color:rgb(248, 248, 242)">-</span><span class="token plain"> [Better design decision]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token title important punctuation" style="color:rgb(248, 248, 242)">###</span><span class="token title important"> Honest assessment</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">[1-3 sentences of unflinching self-evaluation. No hedging, no softening.]</span><br></span></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="example-1">Example<a href="#example-1" class="hash-link" aria-label="Direct link to Example" title="Direct link to Example" translate="no"></a></h3>
<div class="language-markdown codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-markdown codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token title important punctuation" style="color:rgb(248, 248, 242)">##</span><span class="token title important"> TOXIC VERDICT</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token title important punctuation" style="color:rgb(248, 248, 242)">###</span><span class="token title important"> What went wrong</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token list punctuation" style="color:rgb(248, 248, 242)">-</span><span class="token plain"> The sparse vector encoding wastes 12% memory on vectors with density > 0.4</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token list punctuation" style="color:rgb(248, 248, 242)">-</span><span class="token plain"> No benchmarks for the NEON path -- only tested on x86_64</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token list punctuation" style="color:rgb(248, 248, 242)">-</span><span class="token plain"> The constraint validation generates O(n^2) checks; should be O(n)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token title important punctuation" style="color:rgb(248, 248, 242)">###</span><span class="token title important"> What I would do differently</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token list punctuation" style="color:rgb(248, 248, 242)">-</span><span class="token plain"> Use run-length encoding instead of index lists for dense regions</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token list punctuation" style="color:rgb(248, 248, 242)">-</span><span class="token plain"> Set up CI with ARM runners before claiming cross-platform support</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token title important punctuation" style="color:rgb(248, 248, 242)">###</span><span class="token title important"> Honest assessment</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">This implementation works but is mediocre. The happy path is solid, but edge</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">cases around zero-heavy vectors are undertested and the performance claims are</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">unsubstantiated on ARM. Needs another full iteration before production use.</span><br></span></code></pre></div></div>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="11-cli-commands">11. CLI Commands<a href="#11-cli-commands" class="hash-link" aria-label="Direct link to 11. CLI Commands" title="Direct link to 11. CLI Commands" translate="no"></a></h2>
<p>Quick reference for all Trinity CLI commands used during development.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="build-commands">Build Commands<a href="#build-commands" class="hash-link" aria-label="Direct link to Build Commands" title="Direct link to Build Commands" translate="no"></a></h3>
<table><thead><tr><th>Command</th><th>Description</th></tr></thead><tbody><tr><td><code>zig build</code></td><td>Compile library and all executables</td></tr><tr><td><code>zig build firebird</code></td><td>Build Firebird LLM CLI (ReleaseFast)</td></tr><tr><td><code>zig build release</code></td><td>Cross-platform release builds (linux/macos/windows)</td></tr></tbody></table>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="test-commands">Test Commands<a href="#test-commands" class="hash-link" aria-label="Direct link to Test Commands" title="Direct link to Test Commands" translate="no"></a></h3>
<table><thead><tr><th>Command</th><th>Description</th></tr></thead><tbody><tr><td><code>zig build test</code></td><td>Run ALL tests (trinity, vsa, vm, firebird, wasm, depin)</td></tr><tr><td><code>zig test src/vsa.zig</code></td><td>Run VSA tests only</td></tr><tr><td><code>zig test src/vm.zig</code></td><td>Run VM tests only</td></tr><tr><td><code>zig test src/firebird/b2t_integration.zig</code></td><td>Firebird integration tests</td></tr></tbody></table>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="benchmark-and-examples">Benchmark and Examples<a href="#benchmark-and-examples" class="hash-link" aria-label="Direct link to Benchmark and Examples" title="Direct link to Benchmark and Examples" translate="no"></a></h3>
<table><thead><tr><th>Command</th><th>Description</th></tr></thead><tbody><tr><td><code>zig build bench</code></td><td>Run performance benchmarks</td></tr><tr><td><code>zig build examples</code></td><td>Build and run all examples</td></tr></tbody></table>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="format-1">Format<a href="#format-1" class="hash-link" aria-label="Direct link to Format" title="Direct link to Format" translate="no"></a></h3>
<table><thead><tr><th>Command</th><th>Description</th></tr></thead><tbody><tr><td><code>zig fmt src/</code></td><td>Format all Zig source code</td></tr></tbody></table>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="vibee-compiler">VIBEE Compiler<a href="#vibee-compiler" class="hash-link" aria-label="Direct link to VIBEE Compiler" title="Direct link to VIBEE Compiler" translate="no"></a></h3>
<table><thead><tr><th>Command</th><th>Description</th></tr></thead><tbody><tr><td><code>./bin/vibee gen <spec.vibee></code></td><td>Generate code from specification</td></tr><tr><td><code>./bin/vibee gen-multi <spec> all</code></td><td>Generate for all 42 supported languages</td></tr><tr><td><code>./bin/vibee validate <spec.vibee></code></td><td>Validate specification syntax and semantics</td></tr><tr><td><code>./bin/vibee run <file.999></code></td><td>Execute via bytecode VM</td></tr><tr><td><code>./bin/vibee koschei</code></td><td>Display the full Golden Chain</td></tr><tr><td><code>./bin/vibee chat --model <path></code></td><td>Interactive chat with a model</td></tr><tr><td><code>./bin/vibee serve --port 8080</code></td><td>Start the HTTP API server</td></tr></tbody></table>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="12-community">12. Community<a href="#12-community" class="hash-link" aria-label="Direct link to 12. Community" title="Direct link to 12. Community" translate="no"></a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="getting-help">Getting Help<a href="#getting-help" class="hash-link" aria-label="Direct link to Getting Help" title="Direct link to Getting Help" translate="no"></a></h3>
<ul>
<li class=""><strong>GitHub Issues</strong>: <a href="https://github.com/gHashTag/trinity/issues" target="_blank" rel="noopener noreferrer" class="">github.com/gHashTag/trinity/issues</a> -- bug reports, feature requests, and questions.</li>
<li class=""><strong>GitHub Discussions</strong>: <a href="https://github.com/gHashTag/trinity/discussions" target="_blank" rel="noopener noreferrer" class="">github.com/gHashTag/trinity/discussions</a> -- open-ended conversations and ideas.</li>
<li class=""><strong>Telegram</strong>: Join the Trinity community chat for real-time discussion and support.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="submitting-a-pull-request">Submitting a Pull Request<a href="#submitting-a-pull-request" class="hash-link" aria-label="Direct link to Submitting a Pull Request" title="Direct link to Submitting a Pull Request" translate="no"></a></h3>
<ol>
<li class=""><strong>Fork</strong> the repository and clone your fork.</li>
<li class=""><strong>Create a branch</strong>: <code>git checkout -b feat/my-feature</code></li>
<li class=""><strong>Follow the Golden Chain</strong> (all 16 links).</li>
<li class=""><strong>Push</strong> your branch: <code>git push origin feat/my-feature</code></li>
<li class=""><strong>Open a PR</strong> against <code>main</code> with the following template:</li>
</ol>
<div class="language-markdown codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-markdown codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token title important punctuation" style="color:rgb(248, 248, 242)">##</span><span class="token title important"> Summary</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Brief description of changes.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token title important punctuation" style="color:rgb(248, 248, 242)">##</span><span class="token title important"> Specification</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Link to the .vibee file(s) added or modified.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token title important punctuation" style="color:rgb(248, 248, 242)">##</span><span class="token title important"> Testing</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">How the changes were tested. Include test output.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token title important punctuation" style="color:rgb(248, 248, 242)">##</span><span class="token title important"> TOXIC VERDICT</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">[Your honest self-criticism]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token title important punctuation" style="color:rgb(248, 248, 242)">##</span><span class="token title important"> TECH TREE</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">[Your 3 options for next iteration]</span><br></span></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="code-of-conduct">Code of Conduct<a href="#code-of-conduct" class="hash-link" aria-label="Direct link to Code of Conduct" title="Direct link to Code of Conduct" translate="no"></a></h3>
<ul>
<li class="">Be respectful and constructive.</li>
<li class="">Focus criticism on code and design, never on people.</li>
<li class="">The Toxic Verdict is for <strong>self</strong>-criticism only -- never direct it at others.</li>
<li class="">Assume good intent. Ask clarifying questions before judging.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="documentation-website">Documentation Website<a href="#documentation-website" class="hash-link" aria-label="Direct link to Documentation Website" title="Direct link to Documentation Website" translate="no"></a></h3>
<p>The documentation site is hosted at <a href="https://trinity-site-ghashtag.vercel.app" target="_blank" rel="noopener noreferrer" class="">https://trinity-site-ghashtag.vercel.app</a>. It auto-deploys from the <code>main</code> branch. The site source lives in <code>docsite/</code> and uses Docusaurus.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="useful-links">Useful Links<a href="#useful-links" class="hash-link" aria-label="Direct link to Useful Links" title="Direct link to Useful Links" translate="no"></a></h3>
<table><thead><tr><th>Resource</th><th>Link</th></tr></thead><tbody><tr><td>Repository</td><td><a href="https://github.com/gHashTag/trinity" target="_blank" rel="noopener noreferrer" class="">github.com/gHashTag/trinity</a></td></tr><tr><td>Documentation</td><td><a href="https://trinity-site-ghashtag.vercel.app" target="_blank" rel="noopener noreferrer" class="">trinity-site-ghashtag.vercel.app</a></td></tr><tr><td>VIBEE Guide</td><td><a class="" href="/trinity/docs/vibee">/docs/vibee</a></td></tr><tr><td>Sacred Mathematics</td><td><a class="" href="/trinity/docs/sacred-math">/docs/sacred-math</a></td></tr><tr><td>API Reference</td><td><a class="" href="/trinity/docs/api">/docs/api</a></td></tr><tr><td>Architecture</td><td><a class="" href="/trinity/docs/architecture/overview">/docs/architecture/overview</a></td></tr></tbody></table>
<hr>
<div class="formula formula-golden"><p><strong>KOSCHEI IS IMMORTAL | GOLDEN CHAIN IS CLOSED | phi^2 + 1/phi^2 = 3</strong></p></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col noPrint_WFHX"><a href="https://github.com/gHashTag/trinity/tree/main/docsite/docs/contributing.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/trinity/docs/troubleshooting"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Troubleshooting</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#1-overview" class="table-of-contents__link toc-highlight">1. Overview</a></li><li><a href="#2-the-golden-chain" class="table-of-contents__link toc-highlight">2. The Golden Chain</a><ul><li><a href="#minimal-quick-cycle" class="table-of-contents__link toc-highlight">Minimal Quick Cycle</a></li><li><a href="#for-hardware-verilogfpga" class="table-of-contents__link toc-highlight">For Hardware (Verilog/FPGA)</a></li><li><a href="#exit-criteria" class="table-of-contents__link toc-highlight">Exit Criteria</a></li></ul></li><li><a href="#3-vibee-specification-format" class="table-of-contents__link toc-highlight">3. VIBEE Specification Format</a><ul><li><a href="#complete-structure" class="table-of-contents__link toc-highlight">Complete Structure</a></li><li><a href="#type-mappings" class="table-of-contents__link toc-highlight">Type Mappings</a></li><li><a href="#behaviors-given-when-then" class="table-of-contents__link toc-highlight">Behaviors: Given-When-Then</a></li></ul></li><li><a href="#4-what-you-can-edit" class="table-of-contents__link toc-highlight">4. What You Can Edit</a><ul><li><a href="#allowed-to-edit" class="table-of-contents__link toc-highlight">Allowed to Edit</a></li><li><a href="#never-edit-auto-generated" class="table-of-contents__link toc-highlight">Never Edit (Auto-Generated)</a></li></ul></li><li><a href="#5-code-style-guide" class="table-of-contents__link toc-highlight">5. Code Style Guide</a><ul><li><a href="#zig-conventions" class="table-of-contents__link toc-highlight">Zig Conventions</a></li><li><a href="#vibee-specification-conventions" class="table-of-contents__link toc-highlight">VIBEE Specification Conventions</a></li><li><a href="#givenwhenthen-best-practices" class="table-of-contents__link toc-highlight">Given/When/Then Best Practices</a></li></ul></li><li><a href="#6-mathematical-foundation" class="table-of-contents__link toc-highlight">6. Mathematical Foundation</a><ul><li><a href="#the-trinity-identity" class="table-of-contents__link toc-highlight">The Trinity Identity</a></li><li><a href="#the-sakra-formula" class="table-of-contents__link toc-highlight">The Sakra Formula</a></li><li><a href="#the-phoenix-number" class="table-of-contents__link toc-highlight">The Phoenix Number</a></li><li><a href="#why-ternary" class="table-of-contents__link toc-highlight">Why Ternary?</a></li></ul></li><li><a href="#7-genetic-algorithm-constants-pas-daemons" class="table-of-contents__link toc-highlight">7. Genetic Algorithm Constants (PAS DAEMONS)</a></li><li><a href="#8-tech-tree" class="table-of-contents__link toc-highlight">8. Tech Tree</a><ul><li><a href="#the-5-branches" class="table-of-contents__link toc-highlight">The 5 Branches</a></li><li><a href="#how-to-propose-tech-tree-options" class="table-of-contents__link toc-highlight">How to Propose Tech Tree Options</a></li></ul></li><li><a href="#9-commit-convention" class="table-of-contents__link toc-highlight">9. Commit Convention</a><ul><li><a href="#prefixes" class="table-of-contents__link toc-highlight">Prefixes</a></li><li><a href="#commit-message-format" class="table-of-contents__link toc-highlight">Commit Message Format</a></li><li><a href="#example" class="table-of-contents__link toc-highlight">Example</a></li><li><a href="#rules" class="table-of-contents__link toc-highlight">Rules</a></li></ul></li><li><a href="#10-toxic-verdict" class="table-of-contents__link toc-highlight">10. Toxic Verdict</a><ul><li><a href="#format" class="table-of-contents__link toc-highlight">Format</a></li><li><a href="#example-1" class="table-of-contents__link toc-highlight">Example</a></li></ul></li><li><a href="#11-cli-commands" class="table-of-contents__link toc-highlight">11. CLI Commands</a><ul><li><a href="#build-commands" class="table-of-contents__link toc-highlight">Build Commands</a></li><li><a href="#test-commands" class="table-of-contents__link toc-highlight">Test Commands</a></li><li><a href="#benchmark-and-examples" class="table-of-contents__link toc-highlight">Benchmark and Examples</a></li><li><a href="#format-1" class="table-of-contents__link toc-highlight">Format</a></li><li><a href="#vibee-compiler" class="table-of-contents__link toc-highlight">VIBEE Compiler</a></li></ul></li><li><a href="#12-community" class="table-of-contents__link toc-highlight">12. Community</a><ul><li><a href="#getting-help" class="table-of-contents__link toc-highlight">Getting Help</a></li><li><a href="#submitting-a-pull-request" class="table-of-contents__link toc-highlight">Submitting a Pull Request</a></li><li><a href="#code-of-conduct" class="table-of-contents__link toc-highlight">Code of Conduct</a></li><li><a href="#documentation-website" class="table-of-contents__link toc-highlight">Documentation Website</a></li><li><a href="#useful-links" class="table-of-contents__link toc-highlight">Useful Links</a></li></ul></li></ul></div></div></div></div></main></div></div></div><footer class="theme-layout-footer footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="theme-layout-footer-column col footer__col"><div class="footer__title">Docs</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/trinity/docs/getting-started/quickstart">Getting Started</a></li><li class="footer__item"><a class="footer__link-item" href="/trinity/docs/api">API Reference</a></li><li class="footer__item"><a class="footer__link-item" href="/trinity/docs/troubleshooting">Troubleshooting</a></li></ul></div><div class="theme-layout-footer-column col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/gHashTag/trinity" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a></li><li class="footer__item"><a href="https://github.com/gHashTag/trinity/issues" target="_blank" rel="noopener noreferrer" class="footer__link-item">Issues<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a></li></ul></div><div class="theme-layout-footer-column col footer__col"><div class="footer__title">More</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/trinity/docs/contributing">Contributing</a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2026 Trinity Project. Built with Docusaurus.</div></div></div></footer></div>
</body>
</html>