@monoes/monograph 1.5.2 → 1.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (504) hide show
  1. package/.monodesign/hook.cache.json +1 -1
  2. package/__tests__/integration/build-atomicity.test.ts +61 -0
  3. package/__tests__/integration/call-attribution.test.ts +116 -0
  4. package/coverage/base.css +224 -0
  5. package/coverage/block-navigation.js +87 -0
  6. package/coverage/coverage-summary.json +399 -0
  7. package/coverage/favicon.png +0 -0
  8. package/coverage/index.html +881 -0
  9. package/coverage/prettify.css +1 -0
  10. package/coverage/prettify.js +2 -0
  11. package/coverage/sort-arrow-sprite.png +0 -0
  12. package/coverage/sorter.js +210 -0
  13. package/coverage/src/analysis/benchmark.ts.html +481 -0
  14. package/coverage/src/analysis/changed-files.ts.html +304 -0
  15. package/coverage/src/analysis/changed-workspaces.ts.html +367 -0
  16. package/coverage/src/analysis/churn-cache.ts.html +622 -0
  17. package/coverage/src/analysis/churn-trend.ts.html +256 -0
  18. package/coverage/src/analysis/churn.ts.html +874 -0
  19. package/coverage/src/analysis/cluster-quality.ts.html +511 -0
  20. package/coverage/src/analysis/combined.ts.html +208 -0
  21. package/coverage/src/analysis/corpus-health.ts.html +208 -0
  22. package/coverage/src/analysis/coverage-gaps.ts.html +823 -0
  23. package/coverage/src/analysis/dep-classification.ts.html +586 -0
  24. package/coverage/src/analysis/dependency-health.ts.html +523 -0
  25. package/coverage/src/analysis/duplicate-exports.ts.html +415 -0
  26. package/coverage/src/analysis/fallow-suppression.ts.html +379 -0
  27. package/coverage/src/analysis/feature-flags-config.ts.html +226 -0
  28. package/coverage/src/analysis/feature-flags.ts.html +754 -0
  29. package/coverage/src/analysis/file-classifier.ts.html +346 -0
  30. package/coverage/src/analysis/git-changed-files.ts.html +271 -0
  31. package/coverage/src/analysis/health-baseline.ts.html +325 -0
  32. package/coverage/src/analysis/index.html +641 -0
  33. package/coverage/src/analysis/issue-filters.ts.html +253 -0
  34. package/coverage/src/analysis/list.ts.html +307 -0
  35. package/coverage/src/analysis/node-similarity.ts.html +430 -0
  36. package/coverage/src/analysis/private-type-leaks.ts.html +442 -0
  37. package/coverage/src/analysis/progress.ts.html +214 -0
  38. package/coverage/src/analysis/project-state.ts.html +370 -0
  39. package/coverage/src/analysis/regression-config.ts.html +193 -0
  40. package/coverage/src/analysis/rule-overrides.ts.html +328 -0
  41. package/coverage/src/analysis/scripts.ts.html +370 -0
  42. package/coverage/src/analysis/shape-extractor.ts.html +691 -0
  43. package/coverage/src/analysis/since-duration.ts.html +211 -0
  44. package/coverage/src/analysis/suppression-context.ts.html +370 -0
  45. package/coverage/src/analysis/suppressions.ts.html +325 -0
  46. package/coverage/src/analysis/surprise-scorer.ts.html +307 -0
  47. package/coverage/src/analysis/targets.ts.html +796 -0
  48. package/coverage/src/analysis/unused-class-members.ts.html +322 -0
  49. package/coverage/src/analysis/workspace-filter.ts.html +352 -0
  50. package/coverage/src/analyze/boundary-analysis.ts.html +472 -0
  51. package/coverage/src/analyze/index.html +161 -0
  52. package/coverage/src/analyze/predicates/file.ts.html +343 -0
  53. package/coverage/src/analyze/predicates/import.ts.html +355 -0
  54. package/coverage/src/analyze/predicates/index.html +146 -0
  55. package/coverage/src/analyze/predicates/lifecycle.ts.html +250 -0
  56. package/coverage/src/analyze/unused-deps.ts.html +295 -0
  57. package/coverage/src/analyze/unused-exports.ts.html +520 -0
  58. package/coverage/src/analyze/unused-files.ts.html +223 -0
  59. package/coverage/src/api/index.html +131 -0
  60. package/coverage/src/api/production-override.ts.html +274 -0
  61. package/coverage/src/api/programmatic.ts.html +439 -0
  62. package/coverage/src/audit.ts.html +787 -0
  63. package/coverage/src/cache/augment-cache.ts.html +274 -0
  64. package/coverage/src/cache/extraction-cache.ts.html +508 -0
  65. package/coverage/src/cache/index.html +131 -0
  66. package/coverage/src/check/filtering.ts.html +319 -0
  67. package/coverage/src/check/index.html +161 -0
  68. package/coverage/src/check/index.ts.html +382 -0
  69. package/coverage/src/check/output.ts.html +322 -0
  70. package/coverage/src/check/rules.ts.html +268 -0
  71. package/coverage/src/ci-template.ts.html +337 -0
  72. package/coverage/src/claude-cli.ts.html +262 -0
  73. package/coverage/src/cli/ai-context.ts.html +664 -0
  74. package/coverage/src/cli/augment.ts.html +427 -0
  75. package/coverage/src/cli/check-update.ts.html +205 -0
  76. package/coverage/src/cli/doctor.ts.html +631 -0
  77. package/coverage/src/cli/eval-server.ts.html +463 -0
  78. package/coverage/src/cli/hooks-install.ts.html +691 -0
  79. package/coverage/src/cli/index.html +221 -0
  80. package/coverage/src/cli/setup.ts.html +676 -0
  81. package/coverage/src/cli/skill-gen.ts.html +1126 -0
  82. package/coverage/src/commands/flags.ts.html +301 -0
  83. package/coverage/src/commands/index.html +116 -0
  84. package/coverage/src/config/boundary-config.ts.html +634 -0
  85. package/coverage/src/config/cli-schema.ts.html +328 -0
  86. package/coverage/src/config/config-parsing.ts.html +391 -0
  87. package/coverage/src/config/duplicates-config.ts.html +271 -0
  88. package/coverage/src/config/external-plugin.ts.html +316 -0
  89. package/coverage/src/config/health-config.ts.html +211 -0
  90. package/coverage/src/config/ignore-exports-used-in-file.ts.html +223 -0
  91. package/coverage/src/config/index.html +341 -0
  92. package/coverage/src/config/migration-types.ts.html +304 -0
  93. package/coverage/src/config/output-format.ts.html +157 -0
  94. package/coverage/src/config/plugins/builtin.ts.html +1318 -0
  95. package/coverage/src/config/plugins/index.html +146 -0
  96. package/coverage/src/config/plugins/registry.ts.html +316 -0
  97. package/coverage/src/config/plugins/types.ts.html +127 -0
  98. package/coverage/src/config/resolution.ts.html +391 -0
  99. package/coverage/src/config/rules.ts.html +295 -0
  100. package/coverage/src/config/schema-gen.ts.html +430 -0
  101. package/coverage/src/config/types.ts.html +532 -0
  102. package/coverage/src/config/used-class-members.ts.html +244 -0
  103. package/coverage/src/config/validate.ts.html +409 -0
  104. package/coverage/src/config/workspace.ts.html +496 -0
  105. package/coverage/src/coverage/cloud-client.ts.html +418 -0
  106. package/coverage/src/coverage/index.html +146 -0
  107. package/coverage/src/coverage/upload-inventory.ts.html +337 -0
  108. package/coverage/src/coverage/upload-source-maps.ts.html +376 -0
  109. package/coverage/src/discover/entry-points.ts.html +238 -0
  110. package/coverage/src/discover/index.html +131 -0
  111. package/coverage/src/discover/infrastructure-entries.ts.html +610 -0
  112. package/coverage/src/duplicates/detect/concatenation.ts.html +196 -0
  113. package/coverage/src/duplicates/detect/extraction.ts.html +406 -0
  114. package/coverage/src/duplicates/detect/filtering.ts.html +421 -0
  115. package/coverage/src/duplicates/detect/index.html +206 -0
  116. package/coverage/src/duplicates/detect/lcp.ts.html +166 -0
  117. package/coverage/src/duplicates/detect/ranking.ts.html +133 -0
  118. package/coverage/src/duplicates/detect/statistics.ts.html +292 -0
  119. package/coverage/src/duplicates/detect/suffix-array.ts.html +349 -0
  120. package/coverage/src/duplicates/families.ts.html +370 -0
  121. package/coverage/src/duplicates/index.html +161 -0
  122. package/coverage/src/duplicates/normalize.ts.html +259 -0
  123. package/coverage/src/duplicates/shingle-filter.ts.html +196 -0
  124. package/coverage/src/duplicates/token-types.ts.html +271 -0
  125. package/coverage/src/duplicates/tokenize/index.html +116 -0
  126. package/coverage/src/duplicates/tokenize/index.ts.html +397 -0
  127. package/coverage/src/error/fallow-error.ts.html +367 -0
  128. package/coverage/src/error/index.html +116 -0
  129. package/coverage/src/error.ts.html +226 -0
  130. package/coverage/src/export/adjacency-matrix.ts.html +466 -0
  131. package/coverage/src/export/analysis-json.ts.html +346 -0
  132. package/coverage/src/export/badge.ts.html +400 -0
  133. package/coverage/src/export/canvas.ts.html +211 -0
  134. package/coverage/src/export/codeclimate.ts.html +688 -0
  135. package/coverage/src/export/compact-health.ts.html +442 -0
  136. package/coverage/src/export/compact.ts.html +334 -0
  137. package/coverage/src/export/csv.ts.html +184 -0
  138. package/coverage/src/export/cypher.ts.html +184 -0
  139. package/coverage/src/export/dot.ts.html +241 -0
  140. package/coverage/src/export/gexf.ts.html +262 -0
  141. package/coverage/src/export/graphml.ts.html +235 -0
  142. package/coverage/src/export/html.ts.html +1729 -0
  143. package/coverage/src/export/index.html +401 -0
  144. package/coverage/src/export/index.ts.html +112 -0
  145. package/coverage/src/export/json.ts.html +193 -0
  146. package/coverage/src/export/markdown.ts.html +955 -0
  147. package/coverage/src/export/mermaid.ts.html +385 -0
  148. package/coverage/src/export/obsidian.ts.html +217 -0
  149. package/coverage/src/export/sarif.ts.html +820 -0
  150. package/coverage/src/export/svg.ts.html +289 -0
  151. package/coverage/src/fix/deps.ts.html +295 -0
  152. package/coverage/src/fix/enum-members.ts.html +394 -0
  153. package/coverage/src/fix/export-surgery.ts.html +676 -0
  154. package/coverage/src/fix/exports.ts.html +364 -0
  155. package/coverage/src/fix/index.html +176 -0
  156. package/coverage/src/fix/orchestrator.ts.html +286 -0
  157. package/coverage/src/graph/analyzer.ts.html +292 -0
  158. package/coverage/src/graph/author-analytics.ts.html +736 -0
  159. package/coverage/src/graph/baseline.ts.html +1381 -0
  160. package/coverage/src/graph/clone-families.ts.html +481 -0
  161. package/coverage/src/graph/codeowners-extended.ts.html +427 -0
  162. package/coverage/src/graph/codeowners-gitlab.ts.html +535 -0
  163. package/coverage/src/graph/codeowners.ts.html +736 -0
  164. package/coverage/src/graph/complexity.ts.html +685 -0
  165. package/coverage/src/graph/cross-reference-findings.ts.html +340 -0
  166. package/coverage/src/graph/cross-reference.ts.html +502 -0
  167. package/coverage/src/graph/cycle-detection.ts.html +1018 -0
  168. package/coverage/src/graph/cycles.ts.html +751 -0
  169. package/coverage/src/graph/dead-code.ts.html +469 -0
  170. package/coverage/src/graph/dependency-closure.ts.html +463 -0
  171. package/coverage/src/graph/dfs.ts.html +439 -0
  172. package/coverage/src/graph/diff.ts.html +361 -0
  173. package/coverage/src/graph/duplication-stats.ts.html +322 -0
  174. package/coverage/src/graph/edge-filter.ts.html +436 -0
  175. package/coverage/src/graph/explain.ts.html +484 -0
  176. package/coverage/src/graph/external-style-usage.ts.html +328 -0
  177. package/coverage/src/graph/health-score.ts.html +622 -0
  178. package/coverage/src/graph/hotspots.ts.html +742 -0
  179. package/coverage/src/graph/import-chain.ts.html +529 -0
  180. package/coverage/src/graph/index.html +746 -0
  181. package/coverage/src/graph/loader.ts.html +217 -0
  182. package/coverage/src/graph/maintainability.ts.html +553 -0
  183. package/coverage/src/graph/merge.ts.html +607 -0
  184. package/coverage/src/graph/mirrored-dirs.ts.html +691 -0
  185. package/coverage/src/graph/narrowing.ts.html +361 -0
  186. package/coverage/src/graph/node-search.ts.html +688 -0
  187. package/coverage/src/graph/node-types.ts.html +286 -0
  188. package/coverage/src/graph/normalize-id.ts.html +499 -0
  189. package/coverage/src/graph/pagerank.ts.html +580 -0
  190. package/coverage/src/graph/prune.ts.html +370 -0
  191. package/coverage/src/graph/re-exports/index.html +116 -0
  192. package/coverage/src/graph/re-exports/propagate.ts.html +370 -0
  193. package/coverage/src/graph/reachability.ts.html +382 -0
  194. package/coverage/src/graph/regex-search.ts.html +781 -0
  195. package/coverage/src/graph/regression.ts.html +682 -0
  196. package/coverage/src/graph/resolve/discover-types.ts.html +220 -0
  197. package/coverage/src/graph/resolve/dynamic-imports.ts.html +391 -0
  198. package/coverage/src/graph/resolve/fallbacks.ts.html +322 -0
  199. package/coverage/src/graph/resolve/index.html +281 -0
  200. package/coverage/src/graph/resolve/index.ts.html +289 -0
  201. package/coverage/src/graph/resolve/path-info.ts.html +208 -0
  202. package/coverage/src/graph/resolve/re-exports.ts.html +127 -0
  203. package/coverage/src/graph/resolve/react-native.ts.html +166 -0
  204. package/coverage/src/graph/resolve/require-imports.ts.html +139 -0
  205. package/coverage/src/graph/resolve/specifier.ts.html +445 -0
  206. package/coverage/src/graph/resolve/static-imports.ts.html +127 -0
  207. package/coverage/src/graph/resolve/types.ts.html +409 -0
  208. package/coverage/src/graph/resolve/upgrades.ts.html +181 -0
  209. package/coverage/src/graph/ripple-impact.ts.html +478 -0
  210. package/coverage/src/graph/risk-profile.ts.html +622 -0
  211. package/coverage/src/graph/statistics.ts.html +580 -0
  212. package/coverage/src/graph/stats.ts.html +556 -0
  213. package/coverage/src/graph/subgraph.ts.html +571 -0
  214. package/coverage/src/graph/topo-sort.ts.html +598 -0
  215. package/coverage/src/graph/wcc.ts.html +646 -0
  216. package/coverage/src/groups/contract-bridge.ts.html +394 -0
  217. package/coverage/src/groups/contract-registry.ts.html +874 -0
  218. package/coverage/src/groups/group-config.ts.html +409 -0
  219. package/coverage/src/groups/group-search.ts.html +502 -0
  220. package/coverage/src/groups/group-sync.ts.html +331 -0
  221. package/coverage/src/groups/grpc-extractor.ts.html +277 -0
  222. package/coverage/src/groups/index.html +221 -0
  223. package/coverage/src/groups/service-boundary.ts.html +442 -0
  224. package/coverage/src/groups/topic-extractor.ts.html +355 -0
  225. package/coverage/src/health/analysis-counts-snapshot.ts.html +256 -0
  226. package/coverage/src/health/analysis-counts.ts.html +295 -0
  227. package/coverage/src/health/complexity-findings.ts.html +430 -0
  228. package/coverage/src/health/distribution-thresholds.ts.html +247 -0
  229. package/coverage/src/health/grouping.ts.html +499 -0
  230. package/coverage/src/health/health-grouping.ts.html +343 -0
  231. package/coverage/src/health/health-report-types.ts.html +580 -0
  232. package/coverage/src/health/health-report.ts.html +328 -0
  233. package/coverage/src/health/health-score.ts.html +280 -0
  234. package/coverage/src/health/hotspot-utils.ts.html +250 -0
  235. package/coverage/src/health/hotspots.ts.html +397 -0
  236. package/coverage/src/health/index.html +551 -0
  237. package/coverage/src/health/large-functions.ts.html +187 -0
  238. package/coverage/src/health/ownership-metrics.ts.html +268 -0
  239. package/coverage/src/health/ownership-risk.ts.html +379 -0
  240. package/coverage/src/health/ownership.ts.html +607 -0
  241. package/coverage/src/health/quality-gate.ts.html +256 -0
  242. package/coverage/src/health/risk-profile.ts.html +202 -0
  243. package/coverage/src/health/runtime-coverage-report.ts.html +388 -0
  244. package/coverage/src/health/runtime-coverage.ts.html +298 -0
  245. package/coverage/src/health/scores.ts.html +301 -0
  246. package/coverage/src/health/scoring-types.ts.html +229 -0
  247. package/coverage/src/health/target-thresholds.ts.html +361 -0
  248. package/coverage/src/health/target-types.ts.html +247 -0
  249. package/coverage/src/health/targets.ts.html +538 -0
  250. package/coverage/src/health/timings.ts.html +343 -0
  251. package/coverage/src/health/trend-types.ts.html +256 -0
  252. package/coverage/src/health/trends.ts.html +343 -0
  253. package/coverage/src/health/vital-signs-compute.ts.html +409 -0
  254. package/coverage/src/health/vital-signs-snapshot.ts.html +301 -0
  255. package/coverage/src/health/vital-signs.ts.html +388 -0
  256. package/coverage/src/index.html +191 -0
  257. package/coverage/src/index.ts.html +418 -0
  258. package/coverage/src/ingest/git-clone.ts.html +823 -0
  259. package/coverage/src/ingest/index.html +161 -0
  260. package/coverage/src/ingest/query-memory.ts.html +481 -0
  261. package/coverage/src/ingest/transcribe.ts.html +847 -0
  262. package/coverage/src/ingest/url-ingest.ts.html +346 -0
  263. package/coverage/src/init/agent-hooks.ts.html +343 -0
  264. package/coverage/src/init/git-hooks.ts.html +298 -0
  265. package/coverage/src/init/index.html +146 -0
  266. package/coverage/src/init/project-detection.ts.html +400 -0
  267. package/coverage/src/license/index.html +116 -0
  268. package/coverage/src/license/manager.ts.html +445 -0
  269. package/coverage/src/lsp/code-actions.ts.html +466 -0
  270. package/coverage/src/lsp/code-lens.ts.html +253 -0
  271. package/coverage/src/lsp/diagnostics-ext.ts.html +535 -0
  272. package/coverage/src/lsp/diagnostics-push.ts.html +394 -0
  273. package/coverage/src/lsp/diagnostics.ts.html +379 -0
  274. package/coverage/src/lsp/hover.ts.html +277 -0
  275. package/coverage/src/lsp/index.html +206 -0
  276. package/coverage/src/lsp/server.ts.html +847 -0
  277. package/coverage/src/mcp/index.html +146 -0
  278. package/coverage/src/mcp/params.ts.html +688 -0
  279. package/coverage/src/mcp/resources.ts.html +457 -0
  280. package/coverage/src/mcp/tool-builders.ts.html +694 -0
  281. package/coverage/src/mcp-resources/communities-resource.ts.html +301 -0
  282. package/coverage/src/mcp-resources/graph-resource.ts.html +127 -0
  283. package/coverage/src/mcp-resources/index.html +251 -0
  284. package/coverage/src/mcp-resources/index.ts.html +112 -0
  285. package/coverage/src/mcp-resources/named-cluster-resource.ts.html +190 -0
  286. package/coverage/src/mcp-resources/named-process-resource.ts.html +163 -0
  287. package/coverage/src/mcp-resources/processes-resource.ts.html +286 -0
  288. package/coverage/src/mcp-resources/repo-context-resource.ts.html +193 -0
  289. package/coverage/src/mcp-resources/repos-resource.ts.html +148 -0
  290. package/coverage/src/mcp-resources/schema-resource.ts.html +223 -0
  291. package/coverage/src/mcp-resources/wiki-resource.ts.html +154 -0
  292. package/coverage/src/mcp-tools/api-impact.ts.html +628 -0
  293. package/coverage/src/mcp-tools/context.ts.html +418 -0
  294. package/coverage/src/mcp-tools/cypher.ts.html +172 -0
  295. package/coverage/src/mcp-tools/detect-changes.ts.html +433 -0
  296. package/coverage/src/mcp-tools/explain.ts.html +280 -0
  297. package/coverage/src/mcp-tools/graph-query.ts.html +469 -0
  298. package/coverage/src/mcp-tools/group-list.ts.html +349 -0
  299. package/coverage/src/mcp-tools/group-query.ts.html +163 -0
  300. package/coverage/src/mcp-tools/group-sync.ts.html +181 -0
  301. package/coverage/src/mcp-tools/impact.ts.html +691 -0
  302. package/coverage/src/mcp-tools/index.html +431 -0
  303. package/coverage/src/mcp-tools/index.ts.html +148 -0
  304. package/coverage/src/mcp-tools/list-repos.ts.html +199 -0
  305. package/coverage/src/mcp-tools/neighbors.ts.html +325 -0
  306. package/coverage/src/mcp-tools/query.ts.html +343 -0
  307. package/coverage/src/mcp-tools/rename.ts.html +439 -0
  308. package/coverage/src/mcp-tools/route-map.ts.html +379 -0
  309. package/coverage/src/mcp-tools/serve.ts.html +208 -0
  310. package/coverage/src/mcp-tools/shape-check.ts.html +631 -0
  311. package/coverage/src/mcp-tools/staleness.ts.html +124 -0
  312. package/coverage/src/mcp-tools/tool-map.ts.html +283 -0
  313. package/coverage/src/mcp-tools/wiki-build.ts.html +196 -0
  314. package/coverage/src/mcp-tools/wiki.ts.html +169 -0
  315. package/coverage/src/migrate/index.html +161 -0
  316. package/coverage/src/migrate/jscpd.ts.html +319 -0
  317. package/coverage/src/migrate/jsonc-gen.ts.html +199 -0
  318. package/coverage/src/migrate/knip.ts.html +463 -0
  319. package/coverage/src/migrate/toml-gen.ts.html +229 -0
  320. package/coverage/src/parsers/c.ts.html +178 -0
  321. package/coverage/src/parsers/cpp.ts.html +172 -0
  322. package/coverage/src/parsers/csharp.ts.html +214 -0
  323. package/coverage/src/parsers/dart.ts.html +202 -0
  324. package/coverage/src/parsers/extractor.ts.html +691 -0
  325. package/coverage/src/parsers/go.ts.html +166 -0
  326. package/coverage/src/parsers/index.html +386 -0
  327. package/coverage/src/parsers/java.ts.html +166 -0
  328. package/coverage/src/parsers/kotlin.ts.html +193 -0
  329. package/coverage/src/parsers/language-config.ts.html +169 -0
  330. package/coverage/src/parsers/language-parsers.ts.html +445 -0
  331. package/coverage/src/parsers/loader.ts.html +532 -0
  332. package/coverage/src/parsers/named-bindings.ts.html +274 -0
  333. package/coverage/src/parsers/php.ts.html +196 -0
  334. package/coverage/src/parsers/python.ts.html +163 -0
  335. package/coverage/src/parsers/ruby.ts.html +202 -0
  336. package/coverage/src/parsers/rust.ts.html +160 -0
  337. package/coverage/src/parsers/swift.ts.html +169 -0
  338. package/coverage/src/parsers/typescript.ts.html +208 -0
  339. package/coverage/src/parsers/vue.ts.html +322 -0
  340. package/coverage/src/pipeline/cluster-only.ts.html +277 -0
  341. package/coverage/src/pipeline/effort.ts.html +235 -0
  342. package/coverage/src/pipeline/index.html +191 -0
  343. package/coverage/src/pipeline/orchestrator.ts.html +844 -0
  344. package/coverage/src/pipeline/phases/boundary.ts.html +538 -0
  345. package/coverage/src/pipeline/phases/bridge-adapters/electron-ipc.ts.html +358 -0
  346. package/coverage/src/pipeline/phases/bridge-adapters/index.html +176 -0
  347. package/coverage/src/pipeline/phases/bridge-adapters/registry.ts.html +127 -0
  348. package/coverage/src/pipeline/phases/bridge-adapters/tauri.ts.html +394 -0
  349. package/coverage/src/pipeline/phases/bridge-adapters/types.ts.html +178 -0
  350. package/coverage/src/pipeline/phases/bridge-adapters/wails.ts.html +184 -0
  351. package/coverage/src/pipeline/phases/bridge-resolver.ts.html +316 -0
  352. package/coverage/src/pipeline/phases/call-site-extractors.ts.html +592 -0
  353. package/coverage/src/pipeline/phases/communities.ts.html +634 -0
  354. package/coverage/src/pipeline/phases/contextual-proximity.ts.html +349 -0
  355. package/coverage/src/pipeline/phases/cross-file.ts.html +433 -0
  356. package/coverage/src/pipeline/phases/docs-parse.ts.html +1006 -0
  357. package/coverage/src/pipeline/phases/evidence.ts.html +112 -0
  358. package/coverage/src/pipeline/phases/field-access.ts.html +232 -0
  359. package/coverage/src/pipeline/phases/framework-detect.ts.html +412 -0
  360. package/coverage/src/pipeline/phases/god-nodes.ts.html +574 -0
  361. package/coverage/src/pipeline/phases/import-resolver.ts.html +427 -0
  362. package/coverage/src/pipeline/phases/index.html +626 -0
  363. package/coverage/src/pipeline/phases/leiden.ts.html +316 -0
  364. package/coverage/src/pipeline/phases/llm-extract.ts.html +577 -0
  365. package/coverage/src/pipeline/phases/markdown.ts.html +448 -0
  366. package/coverage/src/pipeline/phases/middleware-extractor.ts.html +466 -0
  367. package/coverage/src/pipeline/phases/module-resolution.ts.html +967 -0
  368. package/coverage/src/pipeline/phases/mro.ts.html +253 -0
  369. package/coverage/src/pipeline/phases/orm.ts.html +1594 -0
  370. package/coverage/src/pipeline/phases/parse.ts.html +751 -0
  371. package/coverage/src/pipeline/phases/pdf-parse.ts.html +484 -0
  372. package/coverage/src/pipeline/phases/processes.ts.html +832 -0
  373. package/coverage/src/pipeline/phases/re-export-propagation.ts.html +565 -0
  374. package/coverage/src/pipeline/phases/reachability.ts.html +553 -0
  375. package/coverage/src/pipeline/phases/routes.ts.html +1135 -0
  376. package/coverage/src/pipeline/phases/scan.ts.html +484 -0
  377. package/coverage/src/pipeline/phases/scope-resolution.ts.html +1147 -0
  378. package/coverage/src/pipeline/phases/structure.ts.html +289 -0
  379. package/coverage/src/pipeline/phases/suggest.ts.html +361 -0
  380. package/coverage/src/pipeline/phases/surprises.ts.html +334 -0
  381. package/coverage/src/pipeline/phases/tools.ts.html +625 -0
  382. package/coverage/src/pipeline/phases/variables-phase.ts.html +196 -0
  383. package/coverage/src/pipeline/phases/variables.ts.html +286 -0
  384. package/coverage/src/pipeline/phases/wildcard-phase.ts.html +235 -0
  385. package/coverage/src/pipeline/phases/wildcard-synthesis.ts.html +727 -0
  386. package/coverage/src/pipeline/progress.ts.html +259 -0
  387. package/coverage/src/pipeline/runner.ts.html +469 -0
  388. package/coverage/src/pipeline/types.ts.html +208 -0
  389. package/coverage/src/query/cypher-parser.ts.html +1435 -0
  390. package/coverage/src/query/index.html +116 -0
  391. package/coverage/src/registry/index.html +116 -0
  392. package/coverage/src/registry/repo-registry.ts.html +460 -0
  393. package/coverage/src/regression/baseline-deltas.ts.html +730 -0
  394. package/coverage/src/regression/baseline.ts.html +313 -0
  395. package/coverage/src/regression/counts.ts.html +346 -0
  396. package/coverage/src/regression/index.html +176 -0
  397. package/coverage/src/regression/outcome.ts.html +319 -0
  398. package/coverage/src/regression/tolerance.ts.html +190 -0
  399. package/coverage/src/report/attributed-duplication.ts.html +421 -0
  400. package/coverage/src/report/badge-svg.ts.html +385 -0
  401. package/coverage/src/report/cross-ref-human.ts.html +235 -0
  402. package/coverage/src/report/duplication-grouping.ts.html +307 -0
  403. package/coverage/src/report/grouping.ts.html +496 -0
  404. package/coverage/src/report/human-check.ts.html +958 -0
  405. package/coverage/src/report/human-dupes.ts.html +511 -0
  406. package/coverage/src/report/human-health.ts.html +670 -0
  407. package/coverage/src/report/human.ts.html +445 -0
  408. package/coverage/src/report/index.html +341 -0
  409. package/coverage/src/report/json-actions.ts.html +358 -0
  410. package/coverage/src/report/json-builders.ts.html +295 -0
  411. package/coverage/src/report/json-schema.ts.html +310 -0
  412. package/coverage/src/report/number-format.ts.html +358 -0
  413. package/coverage/src/report/output-grouped.ts.html +391 -0
  414. package/coverage/src/report/pipeline-perf.ts.html +253 -0
  415. package/coverage/src/report/trace-human.ts.html +466 -0
  416. package/coverage/src/reporting/graph-report.ts.html +1378 -0
  417. package/coverage/src/reporting/index.html +116 -0
  418. package/coverage/src/results/fallow-results.ts.html +541 -0
  419. package/coverage/src/results/index.html +131 -0
  420. package/coverage/src/results/types.ts.html +532 -0
  421. package/coverage/src/scope-resolution/evidence-weights.ts.html +208 -0
  422. package/coverage/src/scope-resolution/index.html +116 -0
  423. package/coverage/src/search/ast-chunker.ts.html +703 -0
  424. package/coverage/src/search/diacritic.ts.html +106 -0
  425. package/coverage/src/search/hybrid-query.ts.html +280 -0
  426. package/coverage/src/search/index.html +161 -0
  427. package/coverage/src/search/rrf.ts.html +238 -0
  428. package/coverage/src/security/index.html +131 -0
  429. package/coverage/src/security/safe-fetch.ts.html +424 -0
  430. package/coverage/src/security/sensitive-files.ts.html +157 -0
  431. package/coverage/src/skills/index.html +116 -0
  432. package/coverage/src/skills/platform-skills.ts.html +784 -0
  433. package/coverage/src/staleness/git-staleness.ts.html +283 -0
  434. package/coverage/src/staleness/index.html +116 -0
  435. package/coverage/src/storage/db.ts.html +415 -0
  436. package/coverage/src/storage/edge-store.ts.html +400 -0
  437. package/coverage/src/storage/file-cache.ts.html +319 -0
  438. package/coverage/src/storage/fts-store.ts.html +1240 -0
  439. package/coverage/src/storage/index.html +221 -0
  440. package/coverage/src/storage/node-store.ts.html +712 -0
  441. package/coverage/src/storage/schema.ts.html +598 -0
  442. package/coverage/src/storage/suppressions.ts.html +520 -0
  443. package/coverage/src/storage/unlinked-refs.ts.html +436 -0
  444. package/coverage/src/types.ts.html +676 -0
  445. package/coverage/src/validation/extraction-validator.ts.html +247 -0
  446. package/coverage/src/validation/index.html +116 -0
  447. package/coverage/src/watch/index.html +116 -0
  448. package/coverage/src/watch/watcher.ts.html +499 -0
  449. package/coverage/src/web/analyze-api.ts.html +523 -0
  450. package/coverage/src/web/api.ts.html +1837 -0
  451. package/coverage/src/web/async-jobs.ts.html +412 -0
  452. package/coverage/src/web/index.html +191 -0
  453. package/coverage/src/web/mcp-http.ts.html +766 -0
  454. package/coverage/src/web/react-ui.ts.html +319 -0
  455. package/coverage/src/web/server.ts.html +355 -0
  456. package/coverage/src/wiki/gist-publisher.ts.html +313 -0
  457. package/coverage/src/wiki/index.html +176 -0
  458. package/coverage/src/wiki/prompt-builder.ts.html +190 -0
  459. package/coverage/src/wiki/providers.ts.html +487 -0
  460. package/coverage/src/wiki/wiki-generator.ts.html +736 -0
  461. package/coverage/src/wiki/wiki-store.ts.html +232 -0
  462. package/dist/src/cli/eval-server.d.ts.map +1 -1
  463. package/dist/src/cli/eval-server.js +8 -1
  464. package/dist/src/cli/eval-server.js.map +1 -1
  465. package/dist/src/cli/skill-gen.js.map +1 -1
  466. package/dist/src/graph/regex-search.d.ts.map +1 -1
  467. package/dist/src/graph/regex-search.js +13 -13
  468. package/dist/src/graph/regex-search.js.map +1 -1
  469. package/dist/src/graph/statistics.d.ts +0 -4
  470. package/dist/src/graph/statistics.d.ts.map +1 -1
  471. package/dist/src/graph/statistics.js +0 -7
  472. package/dist/src/graph/statistics.js.map +1 -1
  473. package/dist/src/pipeline/orchestrator.js +22 -0
  474. package/dist/src/pipeline/orchestrator.js.map +1 -1
  475. package/dist/src/pipeline/phases/call-site-extractors.d.ts +8 -0
  476. package/dist/src/pipeline/phases/call-site-extractors.d.ts.map +1 -1
  477. package/dist/src/pipeline/phases/call-site-extractors.js +9 -9
  478. package/dist/src/pipeline/phases/call-site-extractors.js.map +1 -1
  479. package/dist/src/pipeline/phases/module-resolution.js +2 -2
  480. package/dist/src/pipeline/phases/module-resolution.js.map +1 -1
  481. package/dist/src/pipeline/phases/scope-resolution.d.ts.map +1 -1
  482. package/dist/src/pipeline/phases/scope-resolution.js +76 -1
  483. package/dist/src/pipeline/phases/scope-resolution.js.map +1 -1
  484. package/dist/src/registry/repo-registry.d.ts.map +1 -1
  485. package/dist/src/registry/repo-registry.js +1 -2
  486. package/dist/src/registry/repo-registry.js.map +1 -1
  487. package/dist/tsconfig.tsbuildinfo +1 -1
  488. package/package.json +4 -3
  489. package/src/cli/eval-server.ts +8 -1
  490. package/src/cli/skill-gen.ts +16 -16
  491. package/src/graph/regex-search.ts +13 -14
  492. package/src/graph/statistics.ts +0 -8
  493. package/src/pipeline/orchestrator.ts +18 -0
  494. package/src/pipeline/phases/call-site-extractors.ts +17 -9
  495. package/src/pipeline/phases/module-resolution.ts +2 -2
  496. package/src/pipeline/phases/scope-resolution.ts +89 -1
  497. package/src/registry/repo-registry.ts +1 -2
  498. package/vitest.config.ts +7 -0
  499. package/src/analysis/cycles.ts +0 -268
  500. package/src/analysis/trace.ts +0 -300
  501. package/src/analysis/worker-pool.ts +0 -81
  502. package/src/graph/clone-detector.ts +0 -163
  503. package/src/graph/shingle-filter.ts +0 -149
  504. package/src/watch/watch-runner.ts +0 -64
