doc-weaver init and cross wiki-lib links fixes
Some checks reported errors
continuous-integration/drone/push Build was killed

This commit is contained in:
2026-10-17 23:59:31 +05:30
parent 1af4fee63f
commit 12a2493c6c
138 changed files with 12345 additions and 28 deletions

View File

@@ -941,7 +941,7 @@
<a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a>
<a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a><span class="k">class</span><span class="w"> </span><span class="nc">_Repo</span><span class="p">:</span>
<a id="__codelineno-0-5" name="__codelineno-0-5" href="#__codelineno-0-5"></a> <span class="k">def</span><span class="w"> </span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<a id="__codelineno-0-6" name="__codelineno-0-6" href="#__codelineno-0-6"></a> <span class="bp">self</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="s2">"injected-repo"</span>
<a id="__codelineno-0-6" name="__codelineno-0-6" href="#__codelineno-0-6"></a> <span class="bp">self</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="s2">&quot;injected-repo&quot;</span>
<a id="__codelineno-0-7" name="__codelineno-0-7" href="#__codelineno-0-7"></a>
<a id="__codelineno-0-8" name="__codelineno-0-8" href="#__codelineno-0-8"></a>
<a id="__codelineno-0-9" name="__codelineno-0-9" href="#__codelineno-0-9"></a><span class="k">class</span><span class="w"> </span><span class="nc">_Leaf</span><span class="p">:</span>
@@ -957,20 +957,20 @@
<a id="__codelineno-0-19" name="__codelineno-0-19" href="#__codelineno-0-19"></a> <span class="n">repo</span><span class="p">:</span> <span class="n">_Repo</span>
<a id="__codelineno-0-20" name="__codelineno-0-20" href="#__codelineno-0-20"></a> <span class="n">mid</span><span class="p">:</span> <span class="n">_Mid</span>
<a id="__codelineno-0-21" name="__codelineno-0-21" href="#__codelineno-0-21"></a> <span class="n">retries</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span>
<a id="__codelineno-0-22" name="__codelineno-0-22" href="#__codelineno-0-22"></a> <span class="n">label</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s2">""</span>
<a id="__codelineno-0-22" name="__codelineno-0-22" href="#__codelineno-0-22"></a> <span class="n">label</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
<a id="__codelineno-0-23" name="__codelineno-0-23" href="#__codelineno-0-23"></a>
<a id="__codelineno-0-24" name="__codelineno-0-24" href="#__codelineno-0-24"></a>
<a id="__codelineno-0-25" name="__codelineno-0-25" href="#__codelineno-0-25"></a><span class="c1"># Provide a runtime instance for a slot, and config values by name.</span>
<a id="__codelineno-0-26" name="__codelineno-0-26" href="#__codelineno-0-26"></a><span class="n">repo</span> <span class="o">=</span> <span class="n">_Repo</span><span class="p">()</span>
<a id="__codelineno-0-27" name="__codelineno-0-27" href="#__codelineno-0-27"></a><span class="n">root</span> <span class="o">=</span> <span class="n">build</span><span class="p">(</span>
<a id="__codelineno-0-28" name="__codelineno-0-28" href="#__codelineno-0-28"></a> <span class="n">_Root</span><span class="p">,</span>
<a id="__codelineno-0-29" name="__codelineno-0-29" href="#__codelineno-0-29"></a> <span class="n">instances</span><span class="o">=</span><span class="p">{</span><span class="s2">"repo"</span><span class="p">:</span> <span class="n">repo</span><span class="p">},</span>
<a id="__codelineno-0-30" name="__codelineno-0-30" href="#__codelineno-0-30"></a> <span class="n">config</span><span class="o">=</span><span class="p">{</span><span class="s2">"retries"</span><span class="p">:</span> <span class="mi">3</span><span class="p">,</span> <span class="s2">"label"</span><span class="p">:</span> <span class="s2">"fast"</span><span class="p">,</span> <span class="s2">"threshold"</span><span class="p">:</span> <span class="mf">2.5</span><span class="p">},</span>
<a id="__codelineno-0-29" name="__codelineno-0-29" href="#__codelineno-0-29"></a> <span class="n">instances</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;repo&quot;</span><span class="p">:</span> <span class="n">repo</span><span class="p">},</span>
<a id="__codelineno-0-30" name="__codelineno-0-30" href="#__codelineno-0-30"></a> <span class="n">config</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;retries&quot;</span><span class="p">:</span> <span class="mi">3</span><span class="p">,</span> <span class="s2">&quot;label&quot;</span><span class="p">:</span> <span class="s2">&quot;fast&quot;</span><span class="p">,</span> <span class="s2">&quot;threshold&quot;</span><span class="p">:</span> <span class="mf">2.5</span><span class="p">},</span>
<a id="__codelineno-0-31" name="__codelineno-0-31" href="#__codelineno-0-31"></a><span class="p">)</span>
<a id="__codelineno-0-32" name="__codelineno-0-32" href="#__codelineno-0-32"></a>
<a id="__codelineno-0-33" name="__codelineno-0-33" href="#__codelineno-0-33"></a><span class="k">assert</span> <span class="n">root</span><span class="o">.</span><span class="n">repo</span> <span class="ow">is</span> <span class="n">repo</span> <span class="c1"># injected verbatim, not reconstructed</span>
<a id="__codelineno-0-34" name="__codelineno-0-34" href="#__codelineno-0-34"></a><span class="k">assert</span> <span class="n">root</span><span class="o">.</span><span class="n">retries</span> <span class="o">==</span> <span class="mi">3</span> <span class="c1"># config applied</span>
<a id="__codelineno-0-35" name="__codelineno-0-35" href="#__codelineno-0-35"></a><span class="k">assert</span> <span class="n">root</span><span class="o">.</span><span class="n">label</span> <span class="o">==</span> <span class="s2">"fast"</span>
<a id="__codelineno-0-35" name="__codelineno-0-35" href="#__codelineno-0-35"></a><span class="k">assert</span> <span class="n">root</span><span class="o">.</span><span class="n">label</span> <span class="o">==</span> <span class="s2">&quot;fast&quot;</span>
<a id="__codelineno-0-36" name="__codelineno-0-36" href="#__codelineno-0-36"></a><span class="k">assert</span> <span class="n">root</span><span class="o">.</span><span class="n">mid</span><span class="o">.</span><span class="n">leaf</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="c1"># nested ports built recursively</span>
<a id="__codelineno-0-37" name="__codelineno-0-37" href="#__codelineno-0-37"></a><span class="k">assert</span> <span class="n">root</span><span class="o">.</span><span class="n">mid</span><span class="o">.</span><span class="n">threshold</span> <span class="o">==</span> <span class="mf">2.5</span> <span class="c1"># config propagates by name into nested nodes</span>
</code></pre></div>
@@ -979,7 +979,7 @@
<a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a><span class="k">assert</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">root</span><span class="o">.</span><span class="n">repo</span><span class="p">,</span> <span class="n">_Repo</span><span class="p">)</span>
<a id="__codelineno-1-3" name="__codelineno-1-3" href="#__codelineno-1-3"></a><span class="k">assert</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">root</span><span class="o">.</span><span class="n">mid</span><span class="p">,</span> <span class="n">_Mid</span><span class="p">)</span>
<a id="__codelineno-1-4" name="__codelineno-1-4" href="#__codelineno-1-4"></a><span class="k">assert</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">root</span><span class="o">.</span><span class="n">mid</span><span class="o">.</span><span class="n">leaf</span><span class="p">,</span> <span class="n">_Leaf</span><span class="p">)</span>
<a id="__codelineno-1-5" name="__codelineno-1-5" href="#__codelineno-1-5"></a><span class="k">assert</span> <span class="n">root</span><span class="o">.</span><span class="n">retries</span> <span class="o">==</span> <span class="mi">0</span> <span class="ow">and</span> <span class="n">root</span><span class="o">.</span><span class="n">label</span> <span class="o">==</span> <span class="s2">""</span>
<a id="__codelineno-1-5" name="__codelineno-1-5" href="#__codelineno-1-5"></a><span class="k">assert</span> <span class="n">root</span><span class="o">.</span><span class="n">retries</span> <span class="o">==</span> <span class="mi">0</span> <span class="ow">and</span> <span class="n">root</span><span class="o">.</span><span class="n">label</span> <span class="o">==</span> <span class="s2">&quot;&quot;</span>
</code></pre></div>
<p>Optional / typing-generic config fields are handled the same way — a <code>str | None</code> annotated attribute takes its <code>config</code> value when provided and defaults to the class default otherwise:</p>
<div class="language-python highlight"><span class="filename">Python</span><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a><span class="k">class</span><span class="w"> </span><span class="nc">_OptionalConfig</span><span class="p">:</span>
@@ -988,8 +988,8 @@
<a id="__codelineno-2-4" name="__codelineno-2-4" href="#__codelineno-2-4"></a> <span class="n">port</span><span class="p">:</span> <span class="n">_Leaf</span>
<a id="__codelineno-2-5" name="__codelineno-2-5" href="#__codelineno-2-5"></a>
<a id="__codelineno-2-6" name="__codelineno-2-6" href="#__codelineno-2-6"></a>
<a id="__codelineno-2-7" name="__codelineno-2-7" href="#__codelineno-2-7"></a><span class="n">built</span> <span class="o">=</span> <span class="n">build</span><span class="p">(</span><span class="n">_OptionalConfig</span><span class="p">,</span> <span class="n">config</span><span class="o">=</span><span class="p">{</span><span class="s2">"trust_fallback"</span><span class="p">:</span> <span class="s2">"amount"</span><span class="p">})</span>
<a id="__codelineno-2-8" name="__codelineno-2-8" href="#__codelineno-2-8"></a><span class="k">assert</span> <span class="n">built</span><span class="o">.</span><span class="n">trust_fallback</span> <span class="o">==</span> <span class="s2">"amount"</span>
<a id="__codelineno-2-7" name="__codelineno-2-7" href="#__codelineno-2-7"></a><span class="n">built</span> <span class="o">=</span> <span class="n">build</span><span class="p">(</span><span class="n">_OptionalConfig</span><span class="p">,</span> <span class="n">config</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;trust_fallback&quot;</span><span class="p">:</span> <span class="s2">&quot;amount&quot;</span><span class="p">})</span>
<a id="__codelineno-2-8" name="__codelineno-2-8" href="#__codelineno-2-8"></a><span class="k">assert</span> <span class="n">built</span><span class="o">.</span><span class="n">trust_fallback</span> <span class="o">==</span> <span class="s2">&quot;amount&quot;</span>
<a id="__codelineno-2-9" name="__codelineno-2-9" href="#__codelineno-2-9"></a><span class="k">assert</span> <span class="n">built</span><span class="o">.</span><span class="n">starters</span> <span class="ow">is</span> <span class="kc">None</span> <span class="c1"># unrelated optional field keeps its default</span>
</code></pre></div>
<hr />