sourcecode 0.14.0__tar.gz → 0.15.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.
Files changed (107) hide show
  1. {sourcecode-0.14.0 → sourcecode-0.15.1}/-o +1 -1
  2. {sourcecode-0.14.0 → sourcecode-0.15.1}/PKG-INFO +1 -1
  3. {sourcecode-0.14.0 → sourcecode-0.15.1}/docs/schema.md +2 -2
  4. {sourcecode-0.14.0 → sourcecode-0.15.1}/pyproject.toml +1 -1
  5. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/__init__.py +1 -1
  6. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/architecture_analyzer.py +0 -1
  7. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/architecture_summary.py +0 -1
  8. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/classifier.py +0 -1
  9. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/cli.py +0 -1
  10. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/code_notes_analyzer.py +0 -1
  11. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/coverage_parser.py +2 -1
  12. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/dependency_analyzer.py +0 -1
  13. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/detectors/base.py +0 -1
  14. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/detectors/dart.py +0 -1
  15. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/detectors/dotnet.py +0 -1
  16. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/detectors/elixir.py +0 -1
  17. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/detectors/go.py +0 -1
  18. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/detectors/heuristic.py +0 -1
  19. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/detectors/java.py +0 -1
  20. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/detectors/jvm_ext.py +0 -1
  21. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/detectors/nodejs.py +0 -1
  22. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/detectors/parsers.py +0 -1
  23. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/detectors/php.py +0 -1
  24. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/detectors/project.py +0 -1
  25. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/detectors/python.py +0 -1
  26. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/detectors/ruby.py +0 -1
  27. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/detectors/rust.py +0 -1
  28. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/detectors/systems.py +0 -1
  29. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/detectors/terraform.py +0 -1
  30. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/detectors/tooling.py +0 -1
  31. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/doc_analyzer.py +1 -1
  32. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/env_analyzer.py +0 -1
  33. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/git_analyzer.py +0 -1
  34. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/graph_analyzer.py +0 -1
  35. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/metrics_analyzer.py +2 -1
  36. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/redactor.py +2 -1
  37. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/scanner.py +2 -1
  38. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/schema.py +2 -1
  39. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/semantic_analyzer.py +2 -1
  40. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/serializer.py +2 -1
  41. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/summarizer.py +2 -1
  42. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/tree_utils.py +0 -1
  43. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/workspace.py +0 -1
  44. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_architecture_analyzer.py +0 -1
  45. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_architecture_summary.py +0 -1
  46. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_classifier.py +0 -1
  47. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_coverage_parser.py +2 -1
  48. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_dependency_analyzer_node_python.py +0 -1
  49. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_dependency_analyzer_polyglot.py +0 -1
  50. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_dependency_schema.py +0 -1
  51. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_detector_go_rust_java.py +0 -1
  52. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_detector_nodejs.py +0 -1
  53. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_detector_php_ruby_dart.py +0 -1
  54. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_detector_python.py +0 -1
  55. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_detector_universal_managed.py +0 -1
  56. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_detector_universal_systems.py +0 -1
  57. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_detectors_base.py +0 -1
  58. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_doc_analyzer_jsdom.py +2 -1
  59. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_doc_analyzer_python.py +2 -1
  60. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_graph_analyzer_polyglot.py +0 -1
  61. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_graph_analyzer_python_node.py +0 -1
  62. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_graph_schema.py +0 -1
  63. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_integration_dependencies.py +0 -1
  64. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_integration_detection.py +0 -1
  65. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_integration_docs.py +2 -1
  66. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_integration_graph_modules.py +0 -1
  67. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_integration_lqn.py +2 -1
  68. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_integration_metrics.py +2 -1
  69. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_integration_multistack.py +0 -1
  70. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_integration_semantics.py +2 -1
  71. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_integration_universal.py +0 -1
  72. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_metrics_analyzer.py +2 -1
  73. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_packaging.py +0 -1
  74. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_real_projects.py +0 -1
  75. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_semantic_analyzer_node.py +2 -1
  76. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_semantic_analyzer_python.py +2 -1
  77. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_semantic_import_resolution.py +2 -1
  78. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_semantic_schema.py +2 -1
  79. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_summarizer.py +0 -1
  80. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_workspace_analyzer.py +0 -1
  81. {sourcecode-0.14.0 → sourcecode-0.15.1}/.gitignore +0 -0
  82. {sourcecode-0.14.0 → sourcecode-0.15.1}/.ruff.toml +0 -0
  83. {sourcecode-0.14.0 → sourcecode-0.15.1}/README.md +0 -0
  84. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/detectors/__init__.py +0 -0
  85. {sourcecode-0.14.0 → sourcecode-0.15.1}/src/sourcecode/prepare_context.py +0 -0
  86. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/__init__.py +0 -0
  87. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/conftest.py +0 -0
  88. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/fixtures/coverage.xml +0 -0
  89. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/fixtures/fastapi_app/pyproject.toml +0 -0
  90. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/fixtures/fastapi_app/src/main.py +0 -0
  91. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/fixtures/go_service/cmd/api/main.go +0 -0
  92. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/fixtures/go_service/go.mod +0 -0
  93. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/fixtures/jacoco.xml +0 -0
  94. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/fixtures/lcov.info +0 -0
  95. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/fixtures/nextjs_app/app/page.tsx +0 -0
  96. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/fixtures/nextjs_app/package.json +0 -0
  97. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/fixtures/nextjs_app/pnpm-lock.yaml +0 -0
  98. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/fixtures/pnpm_monorepo/apps/web/app/page.tsx +0 -0
  99. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/fixtures/pnpm_monorepo/apps/web/package.json +0 -0
  100. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/fixtures/pnpm_monorepo/packages/api/main.py +0 -0
  101. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/fixtures/pnpm_monorepo/packages/api/pyproject.toml +0 -0
  102. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/fixtures/pnpm_monorepo/pnpm-workspace.yaml +0 -0
  103. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_cli.py +0 -0
  104. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_integration.py +0 -0
  105. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_redactor.py +0 -0
  106. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_scanner.py +0 -0
  107. {sourcecode-0.14.0 → sourcecode-0.15.1}/tests/test_schema.py +0 -0
