modwire 11.0.2__tar.gz → 11.1.0__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 (528) hide show
  1. {modwire-11.0.2 → modwire-11.1.0}/.dev/modwire.egg-info/SOURCES.txt +31 -11
  2. {modwire-11.0.2 → modwire-11.1.0}/Makefile +2 -2
  3. {modwire-11.0.2 → modwire-11.1.0}/PKG-INFO +23 -2
  4. {modwire-11.0.2 → modwire-11.1.0}/README.md +22 -1
  5. {modwire-11.0.2/tests/extraction/cache_benchmark → modwire-11.1.0/scripts/benchmarks/cache}/run.py +11 -5
  6. {modwire-11.0.2/tests/architecture/report_benchmark → modwire-11.1.0/scripts/benchmarks/report}/run.py +6 -3
  7. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/application.py +37 -7
  8. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/boundaries/services/module_boundary_analyzer.py +2 -1
  9. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/config/models/shape_rules.py +5 -1
  10. modwire-11.1.0/src/modwire/architecture/insights/models/exports_report_item.py +11 -0
  11. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/insights/services/coherence_reporter.py +4 -1
  12. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/shape/services/file_resolver.py +3 -1
  13. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/shape/services/import_resolver.py +2 -1
  14. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/cache/application.py +20 -18
  15. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/cache/models/cache_outcome.py +3 -1
  16. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/cache/models/cache_plan.py +3 -3
  17. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/cache/services/cache_identity.py +3 -1
  18. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/facade.py +14 -10
  19. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/initialization/application.py +8 -6
  20. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/initialization/services/initialization_service.py +5 -1
  21. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/pipeline/application.py +6 -6
  22. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/pipeline/domain.py +3 -3
  23. modwire-11.1.0/src/modwire/cli/pipeline/models/command_name.py +7 -0
  24. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/pipeline/models/command_request.py +2 -2
  25. modwire-11.1.0/src/modwire/cli/pipeline/models/source_observation.py +23 -0
  26. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/pipeline/services/batch_source_reader.py +33 -18
  27. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/pipeline/services/command_line.py +6 -5
  28. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/pipeline/services/source_manifest_builder.py +4 -9
  29. modwire-11.1.0/src/modwire/cli/resources/models/defaults.py +15 -0
  30. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/resources/models/init_asset.py +2 -2
  31. modwire-11.1.0/src/modwire/cli/resources/models/init_target_base.py +6 -0
  32. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/dependency/services/import_resolver.py +15 -4
  33. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/models/batch_config.py +2 -3
  34. modwire-11.1.0/src/modwire/extraction/extractors/models/batch_output_format.py +6 -0
  35. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/models/extractor_runtime.py +2 -2
  36. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/php/extractor.py +11 -13
  37. modwire-11.1.0/src/modwire/extraction/extractors/python/extractor.py +122 -0
  38. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/observations/export_candidate.py +1 -1
  39. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/observations/property_candidate.py +5 -2
  40. modwire-11.1.0/src/modwire/extraction/extractors/python/observations/property_scope.py +6 -0
  41. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/callables/classifier.py +1 -1
  42. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/callables/constructor_rule.py +2 -2
  43. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/callables/function_rule.py +8 -4
  44. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/callables/instance_method_rule.py +2 -2
  45. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/callables/static_method_rule.py +2 -2
  46. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/callables/type_method_rule.py +2 -2
  47. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/calls/classifier.py +1 -1
  48. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/calls/constructor_target_rule.py +2 -1
  49. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/calls/dynamic_target_rule.py +2 -1
  50. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/calls/instance_target_rule.py +2 -1
  51. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/calls/local_target_rule.py +2 -1
  52. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/calls/qualified_target_rule.py +2 -1
  53. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/calls/unresolved_target_rule.py +2 -1
  54. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/contributors/call_contributor.py +9 -2
  55. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/contributors/callable_contributor.py +11 -5
  56. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/contributors/class_contributor.py +22 -22
  57. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/contributors/export_contributor.py +7 -7
  58. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/contributors/function_contributor.py +2 -1
  59. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/contributors/import_contributor.py +3 -2
  60. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/contributors/metric_contributor.py +4 -2
  61. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/contributors/value_contributor.py +19 -13
  62. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/exports/classifier.py +2 -1
  63. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/policies/parameter_reader.py +5 -4
  64. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/policies/visibility_policy.py +4 -4
  65. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/properties/annotated_class_rule.py +2 -1
  66. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/properties/annotated_instance_rule.py +2 -1
  67. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/properties/assigned_class_rule.py +8 -2
  68. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/properties/assigned_instance_rule.py +2 -1
  69. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/properties/classifier.py +1 -1
  70. modwire-11.1.0/src/modwire/extraction/extractors/python/semantics/properties/decorated_method_rule.py +77 -0
  71. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/traversal/context.py +5 -3
  72. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/traversal/ordered_observation_visitor.py +65 -31
  73. modwire-11.1.0/src/modwire/extraction/extractors/python/traversal/traversal_role.py +8 -0
  74. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/typescript/extractor.py +11 -13
  75. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/implementation/manifest/models/implementation_manifest.py +9 -4
  76. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/implementation/manifest/models/implementation_manifest_document.py +1 -1
  77. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/implementation/manifest/models/manifest_annotation.py +2 -1
  78. modwire-11.1.0/src/modwire/implementation/manifest/models/manifest_annotation_role.py +9 -0
  79. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/implementation/manifest/models/manifest_attribute.py +1 -1
  80. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/implementation/manifest/models/manifest_callable.py +2 -1
  81. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/implementation/manifest/models/manifest_dependency.py +5 -3
  82. modwire-11.1.0/src/modwire/implementation/manifest/models/manifest_dependency_target_kind.py +7 -0
  83. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/implementation/manifest/models/manifest_parameter.py +2 -1
  84. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/implementation/manifest/models/manifest_symbol.py +4 -2
  85. modwire-11.1.0/src/modwire/implementation/manifest/models/manifest_symbol_kind.py +15 -0
  86. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/implementation/manifest/services/canonical_json_manifest_serializer.py +1 -1
  87. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/implementation/manifest/services/code_map_manifest_compiler.py +67 -25
  88. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/dependency_graph.py +4 -3
  89. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/duplicate_identity_error.py +2 -3
  90. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/edge.py +2 -2
  91. modwire-11.1.0/src/modwire/shared/code/models/identity_kind.py +6 -0
  92. modwire-11.1.0/src/modwire/shared/code/models/import_crossing_type.py +6 -0
  93. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/node.py +2 -1
  94. modwire-11.1.0/src/modwire/shared/code/models/node_kind.py +5 -0
  95. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/source_call.py +1 -1
  96. modwire-11.1.0/src/modwire/shared/code/models/source_call_resolution.py +8 -0
  97. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/source_callable.py +8 -8
  98. modwire-11.1.0/src/modwire/shared/code/models/source_callable_kind.py +11 -0
  99. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/source_class_property.py +1 -1
  100. modwire-11.1.0/src/modwire/shared/code/models/source_dependency_resolution.py +7 -0
  101. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/source_export.py +2 -1
  102. modwire-11.1.0/src/modwire/shared/code/models/source_export_kind.py +12 -0
  103. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/source_import.py +3 -2
  104. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/source_manifest.py +6 -1
  105. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/source_manifest_identity.py +2 -1
  106. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/source_parameter.py +1 -1
  107. modwire-11.1.0/src/modwire/shared/code/models/source_parameter_kind.py +8 -0
  108. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/source_signature.py +1 -1
  109. modwire-11.1.0/src/modwire/shared/code/models/source_signature_kind.py +7 -0
  110. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/source_symbol.py +1 -1
  111. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/source_value.py +3 -1
  112. modwire-11.1.0/src/modwire/shared/code/models/source_value_declaration_kind.py +8 -0
  113. modwire-11.1.0/src/modwire/shared/code/models/source_value_kind.py +9 -0
  114. modwire-11.1.0/src/modwire/shared/code/models/source_visibility.py +7 -0
  115. {modwire-11.0.2 → modwire-11.1.0}/tests/application/base_test.py +5 -0
  116. {modwire-11.0.2 → modwire-11.1.0}/tests/application/test_01_attacks.py +47 -0
  117. {modwire-11.0.2 → modwire-11.1.0}/tests/application/test_07_cache.py +5 -4
  118. {modwire-11.0.2 → modwire-11.1.0}/tests/application/test_08_implementation_manifest.py +140 -0
  119. modwire-11.1.0/tests/application/test_11_source_observation.py +114 -0
  120. {modwire-11.0.2 → modwire-11.1.0}/tests/architecture/config/test_01_attacks.py +16 -0
  121. {modwire-11.0.2 → modwire-11.1.0}/tests/cli/pipeline/test_06_happy_path.py +0 -24
  122. modwire-11.1.0/tests/cli/pipeline/test_07_report_commands.py +25 -0
  123. modwire-11.0.2/src/modwire/architecture/insights/models/exports_report_item.py +0 -9
  124. modwire-11.0.2/src/modwire/cli/pipeline/models/source_inventory.py +0 -11
  125. modwire-11.0.2/src/modwire/cli/resources/models/defaults.py +0 -14
  126. modwire-11.0.2/src/modwire/extraction/extractors/models/extractor_resource_set.py +0 -23
  127. modwire-11.0.2/src/modwire/extraction/extractors/python/extractor.py +0 -219
  128. modwire-11.0.2/src/modwire/shared/code/models/edge_resolution.py +0 -3
  129. modwire-11.0.2/src/modwire/shared/code/models/types.py +0 -14
  130. {modwire-11.0.2 → modwire-11.1.0}/.github/workflows/ci.yml +0 -0
  131. {modwire-11.0.2 → modwire-11.1.0}/.github/workflows/release.yml +0 -0
  132. {modwire-11.0.2 → modwire-11.1.0}/.gitignore +0 -0
  133. {modwire-11.0.2 → modwire-11.1.0}/AGENTS.md +0 -0
  134. {modwire-11.0.2 → modwire-11.1.0}/LICENSE +0 -0
  135. {modwire-11.0.2 → modwire-11.1.0}/MANIFEST.in +0 -0
  136. {modwire-11.0.2 → modwire-11.1.0}/pyproject.toml +0 -0
  137. {modwire-11.0.2/src/modwire → modwire-11.1.0/scripts/benchmarks/cache}/__init__.py +0 -0
  138. {modwire-11.0.2/tests/architecture/report_benchmark → modwire-11.1.0/scripts/benchmarks/cache}/benchmark_process_timeout.py +0 -0
  139. {modwire-11.0.2/src/modwire/architecture/boundaries → modwire-11.1.0/scripts/benchmarks/report}/__init__.py +0 -0
  140. {modwire-11.0.2/tests/extraction/cache_benchmark → modwire-11.1.0/scripts/benchmarks/report}/benchmark_process_timeout.py +0 -0
  141. {modwire-11.0.2 → modwire-11.1.0}/scripts/check_extractors.py +0 -0
  142. {modwire-11.0.2 → modwire-11.1.0}/scripts/generate_docs.py +0 -0
  143. {modwire-11.0.2 → modwire-11.1.0}/scripts/verify_consumer.py +0 -0
  144. {modwire-11.0.2 → modwire-11.1.0}/setup.cfg +0 -0
  145. {modwire-11.0.2 → modwire-11.1.0}/setup.py +0 -0
  146. {modwire-11.0.2/src/modwire/architecture → modwire-11.1.0/src/modwire}/__init__.py +0 -0
  147. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/__main__.py +0 -0
  148. {modwire-11.0.2/src/modwire/architecture/report/services → modwire-11.1.0/src/modwire/architecture}/__init__.py +0 -0
  149. {modwire-11.0.2/src/modwire/architecture/boundaries/models → modwire-11.1.0/src/modwire/architecture/boundaries}/__init__.py +0 -0
  150. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/boundaries/application.py +0 -0
  151. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/boundaries/domain.py +0 -0
  152. {modwire-11.0.2/src/modwire/architecture/boundaries/services → modwire-11.1.0/src/modwire/architecture/boundaries/models}/__init__.py +0 -0
  153. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/boundaries/models/edge_rule_violation.py +0 -0
  154. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/boundaries/models/flow_report.py +0 -0
  155. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/boundaries/models/flow_violation.py +0 -0
  156. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/boundaries/models/types.py +0 -0
  157. {modwire-11.0.2/src/modwire/architecture/config → modwire-11.1.0/src/modwire/architecture/boundaries/services}/__init__.py +0 -0
  158. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/boundaries/services/backward_flow_analyzer.py +0 -0
  159. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/boundaries/services/boundaries_flow_analyzer.py +0 -0
  160. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/boundaries/services/no_cycles_flow_analyzer.py +0 -0
  161. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/boundaries/services/no_reentry_flow_analyzer.py +0 -0
  162. {modwire-11.0.2/src/modwire/architecture/config/models → modwire-11.1.0/src/modwire/architecture/config}/__init__.py +0 -0
  163. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/config/application.py +0 -0
  164. {modwire-11.0.2/src/modwire/architecture/insights → modwire-11.1.0/src/modwire/architecture/config/models}/__init__.py +0 -0
  165. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/config/models/architecture_config.py +0 -0
  166. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/config/models/boundaries_config.py +0 -0
  167. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/config/models/boundary_rule.py +0 -0
  168. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/config/models/configuration_value.py +0 -0
  169. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/config/models/flow_realm.py +0 -0
  170. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/config/models/flow_rules.py +0 -0
  171. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/config/models/shape_config.py +0 -0
  172. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/config/models/shape_realm.py +0 -0
  173. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/config/models/tag_rule.py +0 -0
  174. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/facade.py +0 -0
  175. {modwire-11.0.2/src/modwire/architecture/insights/models → modwire-11.1.0/src/modwire/architecture/insights}/__init__.py +0 -0
  176. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/insights/application.py +0 -0
  177. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/insights/domain.py +0 -0
  178. {modwire-11.0.2/src/modwire/architecture/insights/services → modwire-11.1.0/src/modwire/architecture/insights/models}/__init__.py +0 -0
  179. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/insights/models/callable_report_entry.py +0 -0
  180. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/insights/models/callables_report.py +0 -0
  181. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/insights/models/clusters_report.py +0 -0
  182. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/insights/models/clusters_report_item.py +0 -0
  183. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/insights/models/coherence_report.py +0 -0
  184. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/insights/models/exports_report.py +0 -0
  185. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/insights/models/hotspots_report.py +0 -0
  186. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/insights/models/hotspots_report_item.py +0 -0
  187. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/insights/models/insight_report.py +0 -0
  188. {modwire-11.0.2/src/modwire/architecture/map → modwire-11.1.0/src/modwire/architecture/insights/services}/__init__.py +0 -0
  189. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/insights/services/callables_reporter.py +0 -0
  190. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/insights/services/clusters_reporter.py +0 -0
  191. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/insights/services/exports_reporter.py +0 -0
  192. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/insights/services/hotspots_reporter.py +0 -0
  193. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/insights/services/insight_report_field_map.py +0 -0
  194. {modwire-11.0.2/src/modwire/architecture/map/models → modwire-11.1.0/src/modwire/architecture/map}/__init__.py +0 -0
  195. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/map/application.py +0 -0
  196. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/map/domain.py +0 -0
  197. {modwire-11.0.2/src/modwire/architecture/map/services → modwire-11.1.0/src/modwire/architecture/map/models}/__init__.py +0 -0
  198. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/map/models/architecture_map.py +0 -0
  199. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/map/models/architecture_realm.py +0 -0
  200. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/map/models/tag_map.py +0 -0
  201. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/map/models/tag_match.py +0 -0
  202. {modwire-11.0.2/src/modwire/architecture/report → modwire-11.1.0/src/modwire/architecture/map/services}/__init__.py +0 -0
  203. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/map/services/architecture_map_loader.py +0 -0
  204. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/map/services/tag_matcher.py +0 -0
  205. {modwire-11.0.2/src/modwire/architecture/report/models → modwire-11.1.0/src/modwire/architecture/report}/__init__.py +0 -0
  206. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/report/application.py +0 -0
  207. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/report/domain.py +0 -0
  208. {modwire-11.0.2/src/modwire/architecture/shape → modwire-11.1.0/src/modwire/architecture/report/models}/__init__.py +0 -0
  209. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/report/models/architecture_group.py +0 -0
  210. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/report/models/map_report.py +0 -0
  211. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/report/models/report_catalog.py +0 -0
  212. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/report/models/report_descriptor.py +0 -0
  213. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/report/models/report_item.py +0 -0
  214. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/report/models/report_metadata.py +0 -0
  215. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/report/models/report_node.py +0 -0
  216. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/report/models/report_section.py +0 -0
  217. {modwire-11.0.2/src/modwire/cli → modwire-11.1.0/src/modwire/architecture/report/services}/__init__.py +0 -0
  218. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/report/services/map_report_collector.py +0 -0
  219. {modwire-11.0.2/src/modwire/architecture/shape/models → modwire-11.1.0/src/modwire/architecture/shape}/__init__.py +0 -0
  220. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/shape/application.py +0 -0
  221. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/shape/domain.py +0 -0
  222. {modwire-11.0.2/src/modwire/architecture/shape/services → modwire-11.1.0/src/modwire/architecture/shape/models}/__init__.py +0 -0
  223. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/shape/models/shape_realm_architecture_map.py +0 -0
  224. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/shape/models/shape_report.py +0 -0
  225. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/shape/models/shape_violation.py +0 -0
  226. {modwire-11.0.2/src/modwire/cli/documentation → modwire-11.1.0/src/modwire/architecture/shape/services}/__init__.py +0 -0
  227. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/shape/services/abstract_class_resolver.py +0 -0
  228. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/shape/services/callable_resolver.py +0 -0
  229. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/shape/services/class_resolver.py +0 -0
  230. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/shape/services/property_resolver.py +0 -0
  231. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/shape/services/signature_resolver.py +0 -0
  232. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/architecture/shape/services/symbol_resolver.py +0 -0
  233. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/autowiring.py +0 -0
  234. {modwire-11.0.2/src/modwire/cli/cache → modwire-11.1.0/src/modwire/cli}/__init__.py +0 -0
  235. {modwire-11.0.2/src/modwire/cli/cache/models → modwire-11.1.0/src/modwire/cli/cache}/__init__.py +0 -0
  236. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/cache/domain.py +0 -0
  237. {modwire-11.0.2/src/modwire/cli/cache/services → modwire-11.1.0/src/modwire/cli/cache/models}/__init__.py +0 -0
  238. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/cache/models/cache_entry.py +0 -0
  239. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/cache/models/cache_key.py +0 -0
  240. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/cache/models/cache_kind.py +0 -0
  241. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/cache/models/cache_options.py +0 -0
  242. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/cache/models/cache_stage.py +0 -0
  243. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/cache/models/cache_storage_state.py +0 -0
  244. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/cache/models/cached_result.py +0 -0
  245. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/cache/models/source_cache_entry.py +0 -0
  246. {modwire-11.0.2/src/modwire/cli/resources/models → modwire-11.1.0/src/modwire/cli/cache/services}/__init__.py +0 -0
  247. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/cache/services/cache_codec.py +0 -0
  248. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/cache/services/filesystem_cache_storage.py +0 -0
  249. {modwire-11.0.2/src/modwire/cli/documentation/services → modwire-11.1.0/src/modwire/cli/documentation}/__init__.py +0 -0
  250. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/documentation/application.py +0 -0
  251. {modwire-11.0.2/src/modwire/cli/initialization → modwire-11.1.0/src/modwire/cli/documentation/services}/__init__.py +0 -0
  252. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/documentation/services/documentation_generator.py +0 -0
  253. {modwire-11.0.2/src/modwire/cli/initialization/models → modwire-11.1.0/src/modwire/cli/initialization}/__init__.py +0 -0
  254. {modwire-11.0.2/src/modwire/cli/initialization/services → modwire-11.1.0/src/modwire/cli/initialization/models}/__init__.py +0 -0
  255. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/initialization/models/initialization_result.py +0 -0
  256. {modwire-11.0.2/src/modwire/cli/pipeline → modwire-11.1.0/src/modwire/cli/initialization/services}/__init__.py +0 -0
  257. {modwire-11.0.2/src/modwire/cli/pipeline/models → modwire-11.1.0/src/modwire/cli/pipeline}/__init__.py +0 -0
  258. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/pipeline/batching/balanced_planner.py +0 -0
  259. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/pipeline/batching/fixed_planner.py +0 -0
  260. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/pipeline/batching/plan.py +0 -0
  261. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/pipeline/batching/planner.py +0 -0
  262. {modwire-11.0.2/src/modwire/cli/pipeline/services → modwire-11.1.0/src/modwire/cli/pipeline/models}/__init__.py +0 -0
  263. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/pipeline/models/extractor_batch_input.py +0 -0
  264. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/pipeline/models/extractor_command_input.py +0 -0
  265. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/pipeline/models/extractor_source_input.py +0 -0
  266. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/pipeline/models/report_pipeline_context.py +0 -0
  267. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/pipeline/models/source_entry.py +0 -0
  268. {modwire-11.0.2/src/modwire/cli/resources → modwire-11.1.0/src/modwire/cli/pipeline/services}/__init__.py +0 -0
  269. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/pipeline/services/callables_insight.py +0 -0
  270. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/pipeline/services/clusters_insight.py +0 -0
  271. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/pipeline/services/coherence_insight.py +0 -0
  272. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/pipeline/services/configuration_loader.py +0 -0
  273. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/pipeline/services/extractor_command.py +0 -0
  274. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/pipeline/services/flow_violations.py +0 -0
  275. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/pipeline/services/hotspots_insight.py +0 -0
  276. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/pipeline/services/map_tree.py +0 -0
  277. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/pipeline/services/output_console.py +0 -0
  278. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/pipeline/services/shape_violations.py +0 -0
  279. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/pipeline/services/success.py +0 -0
  280. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/pipeline/services/unknown_files_warning.py +0 -0
  281. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/pipeline/services/unused_exports_insight.py +0 -0
  282. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/pipeline/transport/json_lines_output_reader.py +0 -0
  283. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/pipeline/transport/json_output_reader.py +0 -0
  284. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/pipeline/transport/output_reader.py +0 -0
  285. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/pipeline/transport/source_file_factory.py +0 -0
  286. {modwire-11.0.2/src/modwire/extraction/dependency → modwire-11.1.0/src/modwire/cli/resources}/__init__.py +0 -0
  287. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/resources/application.py +0 -0
  288. {modwire-11.0.2/src/modwire/extraction → modwire-11.1.0/src/modwire/cli/resources/models}/__init__.py +0 -0
  289. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/resources/templates/AGENTS.md +0 -0
  290. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/resources/templates/ARCHITECTURE.md +0 -0
  291. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/resources/templates/INDEX.md +0 -0
  292. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/resources/templates/MODWIRE.md +0 -0
  293. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/resources/templates/RULES.md +0 -0
  294. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/resources/templates/TESTING.md +0 -0
  295. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/resources/templates/WORKFLOW.md +0 -0
  296. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/cli/resources/templates/architecture.yaml +0 -0
  297. {modwire-11.0.2/src/modwire/extraction/extractors/php → modwire-11.1.0/src/modwire/extraction}/__init__.py +0 -0
  298. {modwire-11.0.2/src/modwire/extraction/dependency/services → modwire-11.1.0/src/modwire/extraction/dependency}/__init__.py +0 -0
  299. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/dependency/application.py +0 -0
  300. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/dependency/domain.py +0 -0
  301. {modwire-11.0.2/src/modwire/extraction/extractors → modwire-11.1.0/src/modwire/extraction/dependency/services}/__init__.py +0 -0
  302. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/dependency/services/graph_builder.py +0 -0
  303. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/dependency/services/import_identity_index.py +0 -0
  304. {modwire-11.0.2/src/modwire/extraction/extractors/models → modwire-11.1.0/src/modwire/extraction/extractors}/__init__.py +0 -0
  305. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/application.py +0 -0
  306. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/domain.py +0 -0
  307. {modwire-11.0.2/src/modwire/extraction/extractors/resources → modwire-11.1.0/src/modwire/extraction/extractors/models}/__init__.py +0 -0
  308. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/models/extraction_request.py +0 -0
  309. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/models/extractor_resource.py +0 -0
  310. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/models/parsed_source_batch.py +0 -0
  311. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/models/parsed_source_file.py +0 -0
  312. {modwire-11.0.2/src/modwire/extraction/extractors/python → modwire-11.1.0/src/modwire/extraction/extractors/php}/__init__.py +0 -0
  313. {modwire-11.0.2/src/modwire/extraction/extractors/typescript → modwire-11.1.0/src/modwire/extraction/extractors/python}/__init__.py +0 -0
  314. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/observations/call_candidate.py +0 -0
  315. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/observations/call_observation.py +0 -0
  316. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/observations/call_reference.py +0 -0
  317. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/observations/callable_candidate.py +0 -0
  318. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/observations/class_candidate.py +0 -0
  319. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/observations/function_candidate.py +0 -0
  320. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/observations/import_candidate.py +0 -0
  321. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/observations/inheritance_candidate.py +0 -0
  322. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/observations/source_context.py +0 -0
  323. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/observations/source_observation.py +0 -0
  324. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/observations/value_candidate.py +0 -0
  325. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/pipeline/source_parser.py +0 -0
  326. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/calls/reference_reader.py +0 -0
  327. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/catalog.py +0 -0
  328. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/classes/abstract_rule.py +0 -0
  329. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/classes/classifier.py +0 -0
  330. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/classes/concrete_rule.py +0 -0
  331. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/contribution.py +0 -0
  332. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/contributors/inheritance_contributor.py +0 -0
  333. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/contributors/property_contributor.py +0 -0
  334. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/exports/explicit_rule.py +0 -0
  335. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/exports/implicit_rule.py +0 -0
  336. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/policies/annotation_reader.py +0 -0
  337. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/policies/assigned_value_reader.py +0 -0
  338. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/policies/declaration_identity_factory.py +0 -0
  339. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/policies/expression_reference_reader.py +0 -0
  340. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/policies/import_path_policy.py +0 -0
  341. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/policies/module_identity_policy.py +0 -0
  342. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/policies/type_alias_classifier.py +0 -0
  343. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/semantics/reader.py +0 -0
  344. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/source_facts/call_contributor.py +0 -0
  345. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/source_facts/callable_contributor.py +0 -0
  346. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/source_facts/class_contributor.py +0 -0
  347. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/source_facts/contribution.py +0 -0
  348. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/source_facts/export_contributor.py +0 -0
  349. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/source_facts/function_contributor.py +0 -0
  350. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/source_facts/import_contributor.py +0 -0
  351. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/source_facts/inheritance_contributor.py +0 -0
  352. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/source_facts/metric_contributor.py +0 -0
  353. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/source_facts/property_contributor.py +0 -0
  354. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/source_facts/reader.py +0 -0
  355. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/source_facts/value_contributor.py +0 -0
  356. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/python/traversal/observation_reader.py +0 -0
  357. {modwire-11.0.2/src/modwire/extraction/extractors/resources/python → modwire-11.1.0/src/modwire/extraction/extractors/resources}/__init__.py +0 -0
  358. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/resources/php/build.php +0 -0
  359. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/resources/php/build.py +0 -0
  360. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/resources/php/composer.json +0 -0
  361. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/resources/php/composer.lock +0 -0
  362. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/resources/php/script.php +0 -0
  363. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/resources/php/script.src.php +0 -0
  364. {modwire-11.0.2/src/modwire/implementation/manifest → modwire-11.1.0/src/modwire/extraction/extractors/resources/python}/__init__.py +0 -0
  365. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/resources/python/script.py +0 -0
  366. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/resources/typescript/build.mjs +0 -0
  367. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/resources/typescript/build.py +0 -0
  368. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/resources/typescript/package-lock.json +0 -0
  369. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/resources/typescript/package.json +0 -0
  370. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/resources/typescript/script.js +0 -0
  371. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/resources/typescript/script.ts +0 -0
  372. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/extractors/resources/typescript/tsconfig.json +0 -0
  373. {modwire-11.0.2/src/modwire/implementation → modwire-11.1.0/src/modwire/extraction/extractors/typescript}/__init__.py +0 -0
  374. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/extraction/facade.py +0 -0
  375. {modwire-11.0.2/src/modwire/shared → modwire-11.1.0/src/modwire/implementation}/__init__.py +0 -0
  376. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/implementation/facade.py +0 -0
  377. {modwire-11.0.2/src/modwire/implementation/manifest/contracts → modwire-11.1.0/src/modwire/implementation/manifest}/__init__.py +0 -0
  378. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/implementation/manifest/application.py +0 -0
  379. {modwire-11.0.2/src/modwire/implementation/manifest/models → modwire-11.1.0/src/modwire/implementation/manifest/contracts}/__init__.py +0 -0
  380. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/implementation/manifest/contracts/manifest_compiler.py +0 -0
  381. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/implementation/manifest/contracts/manifest_serializer.py +0 -0
  382. {modwire-11.0.2/src/modwire/implementation/manifest/services → modwire-11.1.0/src/modwire/implementation/manifest/models}/__init__.py +0 -0
  383. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/implementation/manifest/models/manifest_format.py +0 -0
  384. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/implementation/manifest/models/manifest_inheritance.py +0 -0
  385. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/implementation/manifest/models/manifest_span.py +0 -0
  386. {modwire-11.0.2/src/modwire/shared/code → modwire-11.1.0/src/modwire/implementation/manifest/services}/__init__.py +0 -0
  387. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/py.typed +0 -0
  388. {modwire-11.0.2/src/modwire/shared/values/models → modwire-11.1.0/src/modwire/shared}/__init__.py +0 -0
  389. {modwire-11.0.2/src/modwire/shared/code/models → modwire-11.1.0/src/modwire/shared/code}/__init__.py +0 -0
  390. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/application.py +0 -0
  391. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/domain.py +0 -0
  392. {modwire-11.0.2/src/modwire/shared/code/services → modwire-11.1.0/src/modwire/shared/code/models}/__init__.py +0 -0
  393. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/capability_coverage.py +0 -0
  394. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/capability_status.py +0 -0
  395. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/code_map.py +0 -0
  396. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/code_map_producer.py +0 -0
  397. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/code_package.py +0 -0
  398. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/declaration_family.py +0 -0
  399. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/declaration_identity.py +0 -0
  400. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/dependency_edge_result.py +0 -0
  401. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/dependency_node_result.py +0 -0
  402. {modwire-11.0.2/src/modwire/implementation/manifest → modwire-11.1.0/src/modwire/shared/code}/models/digest_algorithm.py +0 -0
  403. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/extractor_descriptor.py +0 -0
  404. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/fact_capability.py +0 -0
  405. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/identity.py +0 -0
  406. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/query_builder.py +0 -0
  407. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/query_types.py +0 -0
  408. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/queryable_code_map.py +0 -0
  409. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/runtime_observation.py +0 -0
  410. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/scan_policy.py +0 -0
  411. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/source_abstract_class.py +0 -0
  412. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/source_artifact.py +0 -0
  413. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/source_assigned_value.py +0 -0
  414. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/source_assigned_value_kind.py +0 -0
  415. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/source_callable_symbol.py +0 -0
  416. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/source_class.py +0 -0
  417. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/source_class_method.py +0 -0
  418. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/source_extraction.py +0 -0
  419. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/source_file.py +0 -0
  420. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/source_file_result.py +0 -0
  421. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/source_function.py +0 -0
  422. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/source_imported_symbol.py +0 -0
  423. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/source_inheritance.py +0 -0
  424. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/source_interface.py +0 -0
  425. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/source_item_result.py +0 -0
  426. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/source_member_kind.py +0 -0
  427. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/source_relation_kind.py +0 -0
  428. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/source_type.py +0 -0
  429. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/models/source_value_scope.py +0 -0
  430. {modwire-11.0.2/src/modwire/shared/values → modwire-11.1.0/src/modwire/shared/code/services}/__init__.py +0 -0
  431. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/services/glob_path_matcher.py +0 -0
  432. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/services/identity_resolver.py +0 -0
  433. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/code/services/installed_package_version.py +0 -0
  434. {modwire-11.0.2/tests/architecture/report_benchmark → modwire-11.1.0/src/modwire/shared/values}/__init__.py +0 -0
  435. {modwire-11.0.2/tests → modwire-11.1.0/src/modwire/shared/values/models}/__init__.py +0 -0
  436. {modwire-11.0.2 → modwire-11.1.0}/src/modwire/shared/values/models/value_model.py +0 -0
  437. {modwire-11.0.2/tests/application → modwire-11.1.0/tests}/__init__.py +0 -0
  438. {modwire-11.0.2/tests/architecture → modwire-11.1.0/tests/application}/__init__.py +0 -0
  439. {modwire-11.0.2 → modwire-11.1.0}/tests/application/test_06_happy_path.py +0 -0
  440. {modwire-11.0.2 → modwire-11.1.0}/tests/application/test_09_source_manifest_identity.py +0 -0
  441. {modwire-11.0.2 → modwire-11.1.0}/tests/application/test_10_assigned_value_evidence.py +0 -0
  442. {modwire-11.0.2/tests/architecture/boundaries → modwire-11.1.0/tests/architecture}/__init__.py +0 -0
  443. {modwire-11.0.2 → modwire-11.1.0}/tests/architecture/base_test.py +0 -0
  444. {modwire-11.0.2/tests/architecture/config → modwire-11.1.0/tests/architecture/boundaries}/__init__.py +0 -0
  445. {modwire-11.0.2 → modwire-11.1.0}/tests/architecture/boundaries/base_test.py +0 -0
  446. {modwire-11.0.2 → modwire-11.1.0}/tests/architecture/boundaries/test_01_attacks.py +0 -0
  447. {modwire-11.0.2 → modwire-11.1.0}/tests/architecture/boundaries/test_02_invariants.py +0 -0
  448. {modwire-11.0.2 → modwire-11.1.0}/tests/architecture/boundaries/test_03_public_api.py +0 -0
  449. {modwire-11.0.2 → modwire-11.1.0}/tests/architecture/boundaries/test_04_paths.py +0 -0
  450. {modwire-11.0.2/tests/architecture/insights → modwire-11.1.0/tests/architecture/config}/__init__.py +0 -0
  451. {modwire-11.0.2 → modwire-11.1.0}/tests/architecture/config/test_02_invariants.py +0 -0
  452. {modwire-11.0.2/tests/architecture/map → modwire-11.1.0/tests/architecture/insights}/__init__.py +0 -0
  453. {modwire-11.0.2 → modwire-11.1.0}/tests/architecture/insights/base_test.py +0 -0
  454. {modwire-11.0.2 → modwire-11.1.0}/tests/architecture/insights/test_02_invariants.py +0 -0
  455. {modwire-11.0.2/tests/architecture/report → modwire-11.1.0/tests/architecture/map}/__init__.py +0 -0
  456. {modwire-11.0.2 → modwire-11.1.0}/tests/architecture/map/test_02_patterns.py +0 -0
  457. {modwire-11.0.2/tests/architecture/shape → modwire-11.1.0/tests/architecture/report}/__init__.py +0 -0
  458. {modwire-11.0.2 → modwire-11.1.0}/tests/architecture/report/test_02_invariants.py +0 -0
  459. {modwire-11.0.2/tests/cli → modwire-11.1.0/tests/architecture/shape}/__init__.py +0 -0
  460. {modwire-11.0.2 → modwire-11.1.0}/tests/architecture/shape/base_test.py +0 -0
  461. {modwire-11.0.2 → modwire-11.1.0}/tests/architecture/shape/test_01_limits.py +0 -0
  462. {modwire-11.0.2 → modwire-11.1.0}/tests/architecture/shape/test_02_invariants.py +0 -0
  463. {modwire-11.0.2/tests/cli/documentation → modwire-11.1.0/tests/cli}/__init__.py +0 -0
  464. {modwire-11.0.2 → modwire-11.1.0}/tests/cli/base_test.py +0 -0
  465. {modwire-11.0.2/tests/cli/initialization → modwire-11.1.0/tests/cli/documentation}/__init__.py +0 -0
  466. {modwire-11.0.2 → modwire-11.1.0}/tests/cli/documentation/test_02_invariants.py +0 -0
  467. {modwire-11.0.2/tests/cli/pipeline → modwire-11.1.0/tests/cli/initialization}/__init__.py +0 -0
  468. {modwire-11.0.2 → modwire-11.1.0}/tests/cli/initialization/test_01_attacks.py +0 -0
  469. {modwire-11.0.2 → modwire-11.1.0}/tests/cli/initialization/test_02_invariants.py +0 -0
  470. {modwire-11.0.2 → modwire-11.1.0}/tests/cli/initialization/test_03_interruption.py +0 -0
  471. {modwire-11.0.2 → modwire-11.1.0}/tests/cli/initialization/test_04_cleanup.py +0 -0
  472. {modwire-11.0.2 → modwire-11.1.0}/tests/cli/initialization/test_05_recovery.py +0 -0
  473. {modwire-11.0.2/tests/extraction → modwire-11.1.0/tests/cli/pipeline}/__init__.py +0 -0
  474. {modwire-11.0.2 → modwire-11.1.0}/tests/cli/pipeline/base_test.py +0 -0
  475. {modwire-11.0.2 → modwire-11.1.0}/tests/cli/pipeline/test_01_attacks.py +0 -0
  476. {modwire-11.0.2 → modwire-11.1.0}/tests/cli/pipeline/test_02_invariants.py +0 -0
  477. {modwire-11.0.2 → modwire-11.1.0}/tests/cli/pipeline/test_03_interruption.py +0 -0
  478. {modwire-11.0.2 → modwire-11.1.0}/tests/cli/pipeline/test_04_command_transport.py +0 -0
  479. {modwire-11.0.2 → modwire-11.1.0}/tests/cli/pipeline/test_05_recovery.py +0 -0
  480. {modwire-11.0.2 → modwire-11.1.0}/tests/conftest.py +0 -0
  481. {modwire-11.0.2/tests/extraction/big_projects → modwire-11.1.0/tests/extraction}/__init__.py +0 -0
  482. {modwire-11.0.2 → modwire-11.1.0}/tests/extraction/base_test.py +0 -0
  483. {modwire-11.0.2/tests/extraction/cache_benchmark → modwire-11.1.0/tests/extraction/big_projects}/__init__.py +0 -0
  484. {modwire-11.0.2 → modwire-11.1.0}/tests/extraction/big_projects/project.py +0 -0
  485. {modwire-11.0.2 → modwire-11.1.0}/tests/extraction/big_projects/projects.json +0 -0
  486. {modwire-11.0.2 → modwire-11.1.0}/tests/extraction/big_projects/resolution_results.json +0 -0
  487. {modwire-11.0.2 → modwire-11.1.0}/tests/extraction/big_projects/results.json +0 -0
  488. {modwire-11.0.2 → modwire-11.1.0}/tests/extraction/big_projects/run.py +0 -0
  489. {modwire-11.0.2 → modwire-11.1.0}/tests/extraction/dependency/__init__.py +0 -0
  490. {modwire-11.0.2 → modwire-11.1.0}/tests/extraction/dependency/test_02_invariants.py +0 -0
  491. {modwire-11.0.2 → modwire-11.1.0}/tests/extraction/extractors/__init__.py +0 -0
  492. {modwire-11.0.2 → modwire-11.1.0}/tests/extraction/extractors/test_01_attacks.py +0 -0
  493. {modwire-11.0.2 → modwire-11.1.0}/tests/extraction/extractors/test_02_invariants.py +0 -0
  494. {modwire-11.0.2 → modwire-11.1.0}/tests/extraction/extractors/test_03_native_symbols.py +0 -0
  495. {modwire-11.0.2 → modwire-11.1.0}/tests/extraction/scan_benchmark/__init__.py +0 -0
  496. {modwire-11.0.2 → modwire-11.1.0}/tests/extraction/scan_benchmark/prepare.py +0 -0
  497. {modwire-11.0.2 → modwire-11.1.0}/tests/extraction/scan_benchmark/results.json +0 -0
  498. {modwire-11.0.2 → modwire-11.1.0}/tests/extraction/scan_benchmark/run.py +0 -0
  499. {modwire-11.0.2 → modwire-11.1.0}/tests/fixtures/languages/php/ignored/example_generated.php +0 -0
  500. {modwire-11.0.2 → modwire-11.1.0}/tests/fixtures/languages/php/src/example_application/example_actions/example_action.php +0 -0
  501. {modwire-11.0.2 → modwire-11.1.0}/tests/fixtures/languages/php/src/example_domain/example_model/example_record.php +0 -0
  502. {modwire-11.0.2 → modwire-11.1.0}/tests/fixtures/languages/php/src/example_domain/example_services/example_policy.php +0 -0
  503. {modwire-11.0.2 → modwire-11.1.0}/tests/fixtures/languages/php/src/example_interfaces/example_http/example_controller.php +0 -0
  504. {modwire-11.0.2 → modwire-11.1.0}/tests/fixtures/languages/python/ignored/example_generated.py +0 -0
  505. {modwire-11.0.2 → modwire-11.1.0}/tests/fixtures/languages/python/src/example_application/example_actions/example_action.py +0 -0
  506. {modwire-11.0.2 → modwire-11.1.0}/tests/fixtures/languages/python/src/example_domain/example_model/example_record.py +0 -0
  507. {modwire-11.0.2 → modwire-11.1.0}/tests/fixtures/languages/python/src/example_domain/example_services/example_policy.py +0 -0
  508. {modwire-11.0.2 → modwire-11.1.0}/tests/fixtures/languages/python/src/example_interfaces/example_http/example_controller.py +0 -0
  509. {modwire-11.0.2 → modwire-11.1.0}/tests/fixtures/languages/typescript/ignored/example_generated.ts +0 -0
  510. {modwire-11.0.2 → modwire-11.1.0}/tests/fixtures/languages/typescript/src/example_application/example_actions/example_action.ts +0 -0
  511. {modwire-11.0.2 → modwire-11.1.0}/tests/fixtures/languages/typescript/src/example_domain/example_model/example_record.ts +0 -0
  512. {modwire-11.0.2 → modwire-11.1.0}/tests/fixtures/languages/typescript/src/example_domain/example_model/example_view.tsx +0 -0
  513. {modwire-11.0.2 → modwire-11.1.0}/tests/fixtures/languages/typescript/src/example_domain/example_services/example_audit.js +0 -0
  514. {modwire-11.0.2 → modwire-11.1.0}/tests/fixtures/languages/typescript/src/example_domain/example_services/example_callables.ts +0 -0
  515. {modwire-11.0.2 → modwire-11.1.0}/tests/fixtures/languages/typescript/src/example_domain/example_services/example_policy.ts +0 -0
  516. {modwire-11.0.2 → modwire-11.1.0}/tests/fixtures/languages/typescript/src/example_interfaces/example_http/example_controller.ts +0 -0
  517. {modwire-11.0.2 → modwire-11.1.0}/tests/fixtures/languages/typescript/src/example_interfaces/example_http/example_view.jsx +0 -0
  518. {modwire-11.0.2 → modwire-11.1.0}/tests/fixtures/syntax/php/example_shapes.php +0 -0
  519. {modwire-11.0.2 → modwire-11.1.0}/tests/fixtures/syntax/python/example_shapes.py +0 -0
  520. {modwire-11.0.2 → modwire-11.1.0}/tests/fixtures/syntax/typescript/example_shapes.ts +0 -0
  521. {modwire-11.0.2 → modwire-11.1.0}/tests/shared/__init__.py +0 -0
  522. {modwire-11.0.2 → modwire-11.1.0}/tests/shared/code/__init__.py +0 -0
  523. {modwire-11.0.2 → modwire-11.1.0}/tests/shared/code/test_02_invariants.py +0 -0
  524. {modwire-11.0.2 → modwire-11.1.0}/tests/support/__init__.py +0 -0
  525. {modwire-11.0.2 → modwire-11.1.0}/tests/support/base_test.py +0 -0
  526. {modwire-11.0.2 → modwire-11.1.0}/tests/support/code_map.py +0 -0
  527. {modwire-11.0.2 → modwire-11.1.0}/tests/support/service_test.py +0 -0
  528. {modwire-11.0.2 → modwire-11.1.0}/uv.lock +0 -0
