Files
lhl a1fefd43eb docs(deliverables): 参赛成果物补齐(README 五项 + 范式图/架构图 + coverage 报告)
按《参赛成果物提交规范·赛道一》§8:
- README:新增项目性质:新规声明、项目概述、整体功能说明、效果总结
  (431 测试/99.15% 覆盖/双语试运行/影响调查基线)、团队分工、规模与难度自评
- design.md:开发范式流程图(mermaid,6 步与 AI 日志步骤列一致)+ §2.1
  Agent 架构图(感知-规划-行动-记忆映射)
- _AI_USAGE_LOG.md:回填「待补充」→架构设计、「整体迭代」→反馈迭代
- tests/coverage/ 覆盖率 HTML 报告(99.15%)+ tests/test-execution-log.txt 执行日志
- docs/参赛成果物提交规范-赛道一.md → docs/submission-spec-track1.md(ASCII 化)
- pyproject: pytest norecursedirs 排除 test-execution-log.txt
全量 pytest 431 passed / 99.15%
2026-08-26 14:24:02 +08:00

1350 lines
71 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Coverage report</title>
<link rel="icon" sizes="32x32" href="favicon_32_cb_c827f16f.png">
<link rel="stylesheet" href="style_cb_0853b3de.css" type="text/css">
<script src="coverage_html_cb_188fc9a4.js" defer></script>
</head>
<body class="indexfile">
<header>
<div class="content">
<h1>Coverage report:
<span class="pc_cov">99%</span>
</h1>
<aside id="help_panel_wrapper">
<input id="help_panel_state" type="checkbox">
<label for="help_panel_state">
<img id="keyboard_icon" src="keybd_closed_cb_900cfef5.png" alt="Show/hide keyboard shortcuts">
</label>
<div id="help_panel">
<p class="legend">Shortcuts on this page</p>
<div class="keyhelp">
<p>
<kbd>f</kbd>
<kbd>n</kbd>
<kbd>s</kbd>
<kbd>m</kbd>
<kbd>x</kbd>
<kbd>b</kbd>
<kbd>p</kbd>
<kbd>c</kbd>
&nbsp; change column sorting
</p>
<p>
<kbd>[</kbd>
<kbd>]</kbd>
&nbsp; prev/next file
</p>
<p>
<kbd>?</kbd> &nbsp; show/hide this help
</p>
</div>
</div>
</aside>
<form id="filter_container">
<input id="filter" type="text" value="" placeholder="filter...">
<div>
<input id="hide100" type="checkbox" >
<label for="hide100">hide covered</label>
</div>
</form>
<h2>
<a class="button" href="index.html">Files</a>
<a class="button" href="function_index.html">Functions</a>
<a class="button current">Classes</a>
</h2>
<p class="text">
<a class="nav" href="https://coverage.readthedocs.io/en/7.15.4">coverage.py v7.15.4</a>,
created at 2026-08-26 14:20 +0800
</p>
</div>
</header>
<main id="index">
<table class="index" data-sortable>
<thead>
<tr class="tablehead grouphead">
<th class="spacer">&nbsp;</th>
<th class="spacer">&nbsp;</th>
<th class="spacer">&nbsp;</th>
<th class="left" colspan="4">Statements</th>
<th class="spacer">&nbsp;</th>
<th class="left" colspan="3">Branches</th>
<th class="spacer">&nbsp;</th>
<th>Total</th>
</tr>
<tr class="tablehead" title="Click to sort">
<th id="file" class="name" aria-sort="none" data-shortcut="f">File<span class="arrows"></span></th>
<th id="region" class="name" aria-sort="none" data-default-sort-order="ascending" data-shortcut="n">class<span class="arrows"></span></th>
<th class="spacer">&nbsp;</th>
<th id="statements_coverage" aria-sort="none" data-default-sort-order="descending">coverage<span class="arrows"></span></th>
<th id="statements" aria-sort="none" data-default-sort-order="descending" data-shortcut="s">statements<span class="arrows"></span></th>
<th id="missing" aria-sort="none" data-default-sort-order="descending" data-shortcut="m">missing<span class="arrows"></span></th>
<th id="excluded" aria-sort="none" data-default-sort-order="descending" data-shortcut="x">excluded<span class="arrows"></span></th>
<th class="spacer">&nbsp;</th>
<th id="branches_coverage" aria-sort="none" data-default-sort-order="descending">coverage<span class="arrows"></span></th>
<th id="branches" aria-sort="none" data-default-sort-order="descending" data-shortcut="b">branches<span class="arrows"></span></th>
<th id="partial" aria-sort="none" data-default-sort-order="descending" data-shortcut="p">partial<span class="arrows"></span></th>
<th class="spacer">&nbsp;</th>
<th id="coverage" aria-sort="none" data-shortcut="c">coverage<span class="arrows"></span></th>
</tr>
</thead>
<tbody>
<tr class="region">
<td class="name"><a href="z_d531e967c5066ff6___init___py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>__init__.py</a></td>
<td class="name"><a href="z_d531e967c5066ff6___init___py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d531e967c5066ff6_config_py.html#t202">src<span class="sep">\</span>genesis<span class="sep">\</span>config.py</a></td>
<td class="name"><a href="z_d531e967c5066ff6_config_py.html#t202"><data value='Settings'>Settings</data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 6">100%</td>
<td>6</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 6">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d531e967c5066ff6_config_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>config.py</a></td>
<td class="name"><a href="z_d531e967c5066ff6_config_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="126 126">100%</td>
<td>126</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="24 24">100%</td>
<td>24</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="150 150">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d531e967c5066ff6_data_models_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>data_models.py</a></td>
<td class="name"><a href="z_d531e967c5066ff6_data_models_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="213 213">100%</td>
<td>213</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="213 213">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_375b1f32d1fd47dc___init___py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>eval<span class="sep">\</span>__init__.py</a></td>
<td class="name"><a href="z_375b1f32d1fd47dc___init___py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_375b1f32d1fd47dc_golden_set_py.html#t23">src<span class="sep">\</span>genesis<span class="sep">\</span>eval<span class="sep">\</span>golden_set.py</a></td>
<td class="name"><a href="z_375b1f32d1fd47dc_golden_set_py.html#t23"><data value='GoldenSet'>GoldenSet</data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
<td>4</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_375b1f32d1fd47dc_golden_set_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>eval<span class="sep">\</span>golden_set.py</a></td>
<td class="name"><a href="z_375b1f32d1fd47dc_golden_set_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="14 14">100%</td>
<td>14</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="14 14">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_375b1f32d1fd47dc_scorer_py.html#t66">src<span class="sep">\</span>genesis<span class="sep">\</span>eval<span class="sep">\</span>scorer.py</a></td>
<td class="name"><a href="z_375b1f32d1fd47dc_scorer_py.html#t66"><data value='ChapterScorer'>ChapterScorer</data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="68 68">100%</td>
<td>68</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="18 18">100%</td>
<td>18</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="86 86">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_375b1f32d1fd47dc_scorer_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>eval<span class="sep">\</span>scorer.py</a></td>
<td class="name"><a href="z_375b1f32d1fd47dc_scorer_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="40 40">100%</td>
<td>40</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="40 40">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_911165347f2fdbf7_code_parser_py.html#t36">src<span class="sep">\</span>genesis<span class="sep">\</span>impact<span class="sep">\</span>code_parser.py</a></td>
<td class="name"><a href="z_911165347f2fdbf7_code_parser_py.html#t36"><data value='BaseLanguageParser'>BaseLanguageParser</data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 5">100%</td>
<td>5</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="7 7">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_911165347f2fdbf7_code_parser_py.html#t58">src<span class="sep">\</span>genesis<span class="sep">\</span>impact<span class="sep">\</span>code_parser.py</a></td>
<td class="name"><a href="z_911165347f2fdbf7_code_parser_py.html#t58"><data value='JavaLanguageParser'>JavaLanguageParser</data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="42 42">100%</td>
<td>42</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="15 16">94%</td>
<td>16</td>
<td>1</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="57 58">98%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_911165347f2fdbf7_code_parser_py.html#t198">src<span class="sep">\</span>genesis<span class="sep">\</span>impact<span class="sep">\</span>code_parser.py</a></td>
<td class="name"><a href="z_911165347f2fdbf7_code_parser_py.html#t198"><data value='CodeParser'>CodeParser</data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="40 40">100%</td>
<td>40</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="14 14">100%</td>
<td>14</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="54 54">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_911165347f2fdbf7_code_parser_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>impact<span class="sep">\</span>code_parser.py</a></td>
<td class="name"><a href="z_911165347f2fdbf7_code_parser_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="41 41">100%</td>
<td>41</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="41 41">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_911165347f2fdbf7_existing_system_explorer_py.html#t10">src<span class="sep">\</span>genesis<span class="sep">\</span>impact<span class="sep">\</span>existing_system_explorer.py</a></td>
<td class="name"><a href="z_911165347f2fdbf7_existing_system_explorer_py.html#t10"><data value='ExistingSystemExplorer'>ExistingSystemExplorer</data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_911165347f2fdbf7_existing_system_explorer_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>impact<span class="sep">\</span>existing_system_explorer.py</a></td>
<td class="name"><a href="z_911165347f2fdbf7_existing_system_explorer_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
<td>4</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_911165347f2fdbf7_impact_agent_py.html#t81">src<span class="sep">\</span>genesis<span class="sep">\</span>impact<span class="sep">\</span>impact_agent.py</a></td>
<td class="name"><a href="z_911165347f2fdbf7_impact_agent_py.html#t81"><data value='ImpactAgent'>ImpactAgent</data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="94 94">100%</td>
<td>94</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="55 56">98%</td>
<td>56</td>
<td>1</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="149 150">99%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_911165347f2fdbf7_impact_agent_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>impact<span class="sep">\</span>impact_agent.py</a></td>
<td class="name"><a href="z_911165347f2fdbf7_impact_agent_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="28 28">100%</td>
<td>28</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
<td>4</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="32 32">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_ea3a2206db328682___init___py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>inference<span class="sep">\</span>__init__.py</a></td>
<td class="name"><a href="z_ea3a2206db328682___init___py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 5">100%</td>
<td>5</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 5">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_ea3a2206db328682_client_py.html#t31">src<span class="sep">\</span>genesis<span class="sep">\</span>inference<span class="sep">\</span>client.py</a></td>
<td class="name"><a href="z_ea3a2206db328682_client_py.html#t31"><data value='HttpLLMClient'>HttpLLMClient</data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="45 45">100%</td>
<td>45</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="14 14">100%</td>
<td>14</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="59 59">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_ea3a2206db328682_client_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>inference<span class="sep">\</span>client.py</a></td>
<td class="name"><a href="z_ea3a2206db328682_client_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="13 13">100%</td>
<td>13</td>
<td>0</td>
<td>9</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="13 13">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_ea3a2206db328682_engine_py.html#t35">src<span class="sep">\</span>genesis<span class="sep">\</span>inference<span class="sep">\</span>engine.py</a></td>
<td class="name"><a href="z_ea3a2206db328682_engine_py.html#t35"><data value='InferenceEngine'>InferenceEngine</data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="81 81">100%</td>
<td>81</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="30 30">100%</td>
<td>30</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="111 111">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_ea3a2206db328682_engine_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>inference<span class="sep">\</span>engine.py</a></td>
<td class="name"><a href="z_ea3a2206db328682_engine_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="22 22">100%</td>
<td>22</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="22 22">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_ea3a2206db328682_exceptions_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>inference<span class="sep">\</span>exceptions.py</a></td>
<td class="name"><a href="z_ea3a2206db328682_exceptions_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="11 11">100%</td>
<td>11</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="11 11">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_ea3a2206db328682_factory_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>inference<span class="sep">\</span>factory.py</a></td>
<td class="name"><a href="z_ea3a2206db328682_factory_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="35 35">100%</td>
<td>35</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="11 12">92%</td>
<td>12</td>
<td>1</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="46 47">98%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_ea3a2206db328682_prompt_registry_py.html#t10">src<span class="sep">\</span>genesis<span class="sep">\</span>inference<span class="sep">\</span>prompt_registry.py</a></td>
<td class="name"><a href="z_ea3a2206db328682_prompt_registry_py.html#t10"><data value='PromptRegistry'>PromptRegistry</data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="17 17">100%</td>
<td>17</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="8 8">100%</td>
<td>8</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="25 25">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_ea3a2206db328682_prompt_registry_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>inference<span class="sep">\</span>prompt_registry.py</a></td>
<td class="name"><a href="z_ea3a2206db328682_prompt_registry_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 10">100%</td>
<td>10</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 10">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_ea3a2206db328682_token_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>inference<span class="sep">\</span>token.py</a></td>
<td class="name"><a href="z_ea3a2206db328682_token_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="26 26">100%</td>
<td>26</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="28 28">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_ea3a2206db328682_types_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>inference<span class="sep">\</span>types.py</a></td>
<td class="name"><a href="z_ea3a2206db328682_types_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="38 38">100%</td>
<td>38</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="38 38">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d214db0beb5bc0c2___init___py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>orchestrator<span class="sep">\</span>__init__.py</a></td>
<td class="name"><a href="z_d214db0beb5bc0c2___init___py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d214db0beb5bc0c2_datagate_py.html#t48">src<span class="sep">\</span>genesis<span class="sep">\</span>orchestrator<span class="sep">\</span>datagate.py</a></td>
<td class="name"><a href="z_d214db0beb5bc0c2_datagate_py.html#t48"><data value='DataGate'>DataGate</data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="25 25">100%</td>
<td>25</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 10">100%</td>
<td>10</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="35 35">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d214db0beb5bc0c2_datagate_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>orchestrator<span class="sep">\</span>datagate.py</a></td>
<td class="name"><a href="z_d214db0beb5bc0c2_datagate_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="18 18">100%</td>
<td>18</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="18 18">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d214db0beb5bc0c2_task_queue_py.html#t95">src<span class="sep">\</span>genesis<span class="sep">\</span>orchestrator<span class="sep">\</span>task_queue.py</a></td>
<td class="name"><a href="z_d214db0beb5bc0c2_task_queue_py.html#t95"><data value='PersistentTaskQueue'>PersistentTaskQueue</data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="46 46">100%</td>
<td>46</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="16 16">100%</td>
<td>16</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="62 62">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d214db0beb5bc0c2_task_queue_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>orchestrator<span class="sep">\</span>task_queue.py</a></td>
<td class="name"><a href="z_d214db0beb5bc0c2_task_queue_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="52 52">100%</td>
<td>52</td>
<td>0</td>
<td>15</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="52 52">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_b6575c3308ab3afa__word_common_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>parsers<span class="sep">\</span>_word_common.py</a></td>
<td class="name"><a href="z_b6575c3308ab3afa__word_common_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 6">100%</td>
<td>6</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 6">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_b6575c3308ab3afa_excel_parser_py.html#t26">src<span class="sep">\</span>genesis<span class="sep">\</span>parsers<span class="sep">\</span>excel_parser.py</a></td>
<td class="name"><a href="z_b6575c3308ab3afa_excel_parser_py.html#t26"><data value='ExcelParser'>ExcelParser</data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="52 52">100%</td>
<td>52</td>
<td>0</td>
<td>4</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="28 28">100%</td>
<td>28</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="80 80">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_b6575c3308ab3afa_excel_parser_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>parsers<span class="sep">\</span>excel_parser.py</a></td>
<td class="name"><a href="z_b6575c3308ab3afa_excel_parser_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="21 21">100%</td>
<td>21</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="21 21">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_b6575c3308ab3afa_excel_reader_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>parsers<span class="sep">\</span>excel_reader.py</a></td>
<td class="name"><a href="z_b6575c3308ab3afa_excel_reader_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="12 12">100%</td>
<td>12</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="14 14">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_b6575c3308ab3afa_formatting_detector_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>parsers<span class="sep">\</span>formatting_detector.py</a></td>
<td class="name"><a href="z_b6575c3308ab3afa_formatting_detector_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="40 40">100%</td>
<td>40</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="20 20">100%</td>
<td>20</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="60 60">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_b6575c3308ab3afa_free_text_extractor_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>parsers<span class="sep">\</span>free_text_extractor.py</a></td>
<td class="name"><a href="z_b6575c3308ab3afa_free_text_extractor_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="22 22">100%</td>
<td>22</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 10">100%</td>
<td>10</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="32 32">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_b6575c3308ab3afa_merge_fill_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>parsers<span class="sep">\</span>merge_fill.py</a></td>
<td class="name"><a href="z_b6575c3308ab3afa_merge_fill_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="15 15">100%</td>
<td>15</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 10">100%</td>
<td>10</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="25 25">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_b6575c3308ab3afa_paragraph_splitter_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>parsers<span class="sep">\</span>paragraph_splitter.py</a></td>
<td class="name"><a href="z_b6575c3308ab3afa_paragraph_splitter_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="17 17">100%</td>
<td>17</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 10">100%</td>
<td>10</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="27 27">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_b6575c3308ab3afa_provenance_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>parsers<span class="sep">\</span>provenance.py</a></td>
<td class="name"><a href="z_b6575c3308ab3afa_provenance_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_b6575c3308ab3afa_resolver_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>parsers<span class="sep">\</span>resolver.py</a></td>
<td class="name"><a href="z_b6575c3308ab3afa_resolver_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="51 51">100%</td>
<td>51</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="20 20">100%</td>
<td>20</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="71 71">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_b6575c3308ab3afa_rule_doc_parser_py.html#t34">src<span class="sep">\</span>genesis<span class="sep">\</span>parsers<span class="sep">\</span>rule_doc_parser.py</a></td>
<td class="name"><a href="z_b6575c3308ab3afa_rule_doc_parser_py.html#t34"><data value='RuleDocParser'>RuleDocParser</data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="23 23">100%</td>
<td>23</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="12 12">100%</td>
<td>12</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="35 35">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_b6575c3308ab3afa_rule_doc_parser_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>parsers<span class="sep">\</span>rule_doc_parser.py</a></td>
<td class="name"><a href="z_b6575c3308ab3afa_rule_doc_parser_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="22 22">100%</td>
<td>22</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 6">100%</td>
<td>6</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="28 28">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_b6575c3308ab3afa_sheet_detector_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>parsers<span class="sep">\</span>sheet_detector.py</a></td>
<td class="name"><a href="z_b6575c3308ab3afa_sheet_detector_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="20 20">100%</td>
<td>20</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="14 14">100%</td>
<td>14</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="34 34">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_b6575c3308ab3afa_sheet_nature_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>parsers<span class="sep">\</span>sheet_nature.py</a></td>
<td class="name"><a href="z_b6575c3308ab3afa_sheet_nature_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="29 29">100%</td>
<td>29</td>
<td>0</td>
<td>4</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="12 12">100%</td>
<td>12</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="41 41">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_b6575c3308ab3afa_source_aggregator_py.html#t31">src<span class="sep">\</span>genesis<span class="sep">\</span>parsers<span class="sep">\</span>source_aggregator.py</a></td>
<td class="name"><a href="z_b6575c3308ab3afa_source_aggregator_py.html#t31"><data value='SourceParser'>SourceParser</data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="24 24">100%</td>
<td>24</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="8 8">100%</td>
<td>8</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="32 32">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_b6575c3308ab3afa_source_aggregator_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>parsers<span class="sep">\</span>source_aggregator.py</a></td>
<td class="name"><a href="z_b6575c3308ab3afa_source_aggregator_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="20 20">100%</td>
<td>20</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
<td>4</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="24 24">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_b6575c3308ab3afa_table_extractor_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>parsers<span class="sep">\</span>table_extractor.py</a></td>
<td class="name"><a href="z_b6575c3308ab3afa_table_extractor_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="24 24">100%</td>
<td>24</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 10">100%</td>
<td>10</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="34 34">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_b6575c3308ab3afa_word_template_parser_py.html#t20">src<span class="sep">\</span>genesis<span class="sep">\</span>parsers<span class="sep">\</span>word_template_parser.py</a></td>
<td class="name"><a href="z_b6575c3308ab3afa_word_template_parser_py.html#t20"><data value='WordTemplateParser'>WordTemplateParser</data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="22 22">100%</td>
<td>22</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="12 12">100%</td>
<td>12</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="34 34">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_b6575c3308ab3afa_word_template_parser_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>parsers<span class="sep">\</span>word_template_parser.py</a></td>
<td class="name"><a href="z_b6575c3308ab3afa_word_template_parser_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 10">100%</td>
<td>10</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 10">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_0614738d3a4c1bf3_guardrails_py.html#t30">src<span class="sep">\</span>genesis<span class="sep">\</span>qa<span class="sep">\</span>guardrails.py</a></td>
<td class="name"><a href="z_0614738d3a4c1bf3_guardrails_py.html#t30"><data value='QALoopController'>QALoopController</data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 5">100%</td>
<td>5</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 5">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_0614738d3a4c1bf3_guardrails_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>qa<span class="sep">\</span>guardrails.py</a></td>
<td class="name"><a href="z_0614738d3a4c1bf3_guardrails_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="22 22">100%</td>
<td>22</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 6">100%</td>
<td>6</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="28 28">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_0614738d3a4c1bf3_qa_loop_py.html#t20">src<span class="sep">\</span>genesis<span class="sep">\</span>qa<span class="sep">\</span>qa_loop.py</a></td>
<td class="name"><a href="z_0614738d3a4c1bf3_qa_loop_py.html#t20"><data value='QALoop'>QALoop</data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="34 35">97%</td>
<td>35</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="8 10">80%</td>
<td>10</td>
<td>2</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="42 45">93%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_0614738d3a4c1bf3_qa_loop_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>qa<span class="sep">\</span>qa_loop.py</a></td>
<td class="name"><a href="z_0614738d3a4c1bf3_qa_loop_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="18 18">100%</td>
<td>18</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="18 18">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_0614738d3a4c1bf3_report_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>qa<span class="sep">\</span>report.py</a></td>
<td class="name"><a href="z_0614738d3a4c1bf3_report_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 10">100%</td>
<td>10</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 10">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_0614738d3a4c1bf3_validator_py.html#t9">src<span class="sep">\</span>genesis<span class="sep">\</span>qa<span class="sep">\</span>validator.py</a></td>
<td class="name"><a href="z_0614738d3a4c1bf3_validator_py.html#t9"><data value='QAValidator'>QAValidator</data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="17 17">100%</td>
<td>17</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="19 19">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_0614738d3a4c1bf3_validator_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>qa<span class="sep">\</span>validator.py</a></td>
<td class="name"><a href="z_0614738d3a4c1bf3_validator_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 10">100%</td>
<td>10</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 10">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_1fc170110d538298_rag_service_py.html#t14">src<span class="sep">\</span>genesis<span class="sep">\</span>services<span class="sep">\</span>rag_service.py</a></td>
<td class="name"><a href="z_1fc170110d538298_rag_service_py.html#t14"><data value='CannedRagService'>CannedRagService</data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="14 16">88%</td>
<td>16</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 6">83%</td>
<td>6</td>
<td>1</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="19 22">86%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_1fc170110d538298_rag_service_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>services<span class="sep">\</span>rag_service.py</a></td>
<td class="name"><a href="z_1fc170110d538298_rag_service_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 10">100%</td>
<td>10</td>
<td>0</td>
<td>2</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 10">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d531e967c5066ff6_state_machine_py.html#t56">src<span class="sep">\</span>genesis<span class="sep">\</span>state_machine.py</a></td>
<td class="name"><a href="z_d531e967c5066ff6_state_machine_py.html#t56"><data value='SessionStateMachine'>SessionStateMachine</data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="24 24">100%</td>
<td>24</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 10">100%</td>
<td>10</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="34 34">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d531e967c5066ff6_state_machine_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>state_machine.py</a></td>
<td class="name"><a href="z_d531e967c5066ff6_state_machine_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="16 16">100%</td>
<td>16</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="16 16">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_cac49e191045e829___init___py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>writer<span class="sep">\</span>__init__.py</a></td>
<td class="name"><a href="z_cac49e191045e829___init___py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_cac49e191045e829_context_builder_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>writer<span class="sep">\</span>context_builder.py</a></td>
<td class="name"><a href="z_cac49e191045e829_context_builder_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="15 15">100%</td>
<td>15</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="17 17">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_cac49e191045e829_docx_injector_py.html#t43">src<span class="sep">\</span>genesis<span class="sep">\</span>writer<span class="sep">\</span>docx_injector.py</a></td>
<td class="name"><a href="z_cac49e191045e829_docx_injector_py.html#t43"><data value='DocxInjector'>DocxInjector</data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="98 102">96%</td>
<td>102</td>
<td>4</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="64 66">97%</td>
<td>66</td>
<td>2</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="162 168">96%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_cac49e191045e829_docx_injector_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>writer<span class="sep">\</span>docx_injector.py</a></td>
<td class="name"><a href="z_cac49e191045e829_docx_injector_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="30 30">100%</td>
<td>30</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="30 30">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_cac49e191045e829_exceptions_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>writer<span class="sep">\</span>exceptions.py</a></td>
<td class="name"><a href="z_cac49e191045e829_exceptions_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_cac49e191045e829_language_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>writer<span class="sep">\</span>language.py</a></td>
<td class="name"><a href="z_cac49e191045e829_language_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="51 51">100%</td>
<td>51</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="32 32">100%</td>
<td>32</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="83 83">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_cac49e191045e829_models_py.html#t40">src<span class="sep">\</span>genesis<span class="sep">\</span>writer<span class="sep">\</span>models.py</a></td>
<td class="name"><a href="z_cac49e191045e829_models_py.html#t40"><data value='ContentBlock'>ContentBlock</data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_cac49e191045e829_models_py.html#t73">src<span class="sep">\</span>genesis<span class="sep">\</span>writer<span class="sep">\</span>models.py</a></td>
<td class="name"><a href="z_cac49e191045e829_models_py.html#t73"><data value='ChapterContent'>ChapterContent</data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
<td>4</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 6">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_cac49e191045e829_models_py.html#t102">src<span class="sep">\</span>genesis<span class="sep">\</span>writer<span class="sep">\</span>models.py</a></td>
<td class="name"><a href="z_cac49e191045e829_models_py.html#t102"><data value='GenerationContext'>GenerationContext</data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="8 8">100%</td>
<td>8</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
<td>4</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="12 12">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_cac49e191045e829_models_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>writer<span class="sep">\</span>models.py</a></td>
<td class="name"><a href="z_cac49e191045e829_models_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="104 104">100%</td>
<td>104</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="28 28">100%</td>
<td>28</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="132 132">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_cac49e191045e829_orchestrator_py.html#t48">src<span class="sep">\</span>genesis<span class="sep">\</span>writer<span class="sep">\</span>orchestrator.py</a></td>
<td class="name"><a href="z_cac49e191045e829_orchestrator_py.html#t48"><data value='WriteOrchestrator'>WriteOrchestrator</data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="39 39">100%</td>
<td>39</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="15 16">94%</td>
<td>16</td>
<td>1</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="54 55">98%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_cac49e191045e829_orchestrator_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>writer<span class="sep">\</span>orchestrator.py</a></td>
<td class="name"><a href="z_cac49e191045e829_orchestrator_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="26 26">100%</td>
<td>26</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
<td>4</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="30 30">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_cac49e191045e829_renderer_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>writer<span class="sep">\</span>renderer.py</a></td>
<td class="name"><a href="z_cac49e191045e829_renderer_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="16 16">100%</td>
<td>16</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 10">100%</td>
<td>10</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="26 26">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_cac49e191045e829_template_mapper_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>writer<span class="sep">\</span>template_mapper.py</a></td>
<td class="name"><a href="z_cac49e191045e829_template_mapper_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="27 27">100%</td>
<td>27</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 12">83%</td>
<td>12</td>
<td>2</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="37 39">95%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_cac49e191045e829_writer_agent_py.html#t69">src<span class="sep">\</span>genesis<span class="sep">\</span>writer<span class="sep">\</span>writer_agent.py</a></td>
<td class="name"><a href="z_cac49e191045e829_writer_agent_py.html#t69"><data value='WriterAgent'>WriterAgent</data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="54 58">93%</td>
<td>58</td>
<td>4</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="19 22">86%</td>
<td>22</td>
<td>3</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="73 80">91%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_cac49e191045e829_writer_agent_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>writer<span class="sep">\</span>writer_agent.py</a></td>
<td class="name"><a href="z_cac49e191045e829_writer_agent_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="17 17">100%</td>
<td>17</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="17 17">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_cac49e191045e829_writer_state_py.html#t8">src<span class="sep">\</span>genesis<span class="sep">\</span>writer<span class="sep">\</span>writer_state.py</a></td>
<td class="name"><a href="z_cac49e191045e829_writer_state_py.html#t8"><data value='WriterState'>WriterState</data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="13 13">100%</td>
<td>13</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 6">100%</td>
<td>6</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="19 19">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_cac49e191045e829_writer_state_py.html">src<span class="sep">\</span>genesis<span class="sep">\</span>writer<span class="sep">\</span>writer_state.py</a></td>
<td class="name"><a href="z_cac49e191045e829_writer_state_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td data-ratio="8 8">100%</td>
<td>8</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="8 8">100%</td>
</tr>
</tbody>
<tfoot>
<tr class="total">
<td class="name">Total</td>
<td class="name">&nbsp;</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2305 2316">99%</td>
<td>2316</td>
<td>11</td>
<td>44</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="628 642">98%</td>
<td>642</td>
<td>14</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2933 2958">99%</td>
</tr>
</tfoot>
</table>
<p id="no_rows">
No items found using the specified filter.
</p>
<p>81 empty classes skipped.</p>
</main>
<footer>
<div class="content">
<p>
<a class="nav" href="https://coverage.readthedocs.io/en/7.15.4">coverage.py v7.15.4</a>,
created at 2026-08-26 14:20 +0800
</p>
</div>
<aside class="hidden">
<a id="prevFileLink" class="nav" href=""></a>
<a id="nextFileLink" class="nav" href=""></a>
<button type="button" class="button_prev_file" data-shortcut="["></button>
<button type="button" class="button_next_file" data-shortcut="]"></button>
<button type="button" class="button_show_hide_help" data-shortcut="?"></button>
</aside>
</footer>
</body>
</html>