sourcecode 1.31.17__tar.gz → 1.31.20__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.20/.continue-here.md +134 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/PKG-INFO +3 -3
- {sourcecode-1.31.17 → sourcecode-1.31.20}/README.md +2 -2
- {sourcecode-1.31.17 → sourcecode-1.31.20}/pyproject.toml +1 -1
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/__init__.py +1 -1
- sourcecode-1.31.20/src/sourcecode/cache.py +654 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/cli.py +140 -28
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/serializer.py +113 -0
- sourcecode-1.31.20/tests/test_cache.py +668 -0
- sourcecode-1.31.17/.continue-here.md +0 -145
- sourcecode-1.31.17/.sourcecode-cache/snapshot-88dc388-07db8d0b.json +0 -122
- sourcecode-1.31.17/.sourcecode-cache/snapshot-88dc388-178c65fa.json +0 -4012
- sourcecode-1.31.17/.sourcecode-cache/snapshot-88dc388-379aba51.json +0 -265
- sourcecode-1.31.17/.sourcecode-cache/snapshot-88dc388-530bd9cf.json +0 -406
- sourcecode-1.31.17/.sourcecode-cache/snapshot-88dc388-56888a2a.json +0 -244
- sourcecode-1.31.17/.sourcecode-cache/snapshot-88dc388-5b602060.json +0 -265
- sourcecode-1.31.17/.sourcecode-cache/snapshot-88dc388-5ea1c8f1.json +0 -570
- sourcecode-1.31.17/.sourcecode-cache/snapshot-88dc388-6934996c.json +0 -129
- sourcecode-1.31.17/.sourcecode-cache/snapshot-88dc388-7b6dd6cc.json +0 -351
- sourcecode-1.31.17/.sourcecode-cache/snapshot-88dc388-8cb41bc4.json +0 -390
- sourcecode-1.31.17/.sourcecode-cache/snapshot-88dc388-c9ab42a3.json +0 -13523
- sourcecode-1.31.17/.sourcecode-cache/snapshot-bc358fa-06d2f793.json +0 -129
- sourcecode-1.31.17/.sourcecode-cache/snapshot-bc358fa-0bed428d.json +0 -406
- sourcecode-1.31.17/.sourcecode-cache/snapshot-bc358fa-1457dd37.json +0 -129
- sourcecode-1.31.17/.sourcecode-cache/snapshot-bc358fa-1da953a8.json +0 -122
- sourcecode-1.31.17/.sourcecode-cache/snapshot-bc358fa-218f2312.json +0 -570
- sourcecode-1.31.17/.sourcecode-cache/snapshot-bc358fa-2ab2bdd3.json +0 -390
- sourcecode-1.31.17/.sourcecode-cache/snapshot-bc358fa-3077fe4e.json +0 -4012
- sourcecode-1.31.17/.sourcecode-cache/snapshot-bc358fa-30daccea.json +0 -266
- sourcecode-1.31.17/.sourcecode-cache/snapshot-bc358fa-542cb39a.json +0 -244
- sourcecode-1.31.17/.sourcecode-cache/snapshot-bc358fa-6d9137f2.json +0 -351
- sourcecode-1.31.17/.sourcecode-cache/snapshot-bc358fa-72866fd0.json +0 -570
- sourcecode-1.31.17/.sourcecode-cache/snapshot-bc358fa-8afce878.json +0 -122
- sourcecode-1.31.17/.sourcecode-cache/snapshot-bc358fa-9d0d48c4.json +0 -244
- sourcecode-1.31.17/.sourcecode-cache/snapshot-bc358fa-9d1f2878.json +0 -406
- sourcecode-1.31.17/.sourcecode-cache/snapshot-bc358fa-a071a9df.json +0 -266
- sourcecode-1.31.17/.sourcecode-cache/snapshot-bc358fa-a1077d85.json +0 -390
- sourcecode-1.31.17/.sourcecode-cache/snapshot-bc358fa-a72aa41f.json +0 -351
- sourcecode-1.31.17/.sourcecode-cache/snapshot-bc358fa-b9ee8ffa.json +0 -4012
- sourcecode-1.31.17/.sourcecode-cache/snapshot-bc358fa-c5fc7db0.json +0 -266
- sourcecode-1.31.17/.sourcecode-cache/snapshot-bc358fa-cf823b7a.json +0 -266
- sourcecode-1.31.17/.sourcecode-cache/snapshot-bc358fa-d2d141a4.json +0 -13534
- sourcecode-1.31.17/.sourcecode-cache/snapshot-bc358fa-fc0985b2.json +0 -13534
- {sourcecode-1.31.17 → sourcecode-1.31.20}/.agents/skills/source-command-gsd-join-discord/SKILL.md +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/.agents/skills/source-command-gsd-review-backlog/SKILL.md +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/.agents/skills/source-command-gsd-workstreams/SKILL.md +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/.github/workflows/build-windows.yml +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/.gitignore +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/.ruff.toml +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/.sourcecode-cache/snapshot-3b5997a-fa5c742c.json +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/AUDIT_REAL_REPOS.md +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/CHANGELOG.md +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/CONTRIBUTING.md +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/LICENSE +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/SECURITY.md +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/docs/PRODUCT_TIERS.md +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/docs/privacy.md +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/docs/schema.md +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/raw +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/run_cli.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/adaptive_scanner.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/architecture_analyzer.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/architecture_summary.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/ast_extractor.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/canonical_ir.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/classifier.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/code_notes_analyzer.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/confidence_analyzer.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/context_scorer.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/context_summarizer.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/contract_model.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/contract_pipeline.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/coverage_parser.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/dependency_analyzer.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/detectors/__init__.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/detectors/base.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/detectors/csproj_parser.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/detectors/dart.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/detectors/dotnet.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/detectors/elixir.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/detectors/go.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/detectors/heuristic.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/detectors/hybrid.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/detectors/java.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/detectors/jvm_ext.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/detectors/nodejs.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/detectors/parsers.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/detectors/php.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/detectors/project.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/detectors/python.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/detectors/ruby.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/detectors/rust.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/detectors/systems.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/detectors/terraform.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/detectors/tooling.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/doc_analyzer.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/entrypoint_classifier.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/env_analyzer.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/file_classifier.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/flow_analyzer.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/git_analyzer.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/graph_analyzer.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/mcp/__init__.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/mcp/onboarding/__init__.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/mcp/onboarding/applier.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/mcp/onboarding/backup.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/mcp/onboarding/detector.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/mcp/onboarding/planner.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/mcp/runner.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/mcp/server.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/metrics_analyzer.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/output_budget.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/path_filters.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/pr_comment_renderer.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/prepare_context.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/progress.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/ranking_engine.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/redactor.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/relevance_scorer.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/repo_classifier.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/repository_ir.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/runtime_classifier.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/scanner.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/schema.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/semantic_analyzer.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/summarizer.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/telemetry/__init__.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/telemetry/config.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/telemetry/consent.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/telemetry/events.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/telemetry/filters.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/telemetry/transport.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/tree_utils.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/src/sourcecode/workspace.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/__init__.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/conftest.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/coverage.xml +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/fastapi_app/pyproject.toml +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/fastapi_app/src/main.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/go_service/cmd/api/main.go +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/go_service/go.mod +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/jacoco.xml +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/latin1_sample.java +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/latin1_sample_iso.java +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/lcov.info +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/nextjs_app/app/page.tsx +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/nextjs_app/package.json +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/nextjs_app/pnpm-lock.yaml +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/pnpm_monorepo/apps/web/app/page.tsx +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/pnpm_monorepo/apps/web/package.json +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/pnpm_monorepo/packages/api/main.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/pnpm_monorepo/packages/api/pyproject.toml +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/pnpm_monorepo/pnpm-workspace.yaml +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/spring_boot_minimal/pom.xml +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/ausente/application/service/FindAusenteService.java +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/ausente/domain/entities/Ausente.java +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/ausente/infrastructure/rest/AusenteRestController.java +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/autocoberturas/application/service/FindAutocoberturasService.java +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/autocoberturas/domain/entities/Autocoberturas.java +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/autocoberturas/infrastructure/rest/AutocoberturasRestController.java +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/calendarioTrabajador/application/service/FindCalendarioTrabajadorService.java +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/calendarioTrabajador/domain/entities/CalendarioTrabajador.java +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/calendarioTrabajador/infrastructure/rest/CalendarioTrabajadorRestController.java +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/departamento/application/service/FindDepartamentoService.java +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/departamento/domain/entities/Departamento.java +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/departamento/infrastructure/rest/DepartamentoRestController.java +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/empleado/application/service/FindEmpleadoService.java +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/empleado/domain/entities/Empleado.java +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/empleado/infrastructure/rest/EmpleadoRestController.java +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/DemoApplication.java +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/config/FilterConfig.java +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/domain/Health.java +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/mapper/HealthMapper.java +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/repository/HealthRepository.java +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/service/HealthService.java +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/web/HealthRestController.java +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/web/NominaRestController.java +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/spring_boot_minimal/src/main/resources/application-dev.yml +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/spring_boot_minimal/src/main/resources/application.yml +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/fixtures/spring_boot_minimal/src/main/resources/mapper/HealthMapper.xml +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_architecture_analyzer.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_architecture_summary.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_ast_extractor.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_audit_fixes.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_audit_sas_v2.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_block1_reliability.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_block2_coverage.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_block5_quality.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_broadleaf_fixes.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_bug_fixes_v1302.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_bug_fixes_v13115.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_bug_fixes_v1312.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_bug_fixes_v1313.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_bug_fixes_v16.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_bug_fixes_v2.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_canonical_ir.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_classifier.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_cli.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_code_notes_analyzer.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_context_scorer.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_contract_pipeline.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_coverage_parser.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_cross_consistency.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_dependency_analyzer_node_python.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_dependency_analyzer_polyglot.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_dependency_schema.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_detector_dotnet.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_detector_go_rust_java.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_detector_nodejs.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_detector_php_ruby_dart.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_detector_python.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_detector_universal_managed.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_detector_universal_systems.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_detectors_base.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_doc_analyzer_jsdom.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_doc_analyzer_python.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_encoding_regression.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_enterprise_benchmarks.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_graph_analyzer_polyglot.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_graph_analyzer_python_node.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_graph_schema.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_hybrid_inference.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_integration.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_integration_dependencies.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_integration_detection.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_integration_docs.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_integration_graph_modules.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_integration_lqn.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_integration_metrics.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_integration_multistack.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_integration_semantics.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_integration_universal.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_java_spring_integration.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_mcp_runner.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_mcp_serve.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_mcp_tools.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_metrics_analyzer.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_output_ux.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_packaging.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_phase1_improvements.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_pipeline_integrity.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_real_projects.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_redactor.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_repository_ir.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_scanner.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_schema.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_schema_normalization.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_scoring_calibration.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_semantic_analyzer_node.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_semantic_analyzer_python.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_semantic_import_resolution.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_semantic_schema.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_signal_hierarchy.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_summarizer.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_surface_honesty.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_task_differentiation.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_telemetry.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_v131_improvements.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_v1_10_regressions.py +0 -0
- {sourcecode-1.31.17 → sourcecode-1.31.20}/tests/test_workspace_analyzer.py +0 -0
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# Continue Here — atlas-cli sesión 21
|
|
2
|
+
|
|
3
|
+
**Paused:** 2026-05-24
|
|
4
|
+
**Repo:** `/Users/user/Documents/workspace/atlas-cli`
|
|
5
|
+
**Branch:** master
|
|
6
|
+
**Version:** sourcecode 1.31.17
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Objetivo de esta sesión
|
|
11
|
+
|
|
12
|
+
Continuar corrección de bugs post-auditoría v1.31.16 (adversarial audit contra Keycloak + Broadleaf).
|
|
13
|
+
Sesión 21 atacó los dos P0s. Quedan P1s y P2s.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Trabajo completado esta sesión
|
|
18
|
+
|
|
19
|
+
### P0-01 — `impact OrderServiceImpl` → 0 callers FIXED ✅
|
|
20
|
+
|
|
21
|
+
**Root cause:** `_build_reverse_adjacency` descartaba edges `implements` cuando `to` era
|
|
22
|
+
nombre corto no-resuelto (`"OrderService"` en vez de FQN). El `reverse_graph["OrderService"]`
|
|
23
|
+
no tenía clave `"implements"` → scan desde reverse side imposible.
|
|
24
|
+
|
|
25
|
+
**Fix:** Escanear `graph.edges` forward para `type=implements` FROM matched classes.
|
|
26
|
+
Resolver `to` (short/FQN) contra claves de `reverse_graph` via suffix match.
|
|
27
|
+
Callers de la interfaz se añaden a `direct_callers`. Output incluye `via_interface_resolution`
|
|
28
|
+
y `via_interface_note`.
|
|
29
|
+
|
|
30
|
+
**Resultado:** `impact OrderServiceImpl` en Broadleaf: 0 callers → **74 callers**, risk LOW → **HIGH**.
|
|
31
|
+
|
|
32
|
+
### P0-02 — `reverse_graph` unbounded por `--max-nodes`/`--max-edges` FIXED ✅
|
|
33
|
+
|
|
34
|
+
**Root cause:** `apply_ir_size_limits` sólo acotaba `graph.nodes`/`graph.edges`.
|
|
35
|
+
`reverse_graph` emitía 2685 claves (~3MB) aunque se pidieran 200 nodos.
|
|
36
|
+
|
|
37
|
+
**Fix:** Cuando `max_nodes` activo: restringir `reverse_graph` a `kept_fqns` + cap inner
|
|
38
|
+
caller lists a `max(20, max_nodes//4)`. Cuando sólo `max_edges`: cap a `max_edges` claves
|
|
39
|
+
por in-degree. Añade `reverse_graph_note` cuando trimmed.
|
|
40
|
+
|
|
41
|
+
**Resultado:** `--max-nodes 200 --max-edges 500`: 3.85MB → **939KB** (76% reducción).
|
|
42
|
+
|
|
43
|
+
### Commit esta sesión
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
e5fba19 fix(ir): resolve Spring DI interface bridging and bound reverse_graph
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Estado archivos sin commitear
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
?? AUDIT_REAL_REPOS.md — auditoría 22 secciones (de sesión 20, no tocar)
|
|
55
|
+
?? docs/PRODUCT_TIERS.md — de sesión anterior (no tocar esta sesión)
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Commitear estos docs antes de continuar con fixes:
|
|
59
|
+
```bash
|
|
60
|
+
git add AUDIT_REAL_REPOS.md docs/PRODUCT_TIERS.md
|
|
61
|
+
git commit -m "docs(audit): adversarial audit v1.31.16 — real benchmarks, P0/P1/P2 findings"
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Bugs pendientes por ROI
|
|
67
|
+
|
|
68
|
+
### P1 — Altos
|
|
69
|
+
|
|
70
|
+
| # | Bug | Archivo | Tiempo est. |
|
|
71
|
+
|---|-----|---------|-------------|
|
|
72
|
+
| **P1-01** | Risk score inconsistente para 0-caller impls: `OrderServiceImpl`→low vs `OrderDaoImpl`→high (mismo 0 callers, distinta heurística). POST P0-01 fix: verificar si aún aplica o si interface bridging ya lo resuelve. | `repository_ir.py` → `compute_blast_radius` | 30 min |
|
|
73
|
+
| **P1-02** | `project_summary` = primera línea del README (license/marketing). Debe generarse de código: "N-module Spring Boot — M classes, K endpoints, J txn boundaries" | `serializer.py` o `summarizer.py` | 1h |
|
|
74
|
+
| **P1-03** | `fix-bug` devuelve 426 archivos para NPE genérico (14% repo, sin `score` field) | `prepare_context.py` → `fix_bug` | 30 min |
|
|
75
|
+
| **P1-04** | `indirect_callers:0` para KeycloakSession (1992 direct callers) — BFS para en nivel 1 por hub guard | `repository_ir.py` → `compute_blast_radius` hub guard logic | 45 min |
|
|
76
|
+
| **P1-05** | `fix-bug` 23s cold en Keycloak | profiling needed | ~1h |
|
|
77
|
+
|
|
78
|
+
### P2 — Medios (batch)
|
|
79
|
+
|
|
80
|
+
- `bounded_contexts: ["dto","file"]` Broadleaf — WRONG. Fix: usar Maven module names
|
|
81
|
+
- `role: unknown` para todos `high_coupling_nodes` en modernize — nunca clasifica annotation/interface/entity
|
|
82
|
+
- `no_security_signal: 100%` en ambos repos — filter-based security nunca detectado
|
|
83
|
+
- JAX-RS sub-resource paths no compuestos con parent `@Path`
|
|
84
|
+
- `hotspot_candidates: []` siempre — git churn ignorado
|
|
85
|
+
- `--format`/`--no-cache` ausentes en `impact`, `endpoints`, `fix-bug`, `onboard`, `modernize`, `review-pr`
|
|
86
|
+
- Architecture confidence diferente entre `--compact` y `--agent` mismo repo
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Primera acción al retomar
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
cd /Users/user/Documents/workspace/atlas-cli
|
|
94
|
+
|
|
95
|
+
# 1. Commitear docs pendientes
|
|
96
|
+
git add AUDIT_REAL_REPOS.md docs/PRODUCT_TIERS.md
|
|
97
|
+
git commit -m "docs(audit): adversarial audit v1.31.16 — Keycloak + Broadleaf findings"
|
|
98
|
+
|
|
99
|
+
# 2. Verificar si P1-01 aún existe post-fix P0-01:
|
|
100
|
+
sourcecode impact OrderDaoImpl ~/Documents/workspace/BroadleafCommerce 2>&1 | python3 -m json.tool | grep -E 'risk_level|confidence_level|direct_callers|via_interface'
|
|
101
|
+
# Si risk_level sigue siendo inconsistente → fix P1-01
|
|
102
|
+
# Si interface bridging ya lo resuelve → skip a P1-02
|
|
103
|
+
|
|
104
|
+
# 3. Si P1-01 persiste:
|
|
105
|
+
# En compute_blast_radius: cuando direct_callers=0 Y no hay interface bridging Y
|
|
106
|
+
# clase es @Service/@Repository impl → bajar confidence, añadir gap en explanation
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## Archivos clave del codebase
|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
src/sourcecode/
|
|
115
|
+
repository_ir.py — impact analysis, blast radius, interface bridging (P0-01/02 fixeados aquí)
|
|
116
|
+
prepare_context.py — fix-bug, onboard, review-pr output (P1-03 aquí)
|
|
117
|
+
serializer.py — compact/agent output, project_summary (P1-02 aquí)
|
|
118
|
+
summarizer.py — ProjectSummarizer (P1-02 posiblemente aquí)
|
|
119
|
+
cli.py — top-level commands, cache logic
|
|
120
|
+
tests/
|
|
121
|
+
test_enterprise_benchmarks.py
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## Contexto de versiones
|
|
127
|
+
|
|
128
|
+
- v1.31.16: bugs auditados en sesión 20
|
|
129
|
+
- v1.31.17: versión actual (bumpeada en 0cf28b1 por el usuario)
|
|
130
|
+
- Fixes P0-01/P0-02: commit e5fba19 (sesión 21)
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
*Pausado 2026-05-24 — gsd:pause-work (sesión 21)*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sourcecode
|
|
3
|
-
Version: 1.31.
|
|
3
|
+
Version: 1.31.20
|
|
4
4
|
Summary: Deterministic codebase context for AI coding agents
|
|
5
5
|
License: Apache License
|
|
6
6
|
Version 2.0, January 2004
|
|
@@ -225,7 +225,7 @@ Description-Content-Type: text/markdown
|
|
|
225
225
|
|
|
226
226
|
**AI-ready change intelligence for Java/Spring enterprise monoliths.**
|
|
227
227
|
|
|
228
|
-

|
|
229
229
|

|
|
230
230
|
|
|
231
231
|
---
|
|
@@ -263,7 +263,7 @@ pipx install sourcecode
|
|
|
263
263
|
|
|
264
264
|
```bash
|
|
265
265
|
sourcecode version
|
|
266
|
-
# sourcecode 1.31.
|
|
266
|
+
# sourcecode 1.31.20
|
|
267
267
|
```
|
|
268
268
|
|
|
269
269
|
---
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
**AI-ready change intelligence for Java/Spring enterprise monoliths.**
|
|
4
4
|
|
|
5
|
-

|
|
6
6
|

|
|
7
7
|
|
|
8
8
|
---
|
|
@@ -40,7 +40,7 @@ pipx install sourcecode
|
|
|
40
40
|
|
|
41
41
|
```bash
|
|
42
42
|
sourcecode version
|
|
43
|
-
# sourcecode 1.31.
|
|
43
|
+
# sourcecode 1.31.20
|
|
44
44
|
```
|
|
45
45
|
|
|
46
46
|
---
|