@@ -13,6 +13,12 @@ uv.lock
13
13
  scripts/check_extractors.py
14
14
  scripts/generate_docs.py
15
15
  scripts/verify_consumer.py
16
+ scripts/benchmarks/cache/__init__.py
17
+ scripts/benchmarks/cache/benchmark_process_timeout.py
18
+ scripts/benchmarks/cache/run.py
19
+ scripts/benchmarks/report/__init__.py
20
+ scripts/benchmarks/report/benchmark_process_timeout.py
21
+ scripts/benchmarks/report/run.py
16
22
  src/modwire/__init__.py
17
23
  src/modwire/__main__.py
18
24
  src/modwire/application.py
@@ -147,13 +153,14 @@ src/modwire/cli/pipeline/batching/fixed_planner.py
147
153
  src/modwire/cli/pipeline/batching/plan.py
148
154
  src/modwire/cli/pipeline/batching/planner.py
149
155
  src/modwire/cli/pipeline/models/__init__.py
156
+ src/modwire/cli/pipeline/models/command_name.py
150
157
  src/modwire/cli/pipeline/models/command_request.py
151
158
  src/modwire/cli/pipeline/models/extractor_batch_input.py
152
159
  src/modwire/cli/pipeline/models/extractor_command_input.py
153
160
  src/modwire/cli/pipeline/models/extractor_source_input.py
