gitgalaxy 2.3.43__tar.gz → 2.4.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/PKG-INFO +1 -1
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/core/aperture.py +117 -88
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy.egg-info/PKG-INFO +1 -1
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy.egg-info/scm_version.json +2 -2
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/core_engine/test_aperture.py +2 -2
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/.flake8 +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/.galaxyscope.yaml +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/.github/CODEOWNERS +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/.github/ISSUE_TEMPLATE/parsing_discrepancy.yml +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/.github/dependabot.yml +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/.github/pull_request_template.md +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/.github/workflows/codeql.yml +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/.github/workflows/deploy-docs.yml +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/.github/workflows/gitgalaxy-artifacts.yml +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/.github/workflows/gitgalaxy-audit.yml +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/.github/workflows/gitgalaxy.yml +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/.github/workflows/golden-crucible.yml +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/.github/workflows/muninn.yml +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/.github/workflows/publish.yml +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/.github/workflows/smoke-test.yml +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/.gitignore +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/.gitlab-ci.yml +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/CONTRIBUTING.md +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/LICENSE +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/MANIFEST.in +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/README.md +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/SECURITY.md +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/action.yml +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/azure-pipelines.yml +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/bitbucket-pipelines.yml +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/README.md +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/__init__.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/cobol_refractor_controller.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/cobol_to_java_controller.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/core/README.md +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/core/__init__.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/core/detector.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/core/guidestar_lens.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/core/network_risk_sensor.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/core/prism.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/core/spatial_mapper.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/core/state_rehydrator.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/galaxyscope.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/licensing.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/metrics/README.md +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/metrics/__init__.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/metrics/chronometer.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/metrics/signal_processor.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/metrics/statistical_auditor.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/metrics/tensor_scanner.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/recorders/README.md +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/recorders/__init__.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/recorders/audit_recorder.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/recorders/gpu_recorder.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/recorders/llm_recorder.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/recorders/record_keeper.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/recorders/sarif_recorder.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/recorders/sbom_recorder.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/requirements.txt +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/security/README.md +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/security/__init__.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/security/manifest_parser.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/security/security_auditor.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/security/security_lens.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/standards/README.md +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/standards/__init__.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/standards/analysis_lens.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/standards/gitgalaxy_config.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/standards/how_to_add_a_language.md +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/standards/language_lens.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/standards/language_standards.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/README.md +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/__init__.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/ai_guardrails/README.md +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/ai_guardrails/ai_appsec_sensor.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/ai_guardrails/dev_agent_firewall.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/cobol_to_cobol/README.md +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/cobol_to_cobol/cobol_agent_task_forge.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/cobol_to_cobol/cobol_compiler_forge.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/cobol_to_cobol/cobol_dag_architect.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/cobol_to_cobol/cobol_etl_unpacker.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/cobol_to_cobol/cobol_graveyard_finder.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/cobol_to_cobol/cobol_jcl_auditor.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/cobol_to_cobol/cobol_jcl_forge.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/cobol_to_cobol/cobol_lexical_patcher.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/cobol_to_cobol/cobol_microservice_slicer.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/cobol_to_cobol/cobol_schema_forge.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/cobol_to_cobol/cobol_system_limits_reporter.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/cobol_to_java/README.md +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/cobol_to_java/batch_test_harness.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/cobol_to_java/cobol_to_java_agent_forge.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/cobol_to_java/cobol_to_java_api_contract_forge.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/cobol_to_java/cobol_to_java_build_forge.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/cobol_to_java/cobol_to_java_decoder_forge.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/cobol_to_java/cobol_to_java_service_forge.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/cobol_to_java/cobol_to_java_spring_forge.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/cobol_to_java/cobol_to_java_test_forge.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/network_auditing/README.md +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/network_auditing/full_api_network_map.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/supply_chain_security/README.md +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/supply_chain_security/binary_anomaly_detector.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/supply_chain_security/supply_chain_firewall.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/supply_chain_security/vault_sentinel.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/terabyte_log_scanning/README.md +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/terabyte_log_scanning/pii_leak_hunter.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/terabyte_log_scanning/terabyte_log_scanner.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy.egg-info/SOURCES.txt +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy.egg-info/dependency_links.txt +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy.egg-info/entry_points.txt +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy.egg-info/requires.txt +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy.egg-info/scm_file_list.json +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy.egg-info/top_level.txt +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/github-action-readme.md +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/mkdocs.yml +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/muninn.yml +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/pyproject.toml +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/setup.cfg +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/templates/azure/azure-pipelines.yml +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/templates/bitbucket/bitbucket-pipelines.yml +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/templates/bitbucket/bitbucket_insights.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/templates/github/gitgalaxy-pipeline.yml +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/templates/gitlab/scan.yml +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/templates/scan.yml +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/README.md +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/cobol_mainframe/readme.md +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/cobol_mainframe/test_cobol_agent_task_forge.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/cobol_mainframe/test_cobol_compiler_forge.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/cobol_mainframe/test_cobol_dag_architect.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/cobol_mainframe/test_cobol_etl_unpacker.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/cobol_mainframe/test_cobol_graveyard_finder.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/cobol_mainframe/test_cobol_jcl_auditor.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/cobol_mainframe/test_cobol_jcl_forge.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/cobol_mainframe/test_cobol_lexical_patcher.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/cobol_mainframe/test_cobol_microservice_slicer.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/cobol_mainframe/test_cobol_refractor_controller.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/cobol_mainframe/test_cobol_schema_forge.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/cobol_mainframe/test_cobol_system_limits_reporter.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/core_engine/readme.md +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/core_engine/test_chronometer.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/core_engine/test_chronometer_timeout.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/core_engine/test_delta_scanner.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/core_engine/test_detector.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/core_engine/test_galaxyscope.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/core_engine/test_guidestar_lens.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/core_engine/test_language_lens.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/core_engine/test_language_standards_strict.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/core_engine/test_licensing.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/core_engine/test_manifest_parser.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/core_engine/test_prism.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/core_engine/test_signal_processor.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/core_engine/test_state_rehydrator.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/core_engine/test_zero_dependency.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/extraction/readme.md +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/extraction/test_args_extraction_strict.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/extraction/test_class_extraction_strict.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/extraction/test_dependency_extraction_strict.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/extraction/test_function_extraction_strict.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/golden_diff.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/golden_master_audit.json +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/golden_master_zero_dep_audit.json +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/security_auditing/readme.md +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/security_auditing/test_ai_appsec_sensor.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/security_auditing/test_api_network_map.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/security_auditing/test_binary_anomaly_detector.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/security_auditing/test_dev_agent_firewall.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/security_auditing/test_network_risk_sensor.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/security_auditing/test_pii_leak_hunter.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/security_auditing/test_redos_poison.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/security_auditing/test_security_auditor.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/security_auditing/test_security_lens.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/security_auditing/test_statistical_auditor.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/security_auditing/test_supply_chain_firewall.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/security_auditing/test_tensor_auditor.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/security_auditing/test_terabyte_log_scanner.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/security_auditing/test_vault_sentinel.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/tools_recorders/readme.md +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/tools_recorders/test_agent_forge.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/tools_recorders/test_audit_recorder.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/tools_recorders/test_batch_test_harness.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/tools_recorders/test_decoder_forge.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/tools_recorders/test_golden_forge.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/tools_recorders/test_gpu_recorder.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/tools_recorders/test_llm_recorder.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/tools_recorders/test_record_keeper.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/tools_recorders/test_sbom_generator.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/tools_recorders/test_service_forge.py +0 -0
- {gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/zizmor.yml +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: gitgalaxy
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.4.1
|
|
4
4
|
Summary: An AST-free, LLM-free zero-trust static analysis engine for mapping architectural risk, securing CI/CD pipelines, and modernizing legacy monoliths.
|
|
5
5
|
Author: Joe Esquibel
|
|
6
6
|
Project-URL: Homepage, https://gitgalaxy.io
|
|
@@ -122,12 +122,13 @@ class ApertureFilter:
|
|
|
122
122
|
|
|
123
123
|
def evaluate_path_integrity(self, file_path: Union[str, Path], has_intent: bool = False) -> Tuple[bool, int, str]:
|
|
124
124
|
"""
|
|
125
|
-
[
|
|
125
|
+
[GATE 1: Perimeter Gating (Zero-I/O Path Evaluation)]
|
|
126
126
|
Performs high-speed path analysis to build the initial File Census.
|
|
127
127
|
|
|
128
128
|
DEFENSIVE DESIGN: We determine if a file is physically valid based on OS metadata
|
|
129
|
-
*before* any disk I/O (file opening/reading) occurs.
|
|
130
|
-
and drastically
|
|
129
|
+
*before* any disk I/O (file opening/reading) occurs. All operations here are fast
|
|
130
|
+
string matching to prevent unnecessary disk reads and drastically reduce Memory/CPU
|
|
131
|
+
overhead on large monolithic repositories.
|
|
131
132
|
"""
|
|
132
133
|
path_obj = Path(file_path)
|
|
133
134
|
normalized_path = path_obj.as_posix()
|
|
@@ -143,14 +144,14 @@ class ApertureFilter:
|
|
|
143
144
|
except OSError:
|
|
144
145
|
size_bytes = 0
|
|
145
146
|
|
|
146
|
-
# ---
|
|
147
|
+
# --- Gate 1.1: Credential Exposure Radar ---
|
|
147
148
|
if path_obj.name in self.config.get("SECRETS_EXACT", set()) or ext.lower() in self.config.get(
|
|
148
149
|
"SECRETS_EXTENSIONS", set()
|
|
149
150
|
):
|
|
150
151
|
reason = f"CRITICAL LEAK (Exposed Secret: '{path_obj.name}')"
|
|
151
152
|
return False, size_bytes, reason
|
|
152
153
|
|
|
153
|
-
# ---
|
|
154
|
+
# --- Gate 1.2: Model Weight Shunt ---
|
|
154
155
|
AI_MODEL_EXTS = {
|
|
155
156
|
".safetensors",
|
|
156
157
|
".gguf",
|
|
@@ -167,7 +168,7 @@ class ApertureFilter:
|
|
|
167
168
|
self.logger.info(f"NEURAL SHUNT: Routing {path_obj.name} away from standard regex engines.")
|
|
168
169
|
return False, size_bytes, reason
|
|
169
170
|
|
|
170
|
-
# ---
|
|
171
|
+
# --- Gate 1.3: Explicit Extension Firewall ---
|
|
171
172
|
if ext.lower() in self.ignored_extensions and ext.lower() not in self.whitelisted_extensions:
|
|
172
173
|
reason = f"Blocked (Explicitly Denied Extension: '{ext}')"
|
|
173
174
|
return False, size_bytes, reason
|
|
@@ -177,12 +178,12 @@ class ApertureFilter:
|
|
|
177
178
|
if active_intent:
|
|
178
179
|
self._intent_cache.add(normalized_path)
|
|
179
180
|
|
|
180
|
-
# ---
|
|
181
|
+
# --- Gate 1.4: Ecosystem Ignore Resolver (.gitignore, node_modules, etc.) ---
|
|
181
182
|
if not self._check_ignore_rules(relative_path, has_intent=active_intent):
|
|
182
183
|
reason = "Blocked (System Exclusion, Hidden Directory, or Dynamic Ignored Dir)"
|
|
183
184
|
return False, size_bytes, reason
|
|
184
185
|
|
|
185
|
-
# ---
|
|
186
|
+
# --- Gate 1.5: Language Registry Validation ---
|
|
186
187
|
if active_intent:
|
|
187
188
|
return True, size_bytes, "Passed (GuideStar Intent Lock)"
|
|
188
189
|
|
|
@@ -202,7 +203,7 @@ class ApertureFilter:
|
|
|
202
203
|
has_intent: bool = False,
|
|
203
204
|
) -> FilterResult:
|
|
204
205
|
"""
|
|
205
|
-
[
|
|
206
|
+
[GATE 2: Physical Mass Gating (OS Metadata)]
|
|
206
207
|
The final Content Gate. Validates the physical matter of the artifact
|
|
207
208
|
to ensure it is not binary, minified, or auto-generated debris.
|
|
208
209
|
"""
|
|
@@ -227,9 +228,10 @@ class ApertureFilter:
|
|
|
227
228
|
stats = path_obj.stat()
|
|
228
229
|
result["size_bytes"] = stats.st_size
|
|
229
230
|
|
|
230
|
-
# ---
|
|
231
|
-
# DEFENSIVE DESIGN:
|
|
232
|
-
#
|
|
231
|
+
# --- Gate 2.1: Mass Saturation Limit ---
|
|
232
|
+
# DEFENSIVE DESIGN: Uses os.stat to check file size before allocating RAM.
|
|
233
|
+
# A hard 10MB limit prevents a single massive log or SQL dump from consuming
|
|
234
|
+
# all available RAM and triggering an OOM kill from the OS.
|
|
233
235
|
max_mb = self.config.get("MAX_FILE_SIZE_MB", 10)
|
|
234
236
|
if stats.st_size > (max_mb * 1024 * 1024):
|
|
235
237
|
result.update(
|
|
@@ -240,7 +242,7 @@ class ApertureFilter:
|
|
|
240
242
|
)
|
|
241
243
|
return result
|
|
242
244
|
|
|
243
|
-
# ---
|
|
245
|
+
# --- Gate 1 & 2 Execution: PATH VALIDATION ---
|
|
244
246
|
is_valid, size_bytes, reason = self.evaluate_path_integrity(path_obj, has_intent=active_intent)
|
|
245
247
|
|
|
246
248
|
if not is_valid:
|
|
@@ -259,7 +261,7 @@ class ApertureFilter:
|
|
|
259
261
|
)
|
|
260
262
|
return result
|
|
261
263
|
|
|
262
|
-
# ---
|
|
264
|
+
# --- CONTENT VALIDATION ---
|
|
263
265
|
if content is None:
|
|
264
266
|
result["reason"] = "Protocol Violation: Missing content buffer"
|
|
265
267
|
return result
|
|
@@ -292,13 +294,20 @@ class ApertureFilter:
|
|
|
292
294
|
"loc": 0,
|
|
293
295
|
}
|
|
294
296
|
|
|
295
|
-
#
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
#
|
|
297
|
+
# ==============================================================================
|
|
298
|
+
# Gate 3: Raw Buffer Gating (C-Backed String Operations)
|
|
299
|
+
# DEFENSIVE DESIGN: Allocating a massive array of strings via splitlines() is an
|
|
300
|
+
# O(N) memory operation that will crash the worker if the file is a 50MB compiled binary.
|
|
301
|
+
# We delay line splitting and use highly optimized C-backed string methods first.
|
|
302
|
+
# ==============================================================================
|
|
303
|
+
|
|
304
|
+
# Fast line count estimation using C-backed count
|
|
305
|
+
loc = content.count("\n") + 1
|
|
306
|
+
report["loc"] = loc
|
|
307
|
+
|
|
308
|
+
# --- Gate 3.1: Opaque Binary Sensor ---
|
|
300
309
|
# DEFENSIVE DESIGN: Checking for a null byte is the fastest, most reliable
|
|
301
|
-
# heuristic to identify compiled binaries
|
|
310
|
+
# heuristic to identify compiled binaries masquerading as text files.
|
|
302
311
|
if "\x00" in content:
|
|
303
312
|
report.update(
|
|
304
313
|
{
|
|
@@ -309,121 +318,81 @@ class ApertureFilter:
|
|
|
309
318
|
)
|
|
310
319
|
return report
|
|
311
320
|
|
|
312
|
-
# ---
|
|
321
|
+
# --- Gate 3.2: Monolith Amalgamation Shield ---
|
|
313
322
|
# DEFENSIVE DESIGN: 30,000+ lines in a single file is usually an amalgamation (e.g. sqlite3.c).
|
|
314
323
|
# Standard Structural Signature extractors suffer from Catastrophic Backtracking on files of this magnitude.
|
|
315
|
-
if
|
|
324
|
+
if loc > 30000:
|
|
316
325
|
report.update(
|
|
317
326
|
{
|
|
318
327
|
"valid": False,
|
|
319
328
|
"classification": "oversized_minified",
|
|
320
|
-
"reason": f"Blocked (Monolithic Amalgamation: {
|
|
329
|
+
"reason": f"Blocked (Monolithic Amalgamation: {loc} LOC exceeds safe regex boundaries)",
|
|
321
330
|
}
|
|
322
331
|
)
|
|
323
332
|
return report
|
|
324
333
|
|
|
325
|
-
# --- TIER 3.5: AUTO-GEN DOC SHIELD ---
|
|
326
334
|
low_path = rel_path.lower()
|
|
327
|
-
if low_path.endswith((".html", ".htm", ".xml")):
|
|
328
|
-
head_sample = "\n".join(lines_list[:100])
|
|
329
|
-
if self.doc_generator_pattern.search(head_sample):
|
|
330
|
-
parent_dir = str(Path(rel_path).parent)
|
|
331
|
-
if parent_dir != ".":
|
|
332
|
-
self.dynamic_ignore_dirs.add(parent_dir)
|
|
333
|
-
self.logger.debug(f"Dynamic Ignore: Directory '{parent_dir}' flagged as Auto-Generated Docs.")
|
|
334
|
-
|
|
335
|
-
report.update(
|
|
336
|
-
{
|
|
337
|
-
"valid": False,
|
|
338
|
-
"classification": "generated_noise",
|
|
339
|
-
"reason": "Blocked (Machine-Generated Documentation Signature)",
|
|
340
|
-
}
|
|
341
|
-
)
|
|
342
|
-
return report
|
|
343
335
|
|
|
344
|
-
# ---
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
if not has_intent or report["loc"] > 1000:
|
|
348
|
-
report.update(
|
|
349
|
-
{
|
|
350
|
-
"valid": False,
|
|
351
|
-
"classification": "generated_noise",
|
|
352
|
-
"reason": f"Blocked (Machine-Generated Source Code Signature: {report['loc']} LOC)",
|
|
353
|
-
}
|
|
354
|
-
)
|
|
355
|
-
return report
|
|
356
|
-
|
|
357
|
-
# --- TIER 3.7: LEXICAL MONOTONY SHIELD (Generated Code) ---
|
|
358
|
-
if report["loc"] > 2000 and not has_intent and not low_path.endswith((".cpy", ".cbl", ".cob")):
|
|
359
|
-
sample_lines = lines_list[:500]
|
|
360
|
-
meaningful_lines = [l for l in sample_lines if l.strip()]
|
|
361
|
-
|
|
362
|
-
if len(meaningful_lines) > 100:
|
|
363
|
-
indent_counts = {}
|
|
364
|
-
for l in meaningful_lines:
|
|
365
|
-
indent = len(l) - len(l.lstrip())
|
|
366
|
-
indent_counts[indent] = indent_counts.get(indent, 0) + 1
|
|
367
|
-
|
|
368
|
-
max_indent_freq = max(indent_counts.values())
|
|
369
|
-
if (max_indent_freq / len(meaningful_lines)) > 0.85:
|
|
370
|
-
report.update(
|
|
371
|
-
{
|
|
372
|
-
"valid": False,
|
|
373
|
-
"classification": "generated_noise",
|
|
374
|
-
"reason": f"Blocked (Lexical Monotony: High structural repetition detected in {report['loc']} LOC)",
|
|
375
|
-
}
|
|
376
|
-
)
|
|
377
|
-
return report
|
|
378
|
-
|
|
379
|
-
# --- TIER 3.8: DECLARATIVE & VECTOR DATA SHIELD ---
|
|
336
|
+
# --- Gate 3.3: Static Asset Bloat Deflector ---
|
|
337
|
+
# DEFENSIVE DESIGN: Static Assets contain zero executable payload. If they exceed
|
|
338
|
+
# a few thousand lines, they are data dumps, not configuration files.
|
|
380
339
|
if low_path.endswith((".yml", ".yaml", ".json", ".xml", ".svg", ".sql", ".csv", ".tsv")):
|
|
381
|
-
if
|
|
340
|
+
if loc > 2500:
|
|
382
341
|
report.update(
|
|
383
342
|
{
|
|
384
343
|
"valid": False,
|
|
385
344
|
"classification": "generated_noise",
|
|
386
|
-
"reason": f"Blocked (Massive
|
|
345
|
+
"reason": f"Blocked (Massive Static Asset Blob: {loc} LOC)",
|
|
387
346
|
}
|
|
388
347
|
)
|
|
389
348
|
return report
|
|
390
|
-
elif not has_intent and
|
|
349
|
+
elif not has_intent and loc > 1000:
|
|
391
350
|
report.update(
|
|
392
351
|
{
|
|
393
352
|
"valid": False,
|
|
394
353
|
"classification": "generated_noise",
|
|
395
|
-
"reason": f"Blocked (
|
|
354
|
+
"reason": f"Blocked (Static Asset Blob without Intent: {loc} LOC)",
|
|
396
355
|
}
|
|
397
356
|
)
|
|
398
357
|
return report
|
|
399
358
|
|
|
400
|
-
# ---
|
|
359
|
+
# --- Gate 3.4: Embedded Matrix Shield ---
|
|
401
360
|
# DEFENSIVE DESIGN: Massive comma-separated arrays or hex blobs (like embedded images
|
|
402
361
|
# inside C++ headers) contain 0 executable payload, but will completely stall a structural parser.
|
|
403
|
-
if
|
|
362
|
+
if loc > 500:
|
|
404
363
|
hex_count = content.count("0x") + content.count("0X")
|
|
405
|
-
if hex_count >
|
|
364
|
+
if hex_count > loc:
|
|
406
365
|
report.update(
|
|
407
366
|
{
|
|
408
367
|
"valid": False,
|
|
409
368
|
"classification": "binary_payload",
|
|
410
|
-
"reason": f"Blocked (Embedded Hex Payload: {hex_count} hex tokens in {
|
|
369
|
+
"reason": f"Blocked (Embedded Hex Payload: {hex_count} hex tokens in {loc} LOC)",
|
|
411
370
|
}
|
|
412
371
|
)
|
|
413
372
|
return report
|
|
414
373
|
|
|
415
374
|
comma_count = content.count(",")
|
|
416
|
-
if comma_count > (
|
|
375
|
+
if comma_count > (loc * 3):
|
|
417
376
|
report.update(
|
|
418
377
|
{
|
|
419
378
|
"valid": False,
|
|
420
379
|
"classification": "binary_payload",
|
|
421
|
-
"reason": f"Blocked (Embedded Array/Matrix Payload: {comma_count} commas in {
|
|
380
|
+
"reason": f"Blocked (Embedded Array/Matrix Payload: {comma_count} commas in {loc} LOC)",
|
|
422
381
|
}
|
|
423
382
|
)
|
|
424
383
|
return report
|
|
425
384
|
|
|
426
|
-
#
|
|
385
|
+
# ==============================================================================
|
|
386
|
+
# Gate 4: Header & Signature Gating (Shallow Regex)
|
|
387
|
+
# DEFENSIVE DESIGN: The file has survived the binary and mass structural checks.
|
|
388
|
+
# It is now safe to allocate memory for the line array. We slice the file into
|
|
389
|
+
# lines, but limit expensive regex operations to the first 100 lines (the header).
|
|
390
|
+
# ==============================================================================
|
|
391
|
+
lines_list = content.splitlines()
|
|
392
|
+
|
|
393
|
+
# --- Gate 4.1: Minification & Saturation Gate ---
|
|
394
|
+
# DEFENSIVE DESIGN: Code minifiers remove newlines, creating ultra-long strings
|
|
395
|
+
# that cause regex engines to hang (ReDoS). We check the first 100 lines for length.
|
|
427
396
|
max_line = self.config.get("MAX_LINE_LENGTH", 500)
|
|
428
397
|
is_prose = low_path.endswith((".md", ".markdown", ".txt", ".json", ".csv", ".rst", ".sql", ".svg"))
|
|
429
398
|
|
|
@@ -438,6 +407,66 @@ class ApertureFilter:
|
|
|
438
407
|
)
|
|
439
408
|
return report
|
|
440
409
|
|
|
410
|
+
head_sample = "\n".join(lines_list[:100])
|
|
411
|
+
|
|
412
|
+
# --- Gate 4.2: Auto-Generated Documentation Shield ---
|
|
413
|
+
if low_path.endswith((".html", ".htm", ".xml")):
|
|
414
|
+
if self.doc_generator_pattern.search(head_sample):
|
|
415
|
+
parent_dir = str(Path(rel_path).parent)
|
|
416
|
+
if parent_dir != ".":
|
|
417
|
+
self.dynamic_ignore_dirs.add(parent_dir)
|
|
418
|
+
self.logger.debug(f"Dynamic Ignore: Directory '{parent_dir}' flagged as Auto-Generated Docs.")
|
|
419
|
+
|
|
420
|
+
report.update(
|
|
421
|
+
{
|
|
422
|
+
"valid": False,
|
|
423
|
+
"classification": "generated_noise",
|
|
424
|
+
"reason": "Blocked (Machine-Generated Documentation Signature)",
|
|
425
|
+
}
|
|
426
|
+
)
|
|
427
|
+
return report
|
|
428
|
+
|
|
429
|
+
# --- Gate 4.3: Machine-Generated Source Sensor ---
|
|
430
|
+
if self.machine_gen_pattern.search(head_sample):
|
|
431
|
+
if not has_intent or loc > 1000:
|
|
432
|
+
report.update(
|
|
433
|
+
{
|
|
434
|
+
"valid": False,
|
|
435
|
+
"classification": "generated_noise",
|
|
436
|
+
"reason": f"Blocked (Machine-Generated Source Code Signature: {loc} LOC)",
|
|
437
|
+
}
|
|
438
|
+
)
|
|
439
|
+
return report
|
|
440
|
+
|
|
441
|
+
# ==============================================================================
|
|
442
|
+
# Gate 5: Deep Structural Gating (Python Iteration)
|
|
443
|
+
# DEFENSIVE DESIGN: This calculates indentation frequencies to detect highly repetitive,
|
|
444
|
+
# machine-generated code. Because it requires a Python `for` loop and string stripping,
|
|
445
|
+
# it is the most computationally expensive check and sits at the absolute bottom of the funnel.
|
|
446
|
+
# ==============================================================================
|
|
447
|
+
|
|
448
|
+
# --- Gate 5.1: Lexical Monotony Sensor ---
|
|
449
|
+
if loc > 2000 and not has_intent and not low_path.endswith((".cpy", ".cbl", ".cob")):
|
|
450
|
+
sample_lines = lines_list[:500]
|
|
451
|
+
meaningful_lines = [l for l in sample_lines if l.strip()]
|
|
452
|
+
|
|
453
|
+
if len(meaningful_lines) > 100:
|
|
454
|
+
indent_counts = {}
|
|
455
|
+
for l in meaningful_lines:
|
|
456
|
+
indent = len(l) - len(l.lstrip())
|
|
457
|
+
indent_counts[indent] = indent_counts.get(indent, 0) + 1
|
|
458
|
+
|
|
459
|
+
max_indent_freq = max(indent_counts.values())
|
|
460
|
+
if (max_indent_freq / len(meaningful_lines)) > 0.85:
|
|
461
|
+
report.update(
|
|
462
|
+
{
|
|
463
|
+
"valid": False,
|
|
464
|
+
"classification": "generated_noise",
|
|
465
|
+
"reason": f"Blocked (Lexical Monotony: High structural repetition detected in {loc} LOC)",
|
|
466
|
+
}
|
|
467
|
+
)
|
|
468
|
+
return report
|
|
469
|
+
|
|
441
470
|
return report
|
|
442
471
|
|
|
443
472
|
def _check_ignore_rules(self, rel_path: str, has_intent: bool = False) -> bool:
|
|
@@ -502,4 +531,4 @@ class ApertureFilter:
|
|
|
502
531
|
except Exception as e:
|
|
503
532
|
self.logger.warning(f"Failed to parse .gitignore: {e}")
|
|
504
533
|
|
|
505
|
-
return patterns
|
|
534
|
+
return patterns
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: gitgalaxy
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.4.1
|
|
4
4
|
Summary: An AST-free, LLM-free zero-trust static analysis engine for mapping architectural risk, securing CI/CD pipelines, and modernizing legacy monoliths.
|
|
5
5
|
Author: Joe Esquibel
|
|
6
6
|
Project-URL: Homepage, https://gitgalaxy.io
|
|
@@ -280,7 +280,7 @@ def test_aperture_declarative_blob_shield(filter_engine, tmp_path):
|
|
|
280
280
|
|
|
281
281
|
res1 = filter_engine.is_in_scope(json_file, content=content_1500, has_intent=False)
|
|
282
282
|
assert res1["is_in_scope"] is False
|
|
283
|
-
assert "
|
|
283
|
+
assert "Static Asset Blob without Intent" in res1["reason"]
|
|
284
284
|
|
|
285
285
|
# 2. Over 2500 LOC, WITH Intent -> Still Blocked (Absolute Cap)
|
|
286
286
|
content_3000 = "{\n" + ' "key": "value",\n' * 3000 + "}"
|
|
@@ -288,7 +288,7 @@ def test_aperture_declarative_blob_shield(filter_engine, tmp_path):
|
|
|
288
288
|
|
|
289
289
|
res2 = filter_engine.is_in_scope(json_file, content=content_3000, has_intent=True)
|
|
290
290
|
assert res2["is_in_scope"] is False
|
|
291
|
-
assert "Massive
|
|
291
|
+
assert "Massive Static Asset Blob" in res2["reason"]
|
|
292
292
|
|
|
293
293
|
|
|
294
294
|
# ==============================================================================
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/cobol_to_cobol/cobol_agent_task_forge.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/cobol_to_cobol/cobol_graveyard_finder.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/cobol_to_cobol/cobol_lexical_patcher.py
RENAMED
|
File without changes
|
{gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/cobol_to_cobol/cobol_microservice_slicer.py
RENAMED
|
File without changes
|
|
File without changes
|
{gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/cobol_to_cobol/cobol_system_limits_reporter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/cobol_to_java/cobol_to_java_agent_forge.py
RENAMED
|
File without changes
|
|
File without changes
|
{gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/cobol_to_java/cobol_to_java_build_forge.py
RENAMED
|
File without changes
|
{gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/cobol_to_java/cobol_to_java_decoder_forge.py
RENAMED
|
File without changes
|
{gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/cobol_to_java/cobol_to_java_service_forge.py
RENAMED
|
File without changes
|
{gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/cobol_to_java/cobol_to_java_spring_forge.py
RENAMED
|
File without changes
|
{gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/cobol_to_java/cobol_to_java_test_forge.py
RENAMED
|
File without changes
|
|
File without changes
|
{gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/network_auditing/full_api_network_map.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/supply_chain_security/supply_chain_firewall.py
RENAMED
|
File without changes
|
{gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/supply_chain_security/vault_sentinel.py
RENAMED
|
File without changes
|
|
File without changes
|
{gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/terabyte_log_scanning/pii_leak_hunter.py
RENAMED
|
File without changes
|
{gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/gitgalaxy/tools/terabyte_log_scanning/terabyte_log_scanner.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/cobol_mainframe/test_cobol_microservice_slicer.py
RENAMED
|
File without changes
|
{gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/cobol_mainframe/test_cobol_refractor_controller.py
RENAMED
|
File without changes
|
|
File without changes
|
{gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/cobol_mainframe/test_cobol_system_limits_reporter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gitgalaxy-2.3.43 → gitgalaxy-2.4.1}/tests/security_auditing/test_binary_anomaly_detector.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|