@@ -2,7 +2,7 @@
2
2
  "metadata": {
3
3
  "schema_version": "1.0",
4
4
  "generated_at": "2026-04-14T20:22:58.957857+00:00",
5
- "sourcecode_version": "0.14.0",
5
+ "sourcecode_version": "0.15.1",
6
6
  "analyzed_path": "/Users/user/Downloads/atlas-cli"
7
7
  },
8
8
  "file_tree": {
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sourcecode
3
- Version: 0.14.0
3
+ Version: 0.15.1
4
4
  Summary: Genera un mapa de contexto estructurado de proyectos de software para agentes IA
5
5
  License: MIT
6
6
  Requires-Python: >=3.9
@@ -81,7 +81,7 @@ Campos:
81
81
  {
82
82
  "schema_version": "1.0",
83
83
  "generated_at": "2026-04-07T19:41:05.686277+00:00",
84
- "sourcecode_version": "0.14.0",
84
+ "sourcecode_version": "0.15.1",
85
85
  "analyzed_path": "/abs/path/to/project"
86
86
  }
87
87
  ```
@@ -645,7 +645,7 @@ Ejemplo de salida para un monorepo con web Node.js y API Python con `--dependenc
645
645
  "metadata": {
646
646
  "schema_version": "1.0",
647
647
  "generated_at": "2026-04-07T19:41:05.686277+00:00",
648
- "sourcecode_version": "0.14.0",
648
+ "sourcecode_version": "0.15.1",
649
649
  "analyzed_path": "/abs/path/to/project"
650
650
  },
651
651
  "file_tree": {
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "sourcecode"
7
- version = "0.14.0"
7
+ version = "0.15.1"
8
8
  description = "Genera un mapa de contexto estructurado de proyectos de software para agentes IA"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
@@ -1,3 +1,3 @@
1
1
  """sourcecode — Genera mapas de contexto estructurado para agentes IA."""
2
2
 
3
- __version__ = "0.14.0"
3
+ __version__ = "0.15.1"
@@ -1,4 +1,3 @@
1
- """Inferencia arquitectonica: domain clustering, layer detection y bounded context inference."""
2
1
  from __future__ import annotations
3
2
 
4
3
  from pathlib import Path
@@ -1,4 +1,3 @@
1
- """Resumen arquitectonico estatico y compacto para consumo LLM."""
2
1
  from __future__ import annotations
3
2
 
4
3
  import ast
@@ -1,4 +1,3 @@
1
- """Clasificacion de tipo de proyecto y scoring de confianza."""
2
1
  from __future__ import annotations
3
2
 
4
3
  from collections.abc import Iterable, Sequence
@@ -1,4 +1,3 @@
1
- """CLI de sourcecode — interfaz de linea de comandos principal."""
2
1
  from __future__ import annotations
3
2
 
4
3
  import json
@@ -1,4 +1,3 @@
1
- """Analizador de notas de código (TODO/FIXME/HACK/etc.) y ADRs para --code-notes."""
2
1
  from __future__ import annotations
3
2
 
4
3
  import re
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  """Parser de artefactos de cobertura pre-existentes.
2
4
 
3
5
  Lee coverage.xml (Cobertura), .coverage (SQLite de coverage.py >= 5.0),
@@ -5,7 +7,6 @@ lcov.info (LCOV) y jacoco.xml (JaCoCo) sin ejecutar tests ni toolchains.
5
7
 
6
8
  Solo stdlib: sqlite3, xml.etree.ElementTree, pathlib.
7
9
  """
8
- from __future__ import annotations
9
10
 
10
11
  import sqlite3
11
12
  import xml.etree.ElementTree as ET
@@ -1,4 +1,3 @@
1
- """Analisis offline de dependencias directas y transitivas."""
2
1
  from __future__ import annotations
3
2
 
4
3
  import re
@@ -1,4 +1,3 @@
1
- """Contratos base de deteccion para sourcecode."""
2
1
  from __future__ import annotations
3
2
 
4
3
  from abc import ABC, abstractmethod
@@ -1,4 +1,3 @@
1
- """Detector de proyectos Dart y Flutter."""
2
1
  from __future__ import annotations
3
2
 
4
3
  from sourcecode.detectors.base import (
@@ -1,4 +1,3 @@
1
- """Detector de proyectos .NET / C#."""
2
1
  from __future__ import annotations
3
2
 
4
3
  from sourcecode.detectors.base import (
@@ -1,4 +1,3 @@
1
- """Detector de proyectos Elixir / Phoenix."""
2
1
  from __future__ import annotations
3
2
 
4
3
  from sourcecode.detectors.base import (
@@ -1,4 +1,3 @@
1
- """Detector de proyectos Go."""
2
1
  from __future__ import annotations
3
2
 
4
3
  from sourcecode.detectors.base import (
@@ -1,4 +1,3 @@
1
- """Fallback heuristico por extension de fichero."""
2
1
  from __future__ import annotations
3
2
 
4
3
  from collections import Counter
@@ -1,4 +1,3 @@
1
- """Detector de proyectos Java."""
2
1
  from __future__ import annotations
3
2
 
4
3
  from pathlib import Path
@@ -1,4 +1,3 @@
1
- """Detector JVM ampliado para Kotlin y Scala."""
2
1
  from __future__ import annotations
3
2
 
4
3
  from sourcecode.detectors.base import (
@@ -1,4 +1,3 @@
1
- """Detector de proyectos Node.js."""
2
1
  from __future__ import annotations
3
2
 
4
3
  from typing import Any
@@ -1,4 +1,3 @@
1
- """Helpers ligeros de parseo para manifests."""
2
1
  from __future__ import annotations
3
2
 
4
3
  import json
@@ -1,4 +1,3 @@
1
- """Detector de proyectos PHP."""
2
1
  from __future__ import annotations
3
2
 
4
3
  from sourcecode.detectors.base import (
@@ -1,4 +1,3 @@
1
- """Orquestador de detectores para sourcecode."""
2
1
  from __future__ import annotations
3
2
 
4
3
  from collections.abc import Iterable, Sequence
@@ -1,4 +1,3 @@
1
- """Detector de proyectos Python."""
2
1
  from __future__ import annotations
3
2
 
4
3
  import re
@@ -1,4 +1,3 @@
1
- """Detector de proyectos Ruby."""
2
1
  from __future__ import annotations
3
2
 
4
3
  from sourcecode.detectors.base import (
@@ -1,4 +1,3 @@
1
- """Detector de proyectos Rust."""
2
1
  from __future__ import annotations
3
2
 
4
3
  from typing import Any
@@ -1,4 +1,3 @@
1
- """Detector de proyectos C / C++ y build systems asociados."""
2
1
  from __future__ import annotations
3
2
 
4
3
  from sourcecode.detectors.base import (
@@ -1,4 +1,3 @@
1
- """Detector de proyectos Terraform."""
2
1
  from __future__ import annotations
3
2
 
4
3
  from sourcecode.detectors.base import (
@@ -1,4 +1,3 @@
1
- """Senales universales de tooling y helpers transversales."""
2
1
  from __future__ import annotations
3
2
 
4
3
  from sourcecode.tree_utils import flatten_file_tree
@@ -1,3 +1,4 @@
1
+ from __future__ import annotations
1
2
  """Extraccion estatica de documentacion de modulos Python y JS/TS.
2
3
 
3
4
  Sigue el mismo patron que DependencyAnalyzer y GraphAnalyzer:
@@ -6,7 +7,6 @@ Sigue el mismo patron que DependencyAnalyzer y GraphAnalyzer:
6
7
 
7
8
  Plan 02 implementa los parsers Python-AST y JS/TS-regex.
8
9
  """
9
- from __future__ import annotations
10
10
 
11
11
  import ast
12
12
  import re
@@ -1,4 +1,3 @@
1
- """Analizador de variables de entorno para --env-map."""
2
1
  from __future__ import annotations
3
2
 
4
3
  import re
@@ -1,4 +1,3 @@
1
- """Analizador de contexto git para --git-context."""
2
1
  from __future__ import annotations
3
2
 
4
3
  import re
@@ -1,4 +1,3 @@
1
- """Analisis estructural offline optimizado para LLMs y modo full."""
2
1
  from __future__ import annotations
3
2
 
4
3
  import ast
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  """Analisis de metricas de calidad de codigo: LOC, simbolos y complejidad.
2
4
 
3
5
  Sigue el mismo patron que DocAnalyzer y GraphAnalyzer:
@@ -9,7 +11,6 @@ Python: adicionalmente ast.parse para simbolos exactos y complejidad McCabe.
9
11
  JS/TS, Go, Rust, Java: regex para simbolos aproximados (availability="inferred").
10
12
  Otros: solo LOC (availability="unavailable" para simbolos y complejidad).
11
13
  """
12
- from __future__ import annotations
13
14
 
14
15
  import ast
15
16
  import re
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  """Redactor de secretos para sourcecode.
2
4
 
3
5
  Aplica patrones regex sobre los valores de texto del output JSON/YAML.
@@ -8,7 +10,6 @@ metadatos) — no sobre el contenido de ficheros. En Fase 1 el output no incluye
8
10
  contenido de ficheros, por lo que la redaccion es principalmente una red de
9
11
  seguridad. En Fases 2+ cuando se lean manifiestos, la redaccion sera mas critica.
10
12
  """
11
- from __future__ import annotations
12
13
 
13
14
  import re
14
15
  from typing import Any
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  """Scanner de ficheros para sourcecode.
2
4
 
3
5
  Construye un arbol JSON anidado del proyecto respetando .gitignore,
@@ -7,7 +9,6 @@ Convencion de nodos (D-01, D-02):
7
9
  - null (None en Python) = fichero
8
10
  - dict = directorio (vacio o con hijos)
9
11
  """
10
- from __future__ import annotations
11
12
 
12
13
  import os
13
14
  from pathlib import Path
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  """Schema de output v1.0 para sourcecode.
2
4
 
3
5
  Contrato publico estable — los detectores de Fase 2 escriben en SourceMap.stacks.
@@ -7,7 +9,6 @@ Convencion del arbol de ficheros (D-01, D-02):
7
9
  - None = fichero
8
10
  - dict = directorio (vacio o con hijos)
9
11
  """
10
- from __future__ import annotations
11
12
 
12
13
  from dataclasses import dataclass, field
13
14
  from datetime import datetime, timezone
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  """Analisis semantico estatico: call graph, symbol linking e import resolution.
2
4
 
3
5
  Extiende el analisis estructural de GraphAnalyzer (Fase 7) con:
@@ -14,7 +16,6 @@ Plan 12-03 agrega: capa JS/TS con _extract_js_imports, _resolve_js_module_path,
14
16
  _analyze_js_file, _detect_js_calls, integracion en analyze() para JS/TS files,
15
17
  y language_coverage["nodejs"] = "heuristic".
16
18
  """
17
- from __future__ import annotations
18
19
 
19
20
  import ast
20
21
  import re
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  """Serializer de sourcecode — JSON canonico, YAML y modo compact.
2
4
 
3
5
  Patrones criticos:
@@ -5,7 +7,6 @@ Patrones criticos:
5
7
  - ruamel.yaml con representer para null canonico (no ~)
6
8
  - compact_view() proyecta solo los campos necesarios (~500 tokens)
7
9
  """
8
- from __future__ import annotations
9
10
 
10
11
  import json
11
12
  import sys
@@ -1,8 +1,9 @@
1
+ from __future__ import annotations
2
+
1
3
  """Generador deterministico de resumen en lenguaje natural del proyecto.
2
4
 
3
5
  Sin llamadas a API — solo templates aplicados sobre SourceMap.
4
6
  """
5
- from __future__ import annotations
6
7
 
7
8
  from pathlib import Path
8
9
 
@@ -1,4 +1,3 @@
1
- """Helpers neutrales para trabajar con el file_tree."""
2
1
  from __future__ import annotations
3
2
 
4
3
  from typing import Any
@@ -1,4 +1,3 @@
1
- """Descubrimiento de workspaces y señales de monorepo."""
2
1
  from __future__ import annotations
3
2
 
4
3
  from dataclasses import dataclass, field
@@ -1,4 +1,3 @@
1
- """Tests unitarios para ArchitectureAnalyzer (ARCH-01..03, plan 13-04)."""
2
1
  from __future__ import annotations
3
2
 
4
3
  from pathlib import Path
@@ -1,4 +1,3 @@
1
- """Tests unitarios para ArchitectureSummarizer."""
2
1
  from __future__ import annotations
3
2
 
4
3
  from pathlib import Path
@@ -1,4 +1,3 @@
1
- """Tests del clasificador de proyecto y scoring de confianza."""
2
1
  from __future__ import annotations
3
2
 
4
3
  from sourcecode.classifier import TypeClassifier
@@ -1,9 +1,10 @@
1
+ from __future__ import annotations
2
+
1
3
  """Tests para CoverageParser — MQT-05..08 y tests adicionales.
2
4
 
3
5
  Wave 0 (TDD RED): Estos tests se escriben ANTES de la implementacion.
4
6
  Fallan con ImportError hasta que coverage_parser.py exista.
5
7
  """
6
- from __future__ import annotations
7
8
 
8
9
  import shutil
9
10
  from pathlib import Path
@@ -1,4 +1,3 @@
1
- """Tests del analizador de dependencias para Node.js y Python."""
2
1
  from __future__ import annotations
3
2
 
4
3
  import json
@@ -1,4 +1,3 @@
1
- """Tests del analizador de dependencias para ecosistemas adicionales."""
2
1
  from __future__ import annotations
3
2
 
4
3
  import json
@@ -1,4 +1,3 @@
1
- """Tests del schema de dependencias."""
2
1
  from __future__ import annotations
3
2
 
4
3
  import json
@@ -1,4 +1,3 @@
1
- """Tests de detectores Go, Rust y Java."""
2
1
  from __future__ import annotations
3
2
 
4
3
  from pathlib import Path
@@ -1,4 +1,3 @@
1
- """Tests del detector Node.js."""
2
1
  from __future__ import annotations
3
2
 
4
3
  import json
@@ -1,4 +1,3 @@
1
- """Tests de detectores PHP, Ruby y Dart."""
2
1
  from __future__ import annotations
3
2
 
4
3
  import json
@@ -1,4 +1,3 @@
1
- """Tests del detector Python."""
2
1
  from __future__ import annotations
3
2
 
4
3
  from pathlib import Path
@@ -1,4 +1,3 @@
1
- """Tests de detectores universales managed."""
2
1
  from __future__ import annotations
3
2
 
4
3
  from pathlib import Path
@@ -1,4 +1,3 @@
1
- """Tests de detectores universales infra/systems."""
2
1
  from __future__ import annotations
3
2
 
4
3
  from pathlib import Path
@@ -1,4 +1,3 @@
1
- """Tests del contrato base y orquestador de detectores."""
2
1
  from __future__ import annotations
3
2
 
4
3
  import json
@@ -1,8 +1,9 @@
1
+ from __future__ import annotations
2
+
1
3
  """Tests unitarios para DocAnalyzer — extraccion JS/TS JSDoc/TSDoc.
2
4
 
3
5
  Plan 02: implementacion real de los 7 tests definidos en las especificaciones.
4
6
  """
5
- from __future__ import annotations
6
7
 
7
8
  from pathlib import Path
8
9
 
@@ -1,8 +1,9 @@
1
+ from __future__ import annotations
2
+
1
3
  """Tests unitarios para DocAnalyzer — extraccion Python AST.
2
4
 
3
5
  Plan 02: implementacion real de los 10 tests definidos en las especificaciones.
4
6
  """
5
- from __future__ import annotations
6
7
 
7
8
  import textwrap
8
9
  from pathlib import Path
@@ -1,4 +1,3 @@
1
- """Tests del analizador de grafo para Go y JVM."""
2
1
  from __future__ import annotations
3
2
 
4
3
  from pathlib import Path
@@ -1,4 +1,3 @@
1
- """Tests del analizador de grafo para Python y Node.js."""
2
1
  from __future__ import annotations
3
2
 
4
3
  from pathlib import Path
@@ -1,4 +1,3 @@
1
- """Tests del schema de grafo de codigo."""
2
1
  from __future__ import annotations
3
2
 
4
3
  import json
@@ -1,4 +1,3 @@
1
- """Tests end-to-end de dependencias via CLI."""
2
1
  from __future__ import annotations
3
2
 
4
3
  import json
@@ -1,4 +1,3 @@
1
- """Tests end-to-end de deteccion core en CLI."""
2
1
  from __future__ import annotations
3
2
 
4
3
  import json
@@ -1,8 +1,9 @@
1
+ from __future__ import annotations
2
+
1
3
  """Tests de integracion CLI para el flag --docs.
2
4
 
3
5
  Cubre los acceptance criteria DOCS-ACC-01 a DOCS-ACC-10 del Phase 8.
4
6
  """
5
- from __future__ import annotations
6
7
 
7
8
  import json
8
9
  from pathlib import Path
@@ -1,4 +1,3 @@
1
- """Tests end-to-end del grafo de modulos via CLI."""
2
1
  from __future__ import annotations
3
2
 
4
3
  import json
@@ -1,9 +1,10 @@
1
+ from __future__ import annotations
2
+
1
3
  """Tests de integracion para LQN-01..06 — LLM Output Quality.
2
4
 
3
5
  Cada test invoca el CLI sobre el propio directorio del proyecto via CliRunner
4
6
  y verifica el contrato de los requisitos LQN.
5
7
  """
6
- from __future__ import annotations
7
8
 
8
9
  import json
9
10
  from pathlib import Path
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  """Tests de integracion E2E para el flag --full-metrics de la CLI.
2
4
 
3
5
  MQT-11: file_metrics y metrics_summary presentes con --full-metrics
@@ -5,7 +7,6 @@ MQT-12: backward compat sin --full-metrics (file_metrics=[], metrics_summary=nul
5
7
  MQT-13: availability labels validos en todos los FileMetrics
6
8
  MQT-14: deteccion de ficheros de test con is_test
7
9
  """
8
- from __future__ import annotations
9
10
 
10
11
  import json
11
12
  from pathlib import Path
@@ -1,4 +1,3 @@
1
- """Tests end-to-end de fullstack y monorepo."""
2
1
  from __future__ import annotations
3
2
 
4
3
  import json
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  """Tests de integracion E2E para SemanticAnalyzer y el flag --semantics.
2
4
 
3
5
  SEM-ACC-01: test_python_project_produces_call_graph
@@ -6,7 +8,6 @@ SEM-ACC-03: test_semantics_self_analysis
6
8
  SEM-ACC-04: test_large_project_hits_max_files
7
9
  SEM-ACC-05: test_semantics_flag_no_affect_base
8
10
  """
9
- from __future__ import annotations
10
11
 
11
12
  import json
12
13
  from pathlib import Path
@@ -1,4 +1,3 @@
1
- """Tests end-to-end de la cobertura universal ampliada."""
2
1
  from __future__ import annotations
3
2
 
4
3
  import json
@@ -1,9 +1,10 @@
1
+ from __future__ import annotations
2
+
1
3
  """Tests unitarios para MetricsAnalyzer — MQT-01..04, MQT-09, MQT-10 y MQT-13.
2
4
 
3
5
  Wave 0: Tests MQT-01..04 y MQT-13 escritos en 10-01.
4
6
  Wave 3 (10-03): MQT-09 y MQT-10 activados; tests de integracion agregados.
5
7
  """
6
- from __future__ import annotations
7
8
 
8
9
  import textwrap
9
10
 
@@ -1,4 +1,3 @@
1
- """Smoke tests de packaging local."""
2
1
  from __future__ import annotations
3
2
 
4
3
  import shutil
@@ -1,4 +1,3 @@
1
- """Tests de integracion sobre fixtures realistas."""
2
1
  from __future__ import annotations
3
2
 
4
3
  import json
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  """Tests for SemanticAnalyzer JS/TS layer — SEM-NODE-01..06.
2
4
 
3
5
  Wave 0 for plan 12-03: these tests are written in RED before implementing
@@ -11,7 +13,6 @@ Tests cover:
11
13
  SEM-NODE-05 — Keyword exclusion (if, for, console -> not in calls)
12
14
  SEM-NODE-06 — Basic dataflow: args captured textually
13
15
  """
14
- from __future__ import annotations
15
16
 
16
17
  import textwrap
17
18
  from pathlib import Path
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  """Tests unitarios para SemanticAnalyzer — SEM-PY-01..05 + stubs skip para planes futuros.
2
4
 
3
5
  Wave 0: Tests SEM-PY-01..05 escritos en 12-01 (RED antes de implementar semantic_analyzer.py).
@@ -10,7 +12,6 @@ Stubs skip para planes futuros:
10
12
  - test_go_heuristic_calls: plan 12-04
11
13
  - test_semantics_cli_flag: plan 12-04
12
14
  """
13
- from __future__ import annotations
14
15
 
15
16
  import textwrap
16
17
  from pathlib import Path
@@ -1,9 +1,10 @@
1
+ from __future__ import annotations
2
+
1
3
  """Tests de import resolution avanzada para SemanticAnalyzer — SEM-IR-01..06.
2
4
 
3
5
  Plan 12-02: reexports via __init__.py, star imports, namespace packages,
4
6
  attribute calls, y limite de chain de reexport.
5
7
  """
6
- from __future__ import annotations
7
8
 
8
9
  import textwrap
9
10
  from pathlib import Path
@@ -1,9 +1,10 @@
1
+ from __future__ import annotations
2
+
1
3
  """Tests del schema semantico — SEM-SCHEMA-01..05.
2
4
 
3
5
  Wave 0: Tests escritos en 12-01 antes de implementar el schema.
4
6
  Estos tests pasan de RED (ImportError) a GREEN despues de Tarea 1.
5
7
  """
6
- from __future__ import annotations
7
8
 
8
9
  import dataclasses
9
10
 
@@ -1,4 +1,3 @@
1
- """Tests unitarios para ProjectSummarizer — todas las ramas del template."""
2
1
  from __future__ import annotations
3
2
 
4
3
  import pytest
@@ -1,4 +1,3 @@
1
- """Tests del analizador de workspaces."""
2
1
  from __future__ import annotations
3
2
 
4
3
  from pathlib import Path
File without changes
File without changes
File without changes