154
161
  src/modwire/cli/pipeline/models/report_pipeline_context.py
155
162
  src/modwire/cli/pipeline/models/source_entry.py
156
- src/modwire/cli/pipeline/models/source_inventory.py
163
+ src/modwire/cli/pipeline/models/source_observation.py
157
164
  src/modwire/cli/pipeline/services/__init__.py
158
165
  src/modwire/cli/pipeline/services/batch_source_reader.py
159
166
  src/modwire/cli/pipeline/services/callables_insight.py
@@ -180,6 +187,7 @@ src/modwire/cli/resources/application.py
180
187
  src/modwire/cli/resources/models/__init__.py
181
188
  src/modwire/cli/resources/models/defaults.py
182
189
  src/modwire/cli/resources/models/init_asset.py
190
+ src/modwire/cli/resources/models/init_target_base.py
183
191
  src/modwire/cli/resources/templates/AGENTS.md
184
192
  src/modwire/cli/resources/templates/ARCHITECTURE.md
185
193
  src/modwire/cli/resources/templates/INDEX.md
@@ -202,9 +210,9 @@ src/modwire/extraction/extractors/application.py
202
210
  src/modwire/extraction/extractors/domain.py
203
211
  src/modwire/extraction/extractors/models/__init__.py
204
212
  src/modwire/extraction/extractors/models/batch_config.py
