This report summarizes scanner evidence for tangency-labs/solidcraft. SynthScan examined 1,295,240 lines of code across 2588 source files, recording 1979 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 7.5 (Moderate 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.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 1030 finding(s).
Are imports declared and package/API names verified? 913 finding(s).
Are wrappers, guards, and repeated structures necessary? 278 finding(s).
Which changes need focused human review? 1979 finding(s).
Run additional scans to build a history of the legacy pattern signal. Score changes are not a measure of AI adoption or code quality.
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.
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.
The scanner identified 1979 distinct pattern matches across 13 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.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | crates/render/src/job/host.rs | 783 | backend: self.handle.0.resolved.backend.clone(), | CODE |
| CRITICAL | crates/render/src/job/host.rs | 784 | executor: self.handle.0.resolved.executor.clone(), | CODE |
| CRITICAL | crates/render/src/job/host.rs | 1025 | self.0.shared.budget.used.load(Ordering::Acquire) | CODE |
| CRITICAL | crates/ui-egui/tests/stand_up_offer.rs | 156 | let occurrence = h.app.session.doc.occurrences.iter().map(|o| o.id).max().expect("the import's occurrence"); | CODE |
| CRITICAL | crates/ui-egui/tests/icon_audit.rs | 312 | let features = history.app.session.doc.features.iter().take(2).map(|f| f.id).collect::<Vec<_>>(); | CODE |
| CRITICAL | crates/ui-egui/tests/icon_audit.rs | 364 | let plane = h.app.session.doc.features.last().unwrap().id; | CODE |
| CRITICAL | crates/ui-egui/tests/icon_audit.rs | 407 | let joints = sample_h.app.session.doc.assembly.joints.iter().map(|j| j.id).collect::<Vec<_>>(); | CODE |
| CRITICAL | crates/ui-egui/tests/icon_audit.rs | 411 | let paths = sample_h.app.session.doc.occurrences.iter().map(|o| (o.id, o.component)).collect::<Vec<_>>(); | CODE |
| CRITICAL | crates/ui-egui/src/sketch_corner_ui_tests.rs | 939 | let src = h.app.session.doc.features.last().unwrap().id; | CODE |
| CRITICAL | crates/ui-egui/src/hole_placement_ui_tests.rs | 77 | assert_eq!(h.app.session.doc.features.len(), 1); | CODE |
| CRITICAL | crates/ui-egui/src/hole_placement_ui_tests.rs | 241 | assert_eq!(h.app.session.doc.features.len(), 1); | CODE |
| CRITICAL | crates/ui-egui/src/hole_placement_ui_tests.rs | 259 | assert_eq!(h.app.session.doc.features.len(), 1); | CODE |
| CRITICAL | crates/ui-egui/src/hole_placement_ui_tests.rs | 282 | assert_eq!(h.app.session.doc.features.len(), 1); | CODE |
| CRITICAL | crates/ui-egui/src/hole_placement_ui_tests.rs | 372 | let f = h.app.session.doc.features.last().unwrap(); | CODE |
| CRITICAL | crates/ui-egui/src/hole_placement_ui_tests.rs | 697 | let name = h.app.session.doc.features.iter().find(|f| matches!(f.kind, FeatureKind::Sketch { .. })).unwrap().name.cl | CODE |
| CRITICAL | crates/ui-egui/src/primitive_units_tests.rs | 190 | let ids: Vec<u64> = h.app.session.doc.features.iter().map(|f| f.id).collect(); | CODE |
| CRITICAL | crates/ui-egui/src/primitive_units_tests.rs | 210 | let first = h.app.session.doc.features.first().map(|f| f.id).unwrap(); | CODE |
| CRITICAL | crates/ui-egui/src/primitive_units_tests.rs | 227 | let (id, length) = h.app.session.doc.features.first().map(|f| (f.id, f.param_names[0].clone())).unwrap(); | CODE |
| CRITICAL | crates/ui-egui/src/primitive_units_tests.rs | 254 | let id = h.app.session.doc.features.first().map(|f| f.id).unwrap(); | CODE |
| CRITICAL | crates/ui-egui/src/primitive_units_tests.rs | 269 | assert_eq!(h.app.session.doc.features.len(), 1, "OK redefines the coil instead of adding one"); | CODE |
| CRITICAL | crates/ui-egui/src/primitive_units_tests.rs | 375 | let feature = h.app.session.doc.features.last().unwrap().id; | CODE |
| CRITICAL | crates/ui-egui/src/primitive_units_tests.rs | 425 | let id = h.app.session.doc.features.first().map(|f| f.id).unwrap(); | CODE |
| CRITICAL | crates/ui-egui/src/primitive_units_tests.rs | 437 | assert_eq!(h.app.session.doc.features.len(), 1, "the edit changed the cone in place"); | CODE |
| CRITICAL | crates/ui-egui/src/primitive_units_tests.rs | 537 | let ids: Vec<u64> = h.app.session.doc.features.iter().map(|f| f.id).collect(); | CODE |
| CRITICAL | crates/ui-egui/src/primitive_units_tests.rs | 669 | let ids: Vec<u64> = h.app.session.doc.features.iter().map(|f| f.id).collect(); | CODE |
| CRITICAL | crates/ui-egui/src/render_workspace_library_review.rs | 153 | let Some(mut draft) = app.render_workspace.view.library.review.take() else { return }; | CODE |
| CRITICAL | crates/ui-egui/src/render_workspace_library_review.rs | 293 | let Some(pending) = app.render_workspace.view.library.removal.take() else { return }; | CODE |
| CRITICAL | crates/ui-egui/src/sketch_dims_tests.rs | 388 | let dimensions = h.app.session.doc.params.iter().filter(|p| p.model).count(); | CODE |
| CRITICAL | crates/ui-egui/src/sketch_dims_tests.rs | 795 | assert!(h.app.session.doc.params.iter().all(|p| p.model), "{command} {text}: no user parameter"); | CODE |
| CRITICAL | crates/ui-egui/src/render_workspace_library.rs | 585 | if let Some(review) = app.render_workspace.view.library.review.take() { | CODE |
| CRITICAL | crates/ui-egui/src/render_workspace_library.rs | 588 | if let Some(removal) = app.render_workspace.view.library.removal.take() { | CODE |
| CRITICAL | crates/ui-egui/src/render_workspace_library.rs | 1266 | if kinds.contains(&app.render_workspace.view.library.kind.as_str()) | CODE |
| CRITICAL | crates/ui-egui/src/render_workspace_library.rs | 1283 | let id = app.render_workspace.view.library.selected.clone().filter(|_| app.render_workspace.view.library.kind == "qu | CODE |
| CRITICAL | crates/ui-egui/src/render_workspace_library.rs | 1518 | let bindings = app.render_workspace.view.draft.surfaces.clone(); | CODE |
| CRITICAL | crates/ui-egui/src/render_workspace_library.rs | 1524 | if !app.render_workspace.view.materials.bindings.is_empty() { | CODE |
| CRITICAL | crates/ui-egui/src/render_workspace_library.rs | 1698 | assert_eq!(h.app.render_workspace.view.library.selected.as_deref(), Some(id.as_str())); | CODE |
| CRITICAL | crates/ui-egui/src/render_workspace_library.rs | 1730 | assert_eq!(h.app.session.doc.appearances.bodies.get("Sample").unwrap().name, "ABS - Blue"); | CODE |
| CRITICAL | crates/ui-egui/src/render_workspace_library.rs | 1852 | let blue = h.app.render_workspace.view.library.entries.iter().find(|e| e["name"] == "ABS - Blue").unwrap().clone | CODE |
| CRITICAL | crates/ui-egui/src/render_workspace_library.rs | 1860 | assert!(!h.app.session.doc.appearances.bodies.contains_key("Sample")); | CODE |
| CRITICAL | crates/ui-egui/src/render_workspace_library.rs | 1877 | assert!(h.app.render_workspace.view.library.review.is_some()); | CODE |
| CRITICAL | crates/ui-egui/src/render_workspace_library.rs | 1882 | assert!(!h.app.render_workspace.view.draft.stage.is_empty()); | CODE |
| CRITICAL | crates/ui-egui/src/render_workspace_studio.rs | 238 | let mut degrees = app.render_workspace.view.studio.rotation_rad.to_degrees(); | CODE |
| CRITICAL | crates/ui-egui/src/render_workspace_studio.rs | 261 | let mut enabled = app.render_workspace.view.studio.finishing.bloom.is_some(); | CODE |
| CRITICAL | crates/ui-egui/src/render_workspace_studio.rs | 295 | let Some(value) = app.render_workspace.view.studio.finishing.rgb_gain.get_mut(channel) else { | CODE |
| CRITICAL | crates/ui-egui/src/render_workspace_studio.rs | 391 | let Some(value) = app.render_workspace.view.studio.backdrop.center.get_mut(axis) else { | CODE |
| CRITICAL⚡ | crates/ui-egui/src/render_workspace_tests.rs | 413 | assert!(h.app.render_workspace.view.environment_ring.geometry.is_some()); | CODE |
| CRITICAL⚡ | crates/ui-egui/src/render_workspace_tests.rs | 416 | assert!(h.app.render_workspace.view.environment_ring.geometry.is_none()); | CODE |
| CRITICAL⚡ | crates/ui-egui/src/render_workspace_tests.rs | 420 | assert!(h.app.render_workspace.view.environment_ring.geometry.is_none()); | CODE |
| CRITICAL⚡ | crates/ui-egui/src/render_workspace_tests.rs | 2827 | assert!(h.app.render_workspace.view.materials.bindings.iter().skip(1).all(|binding| binding.enabled)); | CODE |
| CRITICAL⚡ | crates/ui-egui/src/render_workspace_tests.rs | 2828 | assert_eq!(h.app.render_workspace.view.materials.bindings.len(), 128); | CODE |
| CRITICAL⚡ | crates/ui-egui/src/render_workspace_tests.rs | 2835 | assert_eq!(h.app.render_workspace.view.materials.bindings.len(), 128); | CODE |
| CRITICAL⚡ | crates/ui-egui/src/render_workspace_tests.rs | 2836 | assert!(h.app.render_workspace.view.materials.bindings.iter().all(|binding| binding.target != targets[0])); | CODE |
| CRITICAL⚡ | crates/ui-egui/src/render_workspace_tests.rs | 2851 | let reflections = h.app.render_workspace.view.raytrace.reflections.as_mut().unwrap(); | CODE |
| CRITICAL⚡ | crates/ui-egui/src/render_workspace_tests.rs | 2860 | h.app.render_workspace.view.raytrace.reflections.as_mut().unwrap().max_bounces = 9; | CODE |
| CRITICAL⚡ | crates/ui-egui/src/render_workspace_tests.rs | 2862 | h.app.render_workspace.view.raytrace.reflections.as_mut().unwrap().max_bounces = 8; | CODE |
| CRITICAL⚡ | crates/ui-egui/src/render_workspace_tests.rs | 2863 | h.app.render_workspace.view.raytrace.reflections.as_mut().unwrap().samples = 65; | CODE |
| CRITICAL⚡ | crates/ui-egui/src/render_workspace_tests.rs | 2865 | h.app.render_workspace.view.raytrace.reflections.as_mut().unwrap().samples = 64; | CODE |
| CRITICAL⚡ | crates/ui-egui/src/render_workspace_tests.rs | 2866 | h.app.session.visibility.hidden_bodies.push("Reflector".into()); | CODE |
| CRITICAL⚡ | crates/ui-egui/src/render_workspace_tests.rs | 2869 | assert!(h.app.render_workspace.view.raytrace.reflections.is_none()); | CODE |
| CRITICAL⚡ | crates/ui-egui/src/render_workspace_tests.rs | 2968 | h.app.render_workspace.view.raytrace.lights.as_mut().unwrap()[0].direction = [0.0; 3]; | CODE |
| 769 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Cargo.toml | 61 | quick-xml = "0.41" | COMMENT |
| LOW | packaging/env.sh | 1 | # shellcheck shell=bash | COMMENT |
| LOW | packaging/macos/package.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | packaging/macos/signing.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | packaging/freebsd/package.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | packaging/linux/snap-pack.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | packaging/linux/package.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | packaging/linux/flatpak-bundle.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | …ng/linux/flatpak/io.tangencylabs.solidcraft.bundle.yml | 1 | # Flatpak manifest for the single-file bundle attached to every GitHub release | COMMENT |
| LOW | …ng/linux/flatpak/io.tangencylabs.solidcraft.bundle.yml | 21 | - --socket=wayland | COMMENT |
| LOW | tools/freecad-oracle/build.py | 1 | # FreeCAD oracle builder for SolidCraft reference cases (tests/oracle/<case>/recipe.json). | COMMENT |
| LOW | crates/gpu/src/lib.rs | 1 | //! SolidCraft's GPU work: the viewport's render pipelines ([`view`]), pictures drawn with them | COMMENT |
| LOW | crates/gpu/src/concurrent.rs | 1 | //! Pipelines built on several threads at once (#4860). | COMMENT |
| LOW | crates/gpu/src/select.rs | 1 | //! What draws a headless picture: every adapter the platform's native backends offer is | COMMENT |
| LOW | crates/gpu/src/view.rs | 261 | } | COMMENT |
| LOW | crates/gpu/src/view.rs | 401 | /// triangles on the GPU, drawn once per placement, however often it is placed. | COMMENT |
| LOW | crates/gpu/src/view.rs | 461 | /// Opaque product PBR vertices; linear base color and explicit optical parameters. | COMMENT |
| LOW | crates/gpu/src/view.rs | 481 | /// Translucent triangles drawn through everything (a cut's tool body). | COMMENT |
| LOW | crates/gpu/src/view.rs | 501 | /// the model scene's own blocks, drawn again tinted. | COMMENT |
| LOW | crates/gpu/src/view.rs | 961 | pub clip: [f32; 4], | COMMENT |
| LOW | crates/gpu/src/view.rs | 981 | pub ao_radius: f32, | COMMENT |
| LOW | crates/gpu/src/view.rs | 1941 | out | COMMENT |
| LOW | crates/gpu/src/view.rs | 2001 | /// `tess` once it is ready. | COMMENT |
| LOW | crates/gpu/src/view.rs | 2061 | /// drawn into textures of the same kind. | COMMENT |
| LOW | crates/gpu/src/view.rs | 2081 | oit_targets: Option<oit::Targets>, | COMMENT |
| LOW | crates/gpu/src/view.rs | 3041 | /// large the scene (#1434, #1739). The CPU renderer has the same rule (`raster.rs`, #983). | COMMENT |
| LOW | crates/gpu/src/view/oit.rs | 1 | //! Weighted blended order-independent transparency (McGuire and Bavoil, "Weighted Blended | COMMENT |
| LOW | crates/io/build.rs | 1 | //! What the model cache is keyed by. `SOLIDCRAFT_EVALUATION_SOURCE`: the digest of the committed | COMMENT |
| LOW | crates/io/src/threemf.rs | 1 | //! 3MF (3D Manufacturing Format, Core specification 1.3) packages: a zip with | COMMENT |
| LOW | crates/io/src/gltf_in.rs | 1 | //! glTF 2.0 import (`.glb`, `.gltf` with its `.bin` files next to it or embedded as `data:` | COMMENT |
| LOW | crates/io/src/safe_write.rs | 141 | return result; | COMMENT |
| LOW | crates/io/src/lib.rs | 501 | let bodies: Vec<ObjBody<'_>> = meshes.iter().map(|(name, mesh)| ObjBody { name: name.as_str(), mesh, color: None }). | COMMENT |
| LOW | crates/io/src/limits.rs | 1 | //! The largest files SolidCraft reads (#4086). [`crate::MAX_STEP_BYTES`] and | COMMENT |
| LOW | crates/io/src/design_lock.rs | 1 | //! Two writers on one design file (#5467): a design kept in a shared or synced folder can be open | COMMENT |
| LOW | crates/io/src/legacy_dir.rs | 1 | //! First-launch adoption of a pre-rename settings or data folder. Compatibility shim (see | COMMENT |
| LOW | crates/io/src/dxf_out.rs | 1 | //! The flat pattern's DXF drawing, as AutoCAD 2000 (`AC1015`), the oldest release that has the | COMMENT |
| LOW | crates/io/src/formats.rs | 1 | //! The format registry: one table describing every file format SolidCraft reads or writes, | COMMENT |
| LOW | crates/io/src/urdf.rs | 1 | //! URDF robot description of a design's components and joints (#719, docs/urdf.md): a link per | COMMENT |
| LOW | crates/io/src/mutate.rs | 1 | //! Deterministic mutations of valid files, and the readers run over them (#469). Every reader of | COMMENT |
| LOW | crates/io/src/native_cad.rs | 1 | //! Other CAD formats read through [cadmpeg](https://github.com/cadmpeg/cadmpeg): FreeCAD | COMMENT |
| LOW | crates/io/src/paper/svg.rs | 1 | //! A paper scene as SVG (#4890, A3): one user unit a millimetre, the paper's size in mm, and the | COMMENT |
| LOW | crates/io/src/design/drawing.rs | 1 | //! Drawing files (#3890): a [`Drawing`] saved as a container or as plain JSON, like a design. | COMMENT |
| LOW | crates/threedx-client/src/lib.rs | 1 | //! A client of the 3Dconnexion driver (3DxWare) on macOS. | COMMENT |
| LOW | crates/render/src/film.rs | 1 | //! Bounded linear RGB statistics, independent of rendering and display transforms. | COMMENT |
| LOW | crates/render/src/anisotropic_surface.rs | 1 | //! Original anisotropic GGX reflection with separable Smith masking and Schlick Fresnel. | COMMENT |
| LOW | crates/derive/src/lib.rs | 1 | //! `#[derive(Walk)]`: the walks over a feature (`crate::walk::Walk`), generated from the fields of | COMMENT |
| LOW | crates/derive/src/lib.rs | 21 | //! `|i: usize, n: usize| -> &'static str`; it may read the other fields; | COMMENT |
| LOW | crates/ui-egui/examples/acp_test_agent.rs | 1 | //! A scripted ACP agent for trying the agent chat without an account (docs/agent-chat.md): | COMMENT |
| LOW | crates/ui-egui/src/view_pick.rs | 1 | //! `view.pick` (control: `ui.pick`): screenshot pixels or world rays → the exact geometry | COMMENT |
| LOW | crates/ui-egui/src/icon_svg.rs | 1 | //! The UI icon renderer: the SVG masters in `assets/icons/ui/design/svg`, drawn at the pixel size | COMMENT |
| LOW | crates/ui-egui/src/network_prompt.rs | 1 | //! Files a design names on another computer: a linked design on `\\host\share`. On Windows, | COMMENT |
| LOW | crates/ui-egui/src/sketch_state.rs | 1 | //! A sketch's solve state on its rows (#7245): the History strip, the left History and the | COMMENT |
| LOW | crates/ui-egui/src/op_auto.rs | 1 | //! The operation a feature window chooses by itself, from what its material does (#6901): | COMMENT |
| LOW | crates/ui-egui/src/stand_up.rs | 1 | //! Standing up a Y-up file (#3). Many CAD programs save parts with Y up, so a STEP or IGES file | COMMENT |
| LOW | crates/ui-egui/src/scale_tests.rs | 741 | let (fr, frmin, frmax) = median(frame); | COMMENT |
| LOW | crates/ui-egui/src/dim_view.rs | 1 | //! Sketch dimensions drawn as dimensions: extension lines from the measured geometry, a | COMMENT |
| LOW | crates/ui-egui/src/tool_modifiers.rs | 1 | //! Centralised modifier-key binding types for sketch and selection behaviours. | COMMENT |
| LOW | crates/ui-egui/src/edit_clipboard.rs | 1 | //! Copy, Cut and Paste from the keyboard (Ctrl+C / Ctrl+X / Ctrl+V, ⌘C / ⌘X / ⌘V) and the context | COMMENT |
| LOW | crates/ui-egui/src/edit_clipboard.rs | 21 | //! another design (`sketch.paste`), at the cursor or at the copied coordinates, with the | COMMENT |
| LOW | crates/ui-egui/src/tool_cursor.rs | 1 | //! The tool at the cursor: while an interactive tool or a command's dialog is running, its | COMMENT |
| 659 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | packaging/tests/windows_icon_test.py | 67 | def test_generic_executable_is_rejected(self): | CODE |
| LOW⚡ | packaging/tests/windows_icon_test.py | 72 | def test_group_must_reference_a_real_image(self): | CODE |
| LOW⚡ | packaging/tests/windows_icon_test.py | 77 | def test_truncated_executable_is_rejected(self): | CODE |
| LOW⚡ | packaging/tests/apprun_test.py | 39 | def test_wrapper_runs_the_bundled_cli(self): | CODE |
| LOW⚡ | packaging/tests/apprun_test.py | 45 | def test_wrapper_follows_a_moved_appimage(self): | CODE |
| LOW⚡ | packaging/tests/apprun_test.py | 53 | def test_a_file_that_is_not_ours_is_left_alone(self): | CODE |
| LOW | packaging/tests/apprun_test.py | 64 | def test_entries_under_earlier_app_ids_are_replaced(self): | CODE |
| LOW | packaging/tests/apprun_test.py | 81 | def test_opt_out_installs_nothing(self): | CODE |
| LOW⚡ | packaging/tests/flatpak_test.py | 90 | def test_control_opens_before_first_frame(self): | CODE |
| LOW⚡ | packaging/tests/flatpak_test.py | 99 | def test_ready_startup_does_not_wait(self): | CODE |
| LOW⚡ | packaging/tests/flatpak_test.py | 104 | def test_missing_first_frame_times_out_before_modelling(self): | CODE |
| LOW⚡ | packaging/tests/flatpak_test.py | 110 | def test_app_exit_while_waiting_for_frame_fails_before_modelling(self): | CODE |
| LOW⚡ | packaging/tests/flatpak_test.py | 118 | def test_failed_control_response_does_not_retry_or_model(self): | CODE |
| LOW⚡ | packaging/tests/flatpak_test.py | 125 | def test_read_timeout_uses_remaining_readiness_deadline_then_restores_operation_timeout(self): | CODE |
| LOW⚡ | packaging/tests/flatpak_test.py | 130 | def test_closed_or_malformed_control_fails_before_modelling(self): | CODE |
| LOW | packaging/tests/flatpak_test.py | 142 | def test_real_presented_frame_is_required_not_just_responsive_control(self): | CODE |
| LOW⚡ | packaging/tests/flatpak_test.py | 155 | def test_frame_byte_dimensions_and_decompression_are_bounded(self): | CODE |
| LOW⚡ | packaging/tests/flatpak_test.py | 164 | def test_ui_thread_and_independent_box_measurement_are_required(self): | CODE |
| LOW⚡ | packaging/tests/flatpak_test.py | 171 | def test_cli_version_or_partial_control_output_is_not_desktop_success(self): | CODE |
| LOW⚡ | packaging/tests/flatpak_test.py | 177 | def test_startup_without_viewport_or_failed_feature_is_not_success(self): | CODE |
| LOW | packaging/tests/nightly_test.py | 60 | def test_newest_published_prerelease_across_pages_skips_exact_tag_commit(self): | STRING |
| LOW⚡ | packaging/tests/nightly_test.py | 71 | def test_changed_commit_builds(self): | STRING |
| LOW⚡ | packaging/tests/nightly_test.py | 77 | def test_no_published_release_builds(self): | STRING |
| LOW⚡ | packaging/tests/nightly_test.py | 85 | def test_non_schedule_does_not_query_github(self): | STRING |
| LOW⚡ | packaging/tests/nightly_test.py | 93 | def test_api_failure_does_not_report_build_or_skip(self): | STRING |
| LOW⚡ | packaging/tests/nightly_test.py | 98 | def test_missing_tag_fails_instead_of_using_moving_target_commitish(self): | STRING |
| LOW⚡ | tools/render-library/test_publish_selene.py | 27 | def test_original_native_shape_fixture_passes_without_resampling(self): | CODE |
| LOW⚡ | tools/render-library/test_publish_selene.py | 34 | def test_wrong_dimensions_tampering_and_truncation_are_not_final_images(self): | CODE |
| LOW⚡ | tools/render-library/test_publish_selene.py | 43 | def test_compressed_expansion_and_incomplete_streams_are_bounded(self): | CODE |
| LOW⚡ | tools/render-library/test_publish_selene.py | 51 | def test_publication_requires_review_before_reading_or_creating_files(self): | CODE |
| LOW | tools/render-library/test_selene_recipe.py | 20 | def test_all_native_box_corners_stay_inside_the_explicit_frame_margin(self): | CODE |
| LOW | tools/render-library/test_selene_recipe.py | 41 | def test_fit_is_scale_covariant_and_rejects_unbounded_inputs(self): | CODE |
| LOW | tools/render-library/test_selene_recipe.py | 58 | def test_request_validation_happens_before_native_commands(self): | CODE |
| LOW | tests/tools/test_icon_line_endings.py | 16 | def test_an_accepted_icon_hashes_the_same_checked_out_with_crlf(self): | CODE |
| LOW | tests/tools/test_icon_line_endings.py | 26 | def test_a_palette_checked_out_with_crlf_takes_a_save_at_its_own_revision(self): | CODE |
| LOW | tests/tools/test_icon_review.py | 69 | def test_window_confirm_and_page_list_icons_are_discovered(self): | CODE |
| LOW | tests/tools/test_icon_review.py | 84 | def test_runtime_manifest_discovers_variable_ids_and_reports_actual_placeholder(self): | CODE |
| LOW | tests/tools/test_icon_review.py | 102 | def test_inline_clips_and_masks_are_scoped_to_each_preview_and_dashes_use_guides(self): | CODE |
| LOW | tests/tools/test_icon_review.py | 133 | def test_live_palette_tokens_save_only_display_colours_and_reject_stale_or_invalid_changes(self): | CODE |
| LOW | tests/tools/test_icon_review.py | 185 | def test_knockouts_mask_only_preceding_layers_and_preserve_later_foreground(self): | CODE |
| LOW | tests/tools/test_icon_review.py | 212 | def test_semantic_colours_reload_from_one_palette_without_changing_acceptance(self): | CODE |
| LOW | tests/tools/test_icon_review.py | 254 | def test_new_unused_masters_and_alias_targets_are_never_hidden(self): | CODE |
| LOW | tests/tools/test_icon_review.py | 274 | def test_changed_art_reopens_and_requires_deliberate_current_acceptance(self): | CODE |
| LOW | tests/tools/test_icon_review.py | 299 | def test_missing_art_is_visible_but_cannot_be_accepted(self): | CODE |
| LOW | tests/tools/test_icon_review.py | 310 | def test_final_alias_protects_shared_art_and_newer_notes_survive_stale_save(self): | CODE |
| LOW | tests/tools/test_icon_review.py | 326 | def test_export_resolution_preserves_notes_added_since_the_snapshot(self): | CODE |
| LOW⚡ | tests/tools/test_icon_review.py | 344 | def test_style_reference_page_uses_repository_bases(self): | STRING |
| LOW⚡ | tests/tools/test_icon_review.py | 352 | def test_scaffold_refuses_overwrite_and_starts_unaccepted(self): | STRING |
| LOW | tests/tools/test_icon_export.py | 17 | def test_inventory_includes_nested_and_helper_icon_uses(self): | CODE |
| LOW | tests/tools/test_icon_export.py | 60 | def test_export_snapshots_only_pending_notes_for_codex(self): | STRING |
| LOW⚡ | scripts/ci/test_affected.py | 49 | def test_leaf_selects_only_itself(self): | CODE |
| LOW⚡ | scripts/ci/test_affected.py | 52 | def test_reverse_dependencies_are_added(self): | CODE |
| LOW⚡ | scripts/ci/test_affected.py | 55 | def test_unrelated_package_is_not_selected(self): | CODE |
| LOW⚡ | scripts/ci/test_affected.py | 65 | def test_docs_only_selects_nothing(self): | CODE |
| LOW⚡ | scripts/ci/test_affected.py | 68 | def test_no_code_paths_select_nothing(self): | CODE |
| LOW⚡ | scripts/ci/test_affected.py | 74 | def test_windows_metadata_selects_packages_and_preserves_triggers(self): | CODE |
| LOW | scripts/ci/test_affected.py | 85 | def test_windows_metadata_rejects_a_manifest_in_a_sibling_workspace(self): | CODE |
| LOW⚡ | scripts/ci/test_affected.py | 100 | def test_render_change_selects_render_and_dependents_not_kernel(self): | CODE |
| LOW⚡ | scripts/ci/test_affected.py | 107 | def test_cargo_lock_selects_full(self): | CODE |
| LOW⚡ | scripts/ci/test_affected.py | 110 | def test_docs_only_selects_nothing(self): | CODE |
| 182 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/oracle-analytic/cases_features.py | 23 | # -------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/oracle-analytic/cases_features.py | 25 | # -------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/oracle-analytic/cases_features.py | 117 | # -------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/oracle-analytic/cases_features.py | 119 | # -------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/oracle-analytic/cases_features.py | 180 | # -------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/oracle-analytic/cases_features.py | 182 | # -------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/oracle-analytic/cases_features.py | 205 | # -------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/oracle-analytic/cases_features.py | 207 | # -------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/oracle-analytic/cases_basic.py | 21 | # ---------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/oracle-analytic/cases_basic.py | 23 | # ---------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/oracle-analytic/cases_basic.py | 77 | # ---------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/oracle-analytic/cases_basic.py | 80 | # ---------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/oracle-analytic/cases_basic.py | 163 | # ---------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/oracle-analytic/cases_basic.py | 165 | # ---------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/oracle-analytic/cases_basic.py | 184 | # ---------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/oracle-analytic/cases_basic.py | 186 | # ---------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/freecad-oracle/build.py | 42 | # -------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/freecad-oracle/build.py | 44 | # -------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/freecad-oracle/build.py | 65 | # -------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/freecad-oracle/build.py | 67 | # -------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/freecad-oracle/build.py | 543 | # -------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/freecad-oracle/build.py | 545 | # -------------------------------------------------------------------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | packaging/tests/flatpak_test.py | 177 | CODE | |
| LOW | packaging/linux/snap-smoke.py | 41 | CODE | |
| LOW | packaging/linux/snap-smoke.py | 102 | CODE | |
| LOW | packaging/linux/flatpak-smoke.py | 95 | CODE | |
| LOW | packaging/linux/flatpak-smoke.py | 206 | CODE | |
| LOW | tools/oracle-analytic/cases_sheet_metal.py | 123 | CODE | |
| LOW | tools/oracle-analytic/cases_features.py | 77 | CODE | |
| LOW | tools/render-library/selene_recipe.py | 11 | CODE | |
| LOW | tools/render-library/test_selene_recipe.py | 20 | CODE | |
| LOW | tools/render-library/run_native_smoke.py | 62 | CODE | |
| LOW | tools/freecad-oracle/build.py | 610 | CODE | |
| LOW | tools/freecad-oracle/build.py | 140 | CODE | |
| LOW | tools/freecad-oracle/build.py | 189 | CODE | |
| LOW | tools/freecad-oracle/build.py | 485 | CODE | |
| LOW | tools/freecad-oracle/build.py | 706 | CODE | |
| LOW | tools/freecad-oracle/build.py | 795 | CODE | |
| LOW | tools/freecad-oracle/build.py | 928 | CODE | |
| LOW | tools/freecad-oracle/build.py | 1142 | CODE | |
| LOW | tools/freecad-oracle/build.py | 1215 | CODE | |
| LOW | tools/freecad-oracle/build.py | 1258 | CODE | |
| LOW | tools/freecad-oracle/emit.py | 14 | CODE | |
| LOW | tests/tools/test_icon_review.py | 24 | CODE | |
| LOW | tests/tools/test_icon_review.py | 102 | CODE | |
| LOW | tests/tools/test_icon_review.py | 212 | CODE | |
| LOW | tests/tools/test_icon_export.py | 60 | CODE | |
| LOW | docs/render-materials/validate_catalog.py | 246 | CODE | |
| LOW | docs/render-materials/validate_catalog.py | 321 | CODE | |
| LOW | docs/render-materials/validate_catalog.py | 455 | CODE | |
| LOW | docs/render-materials/validate_catalog.py | 612 | CODE | |
| LOW | docs/render-materials/validate_catalog.py | 825 | CODE | |
| LOW | docs/render-materials/validate_catalog.py | 975 | CODE | |
| LOW | docs/render-materials/validate_catalog.py | 1061 | CODE | |
| LOW | examples/demo/overlay.py | 80 | CODE | |
| LOW | examples/demo/enclosure_ui_mcp.py | 726 | CODE | |
| LOW | scripts/param_audit.py | 61 | CODE | |
| LOW | scripts/ci/test_affected.py | 74 | CODE | |
| LOW | scripts/ci/affected.py | 88 | CODE | |
| LOW | assets/render/selene/tools/build.py | 71 | CODE | |
| LOW | assets/render/selene/tools/validate_native.py | 399 | CODE | |
| LOW | assets/render/selene/tools/presentation.py | 134 | CODE | |
| LOW | assets/render/selene/tools/finishes.py | 49 | CODE | |
| LOW | assets/render/selene/tools/electronics.py | 123 | CODE | |
| LOW | assets/render/selene/tools/prepare.py | 51 | CODE | |
| LOW | assets/render/selene/tools/validate_prepared.py | 112 | CODE | |
| LOW | assets/render/physical/tools/test_export_library.py | 73 | CODE | |
| LOW | assets/render/physical/tools/physical.py | 334 | CODE | |
| LOW | assets/render/starter/tools/validate_pack.py | 14 | CODE | |
| LOW | assets/render/starter/tools/materials.py | 145 | CODE | |
| LOW | assets/render/starter/tools/materials.py | 332 | CODE | |
| LOW | assets/render/starter/tools/lighting.py | 256 | CODE | |
| LOW | assets/render/starter/tools/lighting.py | 426 | CODE | |
| LOW | assets/render/starter/tools/environments.py | 257 | CODE | |
| LOW | assets/render/starter/tools/test_materials.py | 83 | CODE | |
| LOW | assets/render/starter/tools/test_materials.py | 243 | CODE | |
| LOW | assets/models/make_test_boat.py | 23 | CODE | |
| LOW | assets/icons/ui/design/tools/icon_status.py | 85 | CODE | |
| LOW | assets/icons/ui/design/tools/icon_status.py | 194 | CODE | |
| LOW | assets/icons/ui/design/tools/icon_status.py | 272 | CODE | |
| LOW | assets/icons/ui/design/tools/icon_status.py | 280 | CODE | |
| LOW | assets/icons/ui/design/tools/icon_palette.py | 13 | CODE | |
| 4 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/render-library/package_selene.py | 8 | CODE | |
| LOW | tools/render-library/package_selene.py | 10 | CODE | |
| LOW | tools/render-library/test_publish_selene.py | 2 | CODE | |
| LOW | tools/render-library/selene_studio.py | 8 | CODE | |
| LOW | tools/render-library/selene_studio.py | 10 | CODE | |
| LOW | tools/render-library/generate.py | 5 | CODE | |
| LOW | tools/render-library/selene_recipe.py | 7 | CODE | |
| LOW | tools/render-library/publish_selene.py | 9 | CODE | |
| LOW | tools/render-library/test_selene_recipe.py | 2 | CODE | |
| LOW | tools/render-library/run_native_smoke.py | 7 | CODE | |
| LOW | tools/freecad-oracle/build.py | 18 | CODE | |
| LOW | docs/render-materials/validate_catalog.py | 14 | CODE | |
| LOW | examples/demo/rover_replay.py | 12 | CODE | |
| LOW | skills/solidcraft-checking/scripts/run.py | 6 | CODE | |
| LOW | skills/solidcraft-checking/scripts/scb.py | 8 | CODE | |
| LOW | assets/render/selene/tools/build.py | 10 | CODE | |
| LOW | assets/render/selene/tools/bearings.py | 15 | CODE | |
| LOW | assets/render/selene/tools/suspension.py | 18 | CODE | |
| LOW | assets/render/selene/tools/export_views.py | 9 | CODE | |
| LOW | assets/render/selene/tools/validate_native.py | 9 | CODE | |
| LOW | assets/render/selene/tools/presentation.py | 4 | CODE | |
| LOW | assets/render/selene/tools/finishes.py | 9 | CODE | |
| LOW | assets/render/selene/tools/electronics.py | 16 | CODE | |
| LOW | assets/render/selene/tools/mechanisms.py | 8 | CODE | |
| LOW | assets/render/selene/tools/prepare.py | 9 | CODE | |
| LOW | assets/render/selene/tools/yaw_supports.py | 15 | CODE | |
| LOW | assets/render/selene/tools/validate_prepared.py | 8 | CODE | |
| LOW | assets/render/physical/tools/check_physical.py | 9 | CODE | |
| LOW | assets/render/physical/tools/test_physical.py | 4 | CODE | |
| LOW | assets/render/physical/tools/export_library.py | 9 | CODE | |
| LOW | assets/render/physical/tools/export_library.py | 13 | CODE | |
| LOW | assets/render/physical/tools/physical.py | 7 | CODE | |
| LOW | assets/render/starter/tools/validate_pack.py | 3 | CODE | |
| LOW | assets/render/starter/tools/validate_pack.py | 7 | CODE | |
| LOW | assets/render/starter/tools/test_check_all.py | 2 | CODE | |
| LOW | assets/render/starter/tools/test_lighting.py | 4 | CODE | |
| LOW | assets/render/starter/tools/materials.py | 7 | CODE | |
| LOW | assets/render/starter/tools/test_environments.py | 3 | CODE | |
| LOW | assets/render/starter/tools/lighting.py | 9 | CODE | |
| LOW | assets/render/starter/tools/check_all.py | 3 | CODE | |
| LOW | assets/render/starter/tools/environments.py | 9 | CODE | |
| LOW | assets/render/starter/tools/test_materials.py | 7 | CODE | |
| LOW | assets/icons/ui/design/tools/author/new_icon.py | 6 | CODE | |
| LOW | assets/icons/ui/design/tools/author/bases.py | 5 | CODE | |
| LOW | assets/icons/ui/design/tools/author/bases.py | 5 | CODE | |
| LOW | assets/icons/ui/design/tools/author/bases.py | 5 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | packaging/linux/flatpak-smoke.py | 37 | kill "$app" 2>/dev/null || true | CODE |
| HIGH⚡ | packaging/linux/flatpak-smoke.py | 38 | wait "$app" 2>/dev/null || true | CODE |
| HIGH⚡ | packaging/linux/flatpak-smoke.py | 45 | if ! kill -0 "$app" 2>/dev/null; then exit 1; fi | CODE |
| HIGH⚡ | packaging/linux/flatpak-smoke.py | 46 | if { exec 3<>/dev/tcp/127.0.0.1/18837; } 2>/dev/null; then ready=1; break; fi | CODE |
| HIGH⚡ | packaging/linux/flatpak-smoke.py | 53 | until printf '%s\n' "$inspect" >&3 && IFS= read -r -t 30 reply <&3 && [[ "$reply" =~ \"viewport\":\ *\[ ]]; do | CODE |
| HIGH | assets/platforms/macos/dmg/make_background.py | 12 | python3 -m venv target/dmg-art && target/dmg-art/bin/pip install pillow | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | crates/ui-egui/tests/icon_audit.rs | 43 | let placeholder = item["placeholder"].as_bool().unwrap(); | CODE |
| LOW | crates/ui-egui/tests/icon_audit.rs | 72 | assert_eq!(item["placeholder"], false, "{surface}: {item}"); | CODE |
| LOW | crates/ui-egui/tests/icon_audit.rs | 533 | assert!(requests.iter().any(|r| r.name == "missing_audit_test_icon" && r.master == "placeholder" && r.placeholder)); | CODE |
| LOW | crates/ui-egui/tests/popup_regressions.rs | 76 | assert_ne!(solidcraft_ui_egui::icon_svg::resolve(id).master, "placeholder"); | CODE |
| LOW | crates/ui-egui/src/icon_svg.rs | 24 | pub const PLACEHOLDER: &str = "placeholder"; | CODE |
| LOW | crates/ui-egui/src/context_menu.rs | 2177 | value["placeholder"] = json!(placeholder); | CODE |
| LOW | crates/ui-egui/src/agent_chat/summary.rs | 319 | // A Windows folder may hold spaces ("Jane Doe"): carry on while the last part has no extension. | COMMENT |
| LOW | crates/doc/src/drawing_tests.rs | 37 | d.properties.set(crate::metadata::Owner::Design, "author", json!("Jane Doe")).unwrap(); | CODE |
| LOW | crates/doc/src/drawing_tests.rs | 92 | assert_eq!(v["properties"], json!({"author": "Jane Doe"})); | CODE |
| LOW | crates/doc/src/metadata.rs | 326 | let m: Metadata = serde_json::from_value(json!({"author": "Jane Doe", "revision": 3, "project": "", "license": n | CODE |
| LOW | crates/doc/src/metadata.rs | 327 | assert_eq!(m.author(), Some("Jane Doe")); | CODE |
| LOW⚡ | crates/engine/src/cmd/metadata.rs | 118 | json!({"values": {"author": "Jane Doe", "part_number": "ACME-1042", "com.acme.shop": {"shop_id": 88123}}}), | CODE |
| LOW⚡ | crates/engine/src/cmd/metadata.rs | 124 | assert_eq!(r["properties"]["author"], "Jane Doe"); | CODE |
| LOW⚡ | crates/engine/src/cmd/metadata.rs | 129 | let r = run(&mut s, "document.metadata.set", json!({"key": "author", "value": "Jane Doe"})); | CODE |
| LOW⚡ | crates/engine/src/cmd/metadata.rs | 137 | assert_eq!(s.doc.metadata.author(), Some("Jane Doe")); | CODE |
| LOW | crates/engine/src/cmd/metadata.rs | 231 | "project": "ACME enclosures", "author": "Jane Doe", "organization": "ACME", "license": "CC-BY-4.0", | CODE |
| LOW | crates/engine/src/cmd/metadata.rs | 242 | assert!(step.contains("('Jane Doe'),('ACME')"), "{}", &step[..400]); | CODE |
| LOW | crates/engine/src/cmd/metadata.rs | 255 | assert!(assembly.contains("('Jane Doe'),('ACME')")); | CODE |
| LOW | docs/book/src/guide/files.md | 237 | "author": "Jane Doe", | CODE |
| LOW⚡ | assets/icons/ui/design/tools/icon_status.py | 125 | if m in masters and n != 'placeholder' and not runtime.get(n, False): status = 'done' | CODE |
| LOW⚡ | assets/icons/ui/design/tools/icon_status.py | 126 | else: status, m = 'placeholder', 'placeholder' | CODE |
| LOW⚡ | assets/icons/ui/design/tools/icon_status.py | 131 | cnt = collections.Counter(r['status'] for r in rows if r['id'] != 'placeholder') | CODE |
| LOW⚡ | assets/icons/ui/design/tools/icon_status.py | 134 | if r['id'] != 'placeholder': cmd_cnt[r['status']] += r['commands'] | CODE |
| LOW⚡ | assets/icons/ui/design/tools/icon_status.py | 135 | summary = '%d discovered icon ids · %d with artwork · %d missing · %d assigned commands.' % (sum(cnt.values()), cnt[ | CODE |
| LOW⚡ | assets/icons/ui/design/tools/icon_status.py | 147 | if '--check' in args: sys.exit(1 if unassigned or any(r['status'] == 'placeholder' and r['id'] != 'placeholder' for r in | CODE |
| LOW⚡ | assets/icons/ui/design/tools/icon_status.py | 157 | print('\n%d icon(s) with notes to work on; %d final of %d.' % (n, len(rv['final']), len([r for r in rows if r['id'] | CODE |
| LOW⚡ | assets/icons/ui/design/tools/icon_status.py | 166 | if r['id'] == 'placeholder': continue | CODE |
| LOW⚡ | assets/icons/ui/design/tools/icon_status.py | 167 | f.write('%s,%s,%s,%s,%d,%s,"%s"\n' % (r['id'], r['status'], r['master'] if r['status'] != 'placeholder' else | CODE |
| LOW | assets/icons/ui/design/tools/icon_status.py | 198 | shown = [r for r in rows if r['id'] != 'placeholder'] | CODE |
| LOW | assets/icons/ui/design/tools/icon_status.py | 211 | missing = r['status'] == 'placeholder' | CODE |
| LOW | assets/icons/ui/design/tools/icon_status.py | 235 | state = json.dumps({'final': sorted(valid), 'notes': rv['notes'], 'serving': serving, 'rev': art_rev(), 'palette': p | CODE |
| LOW | assets/icons/ui/design/tools/icon_status.py | 296 | available = {r['id'] for r in scan()[0] if r['status'] != 'placeholder'} | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/render-library/selene_studio.py | 147 | except (RuntimeError, ValueError, TimeoutError, OSError): | CODE |
| HIGH | tools/freecad-oracle/build.py | 581 | except Exception: | CODE |
| HIGH | tools/freecad-oracle/build.py | 515 | except Exception: | CODE |
| HIGH | examples/demo/enclosure_ui_mcp.py | 644 | except RuntimeError: | CODE |
| HIGH | examples/demo/enclosure_ui_mcp.py | 759 | except StopIteration: | CODE |
| HIGH | assets/icons/ui/design/tools/icon_status.py | 330 | except KeyboardInterrupt: pass | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | crates/render/src/raytrace/punctual.rs | 118 | /// Re-aim from the common robust geometric offset, then exclude the source. | COMMENT |
| MEDIUM | crates/kernel/src/body.rs | 279 | // The robust search tries the exact one first, so exact geometry costs nothing extra; a | COMMENT |
| MEDIUM | crates/kernel/src/tess/mod.rs | 522 | // along a parameter line into one period (a seamless cylinder face, a helical trim). | COMMENT |
| MEDIUM | examples/studio/author_scene.py | 130 | # Broad seamless studio floor. Its far edge is outside the explicit camera. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/render-library/run_native_smoke.py | 136 | except Exception as error: | CODE |
| MEDIUM | tools/freecad-oracle/build.py | 512 | def profile_face(self, prof): | CODE |
| MEDIUM | tools/freecad-oracle/build.py | 575 | def refine(s): | CODE |
| LOW | tools/freecad-oracle/build.py | 515 | except Exception: | CODE |
| LOW | tools/freecad-oracle/build.py | 581 | except Exception: | CODE |
| LOW | tools/freecad-oracle/build.py | 1362 | except Exception as e: | CODE |
| LOW | assets/icons/ui/design/tools/icon_status.py | 325 | except Exception as e: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tests/tools/test_icon_review.py | 354 | # The fixture's palette is intentionally minimal; the scaffold uses | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | assets/icons/ui/design/tools/icon_status.py | 290 | if not isinstance(base, dict): raise ValueError('stale page: reload it') | CODE |