@@ -0,0 +1,881 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for All files</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="prettify.css" />
9
+ <link rel="stylesheet" href="base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1>All files</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">35.92% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>5686/15829</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">29.03% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>2519/8676</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">32.19% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>794/2466</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">38.13% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>5234/13725</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line low'></div>
65
+ <div class="pad1">
66
+ <table class="coverage-summary">
67
+ <thead>
68
+ <tr>
69
+ <th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
70
+ <th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
71
+ <th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
72
+ <th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
73
+ <th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
74
+ <th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
75
+ <th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
76
+ <th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
77
+ <th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
78
+ <th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
79
+ </tr>
80
+ </thead>
81
+ <tbody><tr>
82
+ <td class="file low" data-value="src"><a href="src/index.html">src</a></td>
83
+ <td data-value="4" class="pic low">
84
+ <div class="chart"><div class="cover-fill" style="width: 4%"></div><div class="cover-empty" style="width: 96%"></div></div>
85
+ </td>
86
+ <td data-value="4" class="pct low">4%</td>
87
+ <td data-value="175" class="abs low">7/175</td>
88
+ <td data-value="0" class="pct low">0%</td>
89
+ <td data-value="102" class="abs low">0/102</td>
90
+ <td data-value="15" class="pct low">15%</td>
91
+ <td data-value="20" class="abs low">3/20</td>
92
+ <td data-value="4.76" class="pct low">4.76%</td>
93
+ <td data-value="147" class="abs low">7/147</td>
94
+ </tr>
95
+
96
+ <tr>
97
+ <td class="file low" data-value="src/analysis"><a href="src/analysis/index.html">src/analysis</a></td>
98
+ <td data-value="19.93" class="pic low">
99
+ <div class="chart"><div class="cover-fill" style="width: 19%"></div><div class="cover-empty" style="width: 81%"></div></div>
100
+ </td>
101
+ <td data-value="19.93" class="pct low">19.93%</td>
102
+ <td data-value="1580" class="abs low">315/1580</td>
103
+ <td data-value="18.3" class="pct low">18.3%</td>
104
+ <td data-value="874" class="abs low">160/874</td>
105
+ <td data-value="19.08" class="pct low">19.08%</td>
106
+ <td data-value="262" class="abs low">50/262</td>
107
+ <td data-value="20.52" class="pct low">20.52%</td>
108
+ <td data-value="1301" class="abs low">267/1301</td>
109
+ </tr>
110
+
111
+ <tr>
112
+ <td class="file low" data-value="src/analyze"><a href="src/analyze/index.html">src/analyze</a></td>
113
+ <td data-value="0" class="pic low">
114
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
115
+ </td>
116
+ <td data-value="0" class="pct low">0%</td>
117
+ <td data-value="162" class="abs low">0/162</td>
118
+ <td data-value="0" class="pct low">0%</td>
119
+ <td data-value="112" class="abs low">0/112</td>
120
+ <td data-value="0" class="pct low">0%</td>
121
+ <td data-value="27" class="abs low">0/27</td>
122
+ <td data-value="0" class="pct low">0%</td>
123
+ <td data-value="133" class="abs low">0/133</td>
124
+ </tr>
125
+
126
+ <tr>
127
+ <td class="file low" data-value="src/analyze/predicates"><a href="src/analyze/predicates/index.html">src/analyze/predicates</a></td>
128
+ <td data-value="0" class="pic low">
129
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
130
+ </td>
131
+ <td data-value="0" class="pct low">0%</td>
132
+ <td data-value="33" class="abs low">0/33</td>
133
+ <td data-value="0" class="pct low">0%</td>
134
+ <td data-value="29" class="abs low">0/29</td>
135
+ <td data-value="0" class="pct low">0%</td>
136
+ <td data-value="11" class="abs low">0/11</td>
137
+ <td data-value="0" class="pct low">0%</td>
138
+ <td data-value="27" class="abs low">0/27</td>
139
+ </tr>
140
+
141
+ <tr>
142
+ <td class="file low" data-value="src/api"><a href="src/api/index.html">src/api</a></td>
143
+ <td data-value="0" class="pic low">
144
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
145
+ </td>
146
+ <td data-value="0" class="pct low">0%</td>
147
+ <td data-value="20" class="abs low">0/20</td>
148
+ <td data-value="0" class="pct low">0%</td>
149
+ <td data-value="18" class="abs low">0/18</td>
150
+ <td data-value="0" class="pct low">0%</td>
151
+ <td data-value="14" class="abs low">0/14</td>
152
+ <td data-value="0" class="pct low">0%</td>
153
+ <td data-value="18" class="abs low">0/18</td>
154
+ </tr>
155
+
156
+ <tr>
157
+ <td class="file medium" data-value="src/cache"><a href="src/cache/index.html">src/cache</a></td>
158
+ <td data-value="71.42" class="pic medium">
159
+ <div class="chart"><div class="cover-fill" style="width: 71%"></div><div class="cover-empty" style="width: 29%"></div></div>
160
+ </td>
161
+ <td data-value="71.42" class="pct medium">71.42%</td>
162
+ <td data-value="98" class="abs medium">70/98</td>
163
+ <td data-value="52.94" class="pct medium">52.94%</td>
164
+ <td data-value="34" class="abs medium">18/34</td>
165
+ <td data-value="95" class="pct high">95%</td>
166
+ <td data-value="20" class="abs high">19/20</td>
167
+ <td data-value="74.35" class="pct medium">74.35%</td>
168
+ <td data-value="78" class="abs medium">58/78</td>
169
+ </tr>
170
+
171
+ <tr>
172
+ <td class="file low" data-value="src/check"><a href="src/check/index.html">src/check</a></td>
173
+ <td data-value="0" class="pic low">
174
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
175
+ </td>
176
+ <td data-value="0" class="pct low">0%</td>
177
+ <td data-value="69" class="abs low">0/69</td>
178
+ <td data-value="0" class="pct low">0%</td>
179
+ <td data-value="41" class="abs low">0/41</td>
180
+ <td data-value="0" class="pct low">0%</td>
181
+ <td data-value="29" class="abs low">0/29</td>
182
+ <td data-value="0" class="pct low">0%</td>
183
+ <td data-value="54" class="abs low">0/54</td>
184
+ </tr>
185
+
186
+ <tr>
187
+ <td class="file high" data-value="src/cli"><a href="src/cli/index.html">src/cli</a></td>
188
+ <td data-value="88.2" class="pic high">
189
+ <div class="chart"><div class="cover-fill" style="width: 88%"></div><div class="cover-empty" style="width: 12%"></div></div>
190
+ </td>
191
+ <td data-value="88.2" class="pct high">88.2%</td>
192
+ <td data-value="441" class="abs high">389/441</td>
193
+ <td data-value="71.12" class="pct medium">71.12%</td>
194
+ <td data-value="187" class="abs medium">133/187</td>
195
+ <td data-value="98.11" class="pct high">98.11%</td>
196
+ <td data-value="53" class="abs high">52/53</td>
197
+ <td data-value="88.73" class="pct high">88.73%</td>
198
+ <td data-value="426" class="abs high">378/426</td>
199
+ </tr>
200
+
201
+ <tr>
202
+ <td class="file low" data-value="src/commands"><a href="src/commands/index.html">src/commands</a></td>
203
+ <td data-value="0" class="pic low">
204
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
205
+ </td>
206
+ <td data-value="0" class="pct low">0%</td>
207
+ <td data-value="18" class="abs low">0/18</td>
208
+ <td data-value="0" class="pct low">0%</td>
209
+ <td data-value="6" class="abs low">0/6</td>
210
+ <td data-value="0" class="pct low">0%</td>
211
+ <td data-value="4" class="abs low">0/4</td>
212
+ <td data-value="0" class="pct low">0%</td>
213
+ <td data-value="15" class="abs low">0/15</td>
214
+ </tr>
215
+
216
+ <tr>
217
+ <td class="file low" data-value="src/config"><a href="src/config/index.html">src/config</a></td>
218
+ <td data-value="0" class="pic low">
219
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
220
+ </td>
221
+ <td data-value="0" class="pct low">0%</td>
222
+ <td data-value="413" class="abs low">0/413</td>
223
+ <td data-value="0" class="pct low">0%</td>
224
+ <td data-value="284" class="abs low">0/284</td>
225
+ <td data-value="0" class="pct low">0%</td>
226
+ <td data-value="76" class="abs low">0/76</td>
227
+ <td data-value="0" class="pct low">0%</td>
228
+ <td data-value="347" class="abs low">0/347</td>
229
+ </tr>
230
+
231
+ <tr>
232
+ <td class="file low" data-value="src/config/plugins"><a href="src/config/plugins/index.html">src/config/plugins</a></td>
233
+ <td data-value="0" class="pic low">
234
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
235
+ </td>
236
+ <td data-value="0" class="pct low">0%</td>
237
+ <td data-value="49" class="abs low">0/49</td>
238
+ <td data-value="0" class="pct low">0%</td>
239
+ <td data-value="24" class="abs low">0/24</td>
240
+ <td data-value="0" class="pct low">0%</td>
241
+ <td data-value="9" class="abs low">0/9</td>
242
+ <td data-value="0" class="pct low">0%</td>
243
+ <td data-value="38" class="abs low">0/38</td>
244
+ </tr>
245
+
246
+ <tr>
247
+ <td class="file low" data-value="src/coverage"><a href="src/coverage/index.html">src/coverage</a></td>
248
+ <td data-value="0" class="pic low">
249
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
250
+ </td>
251
+ <td data-value="0" class="pct low">0%</td>
252
+ <td data-value="87" class="abs low">0/87</td>
253
+ <td data-value="0" class="pct low">0%</td>
254
+ <td data-value="68" class="abs low">0/68</td>
255
+ <td data-value="0" class="pct low">0%</td>
256
+ <td data-value="17" class="abs low">0/17</td>
257
+ <td data-value="0" class="pct low">0%</td>
258
+ <td data-value="71" class="abs low">0/71</td>
259
+ </tr>
260
+
261
+ <tr>
262
+ <td class="file low" data-value="src/discover"><a href="src/discover/index.html">src/discover</a></td>
263
+ <td data-value="0" class="pic low">
264
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
265
+ </td>
266
+ <td data-value="0" class="pct low">0%</td>
267
+ <td data-value="101" class="abs low">0/101</td>
268
+ <td data-value="0" class="pct low">0%</td>
269
+ <td data-value="60" class="abs low">0/60</td>
270
+ <td data-value="0" class="pct low">0%</td>
271
+ <td data-value="13" class="abs low">0/13</td>
272
+ <td data-value="0" class="pct low">0%</td>
273
+ <td data-value="88" class="abs low">0/88</td>
274
+ </tr>
275
+
276
+ <tr>
277
+ <td class="file low" data-value="src/duplicates"><a href="src/duplicates/index.html">src/duplicates</a></td>
278
+ <td data-value="0" class="pic low">
279
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
280
+ </td>
281
+ <td data-value="0" class="pct low">0%</td>
282
+ <td data-value="81" class="abs low">0/81</td>
283
+ <td data-value="0" class="pct low">0%</td>
284
+ <td data-value="42" class="abs low">0/42</td>
285
+ <td data-value="0" class="pct low">0%</td>
286
+ <td data-value="19" class="abs low">0/19</td>
287
+ <td data-value="0" class="pct low">0%</td>
288
+ <td data-value="67" class="abs low">0/67</td>
289
+ </tr>
290
+
291
+ <tr>
292
+ <td class="file low" data-value="src/duplicates/detect"><a href="src/duplicates/detect/index.html">src/duplicates/detect</a></td>
293
+ <td data-value="0" class="pic low">
294
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
295
+ </td>
296
+ <td data-value="0" class="pct low">0%</td>
297
+ <td data-value="282" class="abs low">0/282</td>
298
+ <td data-value="0" class="pct low">0%</td>
299
+ <td data-value="103" class="abs low">0/103</td>
300
+ <td data-value="0" class="pct low">0%</td>
301
+ <td data-value="23" class="abs low">0/23</td>
302
+ <td data-value="0" class="pct low">0%</td>
303
+ <td data-value="237" class="abs low">0/237</td>
304
+ </tr>
305
+
306
+ <tr>
307
+ <td class="file low" data-value="src/duplicates/tokenize"><a href="src/duplicates/tokenize/index.html">src/duplicates/tokenize</a></td>
308
+ <td data-value="0" class="pic low">
309
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
310
+ </td>
311
+ <td data-value="0" class="pct low">0%</td>
312
+ <td data-value="74" class="abs low">0/74</td>
313
+ <td data-value="0" class="pct low">0%</td>
314
+ <td data-value="62" class="abs low">0/62</td>
315
+ <td data-value="0" class="pct low">0%</td>
316
+ <td data-value="7" class="abs low">0/7</td>
317
+ <td data-value="0" class="pct low">0%</td>
318
+ <td data-value="58" class="abs low">0/58</td>
319
+ </tr>
320
+
321
+ <tr>
322
+ <td class="file low" data-value="src/error"><a href="src/error/index.html">src/error</a></td>
323
+ <td data-value="0" class="pic low">
324
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
325
+ </td>
326
+ <td data-value="0" class="pct low">0%</td>
327
+ <td data-value="36" class="abs low">0/36</td>
328
+ <td data-value="0" class="pct low">0%</td>
329
+ <td data-value="25" class="abs low">0/25</td>
330
+ <td data-value="0" class="pct low">0%</td>
331
+ <td data-value="14" class="abs low">0/14</td>
332
+ <td data-value="0" class="pct low">0%</td>
333
+ <td data-value="31" class="abs low">0/31</td>
334
+ </tr>
335
+
336
+ <tr>
337
+ <td class="file low" data-value="src/export"><a href="src/export/index.html">src/export</a></td>
338
+ <td data-value="23.04" class="pic low">
339
+ <div class="chart"><div class="cover-fill" style="width: 23%"></div><div class="cover-empty" style="width: 77%"></div></div>
340
+ </td>
341
+ <td data-value="23.04" class="pct low">23.04%</td>
342
+ <td data-value="538" class="abs low">124/538</td>
343
+ <td data-value="21.73" class="pct low">21.73%</td>
344
+ <td data-value="299" class="abs low">65/299</td>
345
+ <td data-value="37.71" class="pct low">37.71%</td>
346
+ <td data-value="114" class="abs low">43/114</td>
347
+ <td data-value="23.36" class="pct low">23.36%</td>
348
+ <td data-value="488" class="abs low">114/488</td>
349
+ </tr>
350
+
351
+ <tr>
352
+ <td class="file low" data-value="src/fix"><a href="src/fix/index.html">src/fix</a></td>
353
+ <td data-value="0" class="pic low">
354
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
355
+ </td>
356
+ <td data-value="0" class="pct low">0%</td>
357
+ <td data-value="260" class="abs low">0/260</td>
358
+ <td data-value="0" class="pct low">0%</td>
359
+ <td data-value="139" class="abs low">0/139</td>
360
+ <td data-value="0" class="pct low">0%</td>
361
+ <td data-value="27" class="abs low">0/27</td>
362
+ <td data-value="0" class="pct low">0%</td>
363
+ <td data-value="229" class="abs low">0/229</td>
364
+ </tr>
365
+
366
+ <tr>
367
+ <td class="file low" data-value="src/graph"><a href="src/graph/index.html">src/graph</a></td>
368
+ <td data-value="28.43" class="pic low">
369
+ <div class="chart"><div class="cover-fill" style="width: 28%"></div><div class="cover-empty" style="width: 72%"></div></div>
370
+ </td>
371
+ <td data-value="28.43" class="pct low">28.43%</td>
372
+ <td data-value="2578" class="abs low">733/2578</td>
373
+ <td data-value="26.74" class="pct low">26.74%</td>
374
+ <td data-value="1492" class="abs low">399/1492</td>
375
+ <td data-value="29.67" class="pct low">29.67%</td>
376
+ <td data-value="337" class="abs low">100/337</td>
377
+ <td data-value="29" class="pct low">29%</td>
378
+ <td data-value="2210" class="abs low">641/2210</td>
379
+ </tr>
380
+
381
+ <tr>
382
+ <td class="file low" data-value="src/graph/re-exports"><a href="src/graph/re-exports/index.html">src/graph/re-exports</a></td>
383
+ <td data-value="0" class="pic low">
384
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
385
+ </td>
386
+ <td data-value="0" class="pct low">0%</td>
387
+ <td data-value="38" class="abs low">0/38</td>
388
+ <td data-value="0" class="pct low">0%</td>
389
+ <td data-value="20" class="abs low">0/20</td>
390
+ <td data-value="0" class="pct low">0%</td>
391
+ <td data-value="7" class="abs low">0/7</td>
392
+ <td data-value="0" class="pct low">0%</td>
393
+ <td data-value="32" class="abs low">0/32</td>
394
+ </tr>
395
+
396
+ <tr>
397
+ <td class="file low" data-value="src/graph/resolve"><a href="src/graph/resolve/index.html">src/graph/resolve</a></td>
398
+ <td data-value="0" class="pic low">
399
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
400
+ </td>
401
+ <td data-value="0" class="pct low">0%</td>
402
+ <td data-value="269" class="abs low">0/269</td>
403
+ <td data-value="0" class="pct low">0%</td>
404
+ <td data-value="137" class="abs low">0/137</td>
405
+ <td data-value="0" class="pct low">0%</td>
406
+ <td data-value="54" class="abs low">0/54</td>
407
+ <td data-value="0" class="pct low">0%</td>
408
+ <td data-value="230" class="abs low">0/230</td>
409
+ </tr>
410
+
411
+ <tr>
412
+ <td class="file medium" data-value="src/groups"><a href="src/groups/index.html">src/groups</a></td>
413
+ <td data-value="79.54" class="pic medium">
414
+ <div class="chart"><div class="cover-fill" style="width: 79%"></div><div class="cover-empty" style="width: 21%"></div></div>
415
+ </td>
416
+ <td data-value="79.54" class="pct medium">79.54%</td>
417
+ <td data-value="308" class="abs medium">245/308</td>
418
+ <td data-value="73.75" class="pct medium">73.75%</td>
419
+ <td data-value="141" class="abs medium">104/141</td>
420
+ <td data-value="86.66" class="pct high">86.66%</td>
421
+ <td data-value="30" class="abs high">26/30</td>
422
+ <td data-value="81.69" class="pct high">81.69%</td>
423
+ <td data-value="284" class="abs high">232/284</td>
424
+ </tr>
425
+
426
+ <tr>
427
+ <td class="file low" data-value="src/health"><a href="src/health/index.html">src/health</a></td>
428
+ <td data-value="0" class="pic low">
429
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
430
+ </td>
431
+ <td data-value="0" class="pct low">0%</td>
432
+ <td data-value="755" class="abs low">0/755</td>
433
+ <td data-value="0" class="pct low">0%</td>
434
+ <td data-value="531" class="abs low">0/531</td>
435
+ <td data-value="0" class="pct low">0%</td>
436
+ <td data-value="171" class="abs low">0/171</td>
437
+ <td data-value="0" class="pct low">0%</td>
438
+ <td data-value="608" class="abs low">0/608</td>
439
+ </tr>
440
+
441
+ <tr>
442
+ <td class="file medium" data-value="src/ingest"><a href="src/ingest/index.html">src/ingest</a></td>
443
+ <td data-value="52.4" class="pic medium">
444
+ <div class="chart"><div class="cover-fill" style="width: 52%"></div><div class="cover-empty" style="width: 48%"></div></div>
445
+ </td>
446
+ <td data-value="52.4" class="pct medium">52.4%</td>
447
+ <td data-value="208" class="abs medium">109/208</td>
448
+ <td data-value="58.53" class="pct medium">58.53%</td>
449
+ <td data-value="164" class="abs medium">96/164</td>
450
+ <td data-value="52.94" class="pct medium">52.94%</td>
451
+ <td data-value="34" class="abs medium">18/34</td>
452
+ <td data-value="54.4" class="pct medium">54.4%</td>
453
+ <td data-value="193" class="abs medium">105/193</td>
454
+ </tr>
455
+
456
+ <tr>
457
+ <td class="file low" data-value="src/init"><a href="src/init/index.html">src/init</a></td>
458
+ <td data-value="0" class="pic low">
459
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
460
+ </td>
461
+ <td data-value="0" class="pct low">0%</td>
462
+ <td data-value="93" class="abs low">0/93</td>
463
+ <td data-value="0" class="pct low">0%</td>
464
+ <td data-value="87" class="abs low">0/87</td>
465
+ <td data-value="0" class="pct low">0%</td>
466
+ <td data-value="24" class="abs low">0/24</td>
467
+ <td data-value="0" class="pct low">0%</td>
468
+ <td data-value="70" class="abs low">0/70</td>
469
+ </tr>
470
+
471
+ <tr>
472
+ <td class="file low" data-value="src/license"><a href="src/license/index.html">src/license</a></td>
473
+ <td data-value="0" class="pic low">
474
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
475
+ </td>
476
+ <td data-value="0" class="pct low">0%</td>
477
+ <td data-value="32" class="abs low">0/32</td>
478
+ <td data-value="0" class="pct low">0%</td>
479
+ <td data-value="18" class="abs low">0/18</td>
480
+ <td data-value="0" class="pct low">0%</td>
481
+ <td data-value="6" class="abs low">0/6</td>
482
+ <td data-value="0" class="pct low">0%</td>
483
+ <td data-value="29" class="abs low">0/29</td>
484
+ </tr>
485
+
486
+ <tr>
487
+ <td class="file low" data-value="src/lsp"><a href="src/lsp/index.html">src/lsp</a></td>
488
+ <td data-value="0" class="pic low">
489
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
490
+ </td>
491
+ <td data-value="0" class="pct low">0%</td>
492
+ <td data-value="233" class="abs low">0/233</td>
493
+ <td data-value="0" class="pct low">0%</td>
494
+ <td data-value="87" class="abs low">0/87</td>
495
+ <td data-value="0" class="pct low">0%</td>
496
+ <td data-value="42" class="abs low">0/42</td>
497
+ <td data-value="0" class="pct low">0%</td>
498
+ <td data-value="218" class="abs low">0/218</td>
499
+ </tr>
500
+
501
+ <tr>
502
+ <td class="file low" data-value="src/mcp"><a href="src/mcp/index.html">src/mcp</a></td>
503
+ <td data-value="0" class="pic low">
504
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
505
+ </td>
506
+ <td data-value="0" class="pct low">0%</td>
507
+ <td data-value="73" class="abs low">0/73</td>
508
+ <td data-value="0" class="pct low">0%</td>
509
+ <td data-value="26" class="abs low">0/26</td>
510
+ <td data-value="0" class="pct low">0%</td>
511
+ <td data-value="34" class="abs low">0/34</td>
512
+ <td data-value="0" class="pct low">0%</td>
513
+ <td data-value="68" class="abs low">0/68</td>
514
+ </tr>
515
+
516
+ <tr>
517
+ <td class="file high" data-value="src/mcp-resources"><a href="src/mcp-resources/index.html">src/mcp-resources</a></td>
518
+ <td data-value="92.18" class="pic high">
519
+ <div class="chart"><div class="cover-fill" style="width: 92%"></div><div class="cover-empty" style="width: 8%"></div></div>
520
+ </td>
521
+ <td data-value="92.18" class="pct high">92.18%</td>
522
+ <td data-value="64" class="abs high">59/64</td>
523
+ <td data-value="66.66" class="pct medium">66.66%</td>
524
+ <td data-value="12" class="abs medium">8/12</td>
525
+ <td data-value="100" class="pct high">100%</td>
526
+ <td data-value="18" class="abs high">18/18</td>
527
+ <td data-value="96.42" class="pct high">96.42%</td>
528
+ <td data-value="56" class="abs high">54/56</td>
529
+ </tr>
530
+
531
+ <tr>
532
+ <td class="file medium" data-value="src/mcp-tools"><a href="src/mcp-tools/index.html">src/mcp-tools</a></td>
533
+ <td data-value="79.81" class="pic medium">
534
+ <div class="chart"><div class="cover-fill" style="width: 79%"></div><div class="cover-empty" style="width: 21%"></div></div>
535
+ </td>
536
+ <td data-value="79.81" class="pct medium">79.81%</td>
537
+ <td data-value="530" class="abs medium">423/530</td>
538
+ <td data-value="61.26" class="pct medium">61.26%</td>
539
+ <td data-value="315" class="abs medium">193/315</td>
540
+ <td data-value="75.6" class="pct medium">75.6%</td>
541
+ <td data-value="82" class="abs medium">62/82</td>
542
+ <td data-value="82.26" class="pct high">82.26%</td>
543
+ <td data-value="468" class="abs high">385/468</td>
544
+ </tr>
545
+
546
+ <tr>
547
+ <td class="file low" data-value="src/migrate"><a href="src/migrate/index.html">src/migrate</a></td>
548
+ <td data-value="0" class="pic low">
549
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
550
+ </td>
551
+ <td data-value="0" class="pct low">0%</td>
552
+ <td data-value="161" class="abs low">0/161</td>
553
+ <td data-value="0" class="pct low">0%</td>
554
+ <td data-value="97" class="abs low">0/97</td>
555
+ <td data-value="0" class="pct low">0%</td>
556
+ <td data-value="19" class="abs low">0/19</td>
557
+ <td data-value="0" class="pct low">0%</td>
558
+ <td data-value="137" class="abs low">0/137</td>
559
+ </tr>
560
+
561
+ <tr>
562
+ <td class="file medium" data-value="src/parsers"><a href="src/parsers/index.html">src/parsers</a></td>
563
+ <td data-value="71.38" class="pic medium">
564
+ <div class="chart"><div class="cover-fill" style="width: 71%"></div><div class="cover-empty" style="width: 29%"></div></div>
565
+ </td>
566
+ <td data-value="71.38" class="pct medium">71.38%</td>
567
+ <td data-value="367" class="abs medium">262/367</td>
568
+ <td data-value="62.6" class="pct medium">62.6%</td>
569
+ <td data-value="230" class="abs medium">144/230</td>
570
+ <td data-value="56.89" class="pct medium">56.89%</td>
571
+ <td data-value="58" class="abs medium">33/58</td>
572
+ <td data-value="72.83" class="pct medium">72.83%</td>
573
+ <td data-value="346" class="abs medium">252/346</td>
574
+ </tr>
575
+
576
+ <tr>
577
+ <td class="file medium" data-value="src/pipeline"><a href="src/pipeline/index.html">src/pipeline</a></td>
578
+ <td data-value="61.23" class="pic medium">
579
+ <div class="chart"><div class="cover-fill" style="width: 61%"></div><div class="cover-empty" style="width: 39%"></div></div>
580
+ </td>
581
+ <td data-value="61.23" class="pct medium">61.23%</td>
582
+ <td data-value="227" class="abs medium">139/227</td>
583
+ <td data-value="38.38" class="pct low">38.38%</td>
584
+ <td data-value="99" class="abs low">38/99</td>
585
+ <td data-value="62.5" class="pct medium">62.5%</td>
586
+ <td data-value="40" class="abs medium">25/40</td>
587
+ <td data-value="62.43" class="pct medium">62.43%</td>
588
+ <td data-value="197" class="abs medium">123/197</td>
589
+ </tr>
590
+
591
+ <tr>
592
+ <td class="file medium" data-value="src/pipeline/phases"><a href="src/pipeline/phases/index.html">src/pipeline/phases</a></td>
593
+ <td data-value="61.11" class="pic medium">
594
+ <div class="chart"><div class="cover-fill" style="width: 61%"></div><div class="cover-empty" style="width: 39%"></div></div>
595
+ </td>
596
+ <td data-value="61.11" class="pct medium">61.11%</td>
597
+ <td data-value="2438" class="abs medium">1490/2438</td>
598
+ <td data-value="49.38" class="pct low">49.38%</td>
599
+ <td data-value="1217" class="abs low">601/1217</td>
600
+ <td data-value="66.66" class="pct medium">66.66%</td>
601
+ <td data-value="216" class="abs medium">144/216</td>
602
+ <td data-value="64.94" class="pct medium">64.94%</td>
603
+ <td data-value="2134" class="abs medium">1386/2134</td>
604
+ </tr>
605
+
606
+ <tr>
607
+ <td class="file high" data-value="src/pipeline/phases/bridge-adapters"><a href="src/pipeline/phases/bridge-adapters/index.html">src/pipeline/phases/bridge-adapters</a></td>
608
+ <td data-value="88.05" class="pic high">
609
+ <div class="chart"><div class="cover-fill" style="width: 88%"></div><div class="cover-empty" style="width: 12%"></div></div>
610
+ </td>
611
+ <td data-value="88.05" class="pct high">88.05%</td>
612
+ <td data-value="134" class="abs high">118/134</td>
613
+ <td data-value="71.66" class="pct medium">71.66%</td>
614
+ <td data-value="60" class="abs medium">43/60</td>
615
+ <td data-value="100" class="pct high">100%</td>
616
+ <td data-value="16" class="abs high">16/16</td>
617
+ <td data-value="98.98" class="pct high">98.98%</td>
618
+ <td data-value="99" class="abs high">98/99</td>
619
+ </tr>
620
+
621
+ <tr>
622
+ <td class="file medium" data-value="src/query"><a href="src/query/index.html">src/query</a></td>
623
+ <td data-value="71.82" class="pic medium">
624
+ <div class="chart"><div class="cover-fill" style="width: 71%"></div><div class="cover-empty" style="width: 29%"></div></div>
625
+ </td>
626
+ <td data-value="71.82" class="pct medium">71.82%</td>
627
+ <td data-value="181" class="abs medium">130/181</td>
628
+ <td data-value="49.48" class="pct low">49.48%</td>
629
+ <td data-value="97" class="abs low">48/97</td>
630
+ <td data-value="92.3" class="pct high">92.3%</td>
631
+ <td data-value="13" class="abs high">12/13</td>
632
+ <td data-value="76.64" class="pct medium">76.64%</td>
633
+ <td data-value="167" class="abs medium">128/167</td>
634
+ </tr>
635
+
636
+ <tr>
637
+ <td class="file high" data-value="src/registry"><a href="src/registry/index.html">src/registry</a></td>
638
+ <td data-value="94.87" class="pic high">
639
+ <div class="chart"><div class="cover-fill" style="width: 94%"></div><div class="cover-empty" style="width: 6%"></div></div>
640
+ </td>
641
+ <td data-value="94.87" class="pct high">94.87%</td>
642
+ <td data-value="39" class="abs high">37/39</td>
643
+ <td data-value="81.81" class="pct high">81.81%</td>
644
+ <td data-value="22" class="abs high">18/22</td>
645
+ <td data-value="100" class="pct high">100%</td>
646
+ <td data-value="9" class="abs high">9/9</td>
647
+ <td data-value="94.11" class="pct high">94.11%</td>
648
+ <td data-value="34" class="abs high">32/34</td>
649
+ </tr>
650
+
651
+ <tr>
652
+ <td class="file low" data-value="src/regression"><a href="src/regression/index.html">src/regression</a></td>
653
+ <td data-value="0" class="pic low">
654
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
655
+ </td>
656
+ <td data-value="0" class="pct low">0%</td>
657
+ <td data-value="168" class="abs low">0/168</td>
658
+ <td data-value="0" class="pct low">0%</td>
659
+ <td data-value="50" class="abs low">0/50</td>
660
+ <td data-value="0" class="pct low">0%</td>
661
+ <td data-value="59" class="abs low">0/59</td>
662
+ <td data-value="0" class="pct low">0%</td>
663
+ <td data-value="137" class="abs low">0/137</td>
664
+ </tr>
665
+
666
+ <tr>
667
+ <td class="file low" data-value="src/report"><a href="src/report/index.html">src/report</a></td>
668
+ <td data-value="0" class="pic low">
669
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
670
+ </td>
671
+ <td data-value="0" class="pct low">0%</td>
672
+ <td data-value="773" class="abs low">0/773</td>
673
+ <td data-value="0" class="pct low">0%</td>
674
+ <td data-value="432" class="abs low">0/432</td>
675
+ <td data-value="0" class="pct low">0%</td>
676
+ <td data-value="154" class="abs low">0/154</td>
677
+ <td data-value="0" class="pct low">0%</td>
678
+ <td data-value="678" class="abs low">0/678</td>
679
+ </tr>
680
+
681
+ <tr>
682
+ <td class="file high" data-value="src/reporting"><a href="src/reporting/index.html">src/reporting</a></td>
683
+ <td data-value="96.44" class="pic high">
684
+ <div class="chart"><div class="cover-fill" style="width: 96%"></div><div class="cover-empty" style="width: 4%"></div></div>
685
+ </td>
686
+ <td data-value="96.44" class="pct high">96.44%</td>
687
+ <td data-value="169" class="abs high">163/169</td>
688
+ <td data-value="85.48" class="pct high">85.48%</td>
689
+ <td data-value="62" class="abs high">53/62</td>
690
+ <td data-value="100" class="pct high">100%</td>
691
+ <td data-value="18" class="abs high">18/18</td>
692
+ <td data-value="96.91" class="pct high">96.91%</td>
693
+ <td data-value="162" class="abs high">157/162</td>
694
+ </tr>
695
+
696
+ <tr>
697
+ <td class="file low" data-value="src/results"><a href="src/results/index.html">src/results</a></td>
698
+ <td data-value="0" class="pic low">
699
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
700
+ </td>
701
+ <td data-value="0" class="pct low">0%</td>
702
+ <td data-value="73" class="abs low">0/73</td>
703
+ <td data-value="0" class="pct low">0%</td>
704
+ <td data-value="56" class="abs low">0/56</td>
705
+ <td data-value="0" class="pct low">0%</td>
706
+ <td data-value="31" class="abs low">0/31</td>
707
+ <td data-value="0" class="pct low">0%</td>
708
+ <td data-value="54" class="abs low">0/54</td>
709
+ </tr>
710
+
711
+ <tr>
712
+ <td class="file medium" data-value="src/scope-resolution"><a href="src/scope-resolution/index.html">src/scope-resolution</a></td>
713
+ <td data-value="70" class="pic medium">
714
+ <div class="chart"><div class="cover-fill" style="width: 70%"></div><div class="cover-empty" style="width: 30%"></div></div>
715
+ </td>
716
+ <td data-value="70" class="pct medium">70%</td>
717
+ <td data-value="10" class="abs medium">7/10</td>
718
+ <td data-value="100" class="pct high">100%</td>
719
+ <td data-value="4" class="abs high">4/4</td>
720
+ <td data-value="33.33" class="pct low">33.33%</td>
721
+ <td data-value="3" class="abs low">1/3</td>
722
+ <td data-value="71.42" class="pct medium">71.42%</td>
723
+ <td data-value="7" class="abs medium">5/7</td>
724
+ </tr>
725
+
726
+ <tr>
727
+ <td class="file high" data-value="src/search"><a href="src/search/index.html">src/search</a></td>
728
+ <td data-value="89.2" class="pic high">
729
+ <div class="chart"><div class="cover-fill" style="width: 89%"></div><div class="cover-empty" style="width: 11%"></div></div>
730
+ </td>
731
+ <td data-value="89.2" class="pct high">89.2%</td>
732
+ <td data-value="139" class="abs high">124/139</td>
733
+ <td data-value="83.58" class="pct high">83.58%</td>
734
+ <td data-value="67" class="abs high">56/67</td>
735
+ <td data-value="93.75" class="pct high">93.75%</td>
736
+ <td data-value="16" class="abs high">15/16</td>
737
+ <td data-value="90.47" class="pct high">90.47%</td>
738
+ <td data-value="126" class="abs high">114/126</td>
739
+ </tr>
740
+
741
+ <tr>
742
+ <td class="file high" data-value="src/security"><a href="src/security/index.html">src/security</a></td>
743
+ <td data-value="94.23" class="pic high">
744
+ <div class="chart"><div class="cover-fill" style="width: 94%"></div><div class="cover-empty" style="width: 6%"></div></div>
745
+ </td>
746
+ <td data-value="94.23" class="pct high">94.23%</td>
747
+ <td data-value="52" class="abs high">49/52</td>
748
+ <td data-value="91.3" class="pct high">91.3%</td>
749
+ <td data-value="23" class="abs high">21/23</td>
750
+ <td data-value="85.71" class="pct high">85.71%</td>
751
+ <td data-value="7" class="abs high">6/7</td>
752
+ <td data-value="95.55" class="pct high">95.55%</td>
753
+ <td data-value="45" class="abs high">43/45</td>
754
+ </tr>
755
+
756
+ <tr>
757
+ <td class="file high" data-value="src/skills"><a href="src/skills/index.html">src/skills</a></td>
758
+ <td data-value="81.53" class="pic high">
759
+ <div class="chart"><div class="cover-fill" style="width: 81%"></div><div class="cover-empty" style="width: 19%"></div></div>
760
+ </td>
761
+ <td data-value="81.53" class="pct high">81.53%</td>
762
+ <td data-value="65" class="abs high">53/65</td>
763
+ <td data-value="62.5" class="pct medium">62.5%</td>
764
+ <td data-value="16" class="abs medium">10/16</td>
765
+ <td data-value="83.33" class="pct high">83.33%</td>
766
+ <td data-value="6" class="abs high">5/6</td>
767
+ <td data-value="81.53" class="pct high">81.53%</td>
768
+ <td data-value="65" class="abs high">53/65</td>
769
+ </tr>
770
+
771
+ <tr>
772
+ <td class="file high" data-value="src/staleness"><a href="src/staleness/index.html">src/staleness</a></td>
773
+ <td data-value="92" class="pic high">
774
+ <div class="chart"><div class="cover-fill" style="width: 92%"></div><div class="cover-empty" style="width: 8%"></div></div>
775
+ </td>
776
+ <td data-value="92" class="pct high">92%</td>
777
+ <td data-value="25" class="abs high">23/25</td>
778
+ <td data-value="85.71" class="pct high">85.71%</td>
779
+ <td data-value="14" class="abs high">12/14</td>
780
+ <td data-value="100" class="pct high">100%</td>
781
+ <td data-value="1" class="abs high">1/1</td>
782
+ <td data-value="92" class="pct high">92%</td>
783
+ <td data-value="25" class="abs high">23/25</td>
784
+ </tr>
785
+
786
+ <tr>
787
+ <td class="file low" data-value="src/storage"><a href="src/storage/index.html">src/storage</a></td>
788
+ <td data-value="41.94" class="pic low">
789
+ <div class="chart"><div class="cover-fill" style="width: 41%"></div><div class="cover-empty" style="width: 59%"></div></div>
790
+ </td>
791
+ <td data-value="41.94" class="pct low">41.94%</td>
792
+ <td data-value="391" class="abs low">164/391</td>
793
+ <td data-value="40.99" class="pct low">40.99%</td>
794
+ <td data-value="222" class="abs low">91/222</td>
795
+ <td data-value="40" class="pct low">40%</td>
796
+ <td data-value="60" class="abs low">24/60</td>
797
+ <td data-value="43.87" class="pct low">43.87%</td>
798
+ <td data-value="351" class="abs low">154/351</td>
799
+ </tr>
800
+
801
+ <tr>
802
+ <td class="file high" data-value="src/validation"><a href="src/validation/index.html">src/validation</a></td>
803
+ <td data-value="80.76" class="pic high">
804
+ <div class="chart"><div class="cover-fill" style="width: 80%"></div><div class="cover-empty" style="width: 20%"></div></div>
805
+ </td>
806
+ <td data-value="80.76" class="pct high">80.76%</td>
807
+ <td data-value="26" class="abs high">21/26</td>
808
+ <td data-value="72.22" class="pct medium">72.22%</td>
809
+ <td data-value="18" class="abs medium">13/18</td>
810
+ <td data-value="100" class="pct high">100%</td>
811
+ <td data-value="2" class="abs high">2/2</td>
812
+ <td data-value="86.36" class="pct high">86.36%</td>
813
+ <td data-value="22" class="abs high">19/22</td>
814
+ </tr>
815
+
816
+ <tr>
817
+ <td class="file low" data-value="src/watch"><a href="src/watch/index.html">src/watch</a></td>
818
+ <td data-value="40" class="pic low">
819
+ <div class="chart"><div class="cover-fill" style="width: 40%"></div><div class="cover-empty" style="width: 60%"></div></div>
820
+ </td>
821
+ <td data-value="40" class="pct low">40%</td>
822
+ <td data-value="70" class="abs low">28/70</td>
823
+ <td data-value="23.33" class="pct low">23.33%</td>
824
+ <td data-value="30" class="abs low">7/30</td>
825
+ <td data-value="43.75" class="pct low">43.75%</td>
826
+ <td data-value="16" class="abs low">7/16</td>
827
+ <td data-value="42.85" class="pct low">42.85%</td>
828
+ <td data-value="56" class="abs low">24/56</td>
829
+ </tr>
830
+
831
+ <tr>
832
+ <td class="file medium" data-value="src/web"><a href="src/web/index.html">src/web</a></td>
833
+ <td data-value="59.56" class="pic medium">
834
+ <div class="chart"><div class="cover-fill" style="width: 59%"></div><div class="cover-empty" style="width: 41%"></div></div>
835
+ </td>
836
+ <td data-value="59.56" class="pct medium">59.56%</td>
837
+ <td data-value="507" class="abs medium">302/507</td>
838
+ <td data-value="51.38" class="pct medium">51.38%</td>
839
+ <td data-value="253" class="abs medium">130/253</td>
840
+ <td data-value="64.76" class="pct medium">64.76%</td>
841
+ <td data-value="105" class="abs medium">68/105</td>
842
+ <td data-value="62.38" class="pct medium">62.38%</td>
843
+ <td data-value="452" class="abs medium">282/452</td>
844
+ </tr>
845
+
846
+ <tr>
847
+ <td class="file high" data-value="src/wiki"><a href="src/wiki/index.html">src/wiki</a></td>
848
+ <td data-value="87.93" class="pic high">
849
+ <div class="chart"><div class="cover-fill" style="width: 87%"></div><div class="cover-empty" style="width: 13%"></div></div>
850
+ </td>
851
+ <td data-value="87.93" class="pct high">87.93%</td>
852
+ <td data-value="116" class="abs high">102/116</td>
853
+ <td data-value="79.41" class="pct medium">79.41%</td>
854
+ <td data-value="68" class="abs medium">54/68</td>
855
+ <td data-value="89.47" class="pct high">89.47%</td>
856
+ <td data-value="19" class="abs high">17/19</td>
857
+ <td data-value="89.28" class="pct high">89.28%</td>
858
+ <td data-value="112" class="abs high">100/112</td>
859
+ </tr>
860
+
861
+ </tbody>
862
+ </table>
863
+ </div>
864
+ <div class='push'></div><!-- for sticky footer -->
865
+ </div><!-- /wrapper -->
866
+ <div class='footer quiet pad2 space-top1 center small'>
867
+ Code coverage generated by
868
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
869
+ at 2026-07-25T08:38:16.548Z
870
+ </div>
871
+ <script src="prettify.js"></script>
872
+ <script>
873
+ window.onload = function () {
874
+ prettyPrint();
875
+ };
876
+ </script>
877
+ <script src="sorter.js"></script>
878
+ <script src="block-navigation.js"></script>
879
+ </body>
880
+ </html>
881
+