213
+ src/modwire/extraction/extractors/models/batch_output_format.py
205
214
  src/modwire/extraction/extractors/models/extraction_request.py
206
215
  src/modwire/extraction/extractors/models/extractor_resource.py
207
- src/modwire/extraction/extractors/models/extractor_resource_set.py
208
216
  src/modwire/extraction/extractors/models/extractor_runtime.py
209
217
  src/modwire/extraction/extractors/models/parsed_source_batch.py
210
218
  src/modwire/extraction/extractors/models/parsed_source_file.py
@@ -222,6 +230,7 @@ src/modwire/extraction/extractors/python/observations/function_candidate.py
222
230
  src/modwire/extraction/extractors/python/observations/import_candidate.py
223
231
  src/modwire/extraction/extractors/python/observations/inheritance_candidate.py
224
232
  src/modwire/extraction/extractors/python/observations/property_candidate.py
233
+ src/modwire/extraction/extractors/python/observations/property_scope.py
225
234
  src/modwire/extraction/extractors/python/observations/source_context.py
226
235
  src/modwire/extraction/extractors/python/observations/source_observation.py
227
236
  src/modwire/extraction/extractors/python/observations/value_candidate.py
@@ -273,6 +282,7 @@ src/modwire/extraction/extractors/python/semantics/properties/annotated_instance
273
282
  src/modwire/extraction/extractors/python/semantics/properties/assigned_class_rule.py
