sourcecode 1.31.23__tar.gz → 1.31.25__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.
- sourcecode-1.31.25/.continue-here.md +99 -0
- sourcecode-1.31.25/AUDIT_v1.31.23.md +660 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/PKG-INFO +3 -3
- {sourcecode-1.31.23 → sourcecode-1.31.25}/README.md +2 -2
- {sourcecode-1.31.23 → sourcecode-1.31.25}/pyproject.toml +1 -1
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/__init__.py +1 -1
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/architecture_analyzer.py +68 -1
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/cli.py +103 -12
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/repository_ir.py +130 -2
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/serializer.py +1 -1
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/summarizer.py +25 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_repository_ir.py +346 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_surface_honesty.py +1 -1
- sourcecode-1.31.23/.continue-here.md +0 -149
- {sourcecode-1.31.23 → sourcecode-1.31.25}/.agents/skills/source-command-gsd-join-discord/SKILL.md +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/.agents/skills/source-command-gsd-review-backlog/SKILL.md +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/.agents/skills/source-command-gsd-workstreams/SKILL.md +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/.github/workflows/build-windows.yml +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/.gitignore +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/.ruff.toml +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/.sourcecode-cache/snapshot-3b5997a-fa5c742c.json +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/AUDIT_REAL_REPOS.md +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/CHANGELOG.md +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/CONTRIBUTING.md +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/LICENSE +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/SECURITY.md +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/docs/PRODUCT_TIERS.md +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/docs/privacy.md +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/docs/schema.md +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/raw +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/run_cli.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/adaptive_scanner.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/architecture_summary.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/ast_extractor.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/cache.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/canonical_ir.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/classifier.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/code_notes_analyzer.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/confidence_analyzer.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/context_scorer.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/context_summarizer.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/contract_model.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/contract_pipeline.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/coverage_parser.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/dependency_analyzer.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/detectors/__init__.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/detectors/base.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/detectors/csproj_parser.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/detectors/dart.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/detectors/dotnet.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/detectors/elixir.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/detectors/go.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/detectors/heuristic.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/detectors/hybrid.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/detectors/java.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/detectors/jvm_ext.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/detectors/nodejs.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/detectors/parsers.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/detectors/php.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/detectors/project.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/detectors/python.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/detectors/ruby.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/detectors/rust.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/detectors/systems.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/detectors/terraform.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/detectors/tooling.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/doc_analyzer.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/entrypoint_classifier.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/env_analyzer.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/file_classifier.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/flow_analyzer.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/git_analyzer.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/graph_analyzer.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/mcp/__init__.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/mcp/onboarding/__init__.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/mcp/onboarding/applier.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/mcp/onboarding/backup.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/mcp/onboarding/detector.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/mcp/onboarding/planner.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/mcp/runner.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/mcp/server.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/metrics_analyzer.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/output_budget.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/path_filters.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/pr_comment_renderer.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/prepare_context.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/progress.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/ranking_engine.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/redactor.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/relevance_scorer.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/repo_classifier.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/runtime_classifier.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/scanner.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/schema.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/semantic_analyzer.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/telemetry/__init__.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/telemetry/config.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/telemetry/consent.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/telemetry/events.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/telemetry/filters.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/telemetry/transport.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/tree_utils.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/src/sourcecode/workspace.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/__init__.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/conftest.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/coverage.xml +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/fastapi_app/pyproject.toml +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/fastapi_app/src/main.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/go_service/cmd/api/main.go +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/go_service/go.mod +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/jacoco.xml +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/latin1_sample.java +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/latin1_sample_iso.java +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/lcov.info +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/nextjs_app/app/page.tsx +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/nextjs_app/package.json +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/nextjs_app/pnpm-lock.yaml +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/pnpm_monorepo/apps/web/app/page.tsx +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/pnpm_monorepo/apps/web/package.json +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/pnpm_monorepo/packages/api/main.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/pnpm_monorepo/packages/api/pyproject.toml +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/pnpm_monorepo/pnpm-workspace.yaml +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/spring_boot_minimal/pom.xml +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/ausente/application/service/FindAusenteService.java +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/ausente/domain/entities/Ausente.java +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/ausente/infrastructure/rest/AusenteRestController.java +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/autocoberturas/application/service/FindAutocoberturasService.java +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/autocoberturas/domain/entities/Autocoberturas.java +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/autocoberturas/infrastructure/rest/AutocoberturasRestController.java +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/calendarioTrabajador/application/service/FindCalendarioTrabajadorService.java +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/calendarioTrabajador/domain/entities/CalendarioTrabajador.java +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/calendarioTrabajador/infrastructure/rest/CalendarioTrabajadorRestController.java +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/departamento/application/service/FindDepartamentoService.java +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/departamento/domain/entities/Departamento.java +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/departamento/infrastructure/rest/DepartamentoRestController.java +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/empleado/application/service/FindEmpleadoService.java +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/empleado/domain/entities/Empleado.java +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/empleado/infrastructure/rest/EmpleadoRestController.java +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/DemoApplication.java +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/config/FilterConfig.java +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/domain/Health.java +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/mapper/HealthMapper.java +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/repository/HealthRepository.java +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/service/HealthService.java +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/web/HealthRestController.java +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/web/NominaRestController.java +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/spring_boot_minimal/src/main/resources/application-dev.yml +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/spring_boot_minimal/src/main/resources/application.yml +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/fixtures/spring_boot_minimal/src/main/resources/mapper/HealthMapper.xml +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_architecture_analyzer.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_architecture_summary.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_ast_extractor.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_audit_fixes.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_audit_sas_v2.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_block1_reliability.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_block2_coverage.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_block5_quality.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_broadleaf_fixes.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_bug_fixes_v1302.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_bug_fixes_v13115.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_bug_fixes_v1312.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_bug_fixes_v13122.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_bug_fixes_v1313.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_bug_fixes_v1321.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_bug_fixes_v16.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_bug_fixes_v2.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_cache.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_canonical_ir.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_classifier.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_cli.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_code_notes_analyzer.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_context_scorer.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_contract_pipeline.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_coverage_parser.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_cross_consistency.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_dependency_analyzer_node_python.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_dependency_analyzer_polyglot.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_dependency_schema.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_detector_dotnet.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_detector_go_rust_java.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_detector_nodejs.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_detector_php_ruby_dart.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_detector_python.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_detector_universal_managed.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_detector_universal_systems.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_detectors_base.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_doc_analyzer_jsdom.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_doc_analyzer_python.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_encoding_regression.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_enterprise_benchmarks.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_graph_analyzer_polyglot.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_graph_analyzer_python_node.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_graph_schema.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_hybrid_inference.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_integration.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_integration_dependencies.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_integration_detection.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_integration_docs.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_integration_graph_modules.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_integration_lqn.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_integration_metrics.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_integration_multistack.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_integration_semantics.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_integration_universal.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_java_spring_integration.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_mcp_runner.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_mcp_serve.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_mcp_tools.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_metrics_analyzer.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_output_ux.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_packaging.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_phase1_improvements.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_pipeline_integrity.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_real_projects.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_redactor.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_scanner.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_schema.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_schema_normalization.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_scoring_calibration.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_semantic_analyzer_node.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_semantic_analyzer_python.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_semantic_import_resolution.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_semantic_schema.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_signal_hierarchy.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_summarizer.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_task_differentiation.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_telemetry.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_v131_improvements.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_v1_10_regressions.py +0 -0
- {sourcecode-1.31.23 → sourcecode-1.31.25}/tests/test_workspace_analyzer.py +0 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# Handoff — Sesión 29 (2026-05-25)
|
|
2
|
+
|
|
3
|
+
## Position
|
|
4
|
+
|
|
5
|
+
**Project:** sourcecode (atlas-cli)
|
|
6
|
+
**Activity:** Post-audit bug fixing — AUDIT_v1.31.23.md
|
|
7
|
+
**Branch:** master
|
|
8
|
+
**Last commit:** ee636c1 — fix(architecture): bounded_contexts from Maven module names
|
|
9
|
+
**Tests:** 1590 passed, 3 skipped ✅
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Work Done This Session
|
|
14
|
+
|
|
15
|
+
### Session 28 (committed before this session started)
|
|
16
|
+
- **P0** BFS truncation transparency: `bfs_truncated`, `depth_reached` (actual), `indirect_callers_computed`
|
|
17
|
+
- **P0** Ghost `--deep` flag → fixed to `--full` in serializer.py
|
|
18
|
+
- **P1** `--format` validation in `prepare-context` (exit 2 on invalid)
|
|
19
|
+
- **P1** `relevant_files.score` exposed in output (round float, not popped)
|
|
20
|
+
- 182 tests in TestBfsTransparencyAndTruncation passing
|
|
21
|
+
|
|
22
|
+
### Session 29 (this session)
|
|
23
|
+
1. **Test fix**: `test_skips_image_only_lines` — description was 22 chars, below 30-char threshold → updated to realistic length
|
|
24
|
+
2. **P1 BFS sampling** (`repository_ir.py`): hub classes (>500 direct callers) now run depth-2 BFS from 20 random seeds. `indirect_callers` contains sampled results. New fields: `indirect_callers_sampled: bool`, `indirect_callers_estimated_count: int`, `indirect_callers_sample_note`. `stats.indirect_callers_computed` now `true` when sampled. 3 new tests (16 total in class).
|
|
25
|
+
3. **P1 project_summary** (`summarizer.py`): `_merge_description_with_structure` for Java stacks appends quantitative suffix: N Java classes, M transactional boundaries, K controller entry points when data in SourceMap.
|
|
26
|
+
4. **P2 role classification** (`repository_ir.py`):
|
|
27
|
+
- `_JAVA_ROLE_MAP` expanded: `@Entity`, `@Table`, `@MappedSuperclass`, `@Stateless`, `@Stateful`, `@MessageDriven`, `@RegisterForReflection`, `@Aspect`, `@EnableWebSecurity`, `@EnableMethodSecurity`
|
|
28
|
+
- `_java_role_from_name()`: 14 name-suffix patterns as annotation fallback (OrderServiceImpl→service, CustomerDao→repository, PaymentResource→controller)
|
|
29
|
+
- `_assemble()`: applies name fallback when annotation role == "unknown"
|
|
30
|
+
5. **P2 hotspot_candidates** (`cli.py` modernize_cmd):
|
|
31
|
+
- `_get_git_churn` called for all Java files (90-day window)
|
|
32
|
+
- `hotspot_score = in_degree×2 + (churn/max_churn)×5`
|
|
33
|
+
- `git_churn_90d` field on each hotspot entry
|
|
34
|
+
- Roles expanded to include `entity`; churn-active nodes (≥3 commits, in_degree≥1) included even below coupling threshold
|
|
35
|
+
6. **P2 bounded_contexts** (`architecture_analyzer.py`):
|
|
36
|
+
- `_maven_module_bounded_contexts()`: scans `src/main/java/` markers, extracts module names, strips common prefix (broadleaf-*, keycloak-*), strips -api/-impl/-core suffixes
|
|
37
|
+
- Priority 0 in `_infer_bounded_contexts()` — fires before SCC and domain approaches
|
|
38
|
+
- BroadleafCommerce result: `["catalog", "cms", "customer", "framework", "order"]` (was `["dto", "file"]`)
|
|
39
|
+
- Requires ≥2 distinct modules
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Score Update
|
|
44
|
+
|
|
45
|
+
| Dimension | v1.31.23 | Projected now | Fix applied |
|
|
46
|
+
|---|---|---|---|
|
|
47
|
+
| Correctness impl classes | 8/10 | 8.5/10 | BFS sampling for hub classes |
|
|
48
|
+
| Onboarding context quality | 7/10 | 8/10 | project_summary quantitative + bounded_contexts |
|
|
49
|
+
| Modernize/dead code | 3/10 | 5.5/10 | hotspots with churn, roles classified |
|
|
50
|
+
| Java/Spring depth | 8/10 | 8.5/10 | bounded_contexts Maven modules |
|
|
51
|
+
| **TOTAL** | **6.5/10** | **~7.2/10** | |
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Remaining from AUDIT_v1.31.23.md
|
|
56
|
+
|
|
57
|
+
### P2 unfixed (section 13, items 6–18)
|
|
58
|
+
| # | Issue | File | Effort |
|
|
59
|
+
|---|---|---|---|
|
|
60
|
+
| P2-06 | `subsystem_summary.member_count` always 0 | cli.py modernize_cmd | Medium |
|
|
61
|
+
| P2-07 | `no_security_signal` → detect filter-based security → `security_model: "filter_based"` | repository_ir.py | Medium |
|
|
62
|
+
| P2-10 | `architecture.confidence` inconsistent between `--compact` and `--agent` | serializer.py | Low |
|
|
63
|
+
| P2-13 | `--format`/`--no-cache` flags inconsistent across subcommands | cli.py | Medium |
|
|
64
|
+
| P2-14 | URLs in code_notes truncated (missing `https://bugs.` prefix) | code_notes_analyzer.py | Low (needs repro) |
|
|
65
|
+
| P2-16 | `entry_points.controllers.methods` mismatches `endpoints` count | cli.py | Medium |
|
|
66
|
+
| P2-17 | `--compact --help` token claim outdated | cli.py | Trivial |
|
|
67
|
+
| P2-18 | `impact` via file path: resolve to FQN before IR lookup | repository_ir.py | Low |
|
|
68
|
+
|
|
69
|
+
### P2 highest impact remaining
|
|
70
|
+
**P2-06 member_count=0** — `subsystem_summary.member_count` always 0 in modernize output. `modernize_cmd` reads `len(s.get("members") or [])` but `_detect_subsystems()` returns subsystem dicts without `members` list populated. Fix: populate `members` in `_detect_subsystems`.
|
|
71
|
+
|
|
72
|
+
**P2-13 --format consistency** — `--format` and `--no-cache` not accepted by all subcommands. Need to audit which subcommands are missing them.
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Key Files Modified
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
src/sourcecode/repository_ir.py — BFS sampling, role map, name classifier
|
|
80
|
+
src/sourcecode/summarizer.py — project_summary Java quantitative suffix
|
|
81
|
+
src/sourcecode/architecture_analyzer.py — Maven module bounded_contexts
|
|
82
|
+
src/sourcecode/cli.py — hotspot_candidates with git churn
|
|
83
|
+
tests/test_repository_ir.py — 3 new BFS sampling tests
|
|
84
|
+
tests/test_surface_honesty.py — test_skips_image_only_lines fix
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## Next Session
|
|
90
|
+
|
|
91
|
+
**Recommended start:** Fix `subsystem_summary.member_count` (P2-06).
|
|
92
|
+
|
|
93
|
+
Root cause: `_detect_subsystems()` in `repository_ir.py` builds subsystems but doesn't populate the `members` list that `modernize_cmd` reads. Fix: ensure each subsystem dict includes the list of FQNs belonging to it.
|
|
94
|
+
|
|
95
|
+
Then: `--format`/`--no-cache` flag consistency audit (P2-13).
|
|
96
|
+
|
|
97
|
+
**Resume command:** `/gsd:resume-work`
|
|
98
|
+
|
|
99
|
+
**Test baseline:** `python3 -m pytest tests/ → 1590 passed, 3 skipped`
|