Repository Analysis

yizhiyanhua-ai/fireworks-tech-graph

Generate production-quality SVG+PNG technical diagrams from natural language. 7 styles, UML support, and AI/Agent workflow patterns.

9.2 Low AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of yizhiyanhua-ai/fireworks-tech-graph, a Python project with 9,596 GitHub stars. SynthScan v2.0 examined 46,640 lines of code across 147 source files, recording 414 pattern matches distributed across 8 syntactic categories. The overall adjusted score of 9.2 places this repository in the Low AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

9.2
Adjusted Score
9.2
Raw Score
100%
Time Factor
2026-07-17
Last Push
9.6K
Stars
Python
Language
46.6K
Lines of Code
147
Files
414
Pattern Hits
2026-08-02
Scan Date
0.03
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.

No multi-scan history yet — run the scanner again to build trend data.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 0HIGH 4MEDIUM 12LOW 398

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 414 distinct pattern matches across 8 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Hyper-Verbose Identifiers286 hits · 277 pts
SeverityFileLineSnippetContext
LOWtests/test_motion.py102def _orthogonal_edge_segments(svg: Path) -> list[tuple[float, float, float, float]]:CODE
LOWtests/test_motion.py154def _point_to_segment_distance(CODE
LOWtests/test_motion.py168def _component_is_on_edge_or_node_border(CODE
LOWtests/test_motion.py183def _decoded_rgba_compatibility(left: Path, right: Path, svg: Path) -> dict[str, object]:CODE
LOWtests/test_motion.py270 def assert_specialized_style_contract(CODE
LOWtests/test_motion.py348 def test_style_five_glass_task_capsule_contract_is_exact(self) -> None:CODE
LOWtests/test_motion.py381 def test_style_six_governance_policy_seal_contract_is_exact(self) -> None:CODE
LOWtests/test_motion.py404 def test_style_seven_api_token_train_contract_is_exact(self) -> None:CODE
LOWtests/test_motion.py426 def test_style_six_and_seven_feedback_legends_use_distinct_semantic_encodings(self) -> None:CODE
LOWtests/test_motion.py471 def test_style_eight_gem_circuit_contract_is_exact(self) -> None:CODE
LOWtests/test_motion.py498 def test_style_nine_review_cursor_contract_is_exact(self) -> None:CODE
LOWtests/test_motion.py520 def test_style_ten_active_active_cloud_flow_contract_is_exact(self) -> None:CODE
LOWtests/test_motion.py545 def test_style_eleven_event_transit_train_contract_is_exact(self) -> None:CODE
LOWtests/test_motion.py571 def test_style_twelve_ops_pulse_waterfall_contract_is_exact(self) -> None:CODE
LOWtests/test_motion.py600 def test_styles_ten_to_twelve_motion_metadata_preserves_static_geometry(self) -> None:CODE
LOWtests/test_motion.py629 def test_style_one_default_plan_matches_focused_gif_contract(self) -> None:CODE
LOWtests/test_motion.py653 def test_unsupported_style_reports_the_current_enabled_range(self) -> None:CODE
LOWtests/test_motion.py664 def test_style_two_default_plan_matches_terminal_evidence_trace_contract(self) -> None:CODE
LOWtests/test_motion.py699 def test_style_two_schedule_stream_colors_phases_directions_and_cursor_are_pinned(self) -> None:CODE
LOWtests/test_motion.py797 def test_style_three_blueprint_distribution_contract_is_pinned(self) -> None:CODE
LOWtests/test_motion.py896 def test_style_three_semantic_contract_is_not_byte_hash_locked(self) -> None:CODE
LOWtests/test_motion.py910 def test_style_four_notion_memory_card_handoff_contract_is_pinned(self) -> None:CODE
LOWtests/test_motion.py1023 def test_style_four_semantic_contract_is_not_byte_hash_locked(self) -> None:CODE
LOWtests/test_motion.py1033 def test_motion_grammar_uses_empty_draw_live_and_reset_phases(self) -> None:CODE
LOWtests/test_motion.py1057 def test_style_one_schedule_is_pinned_to_the_review_contract(self) -> None:CODE
LOWtests/test_motion.py1139 def test_fifty_five_frame_compatibility_timeline_keeps_the_approved_build_indices(self) -> None:CODE
LOWtests/test_motion.py1158 def test_seventy_five_frame_compatibility_keeps_the_approved_timing_contract(self) -> None:CODE
LOWtests/test_motion.py1180 def test_periodic_frame_hash_contract_reports_repeat_indices_and_rejects_bad_scope(self) -> None:CODE
LOWtests/test_motion.py1277 def test_worker_contains_all_twelve_per_style_scene_contracts(self) -> None:CODE
LOWtests/test_motion.py1388 'function addBlueprintDistributionWave(edge, entry)',CODE
LOWtests/test_motion.py1389 'function addNotionMemoryCardHandoff(edge, entry)',CODE
LOWtests/test_motion.py1479 def test_public_docs_describe_draw_on_then_live_operation(self) -> None:CODE
LOWtests/test_motion.py1530 def test_raw_worker_frames_preserve_styles_one_through_three_and_prove_style_four_notion_handoff(self) -> None:CODE
LOWtests/test_motion.py1784 def assert_half_scale_card_signature(CODE
LOWtests/test_motion.py2180 def test_worker_does_not_execute_a_renderer_module_from_the_current_directory(self) -> None:CODE
LOWtests/test_motion.py2213 def test_styles_five_through_twelve_real_chromium_contracts(self) -> None:CODE
LOWtests/test_motion.py2526 def test_only_generated_svg_inputs_are_accepted(self) -> None:CODE
LOWtests/test_motion.py2544 def test_explicit_motion_metadata_is_required(self) -> None:CODE
LOWtests/test_motion.py2556 def test_unknown_motion_roles_fail_closed(self) -> None:CODE
LOWtests/test_motion.py2570 def test_preset_cannot_be_applied_to_a_different_style(self) -> None:CODE
LOWtests/test_motion.py2577 def test_motion_budget_rejects_unsafe_settings(self) -> None:CODE
LOWtests/test_motion.py2598 def test_gif_output_and_report_paths_fail_closed(self) -> None:CODE
LOWtests/test_motion.py2614 def test_gif_dry_run_reports_single_delivery_contract(self) -> None:CODE
LOWtests/test_motion.py2627 def test_encoded_gif_probe_is_strict(self) -> None:CODE
LOWtests/test_motion.py2648 def test_gif_loop_extension_is_read_back_as_infinite(self) -> None:CODE
LOWtests/test_motion.py2668 def test_size_guidance_stays_within_gif_scope(self) -> None:CODE
LOWtests/test_motion.py2682 def test_render_timeout_preserves_existing_gif(self) -> None:CODE
LOWtests/test_motion.py2705 def test_render_failure_preserves_existing_gif(self) -> None:CODE
LOWtests/test_motion.py2729 def test_artifact_commit_rolls_back_gif_and_report_together(self) -> None:CODE
LOWtests/test_diagram_ir.py40 def test_normalization_never_mutates_the_caller(self) -> None:CODE
LOWtests/test_diagram_ir.py46 def test_duplicate_and_dangling_ids_are_rejected(self) -> None:CODE
LOWtests/test_diagram_ir.py56 def test_container_ids_are_non_empty_and_globally_unique(self) -> None:CODE
LOWtests/test_diagram_ir.py75 def test_schema_mode_and_non_finite_values_are_rejected(self) -> None:CODE
LOWtests/test_diagram_ir.py86 def test_malformed_waypoint_is_rejected(self) -> None:CODE
LOWtests/test_geometry_contracts.py47 def test_waypoint_inside_reserved_obstacle_is_rejected(self) -> None:CODE
LOWtests/test_geometry_contracts.py57 def test_waypoint_outside_canvas_is_rejected(self) -> None:CODE
LOWtests/test_geometry_contracts.py67 def test_existing_edge_is_avoided_when_a_clear_corridor_exists(self) -> None:CODE
LOWtests/test_geometry_contracts.py346 def test_edge_edge_crossing_is_reported(self) -> None:CODE
LOWtests/test_geometry_contracts.py355 def test_declared_jump_over_allows_an_unavoidable_crossing(self) -> None:CODE
LOWtests/test_geometry_contracts.py365 def test_declared_jump_requires_a_bridge_mask(self) -> None:CODE
226 more matches not shown…
Deep Nesting60 hits · 54 pts
SeverityFileLineSnippetContext
LOWtools/check_project_consistency.py70CODE
LOWtools/check_project_consistency.py147CODE
LOWtools/distribution.py129CODE
LOWtools/distribution.py183CODE
LOWtests/test_motion.py102CODE
LOWtests/test_motion.py426CODE
LOWtests/test_motion.py600CODE
LOWtests/test_motion.py2213CODE
LOWtests/test_motion.py2308CODE
LOWtests/test_motion.py2526CODE
LOWtests/test_semantic_contracts.py168CODE
LOWtests/test_semantic_contracts.py266CODE
LOWscripts/semantic_contracts.py145CODE
LOWscripts/semantic_contracts.py425CODE
LOWscripts/validate_svg.py93CODE
LOWscripts/validate_svg.py342CODE
LOWscripts/validate_svg.py617CODE
LOWscripts/validate_svg.py808CODE
LOWscripts/generate-from-template.py791CODE
LOWscripts/generate-from-template.py887CODE
LOWscripts/generate-from-template.py1706CODE
LOWscripts/generate-from-template.py1811CODE
LOWscripts/generate-from-template.py2239CODE
LOWscripts/generate-from-template.py2430CODE
LOWscripts/interactive_html.py170CODE
LOWscripts/motion.py1064CODE
LOWscripts/motion.py1320CODE
LOWscripts/motion.py1599CODE
LOWscripts/motion.py1693CODE
LOWscripts/fireworks_geometry.py198CODE
LOWscripts/fireworks_geometry.py229CODE
LOWscripts/fireworks_geometry.py294CODE
LOWskills/fireworks-tech-graph/tests/test_motion.py102CODE
LOWskills/fireworks-tech-graph/tests/test_motion.py426CODE
LOWskills/fireworks-tech-graph/tests/test_motion.py600CODE
LOWskills/fireworks-tech-graph/tests/test_motion.py2213CODE
LOWskills/fireworks-tech-graph/tests/test_motion.py2308CODE
LOWskills/fireworks-tech-graph/tests/test_motion.py2526CODE
LOW…/fireworks-tech-graph/tests/test_semantic_contracts.py168CODE
LOW…/fireworks-tech-graph/tests/test_semantic_contracts.py266CODE
LOW…lls/fireworks-tech-graph/scripts/semantic_contracts.py145CODE
LOW…lls/fireworks-tech-graph/scripts/semantic_contracts.py425CODE
LOWskills/fireworks-tech-graph/scripts/validate_svg.py93CODE
LOWskills/fireworks-tech-graph/scripts/validate_svg.py342CODE
LOWskills/fireworks-tech-graph/scripts/validate_svg.py617CODE
LOWskills/fireworks-tech-graph/scripts/validate_svg.py808CODE
LOW…fireworks-tech-graph/scripts/generate-from-template.py791CODE
LOW…fireworks-tech-graph/scripts/generate-from-template.py887CODE
LOW…fireworks-tech-graph/scripts/generate-from-template.py1706CODE
LOW…fireworks-tech-graph/scripts/generate-from-template.py1811CODE
LOW…fireworks-tech-graph/scripts/generate-from-template.py2239CODE
LOW…fireworks-tech-graph/scripts/generate-from-template.py2430CODE
LOWskills/fireworks-tech-graph/scripts/interactive_html.py170CODE
LOWskills/fireworks-tech-graph/scripts/motion.py1064CODE
LOWskills/fireworks-tech-graph/scripts/motion.py1320CODE
LOWskills/fireworks-tech-graph/scripts/motion.py1599CODE
LOWskills/fireworks-tech-graph/scripts/motion.py1693CODE
LOW…lls/fireworks-tech-graph/scripts/fireworks_geometry.py198CODE
LOW…lls/fireworks-tech-graph/scripts/fireworks_geometry.py229CODE
LOW…lls/fireworks-tech-graph/scripts/fireworks_geometry.py294CODE
Unused Imports38 hits · 35 pts
SeverityFileLineSnippetContext
LOWtools/check_project_consistency.py4CODE
LOWtools/distribution.py4CODE
LOWtests/test_motion.py1CODE
LOWtests/test_diagram_ir.py1CODE
LOWtests/test_geometry_contracts.py1CODE
LOWtests/test_python_compatibility.py1CODE
LOWtests/test_validate_svg.py1CODE
LOWtests/test_interactive_html.py1CODE
LOWtests/test_skill_compatibility.py1CODE
LOWtests/test_semantic_contracts.py1CODE
LOWtests/test_cli.py1CODE
LOWscripts/semantic_contracts.py9CODE
LOWscripts/composition_quality.py10CODE
LOWscripts/validate_svg.py8CODE
LOWscripts/generate-from-template.py13CODE
LOWscripts/interactive_html.py4CODE
LOWscripts/motion.py4CODE
LOWscripts/fireworks.py4CODE
LOWscripts/fireworks_geometry.py9CODE
LOWscripts/diagram_ir.py8CODE
LOWskills/fireworks-tech-graph/tests/test_motion.py1CODE
LOWskills/fireworks-tech-graph/tests/test_diagram_ir.py1CODE
LOW…/fireworks-tech-graph/tests/test_geometry_contracts.py1CODE
LOW…ireworks-tech-graph/tests/test_python_compatibility.py1CODE
LOWskills/fireworks-tech-graph/tests/test_validate_svg.py1CODE
LOW…ls/fireworks-tech-graph/tests/test_interactive_html.py1CODE
LOW…fireworks-tech-graph/tests/test_skill_compatibility.py1CODE
LOW…/fireworks-tech-graph/tests/test_semantic_contracts.py1CODE
LOWskills/fireworks-tech-graph/tests/test_cli.py1CODE
LOW…lls/fireworks-tech-graph/scripts/semantic_contracts.py9CODE
LOW…ls/fireworks-tech-graph/scripts/composition_quality.py10CODE
LOWskills/fireworks-tech-graph/scripts/validate_svg.py8CODE
LOW…fireworks-tech-graph/scripts/generate-from-template.py13CODE
LOWskills/fireworks-tech-graph/scripts/interactive_html.py4CODE
LOWskills/fireworks-tech-graph/scripts/motion.py4CODE
LOWskills/fireworks-tech-graph/scripts/fireworks.py4CODE
LOW…lls/fireworks-tech-graph/scripts/fireworks_geometry.py9CODE
LOWskills/fireworks-tech-graph/scripts/diagram_ir.py8CODE
Cross-Language Confusion4 hits · 20 pts
SeverityFileLineSnippetContext
HIGHscripts/interactive_html.py277 let drag = null;CODE
HIGHscripts/interactive_html.py294 const endDrag = () => {{ drag=null; stage.classList.remove('dragging'); }};CODE
HIGHskills/fireworks-tech-graph/scripts/interactive_html.py277 let drag = null;CODE
HIGHskills/fireworks-tech-graph/scripts/interactive_html.py294 const endDrag = () => {{ drag=null; stage.classList.remove('dragging'); }};CODE
Excessive Try-Catch Wrapping12 hits · 18 pts
SeverityFileLineSnippetContext
MEDIUMscripts/generate-from-template.py3345 print(f"Error: {exc}")CODE
MEDIUMscripts/generate-from-template.py3348 print(f"Error: Invalid JSON: {exc}")CODE
MEDIUMscripts/generate-from-template.py3361 print(f"Error: {exc}")CODE
LOWscripts/generate-from-template.py3363 except Exception as exc: # pragma: no coverCODE
LOWscripts/motion.py1688 except Exception:CODE
LOWscripts/motion.py1716 except Exception as error:CODE
MEDIUM…fireworks-tech-graph/scripts/generate-from-template.py3345 print(f"Error: {exc}")CODE
MEDIUM…fireworks-tech-graph/scripts/generate-from-template.py3348 print(f"Error: Invalid JSON: {exc}")CODE
MEDIUM…fireworks-tech-graph/scripts/generate-from-template.py3361 print(f"Error: {exc}")CODE
LOW…fireworks-tech-graph/scripts/generate-from-template.py3363 except Exception as exc: # pragma: no coverCODE
LOWskills/fireworks-tech-graph/scripts/motion.py1688 except Exception:CODE
LOWskills/fireworks-tech-graph/scripts/motion.py1716 except Exception as error:CODE
Modern AI Meta-Vocabulary6 hits · 14 pts
SeverityFileLineSnippetContext
MEDIUMSKILL.md316| Async / event | gray `#6b7280` | 1.5px | `4,2` | Non-blocking, event-driven |CODE
MEDIUMreferences/icons.md161### AI Memory & RAG ProductsCOMMENT
MEDIUMreferences/style-1-flat-icon.md84 <text x="36" y="28" fill="#6b7280" font-size="12">RAG flow</text>CODE
MEDIUMskills/fireworks-tech-graph/SKILL.md316| Async / event | gray `#6b7280` | 1.5px | `4,2` | Non-blocking, event-driven |CODE
MEDIUMskills/fireworks-tech-graph/references/icons.md161### AI Memory & RAG ProductsCOMMENT
MEDIUM…s/fireworks-tech-graph/references/style-1-flat-icon.md84 <text x="36" y="28" fill="#6b7280" font-size="12">RAG flow</text>CODE
Modern Structural Boilerplate6 hits · 6 pts
SeverityFileLineSnippetContext
LOWscripts/semantic_contracts.py686__all__ = [CODE
LOWscripts/composition_quality.py264__all__ = [CODE
LOWscripts/diagram_ir.py195__all__ = [CODE
LOW…lls/fireworks-tech-graph/scripts/semantic_contracts.py686__all__ = [CODE
LOW…ls/fireworks-tech-graph/scripts/composition_quality.py264__all__ = [CODE
LOWskills/fireworks-tech-graph/scripts/diagram_ir.py195__all__ = [CODE
Redundant / Tautological Comments2 hits · 3 pts
SeverityFileLineSnippetContext
LOWscripts/test-all-styles.sh65 # Check if style reference existsCOMMENT
LOWskills/fireworks-tech-graph/scripts/test-all-styles.sh65 # Check if style reference existsCOMMENT