274
283
  src/modwire/extraction/extractors/python/semantics/properties/assigned_instance_rule.py
275
284
  src/modwire/extraction/extractors/python/semantics/properties/classifier.py
285
+ src/modwire/extraction/extractors/python/semantics/properties/decorated_method_rule.py
276
286
  src/modwire/extraction/extractors/python/source_facts/call_contributor.py
277
287
  src/modwire/extraction/extractors/python/source_facts/callable_contributor.py
278
288
  src/modwire/extraction/extractors/python/source_facts/class_contributor.py
@@ -288,6 +298,7 @@ src/modwire/extraction/extractors/python/source_facts/value_contributor.py
288
298
  src/modwire/extraction/extractors/python/traversal/context.py
289
299
  src/modwire/extraction/extractors/python/traversal/observation_reader.py
290
300
  src/modwire/extraction/extractors/python/traversal/ordered_observation_visitor.py
301
+ src/modwire/extraction/extractors/python/traversal/traversal_role.py
291
302
  src/modwire/extraction/extractors/resources/__init__.py
292
303
  src/modwire/extraction/extractors/resources/php/build.php
293
304
  src/modwire/extraction/extractors/resources/php/build.py
@@ -314,18 +325,20 @@ src/modwire/implementation/manifest/contracts/__init__.py
314
325
  src/modwire/implementation/manifest/contracts/manifest_compiler.py
