AI Slop Code RIsk Monitor

alicevision/Meshroom

Node-based Visual Programming Toolbox

28.9 Elevated pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for alicevision/Meshroom, a Python project with 13,002 GitHub stars. SynthScan examined 40,564 lines of code across 195 source files, recording 507 pattern matches distributed across 19 syntactic categories. The legacy adjusted pattern signal is 28.9 (Elevated pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

28.9
Adjusted Signal
28.9
Raw Pattern Score
100%
Time Factor
2026-10-09
Last Push
13.0K
Stars
Python
Language
40.6K
Lines of Code
195
Files
507
Pattern Hits
2026-10-12
Scan Date
0.43
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 29.1/100 · MEDIUM

Can maintainers explain intent, assumptions, and trade-offs? 206 finding(s).

Hallucinated Dependency & Supply Chain Risk 44.1/100 · MEDIUM

Are imports declared and package/API names verified? 127 finding(s).

Agent Over-Engineering Ratio 47.9/100 · MEDIUM

Are wrappers, guards, and repeated structures necessary? 269 finding(s).

PR Review Velocity Impact 75.3/100 · CRITICAL

Which changes need focused human review? 507 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 12HIGH 72MEDIUM 79LOW 344

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 507 distinct pattern matches across 19 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Cross-Language Confusion41 hits · 230 pts
SeverityFileLineSnippetContext
HIGH⚡meshroom/ui/graph.py1327 self.push(commands.AddEdgeCommand(self._graph, src, dst))CODE
HIGH⚡meshroom/ui/graph.py1333 self.push(commands.RemoveEdgeCommand(self._graph, edge))CODE
HIGH⚡meshroom/ui/graph.py1336 self.push(commands.RemoveEdgeCommand(self._graph, edge))CODE
HIGH⚡meshroom/ui/graph.py1382 self.push(commands.SetAttributeCommand(self._graph, attribute, attribute.getDefaultValue()))CODE
HIGH⚡meshroom/ui/graph.py1387 self.push(commands.AddAttributeKeyValueCommand(self._graph, attribute, key, value))CODE
HIGH⚡meshroom/ui/graph.py1392 self.push(commands.AddAttributeKeyValueCommand(self._graph, attribute, key, attribute.getDefaultValue()))CODE
HIGH⚡meshroom/ui/graph.py1397 self.push(commands.RemoveAttributeKeyCommand(self._graph, attribute, key))CODE
HIGH⚡meshroom/ui/graph.py1405 self.push(commands.SetObservationCommand(self._graph, shape, key, observation))CODE
HIGH⚡meshroom/ui/graph.py1410 self.push(commands.SetObservationCommand(self._graph, shape, key, observation))CODE
HIGH⚡meshroom/ui/graph.py1415 self.push(commands.RemoveObservationCommand(self._graph, shape, key))CODE
HIGH⚡meshroom/ui/graph.py1420 return self.push(commands.UpgradeNodeCommand(self._graph, node))CODE
HIGH⚡meshroom/ui/graph.py1445 self.push(commands.ListAttributeAppendCommand(self._graph, attribute, pyValue))CODE
HIGH⚡meshroom/ui/graph.py1449 self.push(commands.ListAttributeRemoveCommand(self._graph, attribute))CODE
HIGH⚡meshroom/ui/graph.py1455 self.push(commands.RemoveAnySetAttributeCommand(self._graph, attribute))CODE
HIGH⚡meshroom/ui/graph.py1461 self.push(commands.RenameAnySetAttributeCommand(self._graph, attribute, name, label))CODE
HIGH⚡meshroom/ui/graph.py1467 self.push(commands.MoveAnySetAttributeCommand(self._graph, attribute, offset))CODE
HIGH⚡meshroom/ui/graph.py1500 self.push(commands.RemoveSelectedImagesCommand(self._graph, self.cameraInit, images))CODE
HIGH⚡meshroom/ui/graph.py1506 self.push(commands.RemoveImagesCommand(self._graph, [self.cameraInit]))CODE
HIGH⚡meshroom/ui/graph.py1512 self.push(commands.RemoveImagesCommand(self._graph, list(self.cameraInits)))CODE
HIGHmeshroom/ui/graph.py571 localFile = filepath.toString()CODE
HIGHmeshroom/ui/graph.py577 return self.push(commands.ImportProjectCommand(self._graph, localFile, position=position, yOffset=yOffset))CODE
HIGHmeshroom/ui/graph.py1005 return self.push(commands.AddNodeCommand(self._graph, nodeType, position=position, **kwargs))CODE
HIGHmeshroom/ui/graph.py1031 return self.push(commands.RenameNodeCommand(self._graph, node, uniqueName))CODE
HIGHmeshroom/ui/graph.py1041 self.push(commands.MoveNodeCommand(self._graph, node, position))CODE
HIGHmeshroom/ui/graph.py1167 self.push(commands.RemoveNodeCommand(self._graph, node))CODE
HIGHmeshroom/ui/graph.py1205 duplicates = self.push(commands.DuplicateNodesCommand(self._graph, nodes))CODE
HIGHmeshroom/ui/graph.py1311 self.push(commands.ConnectAnySetCommand(self._graph, src=dst, anySetAttribute=src))CODE
HIGHmeshroom/ui/graph.py1313 self.push(commands.ConnectAnySetCommand(self._graph, src=src, anySetAttribute=dst))CODE
HIGHmeshroom/ui/graph.py1370 self.push(commands.SetAttributeCommand(self._graph, attribute, value))CODE
HIGHmeshroom/ui/graph.py1649 result = self.push(commands.PasteNodesCommand(self._graph, graphData, pos))CODE
HIGHmeshroom/ui/scene.py522 return url.toLocalFile() or url.toString()CODE
HIGHmeshroom/ui/scene.py904 p = imagePath.toString()CODE
HIGHmeshroom/ui/app.py637 filepathNorm = filepath.toString()STRING
HIGHmeshroom/ui/app.py662 folderPath = imagesFolder.toString()STRING
HIGHmeshroom/ui/app.py697 folderPath = imagesFolder.toString()STRING
HIGH⚡meshroom/ui/commands.py72 self.push(command) # takes ownershipCODE
HIGHmeshroom/ui/components/scene3D.py122 z = r2 * 0.5 / p2d.length()CODE
HIGH⚡meshroom/ui/components/scene3D.py159 A = A/A.length()CODE
HIGH⚡meshroom/ui/components/scene3D.py160 B = B/B.length()CODE
HIGH⚡meshroom/ui/components/scene3D.py164 s = v.length()CODE
HIGHmeshroom/ui/components/scene3D.py452 value = screenVector.length()CODE
Decorative Section Separators53 hits · 180 pts
SeverityFileLineSnippetContext
MEDIUMCMakeLists.txt29# ==============================================================================COMMENT
MEDIUMCMakeLists.txt33# ==============================================================================COMMENT
MEDIUMsetupInitScriptUnix.py1# ------------------------------------------------------------------------------COMMENT
MEDIUMsetupInitScriptUnix.py9# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_anySet_attribute.py23# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_anySet_attribute.py25# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_anySet_attribute.py39# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_anySet_attribute.py41# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_anySet_attribute.py65# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_anySet_attribute.py67# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_anySet_attribute.py192# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_anySet_attribute.py194# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_attributeDescDefaults.py123# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_attributeDescDefaults.py125# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_attributeDescDefaults.py18# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_attributeDescDefaults.py21# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_attributeDescDefaults.py38# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_attributeDescDefaults.py41# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_attributeDescDefaults.py56# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_attributeDescDefaults.py58# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/nodes/test/AllAttributesNodes.py18 # -----------------------------------------------------------------------COMMENT
MEDIUMtests/nodes/test/AllAttributesNodes.py20 # -----------------------------------------------------------------------COMMENT
MEDIUMtests/nodes/test/AllAttributesNodes.py75 # -----------------------------------------------------------------------COMMENT
MEDIUMtests/nodes/test/AllAttributesNodes.py77 # -----------------------------------------------------------------------COMMENT
MEDIUM⚡tests/nodes/test/AllAttributesNodes.py95 # -----------------------------------------------------------------------COMMENT
MEDIUM⚡tests/nodes/test/AllAttributesNodes.py97 # -----------------------------------------------------------------------COMMENT
MEDIUM⚡tests/nodes/test/AllAttributesNodes.py107 # -----------------------------------------------------------------------COMMENT
MEDIUM⚡tests/nodes/test/AllAttributesNodes.py109 # -----------------------------------------------------------------------COMMENT
MEDIUMtests/nodes/test/AllAttributesNodes.py175 # -----------------------------------------------------------------------COMMENT
MEDIUMtests/nodes/test/AllAttributesNodes.py177 # -----------------------------------------------------------------------COMMENT
MEDIUMtests/nodes/test/AllAttributesNodes.py193 # -----------------------------------------------------------------------COMMENT
MEDIUMtests/nodes/test/AllAttributesNodes.py195 # -----------------------------------------------------------------------COMMENT
MEDIUMtests/nodes/test/AllAttributesNodes.py223 # -----------------------------------------------------------------------COMMENT
MEDIUMtests/nodes/test/AllAttributesNodes.py225 # -----------------------------------------------------------------------COMMENT
MEDIUMtests/nodes/test/AllAttributesNodes.py238 # -----------------------------------------------------------------------COMMENT
MEDIUMtests/nodes/test/AllAttributesNodes.py240 # -----------------------------------------------------------------------COMMENT
MEDIUMtests/nodes/test/AllAttributesNodes.py254 # -----------------------------------------------------------------------COMMENT
MEDIUMtests/nodes/test/AllAttributesNodes.py256 # -----------------------------------------------------------------------COMMENT
MEDIUM.github/workflows/nightly.yml14 # ────────────────────────────────────────────────────────────COMMENT
MEDIUM.github/workflows/nightly.yml17 # ────────────────────────────────────────────────────────────COMMENT
MEDIUM.github/workflows/nightly.yml85 # ────────────────────────────────────────────────────────────COMMENT
MEDIUM.github/workflows/nightly.yml91 # ────────────────────────────────────────────────────────────COMMENT
MEDIUM.github/workflows/nightly.yml112 # ── Create the release if it doesn't exist yet ──────────COMMENT
MEDIUM.github/workflows/nightly.yml124 # ── Replace assets ───────────────────────────────────────COMMENT
MEDIUM.github/workflows/nightly.yml147 # ── Update release body ──────────────────────────────────COMMENT
MEDIUM.github/workflows/nightly.yml169 # ── Move the nightly tag to current HEAD ──────COMMENT
MEDIUM.github/workflows/run-tests.yml38 # ── Primary Python environment ───────────────────────────COMMENT
MEDIUM.github/workflows/run-tests.yml51 # ── Lint ─────────────────────────────────────────────────COMMENT
MEDIUM.github/workflows/run-tests.yml59 # ── Tests ────────────────────────────────────────────────COMMENT
MEDIUM.github/workflows/run-tests.yml81 # ── meshroom_compute smoke test (Python 3.9) ─────────────COMMENT
MEDIUM.github/workflows/run-tests.yml101 # ── meshroom_compute smoke test (Python 3.7) ─────────────COMMENT
MEDIUMlocalfarm/localFarmBackend.py414 # ======================COMMENT
MEDIUMlocalfarm/localFarmBackend.py416 # ======================COMMENT
Hallucination Indicators12 hits · 180 pts
SeverityFileLineSnippetContext
CRITICAL⚡tests/test_groupAttributes.py193 nestedPosition.xyz.test.x.inputLink.asLinkExpr() == nestedColor.rgb.test.r.asLinkExpr()CODE
CRITICAL⚡tests/test_groupAttributes.py195 nestedPosition.xyz.test.y.inputLink.asLinkExpr() == nestedColor.rgb.test.g.asLinkExpr()CODE
CRITICAL⚡tests/test_groupAttributes.py197 nestedPosition.xyz.test.z.inputLink.asLinkExpr() == nestedColor.rgb.test.b.asLinkExpr()CODE
CRITICAL⚡tests/test_groupAttributes.py219 nestedPosition.xyz.test.x.inputLink.asLinkExpr() == nestedColor.rgb.test.r.asLinkExpr()CODE
CRITICAL⚡tests/test_groupAttributes.py221 nestedPosition.xyz.test.y.inputLink.asLinkExpr() == nestedColor.rgb.test.g.asLinkExpr()CODE
CRITICAL⚡tests/test_groupAttributes.py223 nestedPosition.xyz.test.z.inputLink.asLinkExpr() == nestedColor.rgb.test.b.asLinkExpr()CODE
CRITICAL⚡tests/test_groupAttributes.py249 nestedPosition.xyz.test.x.inputLink.asLinkExpr() == nestedColor.rgb.test.r.asLinkExpr()CODE
CRITICAL⚡tests/test_groupAttributes.py251 nestedPosition.xyz.test.y.inputLink.asLinkExpr() == nestedColor.rgb.test.g.asLinkExpr()CODE
CRITICAL⚡tests/test_groupAttributes.py253 nestedPosition.xyz.test.z.inputLink.asLinkExpr() == nestedColor.rgb.test.b.asLinkExpr()CODE
CRITICAL⚡tests/test_groupAttributes.py270 nestedPosition.xyz.test.x.inputLink.asLinkExpr() == nestedColor.rgb.test.r.asLinkExpr()CODE
CRITICAL⚡tests/test_groupAttributes.py272 nestedPosition.xyz.test.y.inputLink.asLinkExpr() == nestedColor.rgb.test.g.asLinkExpr()CODE
CRITICAL⚡tests/test_groupAttributes.py274 nestedPosition.xyz.test.z.inputLink.asLinkExpr() == r.asLinkExpr() == nestedColor.rgb.r.asLinkExpr()CODE
Empty Error Handlers25 hits · 125 pts
SeverityFileLineSnippetContext
HIGHtests/test_anySet_attribute.py166except ValueError:CODE
HIGHtests/test_compute.py634except Exception:CODE
HIGHdocs/source/_ext/fetch_md.py52except FileNotFoundError:CODE
HIGHmeshroom/multiview.py163except (StopIteration, OSError):CODE
HIGHmeshroom/ui/components/logLinesModel.py266except ValueError:CODE
HIGHmeshroom/ui/components/shapes/shapeFilesHelper.py77except RuntimeError:CODE
HIGHmeshroom/ui/components/shapes/shapeFilesHelper.py61except RuntimeError:CODE
HIGHmeshroom/core/cgroup.py28except OSError:CODE
HIGHmeshroom/core/cgroup.py41except OSError:CODE
HIGHmeshroom/core/cgroup.py85except OSError:CODE
HIGHmeshroom/core/cgroup.py99except OSError:CODE
HIGHmeshroom/core/graph.py1164except StopGraphVisit:CODE
HIGHmeshroom/core/graph.py1170except StopBranchVisit:CODE
HIGHmeshroom/core/graph.py1896except Exception:CODE
HIGHmeshroom/core/__init__.py14except Exception:CODE
HIGHmeshroom/core/taskManager.py84except ValueError:CODE
HIGHmeshroom/core/stats.py340except (KeyboardInterrupt, SystemError, GeneratorExit, psutil.NoSuchProcess):CODE
HIGHmeshroom/core/node.py43except OSError:CODE
HIGHmeshroom/core/node.py2471except ValueError:CODE
HIGHmeshroom/core/node.py2492except ValueError:CODE
HIGHmeshroom/core/desc/node.py293except ValueError:CODE
HIGHmeshroom/core/desc/node.py517except psutil.NoSuchProcess:CODE
HIGHmeshroom/core/desc/node.py493except Exception:CODE
HIGHmeshroom/common/PySignal.py128except ValueError:CODE
HIGHmeshroom/common/PySignal.py134except ValueError:CODE
Excessive Try-Catch Wrapping91 hits · 100 pts
SeverityFileLineSnippetContext
LOWtests/test_submit.py122 except Exception as e:CODE
LOWtests/test_compute.py634 except Exception:CODE
LOWmeshroom/ui/graph.py690 except Exception as e:CODE
LOWmeshroom/ui/graph.py716 except Exception as e:CODE
LOWmeshroom/ui/graph.py739 except Exception as e:CODE
LOWmeshroom/ui/graph.py766 except Exception as e:CODE
LOWmeshroom/ui/graph.py788 except Exception as e:CODE
LOWmeshroom/ui/graph.py806 except Exception as e:CODE
LOWmeshroom/ui/graph.py824 except Exception as e:CODE
LOWmeshroom/ui/graph.py869 except Exception as e:CODE
LOWmeshroom/ui/scene.py111 except Exception as exc:CODE
LOWmeshroom/ui/scene.py147 except Exception:CODE
LOWmeshroom/ui/scene.py548 except Exception:CODE
LOWmeshroom/ui/scene.py914 except Exception as exc:CODE
LOWmeshroom/ui/scene.py960 except Exception as exc:CODE
LOWmeshroom/ui/scene.py1261 except Exception as err:CODE
LOWmeshroom/ui/utils.py8except Exception:CODE
LOWmeshroom/ui/app.py445 except Exception as err:STRING
LOWmeshroom/ui/commands.py29 except Exception:CODE
LOWmeshroom/ui/commands.py37 except Exception:CODE
LOW⚡meshroom/ui/commands.py67 except Exception:CODE
LOWmeshroom/ui/commands.py867 except Exception:CODE
LOWmeshroom/ui/commands.py908 except Exception:CODE
LOWmeshroom/ui/components/scriptEditor.py67 except Exception:CODE
LOWmeshroom/ui/components/thumbnail.py262 except Exception as exc:CODE
LOWmeshroom/ui/components/csvData.py78 except Exception as exc:CODE
MEDIUM⚡meshroom/ui/components/shapes/shapeFile.py197 print(f"Error decoding JSON: {err}")CODE
LOW⚡meshroom/ui/components/shapes/shapeFile.py198 except Exception as exc:CODE
MEDIUM⚡meshroom/ui/components/shapes/shapeFile.py199 print(f"Error loading shapes: {exc}")CODE
LOWmeshroom/core/attribute.py361 except Exception as err:CODE
LOWmeshroom/core/attribute.py385 except Exception as exc:CODE
LOWmeshroom/core/attribute.py582 except Exception as exc:CODE
LOWmeshroom/core/evaluation.py50 except Exception:CODE
LOWmeshroom/core/graph.py60 except Exception:CODE
LOWmeshroom/core/graph.py936 except Exception:CODE
LOWmeshroom/core/graph.py1707 except Exception as e:CODE
LOWmeshroom/core/graph.py1896 except Exception:CODE
LOWmeshroom/core/graph.py1999 except Exception as exc:CODE
LOWmeshroom/core/graph.py2048 except Exception as exc:CODE
MEDIUMmeshroom/core/graph.py1167def dfsVisit(self, u, visitor, colors, nodeChildren, longestPathFirst):CODE
LOWmeshroom/core/__init__.py14except Exception:CODE
LOWmeshroom/core/taskManager.py111 except Exception as exc:CODE
LOWmeshroom/core/taskManager.py158 except Exception as exc:CODE
LOWmeshroom/core/taskManager.py174 except Exception as exc:CODE
LOWmeshroom/core/taskManager.py222 except Exception as e:CODE
LOWmeshroom/core/taskManager.py600 except Exception as exc:CODE
LOWmeshroom/core/stats.py86 except Exception as exc:CODE
LOW⚡meshroom/core/stats.py101 except Exception as exc:CODE
LOW⚡meshroom/core/stats.py107 except Exception as exc:CODE
LOW⚡meshroom/core/stats.py112 except Exception as exc:CODE
LOW⚡meshroom/core/stats.py118 except Exception as exc:CODE
LOW⚡meshroom/core/stats.py124 except Exception as exc:CODE
LOW⚡meshroom/core/stats.py132 except Exception as exc:CODE
LOW⚡meshroom/core/stats.py302 except Exception as exc:CODE
LOW⚡meshroom/core/stats.py306 except Exception as exc:CODE
LOW⚡meshroom/core/stats.py310 except Exception as exc:CODE
MEDIUMmeshroom/core/stats.py76def update(self):CODE
MEDIUMmeshroom/core/node.py913def __getattr__(self, k):CODE
LOWmeshroom/core/node.py221 except Exception as e:CODE
LOWmeshroom/core/node.py592 except Exception as exc:CODE
31 more matches not shown…
Hyper-Verbose Identifiers75 hits · 87 pts
SeverityFileLineSnippetContext
LOWtests/test_template_files.py28def test_template_file_detection_from_extension_and_legacy_metadata(tmp_path):CODE
LOWtests/test_template_files.py42def test_template_initialization_does_not_bind_filepath(tmp_path):CODE
LOWtests/test_template_files.py53def test_template_extension_is_appended_for_template_saves():CODE
LOWtests/test_template_files.py65def test_pipeline_template_discovery_supports_mgt_and_legacy_mg_metadata(tmp_path):CODE
LOWtests/test_template_files.py88def test_plugin_template_discovery_supports_mgt_and_legacy_mg_metadata(tmp_path):CODE
LOW⚡tests/test_compatibility.py237def test_description_conflict():CODE
LOW⚡tests/test_anySet_attribute.py27def test_dynamic_attribute_desc_type():CODE
LOW⚡tests/test_anySet_attribute.py33def test_dynamic_attribute_desc_instance_type():CODE
LOW⚡tests/test_anySet_attribute.py43def test_dynamic_attribute_present_on_node():CODE
LOW⚡tests/test_anySet_attribute.py55def test_dynamic_attribute_validates_any_connection():CODE
LOW⚡tests/test_anySet_attribute.py69def test_add_dynamic_input_creates_sibling_attribute():CODE
LOW⚡tests/test_anySet_attribute.py196def test_dynamic_inputs_serialized_in_todict():CODE
LOWtests/test_anySet_attribute.py95def test_remove_dynamic_input():CODE
LOWtests/test_anySet_attribute.py113def test_anyset_attribute_can_be_restored_with_edges():CODE
LOWtests/test_anySet_attribute.py139def test_rename_anyset_attribute_updates_name_label_and_keeps_edges():CODE
LOWtests/test_anySet_attribute.py157def test_rename_anyset_attribute_rejects_duplicate_name():CODE
LOWtests/test_anySet_attribute.py172def test_move_anyset_attribute_updates_order():CODE
LOWtests/test_anySet_attribute.py234def test_dynamic_inputs_restored_after_load(tmp_path):CODE
LOWtests/test_anySet_attribute.py265def test_moved_anyset_attribute_order_restored_after_load(tmp_path):CODE
LOWtests/test_anySet_attribute.py294def test_anyset_expanded_state_restored_after_load(tmp_path):CODE
LOWtests/test_anySet_attribute.py315def test_legacy_dict_anyset_serialization_still_loads(tmp_path):CODE
LOWtests/test_anySet_attribute.py342def test_legacy_list_anyset_serialization_still_loads(tmp_path):CODE
LOWtests/test_flowAttribute.py42 def test_default_value_is_none(self):CODE
LOWtests/test_flowAttribute.py67 def test_every_node_has_flow_attributes(self):CODE
LOW⚡tests/test_flowAttribute.py97 def test_flow_not_in_regular_attributes(self):CODE
LOW⚡tests/test_flowAttribute.py107 def test_flow_input_not_connected_by_default(self):CODE
LOW⚡tests/test_flowAttribute.py114 def test_flow_attribute_is_default_when_not_connected(self):CODE
LOW⚡tests/test_flowAttribute.py120 def test_connect_flow_attributes(self):CODE
LOWtests/test_flowAttribute.py131 def test_flow_attributes_only_connect_to_flow(self):CODE
LOWtests/test_flowAttribute.py147 def test_flow_serialized_value_is_none_when_not_connected(self):CODE
LOWtests/test_flowAttribute.py154 def test_flow_serialized_value_is_link_when_connected(self):CODE
LOWtests/test_flowAttribute.py166 def test_flow_attribute_is_not_default_when_connected(self):CODE
LOW⚡tests/test_flowAttribute.py180 def test_unconnected_flow_not_in_serialized_internal_inputs(self):CODE
LOW⚡tests/test_flowAttribute.py189 def test_unconnected_flow_not_in_serialized_inputs(self):CODE
LOW⚡tests/test_flowAttribute.py197 def test_connected_flow_in_serialized_internal_inputs(self):CODE
LOWtests/test_flowAttribute.py213 def test_save_and_load_graph_with_flow_connection(self):CODE
LOWtests/test_flowAttribute.py241 def test_save_and_load_graph_no_data_for_unconnected_flow(self):CODE
LOWtests/test_nodes.py658 def test_size_lambda_single_arg(self):CODE
LOWtests/test_nodes.py683 def test_size_static_node_size(self):CODE
LOWtests/test_nodes.py697 def test_size_dynamic_node_size(self):CODE
LOWtests/test_nodes.py722 def test_size_custom_function(self):CODE
LOWtests/test_nodes.py750 def test_size_custom_callable_class(self):CODE
LOW⚡tests/test_attributeLambda.py68 def test_callable_default_value_with_node_param(self):CODE
LOW⚡tests/test_attributeLambda.py77 def test_callable_default_value_with_attr_param(self):CODE
LOW⚡tests/test_attributeLambda.py86 def test_set_value_with_callable(self):CODE
LOW⚡tests/test_attributeLambda.py94 def test_set_value_with_attr_callable(self):CODE
LOW⚡tests/test_attributeLambda.py102 def test_callable_default_reflects_current_state(self):CODE
LOWtests/test_attributeLambda.py114 def test_reset_to_default_with_callable(self):CODE
LOW⚡tests/test_attributeDescDefaults.py93def test_param_no_value_is_dynamic(attrDesc):CODE
LOW⚡tests/test_attributeDescDefaults.py98def test_label_auto_generated_from_camel_case():CODE
LOW⚡tests/test_attributeDescDefaults.py105def test_label_auto_generated_from_snake_case():CODE
LOW⚡tests/test_attributeDescDefaults.py111def test_explicit_label_overrides_auto_generated():CODE
LOW⚡tests/test_attributeDescDefaults.py117def test_explicit_description_preserved():CODE
LOW⚡tests/test_attributeDescDefaults.py182 def test_output_desc_is_dynamic(self, node):CODE
LOW⚡tests/test_attributeDescDefaults.py189 def test_file_output_value_is_none(self, node):CODE
LOW⚡tests/test_attributeDescDefaults.py192 def test_bool_output_value_is_none(self, node):CODE
LOW⚡tests/test_attributeDescDefaults.py195 def test_int_output_value_is_none(self, node):CODE
LOW⚡tests/test_attributeDescDefaults.py198 def test_float_output_value_is_none(self, node):CODE
LOW⚡tests/test_attributeDescDefaults.py201 def test_string_output_value_is_none(self, node):CODE
LOWtests/test_attributeDescDefaults.py76def test_param_minimal_creation(attrDesc):CODE
15 more matches not shown…
Self-Referential Comments20 hits · 66 pts
SeverityFileLineSnippetContext
MEDIUMtests/test_graphIO.py501 # Create the node's internal folder to ensure that Graph.update() will callCOMMENT
MEDIUMtests/test_nodes.py890 # Create the input sceneCOMMENT
MEDIUMtests/test_nodes.py898 # Create the test sceneCOMMENT
MEDIUM⚡tests/test_compute.py668 # Create a temporary directory structureCOMMENT
MEDIUM⚡tests/test_compute.py680 # Create a temporary directory structureCOMMENT
MEDIUMtests/test_compute.py724 # Create a temporary directory structureCOMMENT
MEDIUMmeshroom/ui/scene.py892 # Create a CameraInit node if none existsCOMMENT
MEDIUMmeshroom/ui/app.py91 # Create the main parser with a descriptionCOMMENT
MEDIUMmeshroom/ui/commands.py853 # Create the new attribute on the nodeCOMMENT
MEDIUMmeshroom/ui/commands.py902 # Create a new command macro and push a command that disable graph updatesCOMMENT
MEDIUMmeshroom/ui/components/edge.py119 # Create a diagonal line to the other end of the rectCOMMENT
MEDIUMmeshroom/ui/components/scene3D.py80 # Create a buffer filled with (0, 1, 0) default normalsCOMMENT
MEDIUMmeshroom/ui/components/scene3D.py85 # Create the normal attributeCOMMENT
MEDIUMmeshroom/ui/components/csvData.py71 # Create the objects in dataList with the first line elements as objects' titleCOMMENT
MEDIUMmeshroom/core/attribute.py1121 # Create an empty list if the value is NoneCOMMENT
MEDIUMmeshroom/core/graph.py1868 # Create the folderCOMMENT
MEDIUMmeshroom/core/submitter.py255 # Create a taskCOMMENT
MEDIUMmeshroom/core/plugins/loader.py128 # Initialize the plugin object.COMMENT
MEDIUM⚡localfarm/localFarmClient.py102 # Create the jobCOMMENT
MEDIUM⚡localfarm/localFarmClient.py105 # Create the tasksCOMMENT
Unused Imports73 hits · 62 pts
SeverityFileLineSnippetContext
LOWsetup.py5CODE
LOWmeshroom/ui/graph.py39CODE
LOWmeshroom/ui/scene.py7CODE
LOWmeshroom/ui/components/shapes/__init__.py1CODE
LOWmeshroom/ui/components/shapes/__init__.py4CODE
LOWmeshroom/core/attribute.py2CODE
LOWmeshroom/core/attribute.py29CODE
LOWmeshroom/core/graph.py21CODE
LOWmeshroom/core/graph.py22CODE
LOWmeshroom/core/__init__.py22CODE
LOWmeshroom/core/__init__.py11CODE
LOWmeshroom/core/__init__.py12CODE
LOWmeshroom/core/__init__.py13CODE
LOWmeshroom/core/taskManager.py4CODE
LOWmeshroom/core/node.py3CODE
LOWmeshroom/core/node.py15CODE
LOWmeshroom/core/submitter.py3CODE
LOWmeshroom/core/desc/attribute.py8CODE
LOWmeshroom/core/desc/validators.py4CODE
LOWmeshroom/core/desc/validators.py5CODE
LOWmeshroom/core/desc/__init__.py1CODE
LOWmeshroom/core/desc/__init__.py1CODE
LOWmeshroom/core/desc/__init__.py1CODE
LOWmeshroom/core/desc/__init__.py1CODE
LOWmeshroom/core/desc/__init__.py1CODE
LOWmeshroom/core/desc/__init__.py1CODE
LOWmeshroom/core/desc/__init__.py1CODE
LOWmeshroom/core/desc/__init__.py1CODE
LOWmeshroom/core/desc/__init__.py1CODE
LOWmeshroom/core/desc/__init__.py1CODE
LOWmeshroom/core/desc/__init__.py1CODE
LOWmeshroom/core/desc/__init__.py1CODE
LOWmeshroom/core/desc/__init__.py1CODE
LOWmeshroom/core/desc/__init__.py16CODE
LOWmeshroom/core/desc/__init__.py16CODE
LOWmeshroom/core/desc/__init__.py16CODE
LOWmeshroom/core/desc/__init__.py21CODE
LOWmeshroom/core/desc/__init__.py21CODE
LOWmeshroom/core/desc/__init__.py21CODE
LOWmeshroom/core/desc/__init__.py21CODE
LOWmeshroom/core/desc/__init__.py21CODE
LOWmeshroom/core/desc/__init__.py21CODE
LOWmeshroom/core/desc/__init__.py29CODE
LOWmeshroom/core/desc/__init__.py32CODE
LOWmeshroom/core/desc/__init__.py32CODE
LOWmeshroom/core/desc/__init__.py32CODE
LOWmeshroom/core/desc/__init__.py32CODE
LOWmeshroom/core/desc/__init__.py32CODE
LOWmeshroom/core/desc/__init__.py32CODE
LOWmeshroom/core/desc/__init__.py40CODE
LOWmeshroom/core/desc/__init__.py40CODE
LOWmeshroom/core/desc/__init__.py40CODE
LOWmeshroom/core/desc/__init__.py40CODE
LOWmeshroom/core/desc/__init__.py40CODE
LOWmeshroom/core/desc/__init__.py40CODE
LOWmeshroom/core/desc/__init__.py40CODE
LOWmeshroom/core/desc/__init__.py40CODE
LOWmeshroom/core/desc/__init__.py40CODE
LOWmeshroom/core/desc/__init__.py40CODE
LOWmeshroom/core/desc/__init__.py40CODE
13 more matches not shown…
Deep Nesting62 hits · 54 pts
SeverityFileLineSnippetContext
LOWtests/test_compatibility.py237CODE
LOWmeshroom/multiview.py122CODE
LOWmeshroom/multiview.py103CODE
LOWmeshroom/ui/graph.py220CODE
LOWmeshroom/ui/graph.py818CODE
LOWmeshroom/ui/graph.py853CODE
LOWmeshroom/ui/graph.py901CODE
LOWmeshroom/ui/graph.py1190CODE
LOWmeshroom/ui/graph.py1309CODE
LOWmeshroom/ui/graph.py1373CODE
LOWmeshroom/ui/graph.py1470CODE
LOWmeshroom/ui/scene.py131CODE
LOWmeshroom/ui/scene.py443CODE
LOWmeshroom/ui/scene.py709CODE
LOWmeshroom/ui/scene.py1029CODE
LOWmeshroom/ui/utils.py131CODE
LOWmeshroom/ui/app.py225CODE
LOWmeshroom/ui/commands.py130CODE
LOWmeshroom/ui/components/logLinesModel.py142CODE
LOWmeshroom/ui/components/shapes/shapeFile.py150CODE
LOWmeshroom/ui/components/shapes/shapeFile.py154CODE
LOWmeshroom/submitters/localFarm/localFarmSubmitter.py81CODE
LOWmeshroom/submitters/localFarm/localFarmSubmitter.py264CODE
LOWmeshroom/core/attribute.py32CODE
LOWmeshroom/core/attribute.py256CODE
LOWmeshroom/core/attribute.py998CODE
LOWmeshroom/core/attribute.py1544CODE
LOWmeshroom/core/attribute.py1645CODE
LOWmeshroom/core/cgroup.py7CODE
LOWmeshroom/core/cgroup.py64CODE
LOWmeshroom/core/graph.py1951CODE
LOWmeshroom/core/graph.py1173CODE
LOWmeshroom/core/graph.py1890CODE
LOWmeshroom/core/__init__.py47CODE
LOWmeshroom/core/taskManager.py91CODE
LOWmeshroom/core/taskManager.py257CODE
LOWmeshroom/core/taskManager.py273CODE
LOWmeshroom/core/taskManager.py471CODE
LOWmeshroom/core/test.py11CODE
LOWmeshroom/core/stats.py330CODE
LOWmeshroom/core/node.py468CODE
LOWmeshroom/core/node.py1044CODE
LOWmeshroom/core/node.py1204CODE
LOWmeshroom/core/node.py1277CODE
LOWmeshroom/core/node.py1897CODE
LOWmeshroom/core/node.py2520CODE
LOWmeshroom/core/node.py2573CODE
LOWmeshroom/core/node.py2739CODE
LOWmeshroom/core/node.py2871CODE
LOWmeshroom/core/node.py1282CODE
LOWmeshroom/core/submitter.py380CODE
LOWmeshroom/core/desc/node.py439CODE
LOWmeshroom/core/plugins/env.py87CODE
LOWmeshroom/core/plugins/loader.py306CODE
LOWmeshroom/core/plugins/manager.py131CODE
LOWmeshroom/core/plugins/base.py288CODE
LOWmeshroom/nodes/general/InputFile.py23CODE
LOWmeshroom/common/PySignal.py33CODE
LOWlocalfarm/localFarmBackend.py298CODE
LOWlocalfarm/localFarmBackend.py398CODE
2 more matches not shown…
Redundant / Tautological Comments16 hits · 25 pts
SeverityFileLineSnippetContext
LOW⚡tests/test_compatibility.py224 # Check if attributes are properly restoredCOMMENT
LOW⚡tests/test_compatibility.py228 # Check if internal folderCOMMENT
LOWmeshroom/ui/components/thumbnail.py110 # Check if thumbnail directory existsCOMMENT
LOWmeshroom/ui/components/thumbnail.py127 # Check if this is a regular fileCOMMENT
LOWmeshroom/ui/components/thumbnail.py152 # Check if number of thumbnails on disk exceeds limitCOMMENT
LOWmeshroom/ui/components/thumbnail.py244 # Check if thumbnail already exists (and update its last modification time)COMMENT
LOWmeshroom/ui/components/thumbnail.py279 # Check if thumbnail already exists (it may have been created by another thread)COMMENT
LOWmeshroom/core/stats.py269 # Check if we exceeded max points and need to adjust intervalCOMMENT
LOWmeshroom/core/nodeFactory.py43 # Check if the given attribute is a AnySet instance or a child of a AnySetCOMMENT
LOWmeshroom/core/node.py2145 # Check if at least one dependentNode is submitted or currently runningCOMMENT
LOWmeshroom/core/submitter.py320 # Check if task has already been createdCOMMENT
LOWmeshroom/core/desc/node.py524 if process.is_running(): # Check if process is still aliveCODE
LOWmeshroom/core/plugins/loader.py139 # Check if the plugin is empty.COMMENT
LOWmeshroom/common/PySignal.py96 # Check if it is an instance method and store it with the instance as the keyCOMMENT
LOWlocalfarm/localFarmBackend.py316 # Check if process finishedCOMMENT
LOWlocalfarm/localFarmBackend.py321 # Check if job is completeCOMMENT
AI Structural Patterns20 hits · 20 pts
SeverityFileLineSnippetContext
LOWsetup.py28CODE
LOWmeshroom/ui/scene.py664CODE
LOWmeshroom/core/desc/attribute.py235CODE
LOWmeshroom/core/desc/attribute.py321CODE
LOWmeshroom/core/desc/attribute.py477CODE
LOWmeshroom/core/desc/attribute.py511CODE
LOWmeshroom/core/desc/attribute.py546CODE
LOWmeshroom/core/desc/attribute.py585CODE
LOWmeshroom/core/desc/attribute.py622CODE
LOWmeshroom/core/desc/attribute.py678CODE
LOWmeshroom/core/desc/attribute.py766CODE
LOWmeshroom/core/desc/attribute.py799CODE
LOWmeshroom/core/desc/anySet.py7CODE
LOWmeshroom/core/desc/shapeAttribute.py68CODE
LOWmeshroom/core/desc/shapeAttribute.py103CODE
LOWmeshroom/core/desc/shapeAttribute.py138CODE
LOWmeshroom/core/desc/shapeAttribute.py175CODE
LOWmeshroom/core/desc/geometryAttribute.py9CODE
LOWmeshroom/core/desc/geometryAttribute.py41CODE
LOWmeshroom/core/desc/geometryAttribute.py80CODE
Docstring Block Structure3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHmeshroom/ui/utils.py201 Shortcut function to create a Qt Property with generic getter and setter. Getter returns the underlying attribSTRING
HIGHmeshroom/core/graph.py1918 Load a Graph from a Meshroom Graph (.mg) file. Args: filepath: The path to the Meshroom Graph file. STRING
HIGHmeshroom/core/nodeFactory.py217 Check that attribute names in 'attributesDict' match the expected description, where 'requiredDescAttriSTRING
Cross-File Repetition3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHmeshroom/core/desc/attribute.py0return the correct attribute instance corresponding to the description.STRING
HIGHmeshroom/core/desc/shapeAttribute.py0return the correct attribute instance corresponding to the description.STRING
HIGHmeshroom/core/desc/geometryAttribute.py0return the correct attribute instance corresponding to the description.STRING
Over-Commented Block5 hits · 5 pts
SeverityFileLineSnippetContext
LOWdocs/source/_ext/fetch_md.py1# Sphinx extension defining the fetch_md directiveCOMMENT
LOWdocs/source/_ext/meshroom_doc.py1# Sphinx extension defining the meshroom_doc directiveCOMMENT
LOW.github/workflows/nightly.yml41 BUILD_LABEL="$(date -u '+%Y.%m.%d')-${SHORT_SHA}"COMMENT
LOWmeshroom/core/stats.py201 data = proc.as_dict(self.dynamicKeys)COMMENT
LOWmeshroom/core/desc/attribute.py201 # isDynamicValueCOMMENT
Example Usage Blocks3 hits · 4 pts
SeverityFileLineSnippetContext
LOWdocs/source/_ext/fetch_md.py6# Usage:COMMENT
LOWdocs/source/_ext/meshroom_doc.py6# Usage:COMMENT
LOWmeshroom/core/evaluation.py10 # Example usageSTRING
Modern Structural Boilerplate2 hits · 2 pts
SeverityFileLineSnippetContext
LOWmeshroom/env.py5__all__ = [CODE
LOWmeshroom/ui/app.py506 def _updateRecentProjectFilesThumbnails(self) -> None:STRING
Slop Phrases1 hit · 2 pts
SeverityFileLineSnippetContext
LOW⚡meshroom/ui/commands.py73 self.setLockedRedo(False) # make sure to unlock the redo actionCODE
AI Slop Vocabulary1 hit · 2 pts
SeverityFileLineSnippetContext
LOWmeshroom/core/submitter.py325 # If task is already created simply create the connectionCOMMENT
Fake / Example Data1 hit · 1 pts
SeverityFileLineSnippetContext
LOWmeshroom/core/node.py536 return "placeholder"CODE