From 14e16e9d1180b9e2db07ff4587688c9673b0c6f7 Mon Sep 17 00:00:00 2001 From: Tom Softreck Date: Fri, 10 Apr 2026 23:05:09 +0200 Subject: [PATCH] Autonomous refactoring by ReDSL Applied 3 top refactoring suggestions automatically. --- project/README.md | 4 +- project/analysis.toon.yaml | 29 +- project/batch_1/analysis.toon.yaml | 93 ++++++ project/context.md | 517 +++++++++-------------------- project/root/analysis.toon.yaml | 93 ++++++ 5 files changed, 356 insertions(+), 380 deletions(-) create mode 100644 project/batch_1/analysis.toon.yaml create mode 100644 project/root/analysis.toon.yaml diff --git a/project/README.md b/project/README.md index a0b0c6d..3e15d2c 100644 --- a/project/README.md +++ b/project/README.md @@ -332,9 +332,9 @@ code2llm ./ -f yaml --separate-orphans --- **Generated by**: `code2llm ./ -f all --readme` -**Analysis Date**: 2026-04-09 +**Analysis Date**: 2026-04-10 **Total Functions**: 425 **Total Classes**: 44 -**Modules**: 99 +**Modules**: 103 For more information about code2llm, visit: https://github.com/tom-sapletta/code2llm diff --git a/project/analysis.toon.yaml b/project/analysis.toon.yaml index f5e78ee..0cff8c4 100644 --- a/project/analysis.toon.yaml +++ b/project/analysis.toon.yaml @@ -1,21 +1,20 @@ -# code2llm | 58f 7016L | python:56,shell:1 | 2026-04-09 -# CC̄=3.4 | critical:0/425 | dups:0 | cycles:1 +# code2llm | 58f 7015L | python:58,shell:2 | 2026-04-10 +# CC̄=3.4 | critical:0/425 | dups:0 | cycles:0 HEALTH[0]: ok -REFACTOR[1]: - 1. break 1 circular dependencies +REFACTOR[0]: none needed -PIPELINES[201]: - [1] Src [main]: main → print +PIPELINES[197]: + [1] Src [__init__]: __init__ PURITY: 100% pure - [2] Src [main]: main → run_validation_examples → print + [2] Src [_get_cache_key]: _get_cache_key PURITY: 100% pure - [3] Src [main]: main → print + [3] Src [get]: get PURITY: 100% pure - [4] Src [main]: main → print + [4] Src [clear]: clear PURITY: 100% pure - [5] Src [__init__]: __init__ → load_config + [5] Src [get_cache_stats]: get_cache_stats PURITY: 100% pure LAYERS: @@ -34,7 +33,7 @@ LAYERS: │ languages 227L 1C 6m CC=6 ←6 │ python_imports 225L 1C 9m CC=14 ←0 │ scoring 218L 5C 8m CC=7 ←0 - │ semantic_cache 187L 1C 8m CC=5 ←2 + │ semantic_cache 187L 1C 8m CC=5 ←7 │ complexity 183L 1C 4m CC=12 ←0 │ lint 182L 1C 6m CC=9 ←0 │ utils 166L 0C 5m CC=14 ←5 @@ -45,10 +44,10 @@ LAYERS: │ config 122L 1C 6m CC=3 ←1 │ javascript_imports 118L 1C 7m CC=5 ←0 │ graph_diff 104L 1C 3m CC=9 ←1 - │ syntax 96L 1C 3m CC=4 ←0 + │ syntax 96L 1C 3m CC=4 ←13 │ c_imports 88L 1C 4m CC=5 ←0 │ go_imports 84L 1C 5m CC=5 ←0 - │ file_cache 82L 1C 7m CC=3 ←7 + │ file_cache 82L 1C 7m CC=3 ←2 │ single 80L 0C 3m CC=6 ←0 │ __init__ 79L 0C 3m CC=4 ←3 │ rust_imports 78L 1C 5m CC=3 ←0 @@ -65,7 +64,7 @@ LAYERS: │ __init__ 25L 0C 0m CC=0.0 ←0 │ batch_constants 23L 0C 0m CC=0.0 ←0 │ batch_utils 22L 1C 1m CC=6 ←0 - │ base 21L 1C 1m CC=1 ←13 + │ base 21L 1C 1m CC=1 ←0 │ base 19L 0C 2m CC=4 ←0 │ __init__ 19L 0C 0m CC=0.0 ←0 │ utils 11L 0C 3m CC=3 ←0 @@ -76,7 +75,7 @@ LAYERS: │ __init__ 1L 0C 0m CC=0.0 ←0 │ mcp/ CC̄=3.3 ←in:0 →out:0 - │ _tools_vallm 465L 0C 14m CC=12 ←1 + │ _tools_vallm 464L 0C 14m CC=12 ←1 │ self_server 185L 0C 5m CC=6 ←0 │ __init__ 1L 0C 0m CC=0.0 ←0 │ __init__ 1L 0C 0m CC=0.0 ←0 diff --git a/project/batch_1/analysis.toon.yaml b/project/batch_1/analysis.toon.yaml new file mode 100644 index 0000000..0b1664d --- /dev/null +++ b/project/batch_1/analysis.toon.yaml @@ -0,0 +1,93 @@ +# code2llm | 58f 7015L | python:56,shell:1 | 2026-04-10 +# CC̄=3.4 | critical:0/425 | dups:0 | cycles:1 + +HEALTH[0]: ok + +REFACTOR[1]: + 1. break 1 circular dependencies + +PIPELINES[197]: + [1] Src [__init__]: __init__ + PURITY: 100% pure + [2] Src [_get_cache_key]: _get_cache_key + PURITY: 100% pure + [3] Src [get]: get + PURITY: 100% pure + [4] Src [clear]: clear + PURITY: 100% pure + [5] Src [get_cache_stats]: get_cache_stats + PURITY: 100% pure + +LAYERS: + scripts/ CC̄=5.0 ←in:0 →out:0 + │ bump_version 78L 0C 2m CC=5 ←0 + │ + src/ CC̄=3.4 ←in:0 →out:0 + │ output_formatters 476L 0C 21m CC=10 ←3 + │ batch_processor_impl 471L 1C 21m CC=13 ←0 + │ command_handlers 345L 0C 11m CC=8 ←0 + │ batch 315L 0C 16m CC=10 ←0 + │ semantic 302L 1C 15m CC=5 ←0 + │ gitignore 272L 1C 10m CC=11 ←1 + │ regression 265L 1C 10m CC=7 ←0 + │ security 255L 1C 5m CC=9 ←0 + │ languages 227L 1C 6m CC=6 ←6 + │ python_imports 225L 1C 9m CC=14 ←0 + │ scoring 218L 5C 8m CC=7 ←0 + │ semantic_cache 187L 1C 8m CC=5 ←7 + │ complexity 183L 1C 4m CC=12 ←0 + │ lint 182L 1C 6m CC=9 ←0 + │ utils 166L 0C 5m CC=14 ←5 + │ runner 144L 2C 4m CC=4 ←0 + │ logical 142L 1C 5m CC=6 ←0 + │ ast_compare 142L 0C 8m CC=4 ←5 + │ batch_processor_patterns 126L 1C 7m CC=8 ←1 + │ config 122L 1C 6m CC=3 ←1 + │ javascript_imports 118L 1C 7m CC=5 ←0 + │ graph_diff 104L 1C 3m CC=9 ←1 + │ syntax 96L 1C 3m CC=4 ←13 + │ c_imports 88L 1C 4m CC=5 ←0 + │ go_imports 84L 1C 5m CC=5 ←0 + │ file_cache 82L 1C 7m CC=3 ←2 + │ single 80L 0C 3m CC=6 ←0 + │ __init__ 79L 0C 3m CC=4 ←3 + │ rust_imports 78L 1C 5m CC=3 ←0 + │ batch_processor_validation 78L 0C 2m CC=7 ←0 + │ base 70L 1C 7m CC=3 ←0 + │ java_imports 68L 1C 5m CC=7 ←0 + │ shared 63L 0C 4m CC=8 ←0 + │ __init__ 45L 0C 0m CC=0.0 ←0 + │ factory 43L 1C 3m CC=2 ←1 + │ proposal 37L 1C 0m CC=0.0 ←0 + │ hookspecs 33L 1C 3m CC=1 ←0 + │ wrapper 30L 1C 1m CC=2 ←0 + │ batch_processor_files 25L 0C 1m CC=9 ←1 + │ __init__ 25L 0C 0m CC=0.0 ←0 + │ batch_constants 23L 0C 0m CC=0.0 ←0 + │ batch_utils 22L 1C 1m CC=6 ←0 + │ base 21L 1C 1m CC=1 ←0 + │ base 19L 0C 2m CC=4 ←0 + │ __init__ 19L 0C 0m CC=0.0 ←0 + │ utils 11L 0C 3m CC=3 ←0 + │ __main__ 5L 0C 0m CC=0.0 ←0 + │ batch_processor 5L 0C 0m CC=0.0 ←0 + │ __init__ 3L 0C 0m CC=0.0 ←0 + │ __init__ 1L 0C 0m CC=0.0 ←0 + │ __init__ 1L 0C 0m CC=0.0 ←0 + │ + mcp/ CC̄=3.3 ←in:0 →out:0 + │ _tools_vallm 464L 0C 14m CC=12 ←1 + │ self_server 185L 0C 5m CC=6 ←0 + │ __init__ 1L 0C 0m CC=0.0 ←0 + │ __init__ 1L 0C 0m CC=0.0 ←0 + │ + ./ CC̄=0.0 ←in:0 →out:0 + │ project.sh 37L 0C 0m CC=0.0 ←0 + │ mcp_server 28L 0C 0m CC=0.0 ←0 + │ + +COUPLING: no cross-package imports detected + +EXTERNAL: + validation: run `vallm batch .` → validation.toon + duplication: run `redup scan .` → duplication.toon diff --git a/project/context.md b/project/context.md index 53ce7a4..80158d6 100644 --- a/project/context.md +++ b/project/context.md @@ -2,14 +2,14 @@ ## Overview -- **Project**: /home/tom/github/semcod/vallm +- **Project**: /tmp/redsl-autonomous/vallm - **Primary Language**: python -- **Languages**: python: 91, shell: 8 +- **Languages**: python: 94, shell: 9 - **Analysis Mode**: static - **Total Functions**: 425 - **Total Classes**: 44 -- **Modules**: 99 -- **Entry Points**: 267 +- **Modules**: 103 +- **Entry Points**: 0 ## Architecture by Module @@ -18,29 +18,29 @@ - **Classes**: 1 - **File**: `batch_processor_impl.py` +### src.vallm.cli.output_formatters.batch +- **Functions**: 16 +- **File**: `batch.py` + ### examples.11_claude_code_autonomous.legacy_code.data_processor - **Functions**: 16 - **Classes**: 2 - **File**: `data_processor.py` -### src.vallm.cli.output_formatters.batch -- **Functions**: 16 -- **File**: `batch.py` - ### src.vallm.validators.semantic - **Functions**: 15 - **Classes**: 1 - **File**: `semantic.py` +### mcp.server._tools_vallm +- **Functions**: 14 +- **File**: `_tools_vallm.py` + ### examples.10_mcp_ollama_demo.legacy_code.order_processor - **Functions**: 14 - **Classes**: 1 - **File**: `order_processor.py` -### mcp.server._tools_vallm -- **Functions**: 14 -- **File**: `_tools_vallm.py` - ### examples.10_mcp_ollama_demo.refactored_output - **Functions**: 13 - **Classes**: 1 @@ -70,6 +70,11 @@ - **Classes**: 1 - **File**: `gitignore.py` +### src.vallm.validators.imports.python_imports +- **Functions**: 9 +- **Classes**: 1 +- **File**: `python_imports.py` + ### examples.12_ollama_simple_demo.ollama_simple_demo - **Functions**: 9 - **Classes**: 1 @@ -84,25 +89,20 @@ - **Classes**: 1 - **File**: `mcp_demo.py` -### src.vallm.validators.imports.python_imports -- **Functions**: 9 -- **Classes**: 1 -- **File**: `python_imports.py` - ### src.vallm.validators.semantic_cache - **Functions**: 8 - **Classes**: 1 - **File**: `semantic_cache.py` -### src.vallm.core.ast_compare -- **Functions**: 8 -- **File**: `ast_compare.py` - ### src.vallm.scoring - **Functions**: 8 - **Classes**: 5 - **File**: `scoring.py` +### src.vallm.core.ast_compare +- **Functions**: 8 +- **File**: `ast_compare.py` + ### src.vallm.validators.file_cache - **Functions**: 7 - **Classes**: 1 @@ -112,198 +112,10 @@ Main execution flows into the system: -### examples.04_graph_analysis.main.main -- **Calls**: examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, build_python_graph, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print - -### examples.utils.validation_runner.run_validation_examples -> Run standard validation examples (good, bad, complex code). - -Args: - example_name: Name for saving analysis data - good_code: Example of good code -- **Calls**: examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, Proposal, src.vallm.validators.base.BaseValidator.validate, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print - -### examples.11_claude_code_autonomous.claude_autonomous_demo.main -> Main entry point. -- **Calls**: argparse.ArgumentParser, parser.add_argument, parser.add_argument, parser.parse_args, Path, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print - -### examples.02_ast_comparison.main.main -- **Calls**: examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, src.vallm.core.ast_compare.python_ast_similarity, src.vallm.core.ast_compare.python_ast_similarity, src.vallm.core.ast_compare.python_ast_similarity, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print - -### src.vallm.cli.command_handlers.batch_command -> Validate multiple files with auto-detected languages. -- **Calls**: typer.Argument, typer.Option, typer.Option, typer.Option, typer.Option, typer.Option, typer.Option, typer.Option - -### examples.05_llm_semantic_review.main.main -- **Calls**: VallmSettings, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, Proposal, src.vallm.validators.base.BaseValidator.validate, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print - -### examples.12_ollama_simple_demo.ollama_simple_demo.main -> Main function. -- **Calls**: argparse.ArgumentParser, parser.add_argument, parser.add_argument, parser.parse_args, Path, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.12_ollama_simple_demo.ollama_simple_demo.run_simple_workflow - -### examples.03_security_check.main.main -- **Calls**: SecurityValidator, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, Proposal, validator.validate, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print - -### examples.10_mcp_ollama_demo.mcp_demo.main -> Main entry point. -- **Calls**: argparse.ArgumentParser, parser.add_argument, parser.add_argument, parser.parse_args, Path, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.mcp_demo.run_mcp_workflow - -### src.vallm.cli.command_handlers.validate_command -> Validate code with the full pipeline. -- **Calls**: typer.Option, typer.Option, typer.Option, typer.Option, typer.Option, typer.Option, typer.Option, typer.Option - -### src.vallm.validators.imports.javascript_imports.JavaScriptImportValidator.extract_imports -> Extract import statements from JavaScript/TypeScript using tree-sitter. -- **Calls**: src.vallm.core.ast_compare._cached_get_parser, parser.parse, src.vallm.validators.imports.utils.walk, code.encode, enumerate, src.vallm.validators.imports.utils.walk, re.finditer, imports.append - -### examples.09_code2logic_integration.main.main -> Main example function. -- **Calls**: examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.09_code2logic_integration.main.validate_with_vallm, examples.09_code2logic_integration.main.build_call_graph, examples.09_code2logic_integration.main.generate_report, examples.09_code2logic_integration.main.visualize_flow, examples.10_mcp_ollama_demo.run.print - -### src.vallm.validators.imports.go_imports.GoImportValidator.extract_imports -> Extract import statements from Go using tree-sitter. -- **Calls**: src.vallm.core.ast_compare._cached_get_parser, parser.parse, src.vallm.validators.imports.utils.walk, code.encode, re.finditer, src.vallm.validators.imports.utils.walk, imports.append, child.child_by_field_name - -### scripts.bump_version.main -- **Calls**: pyproject_path.read_text, re.search, version_match.group, scripts.bump_version.bump_version, re.sub, pyproject_path.write_text, examples.10_mcp_ollama_demo.run.print, len - -### examples.07_multi_language.main.main -> Main example function. -- **Calls**: examples.07_multi_language.main.print_language_info, examples.07_multi_language.main.test_language_detection, examples.07_multi_language.main.validate_all_languages, examples.07_multi_language.main.save_results, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, sum - -### src.vallm.validators.lint.LintValidator._parse_ruff_result -> Parse a ruff JSON result into an Issue. - -Args: - item: Ruff result dictionary - -Returns: - Issue object -- **Calls**: any, Issue, None.startswith, None.startswith, item.get, None.get, None.get, None.get - -### src.vallm.validators.imports.python_imports.PythonImportValidator.validate -> Validate Python imports using AST. -- **Calls**: ast.parse, self.extract_imports, self.create_validation_result, import_info.get, len, ValidationResult, len, len - -### src.vallm.validators.imports.rust_imports.RustImportValidator.extract_imports -> Extract use statements from Rust using tree-sitter. -- **Calls**: src.vallm.core.ast_compare._cached_get_parser, parser.parse, src.vallm.validators.imports.utils.walk, code.encode, re.finditer, src.vallm.validators.imports.utils.walk, None.strip, imports.append - -### src.vallm.cli.output_formatters.output_batch_text -> Output plain text batch summary. -- **Calls**: examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print - -### src.vallm.cli.output_formatters.batch.output_batch_text -> Output plain text batch summary. -- **Calls**: examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print - -### src.vallm.core.gitignore.GitignoreParser._pattern_to_regex -> Convert a gitignore pattern to a regex pattern. -- **Calls**: len, None.join, result.append, result.append, result.append, len, pattern.find, result.append - -### src.vallm.cli.output_formatters.output_batch_empty -> Output empty results. -- **Calls**: examples.10_mcp_ollama_demo.run.print, json.dumps, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print - -### src.vallm.cli.output_formatters.batch.output_batch_empty -> Output empty results. -- **Calls**: examples.10_mcp_ollama_demo.run.print, json.dumps, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print - -### examples.mcp_demo.main -> Run all examples. -- **Calls**: examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.mcp_demo.example_syntax_validation, examples.mcp_demo.example_security_validation, examples.mcp_demo.example_full_pipeline, examples.mcp_demo.example_selective_validation, examples.10_mcp_ollama_demo.run.print - -### src.vallm.validators.semantic.SemanticValidator._parse_response -> Parse LLM JSON response into a ValidationResult. -- **Calls**: self._extract_json_from_response, self._parse_scores, self._parse_issues, ValidationResult, isinstance, self._create_parse_error_result, self._create_parse_error_result, json.loads - -### src.vallm.validators.lint.LintValidator._parse_ruff_text -> Parse ruff text output as fallback. - -Args: - output: Ruff text output - -Returns: - List of Issue objects -- **Calls**: None.split, line.strip, output.strip, line.split, len, int, int, message.startswith - -### src.vallm.cli.batch_processor_impl.BatchProcessor._process_files_sequential -> Process files sequentially (used for fail_fast / verbose modes). -- **Calls**: len, src.vallm.validators.file_cache.get_file_cache, enumerate, self._show_progress, self._validate_single_file_sequential, self._handle_validation_result, failed_files.append, self._show_verbose_output - -### mcp.server.self_server.main -> Main MCP server loop. -- **Calls**: examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, line.strip, examples.10_mcp_ollama_demo.run.print, json.loads, mcp.server.self_server.handle_request, examples.10_mcp_ollama_demo.run.print, json.dumps - -### examples.utils.validate_code_example -> Validate a code example and store results. - -Args: - name: Example name identifier - code: Code string to validate - settings: VallmSettings inst -- **Calls**: examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, Proposal, src.vallm.validators.base.BaseValidator.validate, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print - -### examples.08_code2llm_integration.main.main -> Main example function. -- **Calls**: examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.08_code2llm_integration.main.create_sample_project, examples.10_mcp_ollama_demo.run.print, examples.08_code2llm_integration.main.validate_with_vallm, examples.08_code2llm_integration.main.generate_report, examples.10_mcp_ollama_demo.run.print - ## Process Flows Key execution flows identified: -### Flow 1: main -``` -main [examples.04_graph_analysis.main] - └─ →> print - └─ →> print -``` - -### Flow 2: run_validation_examples -``` -run_validation_examples [examples.utils.validation_runner] - └─ →> print - └─ →> print - └─ →> validate -``` - -### Flow 3: batch_command -``` -batch_command [src.vallm.cli.command_handlers] -``` - -### Flow 4: validate_command -``` -validate_command [src.vallm.cli.command_handlers] -``` - -### Flow 5: extract_imports -``` -extract_imports [src.vallm.validators.imports.javascript_imports.JavaScriptImportValidator] - └─ →> _cached_get_parser - └─ →> walk - └─> _should_skip_entry - └─> _should_skip_dir - └─> _is_gitignored -``` - -### Flow 6: _parse_ruff_result -``` -_parse_ruff_result [src.vallm.validators.lint.LintValidator] -``` - -### Flow 7: validate -``` -validate [src.vallm.validators.imports.python_imports.PythonImportValidator] -``` - -### Flow 8: output_batch_text -``` -output_batch_text [src.vallm.cli.output_formatters] - └─ →> print - └─ →> print -``` - ## Key Classes ### src.vallm.cli.batch_processor_impl.BatchProcessor @@ -317,11 +129,6 @@ output_batch_text [src.vallm.cli.output_formatters] - **Key Methods**: src.vallm.validators.semantic.SemanticValidator.__init__, src.vallm.validators.semantic.SemanticValidator.validate, src.vallm.validators.semantic.SemanticValidator._build_prompt, src.vallm.validators.semantic.SemanticValidator._call_llm, src.vallm.validators.semantic.SemanticValidator._call_ollama, src.vallm.validators.semantic.SemanticValidator._call_litellm, src.vallm.validators.semantic.SemanticValidator._call_http, src.vallm.validators.semantic.SemanticValidator._parse_response, src.vallm.validators.semantic.SemanticValidator._extract_json_from_response, src.vallm.validators.semantic.SemanticValidator._create_parse_error_result - **Inherits**: BaseValidator -### examples.11_claude_code_autonomous.legacy_code.data_processor.DataProcessor -> Data processor with multiple responsibilities - violates SRP. -- **Methods**: 10 -- **Key Methods**: examples.11_claude_code_autonomous.legacy_code.data_processor.DataProcessor.__init__, examples.11_claude_code_autonomous.legacy_code.data_processor.DataProcessor.process_user_data, examples.11_claude_code_autonomous.legacy_code.data_processor.DataProcessor.calculate_metrics, examples.11_claude_code_autonomous.legacy_code.data_processor.DataProcessor.export_data, examples.11_claude_code_autonomous.legacy_code.data_processor.DataProcessor.validate_email, examples.11_claude_code_autonomous.legacy_code.data_processor.DataProcessor.validate_email_again, examples.11_claude_code_autonomous.legacy_code.data_processor.DataProcessor.process_with_external_api, examples.11_claude_code_autonomous.legacy_code.data_processor.DataProcessor.complex_calculation, examples.11_claude_code_autonomous.legacy_code.data_processor.DataProcessor.unused_function, examples.11_claude_code_autonomous.legacy_code.data_processor.DataProcessor.another_unused_function - ### src.vallm.validators.regression.RegressionValidator > Tier 2: Run pytest against proposed code and report pass/fail. @@ -330,16 +137,10 @@ The validator writes the proposed co - **Key Methods**: src.vallm.validators.regression.RegressionValidator.__init__, src.vallm.validators.regression.RegressionValidator.validate, src.vallm.validators.regression.RegressionValidator._resolve_test_dir, src.vallm.validators.regression.RegressionValidator._write_code, src.vallm.validators.regression.RegressionValidator._build_pytest_cmd, src.vallm.validators.regression.RegressionValidator._run_pytest, src.vallm.validators.regression.RegressionValidator._interpret, src.vallm.validators.regression.RegressionValidator._parse_failures, src.vallm.validators.regression.RegressionValidator._timeout_result, src.vallm.validators.regression.RegressionValidator._exception_result - **Inherits**: BaseValidator -### examples.10_mcp_ollama_demo.refactored_output.OrderManager -> Class with single responsibility - adheres to SOLID principles. -- **Methods**: 7 -- **Key Methods**: examples.10_mcp_ollama_demo.refactored_output.OrderManager.__init__, examples.10_mcp_ollama_demo.refactored_output.OrderManager.add_order, examples.10_mcp_ollama_demo.refactored_output.OrderManager.validate_order, examples.10_mcp_ollama_demo.refactored_output.OrderManager.execute_query, examples.10_mcp_ollama_demo.refactored_output.OrderManager.process_payment, examples.10_mcp_ollama_demo.refactored_output.OrderManager.send_email, examples.10_mcp_ollama_demo.refactored_output.OrderManager.get_stats - -### src.vallm.validators.imports.base.BaseImportValidator -> Base class for all import validators. -- **Methods**: 7 -- **Key Methods**: src.vallm.validators.imports.base.BaseImportValidator.validate, src.vallm.validators.imports.base.BaseImportValidator.extract_imports, src.vallm.validators.imports.base.BaseImportValidator.module_exists, src.vallm.validators.imports.base.BaseImportValidator.get_language, src.vallm.validators.imports.base.BaseImportValidator._get_error_message, src.vallm.validators.imports.base.BaseImportValidator._get_rule_name, src.vallm.validators.imports.base.BaseImportValidator.create_validation_result -- **Inherits**: ABC +### examples.11_claude_code_autonomous.legacy_code.data_processor.DataProcessor +> Data processor with multiple responsibilities - violates SRP. +- **Methods**: 10 +- **Key Methods**: examples.11_claude_code_autonomous.legacy_code.data_processor.DataProcessor.__init__, examples.11_claude_code_autonomous.legacy_code.data_processor.DataProcessor.process_user_data, examples.11_claude_code_autonomous.legacy_code.data_processor.DataProcessor.calculate_metrics, examples.11_claude_code_autonomous.legacy_code.data_processor.DataProcessor.export_data, examples.11_claude_code_autonomous.legacy_code.data_processor.DataProcessor.validate_email, examples.11_claude_code_autonomous.legacy_code.data_processor.DataProcessor.validate_email_again, examples.11_claude_code_autonomous.legacy_code.data_processor.DataProcessor.process_with_external_api, examples.11_claude_code_autonomous.legacy_code.data_processor.DataProcessor.complex_calculation, examples.11_claude_code_autonomous.legacy_code.data_processor.DataProcessor.unused_function, examples.11_claude_code_autonomous.legacy_code.data_processor.DataProcessor.another_unused_function ### src.vallm.validators.imports.javascript_imports.JavaScriptImportValidator > JavaScript/TypeScript import validator. @@ -353,32 +154,43 @@ The validator writes the proposed co - **Key Methods**: src.vallm.validators.imports.python_imports.PythonImportValidator.validate, src.vallm.validators.imports.python_imports.PythonImportValidator._relative_import_exists, src.vallm.validators.imports.python_imports.PythonImportValidator.extract_imports, src.vallm.validators.imports.python_imports.PythonImportValidator.module_exists, src.vallm.validators.imports.python_imports.PythonImportValidator.get_language, src.vallm.validators.imports.python_imports.PythonImportValidator._get_error_message, src.vallm.validators.imports.python_imports.PythonImportValidator._get_rule_name - **Inherits**: BaseImportValidator +### src.vallm.validators.imports.base.BaseImportValidator +> Base class for all import validators. +- **Methods**: 7 +- **Key Methods**: src.vallm.validators.imports.base.BaseImportValidator.validate, src.vallm.validators.imports.base.BaseImportValidator.extract_imports, src.vallm.validators.imports.base.BaseImportValidator.module_exists, src.vallm.validators.imports.base.BaseImportValidator.get_language, src.vallm.validators.imports.base.BaseImportValidator._get_error_message, src.vallm.validators.imports.base.BaseImportValidator._get_rule_name, src.vallm.validators.imports.base.BaseImportValidator.create_validation_result +- **Inherits**: ABC + ### src.vallm.core.languages.Language > Supported programming languages with their tree-sitter identifiers. - **Methods**: 7 - **Key Methods**: src.vallm.core.languages.Language.__init__, src.vallm.core.languages.Language.from_extension, src.vallm.core.languages.Language.from_path, src.vallm.core.languages.Language.from_string, src.vallm.core.languages.Language.is_compiled, src.vallm.core.languages.Language.is_scripting, src.vallm.core.languages.Language.is_web - **Inherits**: Enum -### examples.10_mcp_ollama_demo.legacy_code.order_processor.OrderManager -> Class with mixed responsibilities - SOLID violation. +### examples.10_mcp_ollama_demo.refactored_output.OrderManager +> Class with single responsibility - adheres to SOLID principles. +- **Methods**: 7 +- **Key Methods**: examples.10_mcp_ollama_demo.refactored_output.OrderManager.__init__, examples.10_mcp_ollama_demo.refactored_output.OrderManager.add_order, examples.10_mcp_ollama_demo.refactored_output.OrderManager.validate_order, examples.10_mcp_ollama_demo.refactored_output.OrderManager.execute_query, examples.10_mcp_ollama_demo.refactored_output.OrderManager.process_payment, examples.10_mcp_ollama_demo.refactored_output.OrderManager.send_email, examples.10_mcp_ollama_demo.refactored_output.OrderManager.get_stats + +### src.vallm.validators.semantic_cache.SemanticCache +> Cache for semantic validation results to improve performance. - **Methods**: 6 -- **Key Methods**: examples.10_mcp_ollama_demo.legacy_code.order_processor.OrderManager.__init__, examples.10_mcp_ollama_demo.legacy_code.order_processor.OrderManager.add_order, examples.10_mcp_ollama_demo.legacy_code.order_processor.OrderManager.execute_query, examples.10_mcp_ollama_demo.legacy_code.order_processor.OrderManager.process_payment, examples.10_mcp_ollama_demo.legacy_code.order_processor.OrderManager.send_email, examples.10_mcp_ollama_demo.legacy_code.order_processor.OrderManager.get_stats +- **Key Methods**: src.vallm.validators.semantic_cache.SemanticCache.__init__, src.vallm.validators.semantic_cache.SemanticCache._get_cache_key, src.vallm.validators.semantic_cache.SemanticCache.get, src.vallm.validators.semantic_cache.SemanticCache.set, src.vallm.validators.semantic_cache.SemanticCache.clear, src.vallm.validators.semantic_cache.SemanticCache.get_cache_stats ### src.vallm.validators.file_cache.FileValidationCache > In-memory cache keyed on file path + mtime + size. - **Methods**: 6 - **Key Methods**: src.vallm.validators.file_cache.FileValidationCache.__init__, src.vallm.validators.file_cache.FileValidationCache._key, src.vallm.validators.file_cache.FileValidationCache.get, src.vallm.validators.file_cache.FileValidationCache.set, src.vallm.validators.file_cache.FileValidationCache.clear, src.vallm.validators.file_cache.FileValidationCache.stats -### src.vallm.validators.semantic_cache.SemanticCache -> Cache for semantic validation results to improve performance. -- **Methods**: 6 -- **Key Methods**: src.vallm.validators.semantic_cache.SemanticCache.__init__, src.vallm.validators.semantic_cache.SemanticCache._get_cache_key, src.vallm.validators.semantic_cache.SemanticCache.get, src.vallm.validators.semantic_cache.SemanticCache.set, src.vallm.validators.semantic_cache.SemanticCache.clear, src.vallm.validators.semantic_cache.SemanticCache.get_cache_stats - ### src.vallm.core.gitignore.GitignoreParser > Parse .gitignore files and match paths against patterns. - **Methods**: 6 - **Key Methods**: src.vallm.core.gitignore.GitignoreParser.__init__, src.vallm.core.gitignore.GitignoreParser._parse, src.vallm.core.gitignore.GitignoreParser.matches, src.vallm.core.gitignore.GitignoreParser._match_pattern, src.vallm.core.gitignore.GitignoreParser._fnmatch, src.vallm.core.gitignore.GitignoreParser._pattern_to_regex +### examples.10_mcp_ollama_demo.legacy_code.order_processor.OrderManager +> Class with mixed responsibilities - SOLID violation. +- **Methods**: 6 +- **Key Methods**: examples.10_mcp_ollama_demo.legacy_code.order_processor.OrderManager.__init__, examples.10_mcp_ollama_demo.legacy_code.order_processor.OrderManager.add_order, examples.10_mcp_ollama_demo.legacy_code.order_processor.OrderManager.execute_query, examples.10_mcp_ollama_demo.legacy_code.order_processor.OrderManager.process_payment, examples.10_mcp_ollama_demo.legacy_code.order_processor.OrderManager.send_email, examples.10_mcp_ollama_demo.legacy_code.order_processor.OrderManager.get_stats + ### src.vallm.validators.security.SecurityValidator > Tier 2: Security analysis using built-in patterns and optionally bandit. - **Methods**: 5 @@ -390,12 +202,6 @@ The validator writes the proposed co - **Methods**: 5 - **Key Methods**: src.vallm.validators.lint.LintValidator.__init__, src.vallm.validators.lint.LintValidator.validate, src.vallm.validators.lint.LintValidator._check_ruff, src.vallm.validators.lint.LintValidator._parse_ruff_result, src.vallm.validators.lint.LintValidator._parse_ruff_text -### src.vallm.validators.imports.go_imports.GoImportValidator -> Go import validator. -- **Methods**: 5 -- **Key Methods**: src.vallm.validators.imports.go_imports.GoImportValidator.get_language, src.vallm.validators.imports.go_imports.GoImportValidator._get_error_message, src.vallm.validators.imports.go_imports.GoImportValidator._get_rule_name, src.vallm.validators.imports.go_imports.GoImportValidator.extract_imports, src.vallm.validators.imports.go_imports.GoImportValidator.module_exists -- **Inherits**: BaseImportValidator - ### src.vallm.validators.imports.rust_imports.RustImportValidator > Rust import validator. - **Methods**: 5 @@ -408,6 +214,12 @@ The validator writes the proposed co - **Key Methods**: src.vallm.validators.imports.java_imports.JavaImportValidator.get_language, src.vallm.validators.imports.java_imports.JavaImportValidator._get_error_message, src.vallm.validators.imports.java_imports.JavaImportValidator._get_rule_name, src.vallm.validators.imports.java_imports.JavaImportValidator.extract_imports, src.vallm.validators.imports.java_imports.JavaImportValidator.module_exists - **Inherits**: BaseImportValidator +### src.vallm.validators.imports.go_imports.GoImportValidator +> Go import validator. +- **Methods**: 5 +- **Key Methods**: src.vallm.validators.imports.go_imports.GoImportValidator.get_language, src.vallm.validators.imports.go_imports.GoImportValidator._get_error_message, src.vallm.validators.imports.go_imports.GoImportValidator._get_rule_name, src.vallm.validators.imports.go_imports.GoImportValidator.extract_imports, src.vallm.validators.imports.go_imports.GoImportValidator.module_exists +- **Inherits**: BaseImportValidator + ### src.vallm.validators.logical.LogicalErrorValidator > Validator for logical errors using pyflakes. - **Methods**: 4 @@ -423,119 +235,128 @@ The validator writes the proposed co Key functions that process and transform data: -### examples.09_code2logic_integration.main.validate_with_vallm -> Validate code quality with vallm. -- **Output to**: examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, VallmSettings, Proposal - -### examples.11_claude_code_autonomous.legacy_code.data_processor.DataProcessor.process_user_data -> Process user data with deep nesting and security issues. -- **Output to**: isinstance, len, connection.cursor, cursor.execute, connection.commit +### src.vallm.hookspecs.VallmSpec.validate_proposal +> Validate a code proposal and return a ValidationResult. -### examples.11_claude_code_autonomous.legacy_code.data_processor.DataProcessor.validate_email -> Email validation - duplicate function. +### src.vallm.validators.syntax.SyntaxValidator.validate +- **Output to**: ValidationResult, self._validate_python, self._validate_treesitter -### examples.11_claude_code_autonomous.legacy_code.data_processor.DataProcessor.validate_email_again -> Duplicate email validation function. +### src.vallm.validators.syntax.SyntaxValidator._validate_python +> Validate Python syntax using ast.parse and tree-sitter. +- **Output to**: ast.parse, src.vallm.core.ast_compare.tree_sitter_error_count, issues.append, issues.append, Issue -### examples.11_claude_code_autonomous.legacy_code.data_processor.DataProcessor.process_with_external_api -> Process data with external API - no error handling. -- **Output to**: requests.get, response.json +### src.vallm.validators.syntax.SyntaxValidator._validate_treesitter +> Validate non-Python syntax using tree-sitter. +- **Output to**: src.vallm.core.ast_compare.tree_sitter_error_count, issues.append, issues.append, Issue, Issue -### examples.12_ollama_simple_demo.legacy_code.simple_buggy.process_user_input -> Process user input with security issues. -- **Output to**: user_input.startswith, user_input.startswith, eval, examples.10_mcp_ollama_demo.run.print +### src.vallm.validators.security.SecurityValidator.validate +- **Output to**: self._check_patterns, issues.extend, _LANGUAGE_PATTERNS.get, ValidationResult, self._check_patterns -### examples.12_ollama_simple_demo.legacy_code.simple_buggy.BadClass.process_data -> Method with no error handling. -- **Output to**: isinstance, self.data.append +### src.vallm.validators.semantic.SemanticValidator.validate +- **Output to**: self.cache.get, self._build_prompt, self._call_llm, self._parse_response, self.cache.set -### examples.12_ollama_simple_demo.utils.process_user_input.process_user_input -> Process user input with standard logic. +### src.vallm.validators.semantic.SemanticValidator._parse_response +> Parse LLM JSON response into a ValidationResult. +- **Output to**: self._extract_json_from_response, self._parse_scores, self._parse_issues, ValidationResult, isinstance -Args: - user_input: Raw user input string - -Returns: - -- **Output to**: user_input.startswith, user_input.startswith, str, examples.10_mcp_ollama_demo.run.print, user_input.lower +### src.vallm.validators.semantic.SemanticValidator._create_parse_error_result +> Create result for when JSON cannot be parsed from response. +- **Output to**: ValidationResult, Issue -### examples.12_ollama_simple_demo.ollama_simple_demo.validate_with_vallm -> Simple vallm validation. -- **Output to**: examples.12_ollama_simple_demo.ollama_simple_demo.log_step, VallmSettings, Proposal, src.vallm.validators.base.BaseValidator.validate, examples.10_mcp_ollama_demo.run.print +### src.vallm.validators.semantic.SemanticValidator._parse_scores +> Parse and normalize scores from LLM response. +- **Output to**: data.get, isinstance, max, min -### examples.11_claude_code_autonomous.claude_autonomous_demo.validate_with_vallm -> Validate code using vallm. -- **Output to**: logger.info, VallmSettings, Proposal, src.vallm.validators.base.BaseValidator.validate, examples.10_mcp_ollama_demo.run.print +### src.vallm.validators.semantic.SemanticValidator._parse_issues +> Parse issues from LLM response. +- **Output to**: data.get, self._parse_severity, self._parse_line_number, issues.append, isinstance -### examples.07_multi_language.main.validate_single_language -> Validate a single language code sample. -- **Output to**: VallmSettings, Proposal, src.vallm.validators.base.BaseValidator.validate +### src.vallm.validators.semantic.SemanticValidator._parse_severity +> Parse severity string into Severity enum. +- **Output to**: severity_map.get, severity_str.lower -### examples.07_multi_language.main.validate_all_languages -> Validate all language samples. -- **Output to**: examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, CODE_SAMPLES.items +### src.vallm.validators.semantic.SemanticValidator._parse_line_number +> Parse line number from various formats. +- **Output to**: isinstance, isinstance, int -### examples.10_mcp_ollama_demo.refactored_output.OrderManager.validate_order -> Validate order data. +### src.vallm.validators.logical.LogicalErrorValidator.validate +> Validate code for logical errors using pyflakes. -### examples.10_mcp_ollama_demo.refactored_output.OrderManager.process_payment -> Process payment securely. -- **Output to**: examples.10_mcp_ollama_demo.run.print +Args: + proposal: Code proposal to validate + +- **Output to**: self._check_pyflakes, ValidationResult, ValidationResult, len, len -### examples.10_mcp_ollama_demo.refactored_output.validate_email -> Email validation using regex. -- **Output to**: re.match +### src.vallm.validators.logical.LogicalErrorValidator._parse_pyflakes_line +> Parse a pyflakes output line into an Issue. -### examples.10_mcp_ollama_demo.refactored_output.process_order -> Process order data with proper error handling and validation. +Args: + line: Pyflakes output line + +Returns: + +- **Output to**: line.split, int, any, Issue, len -### examples.10_mcp_ollama_demo.legacy_code.order_processor.process_order -> Process order data - has multiple issues. -- **Output to**: len +### src.vallm.validators.regression.RegressionValidator.validate +- **Output to**: self._resolve_test_dir, tempfile.TemporaryDirectory, self._write_code, self._run_pytest, Path -### examples.10_mcp_ollama_demo.legacy_code.order_processor.OrderManager.process_payment -> Process payment - security issues. -- **Output to**: examples.10_mcp_ollama_demo.run.print +### src.vallm.validators.regression.RegressionValidator._parse_failures +> Extract individual FAILED lines from pytest -q output. +- **Output to**: stdout.splitlines, line.strip, stripped.startswith, None.strip, issues.append -### examples.10_mcp_ollama_demo.legacy_code.order_processor.validate_email_1 -> Email validation - duplicated logic. +### src.vallm.validators.lint.LintValidator.validate +> Validate code for linting issues using ruff. -### examples.10_mcp_ollama_demo.legacy_code.order_processor.validate_email_2 -> Email validation - same logic, different function. +Args: + proposal: Code proposal to validate + cont +- **Output to**: self._check_ruff, ValidationResult, ValidationResult, len, len -### examples.utils.validate_code_example -> Validate a code example and store results. +### src.vallm.validators.lint.LintValidator._parse_ruff_result +> Parse a ruff JSON result into an Issue. Args: - name: Example name identifier - code: Code s -- **Output to**: examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, Proposal, src.vallm.validators.base.BaseValidator.validate - -### examples.10_mcp_ollama_demo.mcp_demo.validate_with_vallm -> Validate code using vallm. -- **Output to**: logger.info, VallmSettings, Proposal, src.vallm.validators.base.BaseValidator.validate, examples.10_mcp_ollama_demo.run.print + item: Ruff result dictionary + +Returns: + Is +- **Output to**: any, Issue, None.startswith, None.startswith, item.get -### src.vallm.hookspecs.VallmSpec.validate_proposal -> Validate a code proposal and return a ValidationResult. +### src.vallm.validators.lint.LintValidator._parse_ruff_text +> Parse ruff text output as fallback. -### examples.08_code2llm_integration.main.validate_with_vallm -> Validate all Python files with vallm. -- **Output to**: examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, examples.10_mcp_ollama_demo.run.print, VallmSettings, project_path.rglob +Args: + output: Ruff text output + +Returns: + List of Is +- **Output to**: None.split, line.strip, output.strip, line.split, len ### src.vallm.validators.base.BaseValidator.validate > Validate a proposal and return a result. -## Behavioral Patterns +### src.vallm.validators.imports.wrapper.ImportValidator.validate +> Validate imports by dispatching to language-specific validators. +- **Output to**: ImportValidatorFactory.create_validator, validator.validate, ValidationResult -### recursion_walk -- **Type**: recursion -- **Confidence**: 0.90 -- **Functions**: src.vallm.validators.imports.utils.walk +### src.vallm.validators.complexity.ComplexityValidator.validate +- **Output to**: self._check_lizard, issues.extend, details.update, min, ValidationResult -### state_machine_ComplexityValidator -- **Type**: state_machine -- **Confidence**: 0.70 -- **Functions**: src.vallm.validators.complexity.ComplexityValidator.__init__, src.vallm.validators.complexity.ComplexityValidator.validate, src.vallm.validators.complexity.ComplexityValidator._check_python_complexity, src.vallm.validators.complexity.ComplexityValidator._check_lizard +### src.vallm.validators.imports.utils.validate_import_path +> Validate if an import path is resolvable. + +Args: + import_path: The import path to validate + so +- **Output to**: import_path.startswith, local_module.exists, local_pkg.exists, import_path.split, len + +### src.vallm.validators.imports.javascript_imports.JavaScriptImportValidator.validate +> Validate JavaScript/TypeScript imports using tree-sitter. +- **Output to**: self.extract_imports, self.create_validation_result, len, self.module_exists, issues.append + +### src.vallm.validators.imports.python_imports.PythonImportValidator.validate +> Validate Python imports using AST. +- **Output to**: ast.parse, self.extract_imports, self.create_validation_result, import_info.get, len ## Public API Surface @@ -543,44 +364,44 @@ Functions exposed as public API (no underscore prefix): - `examples.11_claude_code_autonomous.claude_autonomous_demo.analyze_with_code2llm` - 43 calls - `examples.11_claude_code_autonomous.claude_autonomous_demo.run_autonomous_workflow` - 42 calls -- `examples.04_graph_analysis.main.main` - 40 calls -- `examples.utils.run_validation_examples` - 40 calls - `examples.utils.validation_runner.run_validation_examples` - 40 calls +- `examples.utils.run_validation_examples` - 40 calls +- `examples.04_graph_analysis.main.main` - 40 calls - `examples.10_mcp_ollama_demo.mcp_demo.analyze_with_code2llm` - 36 calls - `examples.10_mcp_ollama_demo.mcp_demo.run_mcp_workflow` - 36 calls - `examples.11_claude_code_autonomous.claude_autonomous_demo.main` - 34 calls - `examples.12_ollama_simple_demo.ollama_simple_demo.run_simple_workflow` - 31 calls - `examples.02_ast_comparison.main.main` - 31 calls - `src.vallm.cli.command_handlers.batch_command` - 30 calls -- `examples.05_llm_semantic_review.main.main` - 29 calls +- `src.vallm.cli.output_formatters.output_batch_yaml` - 29 calls +- `src.vallm.cli.output_formatters.batch.output_batch_yaml` - 29 calls - `examples.12_ollama_simple_demo.ollama_simple_demo.analyze_with_code2llm` - 29 calls - `examples.12_ollama_simple_demo.ollama_simple_demo.main` - 29 calls +- `examples.05_llm_semantic_review.main.main` - 29 calls - `examples.03_security_check.main.main` - 29 calls -- `src.vallm.cli.output_formatters.output_batch_yaml` - 29 calls -- `src.vallm.cli.output_formatters.batch.output_batch_yaml` - 29 calls - `examples.10_mcp_ollama_demo.mcp_demo.main` - 27 calls - `src.vallm.cli.output_formatters.output_batch_toon` - 22 calls - `src.vallm.cli.output_formatters.batch.output_batch_toon` - 22 calls - `src.vallm.cli.command_handlers.validate_command` - 21 calls - `examples.08_code2llm_integration.main.generate_report` - 20 calls - `src.vallm.validators.imports.javascript_imports.JavaScriptImportValidator.extract_imports` - 19 calls -- `examples.09_code2logic_integration.main.main` - 18 calls - `src.vallm.validators.imports.go_imports.GoImportValidator.extract_imports` - 18 calls - `scripts.bump_version.main` - 18 calls +- `examples.09_code2logic_integration.main.main` - 18 calls +- `examples.11_claude_code_autonomous.claude_autonomous_demo.create_basic_tests` - 17 calls - `examples.09_code2logic_integration.main.analyze_with_code2logic` - 17 calls - `examples.09_code2logic_integration.main.generate_report` - 17 calls -- `examples.11_claude_code_autonomous.claude_autonomous_demo.create_basic_tests` - 17 calls - `examples.07_multi_language.main.main` - 17 calls -- `examples.11_claude_code_autonomous.claude_autonomous_demo.run_runtime_tests` - 16 calls -- `examples.08_code2llm_integration.main.validate_with_vallm` - 16 calls -- `src.vallm.validators.imports.python_imports.PythonImportValidator.validate` - 16 calls - `src.vallm.validators.imports.rust_imports.RustImportValidator.extract_imports` - 16 calls +- `src.vallm.validators.imports.python_imports.PythonImportValidator.validate` - 16 calls - `src.vallm.cli.output_formatters.output_batch_text` - 16 calls - `src.vallm.cli.output_formatters.build_results_table` - 16 calls - `src.vallm.cli.output_formatters.batch.output_batch_text` - 16 calls -- `examples.11_claude_code_autonomous.claude_autonomous_demo.call_claude_code` - 15 calls -- `examples.07_multi_language.main.print_language_info` - 15 calls +- `examples.11_claude_code_autonomous.claude_autonomous_demo.run_runtime_tests` - 16 calls +- `examples.08_code2llm_integration.main.validate_with_vallm` - 16 calls - `src.vallm.cli.output_formatters.output_batch_empty` - 15 calls +- `src.vallm.cli.output_formatters.batch.output_batch_empty` - 15 calls +- `examples.11_claude_code_autonomous.claude_autonomous_demo.call_claude_code` - 15 calls ## System Interactions @@ -588,36 +409,6 @@ How components interact: ```mermaid graph TD - main --> print - main --> build_python_graph - run_validation_examp --> print - run_validation_examp --> Proposal - run_validation_examp --> validate - main --> ArgumentParser - main --> add_argument - main --> parse_args - main --> Path - main --> python_ast_similarit - batch_command --> Argument - batch_command --> Option - main --> VallmSettings - main --> Proposal - main --> SecurityValidator - validate_command --> Option - extract_imports --> _cached_get_parser - extract_imports --> parse - extract_imports --> walk - extract_imports --> encode - extract_imports --> enumerate - main --> validate_with_vallm - main --> build_call_graph - extract_imports --> finditer - main --> read_text - main --> search - main --> group - main --> bump_version - main --> sub - main --> print_language_info ``` ## Reverse Engineering Guidelines diff --git a/project/root/analysis.toon.yaml b/project/root/analysis.toon.yaml new file mode 100644 index 0000000..0b1664d --- /dev/null +++ b/project/root/analysis.toon.yaml @@ -0,0 +1,93 @@ +# code2llm | 58f 7015L | python:56,shell:1 | 2026-04-10 +# CC̄=3.4 | critical:0/425 | dups:0 | cycles:1 + +HEALTH[0]: ok + +REFACTOR[1]: + 1. break 1 circular dependencies + +PIPELINES[197]: + [1] Src [__init__]: __init__ + PURITY: 100% pure + [2] Src [_get_cache_key]: _get_cache_key + PURITY: 100% pure + [3] Src [get]: get + PURITY: 100% pure + [4] Src [clear]: clear + PURITY: 100% pure + [5] Src [get_cache_stats]: get_cache_stats + PURITY: 100% pure + +LAYERS: + scripts/ CC̄=5.0 ←in:0 →out:0 + │ bump_version 78L 0C 2m CC=5 ←0 + │ + src/ CC̄=3.4 ←in:0 →out:0 + │ output_formatters 476L 0C 21m CC=10 ←3 + │ batch_processor_impl 471L 1C 21m CC=13 ←0 + │ command_handlers 345L 0C 11m CC=8 ←0 + │ batch 315L 0C 16m CC=10 ←0 + │ semantic 302L 1C 15m CC=5 ←0 + │ gitignore 272L 1C 10m CC=11 ←1 + │ regression 265L 1C 10m CC=7 ←0 + │ security 255L 1C 5m CC=9 ←0 + │ languages 227L 1C 6m CC=6 ←6 + │ python_imports 225L 1C 9m CC=14 ←0 + │ scoring 218L 5C 8m CC=7 ←0 + │ semantic_cache 187L 1C 8m CC=5 ←7 + │ complexity 183L 1C 4m CC=12 ←0 + │ lint 182L 1C 6m CC=9 ←0 + │ utils 166L 0C 5m CC=14 ←5 + │ runner 144L 2C 4m CC=4 ←0 + │ logical 142L 1C 5m CC=6 ←0 + │ ast_compare 142L 0C 8m CC=4 ←5 + │ batch_processor_patterns 126L 1C 7m CC=8 ←1 + │ config 122L 1C 6m CC=3 ←1 + │ javascript_imports 118L 1C 7m CC=5 ←0 + │ graph_diff 104L 1C 3m CC=9 ←1 + │ syntax 96L 1C 3m CC=4 ←13 + │ c_imports 88L 1C 4m CC=5 ←0 + │ go_imports 84L 1C 5m CC=5 ←0 + │ file_cache 82L 1C 7m CC=3 ←2 + │ single 80L 0C 3m CC=6 ←0 + │ __init__ 79L 0C 3m CC=4 ←3 + │ rust_imports 78L 1C 5m CC=3 ←0 + │ batch_processor_validation 78L 0C 2m CC=7 ←0 + │ base 70L 1C 7m CC=3 ←0 + │ java_imports 68L 1C 5m CC=7 ←0 + │ shared 63L 0C 4m CC=8 ←0 + │ __init__ 45L 0C 0m CC=0.0 ←0 + │ factory 43L 1C 3m CC=2 ←1 + │ proposal 37L 1C 0m CC=0.0 ←0 + │ hookspecs 33L 1C 3m CC=1 ←0 + │ wrapper 30L 1C 1m CC=2 ←0 + │ batch_processor_files 25L 0C 1m CC=9 ←1 + │ __init__ 25L 0C 0m CC=0.0 ←0 + │ batch_constants 23L 0C 0m CC=0.0 ←0 + │ batch_utils 22L 1C 1m CC=6 ←0 + │ base 21L 1C 1m CC=1 ←0 + │ base 19L 0C 2m CC=4 ←0 + │ __init__ 19L 0C 0m CC=0.0 ←0 + │ utils 11L 0C 3m CC=3 ←0 + │ __main__ 5L 0C 0m CC=0.0 ←0 + │ batch_processor 5L 0C 0m CC=0.0 ←0 + │ __init__ 3L 0C 0m CC=0.0 ←0 + │ __init__ 1L 0C 0m CC=0.0 ←0 + │ __init__ 1L 0C 0m CC=0.0 ←0 + │ + mcp/ CC̄=3.3 ←in:0 →out:0 + │ _tools_vallm 464L 0C 14m CC=12 ←1 + │ self_server 185L 0C 5m CC=6 ←0 + │ __init__ 1L 0C 0m CC=0.0 ←0 + │ __init__ 1L 0C 0m CC=0.0 ←0 + │ + ./ CC̄=0.0 ←in:0 →out:0 + │ project.sh 37L 0C 0m CC=0.0 ←0 + │ mcp_server 28L 0C 0m CC=0.0 ←0 + │ + +COUPLING: no cross-package imports detected + +EXTERNAL: + validation: run `vallm batch .` → validation.toon + duplication: run `redup scan .` → duplication.toon