315
326
  src/modwire/implementation/manifest/contracts/manifest_serializer.py
316
327
  src/modwire/implementation/manifest/models/__init__.py
317
- src/modwire/implementation/manifest/models/digest_algorithm.py
318
328
  src/modwire/implementation/manifest/models/implementation_manifest.py
319
329
  src/modwire/implementation/manifest/models/implementation_manifest_document.py
320
330
  src/modwire/implementation/manifest/models/manifest_annotation.py
331
+ src/modwire/implementation/manifest/models/manifest_annotation_role.py
321
332
  src/modwire/implementation/manifest/models/manifest_attribute.py
322
333
  src/modwire/implementation/manifest/models/manifest_callable.py
323
334
  src/modwire/implementation/manifest/models/manifest_dependency.py
335
+ src/modwire/implementation/manifest/models/manifest_dependency_target_kind.py
324
336
  src/modwire/implementation/manifest/models/manifest_format.py
325
337
  src/modwire/implementation/manifest/models/manifest_inheritance.py
326
338
  src/modwire/implementation/manifest/models/manifest_parameter.py
327
339
  src/modwire/implementation/manifest/models/manifest_span.py
328
340
  src/modwire/implementation/manifest/models/manifest_symbol.py
341
+ src/modwire/implementation/manifest/models/manifest_symbol_kind.py
329
342
  src/modwire/implementation/manifest/services/__init__.py
330
343
  src/modwire/implementation/manifest/services/canonical_json_manifest_serializer.py
331
344
  src/modwire/implementation/manifest/services/code_map_manifest_compiler.py
@@ -344,13 +357,16 @@ src/modwire/shared/code/models/declaration_identity.py
344
357
  src/modwire/shared/code/models/dependency_edge_result.py
345
358
  src/modwire/shared/code/models/dependency_graph.py
346
359
  src/modwire/shared/code/models/dependency_node_result.py
360
+ src/modwire/shared/code/models/digest_algorithm.py
347
361
  src/modwire/shared/code/models/duplicate_identity_error.py
348
362
  src/modwire/shared/code/models/edge.py
349
- src/modwire/shared/code/models/edge_resolution.py
350
363
  src/modwire/shared/code/models/extractor_descriptor.py
351
364
  src/modwire/shared/code/models/fact_capability.py
352
365
  src/modwire/shared/code/models/identity.py
366
+ src/modwire/shared/code/models/identity_kind.py
367
+ src/modwire/shared/code/models/import_crossing_type.py
353
368
  src/modwire/shared/code/models/node.py
369
+ src/modwire/shared/code/models/node_kind.py
354
370
  src/modwire/shared/code/models/query_builder.py
355
371
  src/modwire/shared/code/models/query_types.py
356
372
  src/modwire/shared/code/models/queryable_code_map.py
@@ -361,12 +377,16 @@ src/modwire/shared/code/models/source_artifact.py
361
377
  src/modwire/shared/code/models/source_assigned_value.py
362
378
  src/modwire/shared/code/models/source_assigned_value_kind.py
363
379
  src/modwire/shared/code/models/source_call.py
380
+ src/modwire/shared/code/models/source_call_resolution.py
364
381
  src/modwire/shared/code/models/source_callable.py
382
+ src/modwire/shared/code/models/source_callable_kind.py
365
383
  src/modwire/shared/code/models/source_callable_symbol.py
366
384
  src/modwire/shared/code/models/source_class.py
367
385
  src/modwire/shared/code/models/source_class_method.py
368
386
  src/modwire/shared/code/models/source_class_property.py
387
+ src/modwire/shared/code/models/source_dependency_resolution.py
369
388
  src/modwire/shared/code/models/source_export.py
389
+ src/modwire/shared/code/models/source_export_kind.py
370
390
  src/modwire/shared/code/models/source_extraction.py
371
391
  src/modwire/shared/code/models/source_file.py
372
392
  src/modwire/shared/code/models/source_file_result.py
@@ -380,13 +400,17 @@ src/modwire/shared/code/models/source_manifest.py
380
400
  src/modwire/shared/code/models/source_manifest_identity.py
381
401
  src/modwire/shared/code/models/source_member_kind.py
382
402
  src/modwire/shared/code/models/source_parameter.py
403
+ src/modwire/shared/code/models/source_parameter_kind.py
383
404
  src/modwire/shared/code/models/source_relation_kind.py
384
405
  src/modwire/shared/code/models/source_signature.py
406
+ src/modwire/shared/code/models/source_signature_kind.py
385
407
  src/modwire/shared/code/models/source_symbol.py
386
408
  src/modwire/shared/code/models/source_type.py
387
409
  src/modwire/shared/code/models/source_value.py
410
+ src/modwire/shared/code/models/source_value_declaration_kind.py
411
+ src/modwire/shared/code/models/source_value_kind.py
388
412
  src/modwire/shared/code/models/source_value_scope.py
389
- src/modwire/shared/code/models/types.py
413
+ src/modwire/shared/code/models/source_visibility.py
390
414
  src/modwire/shared/code/services/__init__.py
391
415
  src/modwire/shared/code/services/glob_path_matcher.py
392
416
  src/modwire/shared/code/services/identity_resolver.py
@@ -404,6 +428,7 @@ tests/application/test_07_cache.py
404
428
  tests/application/test_08_implementation_manifest.py
405
429
  tests/application/test_09_source_manifest_identity.py
406
430
  tests/application/test_10_assigned_value_evidence.py
431
+ tests/application/test_11_source_observation.py
407
432
  tests/architecture/__init__.py
408
433
  tests/architecture/base_test.py
409
434
  tests/architecture/boundaries/__init__.py
@@ -422,9 +447,6 @@ tests/architecture/map/__init__.py
422
447
  tests/architecture/map/test_02_patterns.py
423
448
  tests/architecture/report/__init__.py
424
449
  tests/architecture/report/test_02_invariants.py
425
- tests/architecture/report_benchmark/__init__.py
426
- tests/architecture/report_benchmark/benchmark_process_timeout.py
427
- tests/architecture/report_benchmark/run.py
428
450
  tests/architecture/shape/__init__.py
429
451
  tests/architecture/shape/base_test.py
430
452
  tests/architecture/shape/test_01_limits.py
@@ -447,6 +469,7 @@ tests/cli/pipeline/test_03_interruption.py
447
469
  tests/cli/pipeline/test_04_command_transport.py
448
470
  tests/cli/pipeline/test_05_recovery.py
449
471
  tests/cli/pipeline/test_06_happy_path.py
472
+ tests/cli/pipeline/test_07_report_commands.py
450
473
  tests/extraction/__init__.py
451
474
  tests/extraction/base_test.py
452
475
  tests/extraction/big_projects/__init__.py
@@ -455,9 +478,6 @@ tests/extraction/big_projects/projects.json
455
478
  tests/extraction/big_projects/resolution_results.json
456
479
  tests/extraction/big_projects/results.json
457
480
  tests/extraction/big_projects/run.py
458
- tests/extraction/cache_benchmark/__init__.py
459
- tests/extraction/cache_benchmark/benchmark_process_timeout.py
460
- tests/extraction/cache_benchmark/run.py
461
481
  tests/extraction/dependency/__init__.py
462
482
  tests/extraction/dependency/test_02_invariants.py
463
483
  tests/extraction/extractors/__init__.py
@@ -36,10 +36,10 @@ scan-benchmark:
36
36
  uv run python -m tests.extraction.scan_benchmark.run --root .dev/benchmarks/scan-project --language "$(SCAN_BENCHMARK_LANGUAGE)" --excluded-pattern 'example_excluded/**'
37
37
 
38
38
  cache-benchmark:
39
- uv run python -m tests.extraction.cache_benchmark.run --root "$(CACHE_BENCHMARK_ROOT)" --language "$(CACHE_BENCHMARK_LANGUAGE)" --cache-directory .dev/benchmarks/cache --incremental-source "$(CACHE_BENCHMARK_SOURCE)" --replacement-source "$(CACHE_BENCHMARK_REPLACEMENT)"
39
+ uv run python -m scripts.benchmarks.cache.run --root "$(CACHE_BENCHMARK_ROOT)" --language "$(CACHE_BENCHMARK_LANGUAGE)" --cache-directory .dev/benchmarks/cache --incremental-source "$(CACHE_BENCHMARK_SOURCE)" --replacement-source "$(CACHE_BENCHMARK_REPLACEMENT)"
40
40
 
41
41
  report-benchmark:
42
- uv run python -m tests.architecture.report_benchmark.run --root "$(REPORT_BENCHMARK_ROOT)" --language "$(REPORT_BENCHMARK_LANGUAGE)" --cache-directory "$(REPORT_BENCHMARK_CACHE)" --cache-namespace "$(REPORT_BENCHMARK_NAMESPACE)"
42
+ uv run python -m scripts.benchmarks.report.run --root "$(REPORT_BENCHMARK_ROOT)" --language "$(REPORT_BENCHMARK_LANGUAGE)" --cache-directory "$(REPORT_BENCHMARK_CACHE)" --cache-namespace "$(REPORT_BENCHMARK_NAMESPACE)"
43
43
 
44
44
  docs-check:
45
45
  uv run python scripts/generate_docs.py --check
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modwire
3
- Version: 11.0.2
3
+ Version: 11.1.0
4
4
  Summary: Code extraction, architecture analysis and the Modwire CLI.
5
5
  Author: Tomasz Szpak
6
6
  License-Expression: MIT
@@ -80,6 +80,10 @@ Return a code map with content-addressed source and complete-source-set reuse.
80
80
 
81
81
  Return a code map and public outcomes for extraction and complete-map reuse.
82
82
 
83
+ ### `generate_map_cached_from_observation_with_diagnostics`
84
+
85
+ Return a cached code map derived from the exact supplied source observation.
86
+
83
87
  ### `generate_queryable_map_cached`
84
88
 
85
89
  Return a queryable code map with content-addressed persistent reuse.
@@ -88,6 +92,14 @@ Return a queryable code map with content-addressed persistent reuse.
88
92
 
89
93
  Return a queryable code map and public outcomes for every applicable cache stage.
90
94
 
95
+ ### `generate_queryable_map_cached_from_observation_with_diagnostics`
96
+
97
+ Return a queryable cached map derived from the exact supplied source observation.
98
+
99
+ ### `observe_sources`
100
+
101
+ Observe one complete immutable canonical source inventory without parsing source.
102
+
91
103
  ### `source_manifest_identity`
92
104
 
93
105
  Observe the current canonical source-manifest identity without parsing source.
@@ -140,7 +152,8 @@ Extraction counts describe current source records. An exact code-map hit
140
152
  reports its digest-backed source-set entries as extraction hits without loading
141
153
  individual source payloads. Code-map and report counts describe one entry.
142
154
  Invalidated entries are also misses. Diagnostics include the configured
143
- namespace but never cache keys, source identities, or content.
155
+ namespace but never cache keys, source identities, or content. The reuse flag
156
+ states whether the exact supplied source observation drove the cache operation.
144
157
 
145
158
  ## `CachedResult`
146
159
 
@@ -174,6 +187,14 @@ Kinds of class-property assignment evidence published by extractors.
174
187
 
175
188
  Canonical identity of one observed source manifest.
176
189
 
190
+ ## `SourceObservation`
191
+
192
+ Immutable canonical source inventory reusable by identity and cached map operations.
193
+
194
+ ### `identity`
195
+
196
+ Return the canonical public identity of this observed source manifest.
197
+
177
198
  ## `SourceMemberKind`
178
199
 
179
200
  Ownership kind for a declared class or type member.
@@ -52,6 +52,10 @@ Return a code map with content-addressed source and complete-source-set reuse.
52
52
 
53
53
  Return a code map and public outcomes for extraction and complete-map reuse.
54
54
 
55
+ ### `generate_map_cached_from_observation_with_diagnostics`
56
+
57
+ Return a cached code map derived from the exact supplied source observation.
58
+
55
59
  ### `generate_queryable_map_cached`
56
60
 
57
61
  Return a queryable code map with content-addressed persistent reuse.
@@ -60,6 +64,14 @@ Return a queryable code map with content-addressed persistent reuse.
60
64
 
61
65
  Return a queryable code map and public outcomes for every applicable cache stage.
62
66
 
67
+ ### `generate_queryable_map_cached_from_observation_with_diagnostics`
68
+
69
+ Return a queryable cached map derived from the exact supplied source observation.
70
+
71
+ ### `observe_sources`
72
+
73
+ Observe one complete immutable canonical source inventory without parsing source.
74
+
63
75
  ### `source_manifest_identity`
64
76
 
65
77
  Observe the current canonical source-manifest identity without parsing source.
@@ -112,7 +124,8 @@ Extraction counts describe current source records. An exact code-map hit
112
124
  reports its digest-backed source-set entries as extraction hits without loading
113
125
  individual source payloads. Code-map and report counts describe one entry.
114
126
  Invalidated entries are also misses. Diagnostics include the configured
115
- namespace but never cache keys, source identities, or content.
127
+ namespace but never cache keys, source identities, or content. The reuse flag
128
+ states whether the exact supplied source observation drove the cache operation.
116
129
 
117
130
  ## `CachedResult`
118
131
 
@@ -146,6 +159,14 @@ Kinds of class-property assignment evidence published by extractors.
146
159
 
147
160
  Canonical identity of one observed source manifest.
148
161
 
162
+ ## `SourceObservation`
163
+
164
+ Immutable canonical source inventory reusable by identity and cached map operations.
165
+
166
+ ### `identity`
167
+
168
+ Return the canonical public identity of this observed source manifest.
169
+
149
170
  ## `SourceMemberKind`
150
171
 
151
172
  Ownership kind for a declared class or type member.
@@ -132,7 +132,10 @@ class CacheBenchmark:
132
132
 
133
133
  total_started = time.perf_counter()
134
134
  cold_plan, measurement["cold_inventory"] = self._phase(
135
- repetition, "cold", "inventory", lambda: application.cli.prepare_cache(request, policy)
135
+ repetition,
136
+ "cold",
137
+ "inventory",
138
+ lambda: application.cli.prepare_cache(application.cli.observe(request, policy)),
136
139
  )
137
140
  cold_cached_map, measurement["cold_code_map_loading"] = self._phase(
138
141
  repetition,
@@ -146,7 +149,7 @@ class CacheBenchmark:
146
149
  repetition,
147
150
  "cold",
148
151
  "source_loading",
149
- lambda: application.cli.cached_sources(request, cold_plan, options),
152
+ lambda: application.cli.cached_sources(cold_plan, options),
150
153
  )
151
154
  _, measurement["cold_source_set_maintenance"] = self._phase(
152
155
  repetition,
@@ -177,7 +180,10 @@ class CacheBenchmark:
177
180
 
178
181
  total_started = time.perf_counter()
179
182
  warm_plan, measurement["warm_inventory"] = self._phase(
180
- repetition, "warm", "inventory", lambda: application.cli.prepare_cache(request, policy)
183
+ repetition,
184
+ "warm",
185
+ "inventory",
186
+ lambda: application.cli.prepare_cache(application.cli.observe(request, policy)),
181
187
  )
182
188
  warm_cached_map, measurement["warm_code_map_loading"] = self._phase(
183
189
  repetition,
@@ -206,7 +212,7 @@ class CacheBenchmark:
206
212
  repetition,
207
213
  "incremental",
208
214
  "inventory",
209
- lambda: application.cli.prepare_cache(request, policy),
215
+ lambda: application.cli.prepare_cache(application.cli.observe(request, policy)),
210
216
  )
211
217
  incremental_cached_map, measurement["incremental_code_map_loading"] = self._phase(
212
218
  repetition,
@@ -220,7 +226,7 @@ class CacheBenchmark:
220
226
  repetition,
221
227
  "incremental",
222
228
  "source_loading",
223
- lambda: application.cli.cached_sources(request, incremental_plan, options),
229
+ lambda: application.cli.cached_sources(incremental_plan, options),
224
230
  )
225
231
  _, measurement["incremental_source_set_maintenance"] = self._phase(
226
232
  repetition,
@@ -107,7 +107,7 @@ class ReportBenchmark:
107
107
  cleanup_reserve = min(1.0, max_process_seconds * 0.1)
108
108
  supervisor_seconds = max_process_seconds - cleanup_reserve
109
109
  if Path(sys.argv[0]).resolve() == Path(__file__).resolve():
110
- entrypoint = [sys.executable, "-m", "tests.architecture.report_benchmark.run"]
110
+ entrypoint = [sys.executable, "-m", "scripts.benchmarks.report.run"]
111
111
  else:
112
112
  entrypoint = [sys.executable, sys.argv[0]]
113
113
  command = [*entrypoint, *sys.argv[1:], "--worker"]
@@ -228,7 +228,10 @@ class ReportBenchmark:
228
228
  cache_file = self.code_map_cache_file
229
229
  if cache_file is None:
230
230
  plan, measurement["inventory"] = self._phase(
231
- repetition, "map", "inventory", lambda: application.cli.prepare_cache(request, policy)
231
+ repetition,
232
+ "map",
233
+ "inventory",
234
+ lambda: application.cli.prepare_cache(application.cli.observe(request, policy)),
232
235
  )
233
236
  cached_map, measurement["code_map_loading"] = self._phase(
234
237
  repetition, "map", "code_map_loading", lambda: application.cli.cached_code_map(plan, options)
@@ -240,7 +243,7 @@ class ReportBenchmark:
240
243
  repetition,
241
244
  "map",
242
245
  "extraction_loading",
243
- lambda: application.cli.cached_sources(request, plan, options),
246
+ lambda: application.cli.cached_sources(plan, options),
244
247
  )
245
248
  _, measurement["source_set_maintenance"] = self._phase(
246
249
  repetition,
@@ -15,9 +15,9 @@ from .cli.cache.models.cache_outcome import CacheOutcome
15
15
  from .cli.cache.models.cache_stage import CacheStage
16
16
  from .cli.cache.models.cached_result import CachedResult
17
17
  from .cli.facade import CliFacade
18
+ from .cli.pipeline.models.source_observation import SourceObservation
18
19
  from .extraction.facade import ExtractionFacade
19
20
  from .implementation.facade import ImplementationFacade
20
- from .implementation.manifest.models.digest_algorithm import DigestAlgorithm
21
21
  from .implementation.manifest.models.implementation_manifest import ImplementationManifest
22
22
  from .implementation.manifest.models.implementation_manifest_document import ImplementationManifestDocument
23
23
  from .implementation.manifest.models.manifest_format import ManifestFormat
@@ -26,6 +26,7 @@ from .shared.code.models.capability_status import CapabilityStatus
26
26
  from .shared.code.models.code_map import CodeMap
27
27
  from .shared.code.models.declaration_family import DeclarationFamily
28
28
  from .shared.code.models.declaration_identity import DeclarationIdentity
29
+ from .shared.code.models.digest_algorithm import DigestAlgorithm
29
30
  from .shared.code.models.fact_capability import FactCapability
30
31
  from .shared.code.models.queryable_code_map import QueryableCodeMap
31
32
  from .shared.code.models.scan_policy import ScanPolicy
@@ -57,6 +58,7 @@ __all__ = [
57
58
  "SourceAssignedValueKind",
58
59
  "SourceMemberKind",
59
60
  "SourceManifestIdentity",
61
+ "SourceObservation",
60
62
  "SourceRelationKind",
61
63
  ]
62
64
 
@@ -157,8 +159,18 @@ class ModwireApplication:
157
159
  ) -> CachedResult[CodeMap]:
158
160
  """Return a code map and public outcomes for extraction and complete-map reuse."""
159
161
 
160
- request = self.extraction.request(language, str(root))
161
- plan = self.cli.prepare_cache(request, policy)
162
+ observation = self.observe_sources(language, root, policy)
163
+ cached = self.generate_map_cached_from_observation_with_diagnostics(observation, options)
164
+ outcomes = tuple(outcome.model_copy(update={"source_observation_reused": False}) for outcome in cached.outcomes)
165
+ return CachedResult(value=cached.value, outcomes=outcomes)
166
+
167
+ def generate_map_cached_from_observation_with_diagnostics(
168
+ self, observation: SourceObservation, options: CacheOptions
169
+ ) -> CachedResult[CodeMap]:
170
+ """Return a cached code map derived from the exact supplied source observation."""
171
+
172
+ request = observation.request
173
+ plan = self.cli.prepare_cache(observation)
162
174
  cached = self.cli.cached_code_map(plan, options)
163
175
  outcome = cached.outcome(CacheStage.CODE_MAP)
164
176
  if cached.value is not None:
@@ -171,14 +183,18 @@ class ModwireApplication:
171
183
  ),
172
184
  )
173
185
  else:
174
- sources = self.cli.cached_sources(request, plan, options)
186
+ sources = self.cli.cached_sources(plan, options)
175
187
  self.cli.maintain_source_set(plan, options)
176
188
  code_map = self.extraction.generate_map(request, sources.value)
177
189
  self.cli.store_code_map(plan, code_map, options)
178
190
  outcome = outcome.model_copy(update={"computed": 1, "stored": 1})
179
191
  extraction_outcomes = sources.outcomes
180
192
  self.cli.maintain_cache(options)
181
- return CachedResult(value=code_map, outcomes=(*extraction_outcomes, outcome))
193
+ outcomes = tuple(
194
+ cache_outcome.model_copy(update={"source_observation_reused": True})
195
+ for cache_outcome in (*extraction_outcomes, outcome)
196
+ )
197
+ return CachedResult(value=code_map, outcomes=outcomes)
182
198
 
183
199
  def generate_queryable_map_cached(
184
200
  self, language: str, root: str, policy: ScanPolicy, options: CacheOptions
@@ -195,11 +211,24 @@ class ModwireApplication:
195
211
  cached = self.generate_map_cached_with_diagnostics(language, root, policy, options)
196
212
  return CachedResult(value=QueryableCodeMap(code_map=cached.value), outcomes=cached.outcomes)
197
213
 
214
+ def generate_queryable_map_cached_from_observation_with_diagnostics(
215
+ self, observation: SourceObservation, options: CacheOptions
216
+ ) -> CachedResult[QueryableCodeMap]:
217
+ """Return a queryable cached map derived from the exact supplied source observation."""
218
+
219
+ cached = self.generate_map_cached_from_observation_with_diagnostics(observation, options)
220
+ return CachedResult(value=QueryableCodeMap(code_map=cached.value), outcomes=cached.outcomes)
221
+
222
+ def observe_sources(self, language: str, root: str, policy: ScanPolicy) -> SourceObservation:
223
+ """Observe one complete immutable canonical source inventory without parsing source."""
224
+
225
+ request = self.extraction.request(language, str(root))
226
+ return self.cli.observe(request, policy)
227
+
198
228
  def source_manifest_identity(self, language: str, root: str, policy: ScanPolicy) -> SourceManifestIdentity:
199
229
  """Observe the current canonical source-manifest identity without parsing source."""
200
230
 
201
- request = self.extraction.request(language, str(root))
202
- return self.cli.source_manifest_identity(request, policy)
231
+ return self.observe_sources(language, root, policy).identity()
203
232
 
204
233
  def implementation_manifest(self, code_map: CodeMap, format: ManifestFormat) -> ImplementationManifestDocument:
205
234
  """Publish a deterministic, provenance-bearing implementation manifest."""
@@ -246,6 +275,7 @@ class ModwireApplication:
246
275
  SourceAssignedValue,
247
276
  SourceAssignedValueKind,
248
277
  SourceManifestIdentity,
278
+ SourceObservation,
249
279
  SourceMemberKind,
250
280
  SourceRelationKind,
251
281
  ImplementationManifest,
@@ -2,6 +2,7 @@ from dataclasses import dataclass
2
2
 
3
3
  from wireup import injectable
4
4
 
5
+ from ....shared.code.models.source_dependency_resolution import SourceDependencyResolution
5
6
  from ...config.models.boundaries_config import BoundariesConfig
6
7
  from ...config.models.boundary_rule import BoundaryRule
7
8
  from ...map.models.architecture_map import ArchitectureMap
@@ -32,7 +33,7 @@ class ModuleBoundaryAnalyzer(FlowAnalyzerInterface):
32
33
  ]
33
34
  for dependency in architecture_map.code_map.dependency_edges().all():
34
35
  edge = dependency.edge
35
- if edge.resolution != "resolved" or edge.to_id is None:
36
+ if edge.resolution is not SourceDependencyResolution.RESOLVED or edge.to_id is None:
36
37
  continue
37
38
  source_tags = architecture_map.tag_map.tags_for(edge.from_id)
38
39
  target_tags = architecture_map.tag_map.tags_for(edge.to_id)
@@ -1,5 +1,6 @@
1
1
  from pydantic import Field
2
2
 
3
+ from ....shared.code.models.import_crossing_type import ImportCrossingType
3
4
  from .configuration_value import ConfigurationValue
4
5
 
5
6
 
@@ -20,4 +21,7 @@ class ShapeRules(ConfigurationValue):
20
21
  allow_optional_class_properties: bool = False
21
22
  allow_import_aliases: bool = False
22
23
  require_joined_imports: bool = True
23
- allowed_import_crossing_types: tuple[str, ...] = ("module", "symbol")
24
+ allowed_import_crossing_types: tuple[ImportCrossingType, ...] = (
25
+ ImportCrossingType.MODULE,
26
+ ImportCrossingType.SYMBOL,
27
+ )
@@ -0,0 +1,11 @@
1
+ from ....shared.code.models.import_crossing_type import ImportCrossingType
2
+ from ....shared.code.models.source_export_kind import SourceExportKind
3
+ from ....shared.values.models.value_model import ValueModel
4
+
5
+
6
+ class ExportsReportItem(ValueModel):
7
+ source_id: str
8
+ name: str
9
+ kind: SourceExportKind
10
+ crossing_type: ImportCrossingType
11
+ reason: str
@@ -3,6 +3,7 @@ from dataclasses import dataclass
3
3
  from wireup import injectable
4
4
 
5
5
  from ....shared.code.models.identity import FileId
6
+ from ....shared.code.models.source_dependency_resolution import SourceDependencyResolution
6
7
  from ...map.models.architecture_map import ArchitectureMap
7
8
  from ..domain import InsightReporterInterface
8
9
  from ..models.coherence_report import CoherenceReport
@@ -35,7 +36,9 @@ class CoherenceReporter(InsightReporterInterface):
35
36
  if not has_incoming and (not has_outgoing):
36
37
  isolated.append(source_id)
37
38
  external_dependencies = {
38
- edge.specifier for edge in graph.external_edges(source_ids) if edge.resolution == "external"
39
+ edge.specifier
40
+ for edge in graph.external_edges(source_ids)
41
+ if edge.resolution is SourceDependencyResolution.EXTERNAL
39
42
  }
40
43
  return self.report_type(
41
44
  roots=tuple(roots),
@@ -3,6 +3,7 @@ from dataclasses import dataclass
3
3
  from wireup import injectable
4
4
 
5
5
  from ....shared.code.models.identity import FileId
6
+ from ....shared.code.models.source_value_declaration_kind import SourceValueDeclarationKind
6
7
  from ....shared.code.models.source_value_scope import SourceValueScope
7
8
  from ...config.models.shape_rules import ShapeRules
8
9
  from ..domain import BaseShapeResolver, ShapeResolverInterface
@@ -75,7 +76,8 @@ class FileResolver(ShapeResolverInterface, BaseShapeResolver):
75
76
  source_id=source_id,
76
77
  rule_name="max_variables_per_file",
77
78
  actual=sum(
78
- value.scope == SourceValueScope.MODULE and value.declaration_kind == "assignment"
79
+ value.scope is SourceValueScope.MODULE
80
+ and value.declaration_kind is SourceValueDeclarationKind.ASSIGNMENT
79
81
  for value in source_file.values
80
82
  ),
81
83
  limit=config.max_variables_per_file,
@@ -2,6 +2,7 @@ from dataclasses import dataclass
2
2
 
3
3
  from wireup import injectable
4
4
 
5
+ from ....shared.code.models.import_crossing_type import ImportCrossingType
5
6
  from ...config.models.shape_rules import ShapeRules
6
7
  from ..domain import BaseShapeResolver, ShapeResolverInterface
7
8
  from ..models.shape_realm_architecture_map import ShapeRealmArchitectureMap
@@ -49,7 +50,7 @@ class ImportResolver(ShapeResolverInterface, BaseShapeResolver):
49
50
  )
50
51
  if (
51
52
  config.require_joined_imports
52
- and source_import.crossing_type != "module"
53
+ and source_import.crossing_type is not ImportCrossingType.MODULE
53
54
  and (not source_import.uses_joined_import)
54
55
  ):
55
56
  violations.append(