modwire 4.0.2__tar.gz → 8.0.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.
- modwire-8.0.0/.dev/modwire.egg-info/SOURCES.txt +395 -0
- modwire-8.0.0/.github/workflows/ci.yml +45 -0
- modwire-8.0.0/.github/workflows/release.yml +63 -0
- {modwire-4.0.2 → modwire-8.0.0}/.gitignore +7 -5
- modwire-8.0.0/.modwire/architecture.yaml +122 -0
- modwire-8.0.0/AGENTS.md +1 -0
- modwire-8.0.0/LICENSE +13 -0
- modwire-8.0.0/MANIFEST.in +10 -0
- modwire-8.0.0/Makefile +65 -0
- modwire-8.0.0/PKG-INFO +57 -0
- modwire-8.0.0/README.md +29 -0
- modwire-8.0.0/docs/legacy/architecture/.github/workflows/ci.yml +15 -0
- modwire-8.0.0/docs/legacy/architecture/.github/workflows/human-approval.yml +133 -0
- modwire-8.0.0/docs/legacy/architecture/.github/workflows/issue-metadata-check.yml +17 -0
- modwire-8.0.0/docs/legacy/architecture/.github/workflows/issue-metadata.yml +87 -0
- {modwire-4.0.2 → modwire-8.0.0/docs/legacy/architecture}/.github/workflows/release.yml +1 -1
- modwire-8.0.0/docs/legacy/architecture/.modwire/shape.yaml +9 -0
- {modwire-4.0.2 → modwire-8.0.0/docs/legacy/architecture}/CHANGELOG.md +38 -0
- {modwire-4.0.2 → modwire-8.0.0/docs/legacy/architecture}/CONTRIBUTING.md +5 -6
- modwire-8.0.0/docs/legacy/architecture/MANIFEST.in +2 -0
- modwire-8.0.0/docs/legacy/architecture/Makefile +7 -0
- modwire-8.0.0/docs/legacy/architecture/README.md +105 -0
- modwire-8.0.0/docs/legacy/architecture/docs/migration-5.md +52 -0
- modwire-8.0.0/docs/legacy/architecture/docs/migration-6.md +32 -0
- modwire-8.0.0/docs/legacy/architecture/docs/scaffolding/golden/cli.yaml +44 -0
- modwire-8.0.0/docs/legacy/architecture/docs/scaffolding/golden/library.yaml +40 -0
- modwire-8.0.0/docs/legacy/architecture/docs/scaffolding/repository-contract-v1.yaml +147 -0
- modwire-8.0.0/docs/legacy/architecture/docs/wiki/Home.md +27 -0
- {modwire-4.0.2 → modwire-8.0.0/docs/legacy/architecture}/docs/wiki/Reporting-bugs.md +1 -1
- {modwire-4.0.2 → modwire-8.0.0/docs/legacy/architecture}/docs/wiki/Requesting-features.md +1 -1
- {modwire-4.0.2 → modwire-8.0.0/docs/legacy/architecture}/pyproject.toml +8 -10
- modwire-8.0.0/docs/legacy/cli/.github/workflows/ci.yml +17 -0
- modwire-8.0.0/docs/legacy/cli/.github/workflows/release.yml +40 -0
- modwire-8.0.0/docs/legacy/cli/.modwire/INDEX.md +10 -0
- modwire-8.0.0/docs/legacy/cli/.modwire/architecture.yaml +42 -0
- modwire-8.0.0/docs/legacy/cli/.modwire/docs/ARCHITECTURE.md +49 -0
- modwire-8.0.0/docs/legacy/cli/.modwire/docs/MODWIRE.md +5 -0
- modwire-8.0.0/docs/legacy/cli/.modwire/docs/PROJECT.md +16 -0
- modwire-8.0.0/docs/legacy/cli/.modwire/docs/RULES.md +6 -0
- modwire-8.0.0/docs/legacy/cli/.modwire/docs/TESTING.md +7 -0
- modwire-8.0.0/docs/legacy/cli/.modwire/docs/WORKFLOW.md +8 -0
- modwire-8.0.0/docs/legacy/cli/AGENTS.md +1 -0
- modwire-8.0.0/docs/legacy/cli/LICENSE +21 -0
- modwire-8.0.0/docs/legacy/cli/Makefile +14 -0
- modwire-8.0.0/docs/legacy/cli/README.md +73 -0
- modwire-8.0.0/docs/legacy/cli/pyproject.toml +85 -0
- modwire-8.0.0/docs/legacy/extraction/.github/workflows/ci.yml +50 -0
- modwire-8.0.0/docs/legacy/extraction/.github/workflows/human-approval.yml +133 -0
- modwire-8.0.0/docs/legacy/extraction/.github/workflows/release.yml +40 -0
- modwire-8.0.0/docs/legacy/extraction/CHANGELOG.md +68 -0
- modwire-8.0.0/docs/legacy/extraction/CONTRIBUTING.md +85 -0
- modwire-8.0.0/docs/legacy/extraction/LICENSE +21 -0
- modwire-8.0.0/docs/legacy/extraction/MANIFEST.in +6 -0
- modwire-8.0.0/docs/legacy/extraction/Makefile +4 -0
- modwire-8.0.0/docs/legacy/extraction/README.md +73 -0
- modwire-8.0.0/docs/legacy/extraction/RELEASE_CHECKLIST.md +40 -0
- modwire-8.0.0/docs/legacy/extraction/docs/migration-2.md +59 -0
- modwire-8.0.0/docs/legacy/extraction/pyproject.toml +94 -0
- modwire-8.0.0/docs/planning/baselines.json +35 -0
- modwire-8.0.0/docs/planning/diagrams/01-ownership.md +32 -0
- modwire-8.0.0/docs/planning/diagrams/01-ownership.snapshot.json +201 -0
- modwire-8.0.0/docs/planning/diagrams/02-issue-dependencies.md +45 -0
- modwire-8.0.0/docs/planning/diagrams/02-issue-dependencies.snapshot.json +336 -0
- modwire-8.0.0/docs/planning/diagrams/03-release-gates.md +39 -0
- modwire-8.0.0/docs/planning/diagrams/03-release-gates.snapshot.json +280 -0
- modwire-8.0.0/docs/planning/diagrams/README.md +11 -0
- modwire-8.0.0/docs/planning/diagrams/manifest.json +28 -0
- modwire-8.0.0/docs/planning/issues.json +107 -0
- modwire-8.0.0/docs/planning/namespace-migration.md +17 -0
- modwire-8.0.0/docs/planning/preflight.md +64 -0
- modwire-8.0.0/docs/planning/removed-modules.json +16 -0
- modwire-8.0.0/docs/planning/report-model-migration.json +11 -0
- modwire-8.0.0/docs/planning/source-imports.json +1070 -0
- modwire-8.0.0/pyproject.toml +74 -0
- modwire-8.0.0/scripts/generate_docs.py +7 -0
- modwire-8.0.0/scripts/verify_consumer.py +32 -0
- modwire-8.0.0/setup.cfg +8 -0
- modwire-8.0.0/setup.py +7 -0
- modwire-8.0.0/src/modwire/__main__.py +4 -0
- modwire-8.0.0/src/modwire/application.py +77 -0
- modwire-8.0.0/src/modwire/architecture/__init__.py +0 -0
- modwire-8.0.0/src/modwire/architecture/boundaries/application.py +25 -0
- modwire-4.0.2/src/modwire/architecture/boundaries/analyzers/analyzer_base.py → modwire-8.0.0/src/modwire/architecture/boundaries/domain.py +27 -11
- modwire-8.0.0/src/modwire/architecture/boundaries/models/edge_rule_violation.py +9 -0
- modwire-8.0.0/src/modwire/architecture/boundaries/models/flow_report.py +15 -0
- modwire-8.0.0/src/modwire/architecture/boundaries/models/flow_violation.py +22 -0
- modwire-8.0.0/src/modwire/architecture/boundaries/models/types.py +1 -0
- modwire-8.0.0/src/modwire/architecture/boundaries/services/__init__.py +1 -0
- modwire-4.0.2/src/modwire/architecture/boundaries/analyzers/backward.py → modwire-8.0.0/src/modwire/architecture/boundaries/services/backward_flow_analyzer.py +13 -5
- modwire-8.0.0/src/modwire/architecture/boundaries/services/boundaries_flow_analyzer.py +53 -0
- modwire-8.0.0/src/modwire/architecture/boundaries/services/module_boundary_analyzer.py +120 -0
- modwire-4.0.2/src/modwire/architecture/boundaries/analyzers/no_cycles.py → modwire-8.0.0/src/modwire/architecture/boundaries/services/no_cycles_flow_analyzer.py +16 -15
- modwire-4.0.2/src/modwire/architecture/boundaries/analyzers/no_reentry.py → modwire-8.0.0/src/modwire/architecture/boundaries/services/no_reentry_flow_analyzer.py +17 -10
- modwire-8.0.0/src/modwire/architecture/config/__init__.py +1 -0
- modwire-8.0.0/src/modwire/architecture/config/application.py +13 -0
- modwire-8.0.0/src/modwire/architecture/config/models/__init__.py +1 -0
- modwire-8.0.0/src/modwire/architecture/config/models/architecture_config.py +11 -0
- modwire-8.0.0/src/modwire/architecture/config/models/boundaries_config.py +28 -0
- modwire-8.0.0/src/modwire/architecture/config/models/boundary_rule.py +9 -0
- modwire-8.0.0/src/modwire/architecture/config/models/configuration_value.py +5 -0
- modwire-8.0.0/src/modwire/architecture/config/models/flow_realm.py +7 -0
- modwire-8.0.0/src/modwire/architecture/config/models/flow_rules.py +21 -0
- modwire-8.0.0/src/modwire/architecture/config/models/shape_config.py +15 -0
- modwire-8.0.0/src/modwire/architecture/config/models/shape_realm.py +11 -0
- modwire-8.0.0/src/modwire/architecture/config/models/shape_rules.py +22 -0
- modwire-8.0.0/src/modwire/architecture/config/models/tag_rule.py +9 -0
- modwire-8.0.0/src/modwire/architecture/facade.py +27 -0
- modwire-8.0.0/src/modwire/architecture/insights/__init__.py +1 -0
- modwire-8.0.0/src/modwire/architecture/insights/application.py +34 -0
- modwire-8.0.0/src/modwire/architecture/insights/domain.py +20 -0
- modwire-8.0.0/src/modwire/architecture/insights/models/__init__.py +1 -0
- modwire-8.0.0/src/modwire/architecture/insights/models/callable_report_entry.py +7 -0
- modwire-8.0.0/src/modwire/architecture/insights/models/callables_report.py +13 -0
- modwire-8.0.0/src/modwire/architecture/insights/models/clusters_report.py +13 -0
- modwire-8.0.0/src/modwire/architecture/insights/models/clusters_report_item.py +10 -0
- modwire-8.0.0/src/modwire/architecture/insights/models/coherence_report.py +15 -0
- modwire-8.0.0/src/modwire/architecture/insights/models/exports_report.py +11 -0
- modwire-8.0.0/src/modwire/architecture/insights/models/exports_report_item.py +9 -0
- modwire-8.0.0/src/modwire/architecture/insights/models/hotspots_report.py +13 -0
- modwire-8.0.0/src/modwire/architecture/insights/models/hotspots_report_item.py +8 -0
- modwire-8.0.0/src/modwire/architecture/insights/models/insight_report.py +28 -0
- modwire-8.0.0/src/modwire/architecture/insights/services/__init__.py +1 -0
- modwire-8.0.0/src/modwire/architecture/insights/services/callables_reporter.py +41 -0
- modwire-8.0.0/src/modwire/architecture/insights/services/clusters_reporter.py +84 -0
- modwire-8.0.0/src/modwire/architecture/insights/services/coherence_reporter.py +46 -0
- modwire-4.0.2/src/modwire/architecture/insights/reporters/exports.py → modwire-8.0.0/src/modwire/architecture/insights/services/exports_reporter.py +17 -28
- modwire-8.0.0/src/modwire/architecture/insights/services/hotspots_reporter.py +40 -0
- modwire-8.0.0/src/modwire/architecture/insights/services/insight_report_field_map.py +12 -0
- modwire-8.0.0/src/modwire/architecture/map/__init__.py +1 -0
- modwire-8.0.0/src/modwire/architecture/map/application.py +17 -0
- modwire-8.0.0/src/modwire/architecture/map/domain.py +11 -0
- modwire-8.0.0/src/modwire/architecture/map/models/__init__.py +1 -0
- modwire-4.0.2/src/modwire/architecture/map/base.py → modwire-8.0.0/src/modwire/architecture/map/models/architecture_map.py +6 -10
- modwire-8.0.0/src/modwire/architecture/map/models/architecture_realm.py +7 -0
- {modwire-4.0.2/src/modwire/architecture/boundaries/tags → modwire-8.0.0/src/modwire/architecture/map/models}/tag_map.py +4 -15
- modwire-8.0.0/src/modwire/architecture/map/models/tag_match.py +10 -0
- modwire-8.0.0/src/modwire/architecture/map/services/__init__.py +1 -0
- modwire-8.0.0/src/modwire/architecture/map/services/architecture_map_loader.py +52 -0
- modwire-8.0.0/src/modwire/architecture/map/services/tag_matcher.py +70 -0
- modwire-8.0.0/src/modwire/architecture/report/__init__.py +1 -0
- modwire-8.0.0/src/modwire/architecture/report/application.py +28 -0
- modwire-8.0.0/src/modwire/architecture/report/domain.py +16 -0
- modwire-8.0.0/src/modwire/architecture/report/models/__init__.py +1 -0
- modwire-8.0.0/src/modwire/architecture/report/models/architecture_group.py +6 -0
- modwire-8.0.0/src/modwire/architecture/report/models/map_report.py +16 -0
- modwire-8.0.0/src/modwire/architecture/report/models/report_catalog.py +6 -0
- modwire-8.0.0/src/modwire/architecture/report/models/report_descriptor.py +26 -0
- modwire-8.0.0/src/modwire/architecture/report/models/report_item.py +4 -0
- modwire-8.0.0/src/modwire/architecture/report/models/report_metadata.py +11 -0
- modwire-8.0.0/src/modwire/architecture/report/models/report_node.py +35 -0
- modwire-8.0.0/src/modwire/architecture/report/models/report_section.py +4 -0
- modwire-8.0.0/src/modwire/architecture/report/services/__init__.py +0 -0
- modwire-8.0.0/src/modwire/architecture/report/services/map_report_collector.py +34 -0
- modwire-8.0.0/src/modwire/architecture/shape/__init__.py +1 -0
- modwire-8.0.0/src/modwire/architecture/shape/application.py +53 -0
- modwire-8.0.0/src/modwire/architecture/shape/domain.py +59 -0
- modwire-8.0.0/src/modwire/architecture/shape/models/__init__.py +1 -0
- modwire-8.0.0/src/modwire/architecture/shape/models/shape_realm_architecture_map.py +8 -0
- modwire-8.0.0/src/modwire/architecture/shape/models/shape_report.py +15 -0
- modwire-8.0.0/src/modwire/architecture/shape/models/shape_violation.py +11 -0
- modwire-8.0.0/src/modwire/architecture/shape/services/__init__.py +1 -0
- {modwire-4.0.2/src/modwire/architecture/shape/resolvers → modwire-8.0.0/src/modwire/architecture/shape/services}/abstract_class_resolver.py +18 -25
- {modwire-4.0.2/src/modwire/architecture/shape/resolvers → modwire-8.0.0/src/modwire/architecture/shape/services}/callable_resolver.py +27 -37
- {modwire-4.0.2/src/modwire/architecture/shape/resolvers → modwire-8.0.0/src/modwire/architecture/shape/services}/class_resolver.py +20 -31
- {modwire-4.0.2/src/modwire/architecture/shape/resolvers → modwire-8.0.0/src/modwire/architecture/shape/services}/file_resolver.py +21 -26
- {modwire-4.0.2/src/modwire/architecture/shape/resolvers → modwire-8.0.0/src/modwire/architecture/shape/services}/import_resolver.py +17 -17
- {modwire-4.0.2/src/modwire/architecture/shape/resolvers → modwire-8.0.0/src/modwire/architecture/shape/services}/property_resolver.py +26 -32
- {modwire-4.0.2/src/modwire/architecture/shape/resolvers → modwire-8.0.0/src/modwire/architecture/shape/services}/signature_resolver.py +19 -25
- modwire-8.0.0/src/modwire/architecture/shape/services/symbol_resolver.py +29 -0
- modwire-8.0.0/src/modwire/autowiring.py +23 -0
- modwire-8.0.0/src/modwire/cli/__init__.py +0 -0
- modwire-8.0.0/src/modwire/cli/documentation/__init__.py +1 -0
- modwire-8.0.0/src/modwire/cli/documentation/application.py +20 -0
- modwire-8.0.0/src/modwire/cli/documentation/models/__init__.py +1 -0
- modwire-8.0.0/src/modwire/cli/documentation/models/defaults.py +6 -0
- modwire-8.0.0/src/modwire/cli/documentation/services/__init__.py +1 -0
- modwire-8.0.0/src/modwire/cli/documentation/services/documentation_generator.py +43 -0
- modwire-8.0.0/src/modwire/cli/facade.py +87 -0
- modwire-8.0.0/src/modwire/cli/initialization/__init__.py +1 -0
- modwire-8.0.0/src/modwire/cli/initialization/application.py +45 -0
- modwire-8.0.0/src/modwire/cli/initialization/models/__init__.py +1 -0
- modwire-8.0.0/src/modwire/cli/initialization/models/initialization_result.py +9 -0
- modwire-8.0.0/src/modwire/cli/initialization/services/__init__.py +1 -0
- modwire-8.0.0/src/modwire/cli/initialization/services/initialization_service.py +27 -0
- modwire-8.0.0/src/modwire/cli/pipeline/__init__.py +1 -0
- modwire-8.0.0/src/modwire/cli/pipeline/application.py +58 -0
- modwire-8.0.0/src/modwire/cli/pipeline/domain.py +28 -0
- modwire-8.0.0/src/modwire/cli/pipeline/models/__init__.py +1 -0
- modwire-8.0.0/src/modwire/cli/pipeline/models/command_request.py +13 -0
- modwire-8.0.0/src/modwire/cli/pipeline/models/extractor_batch_input.py +5 -0
- modwire-8.0.0/src/modwire/cli/pipeline/models/extractor_command_input.py +7 -0
- modwire-8.0.0/src/modwire/cli/pipeline/models/extractor_source_input.py +10 -0
- modwire-8.0.0/src/modwire/cli/pipeline/models/report_pipeline_context.py +22 -0
- modwire-8.0.0/src/modwire/cli/pipeline/services/__init__.py +1 -0
- modwire-8.0.0/src/modwire/cli/pipeline/services/batch_source_reader.py +213 -0
- modwire-8.0.0/src/modwire/cli/pipeline/services/callables_insight.py +28 -0
- modwire-8.0.0/src/modwire/cli/pipeline/services/clusters_insight.py +30 -0
- modwire-8.0.0/src/modwire/cli/pipeline/services/coherence_insight.py +36 -0
- modwire-8.0.0/src/modwire/cli/pipeline/services/command_line.py +33 -0
- modwire-8.0.0/src/modwire/cli/pipeline/services/configuration_loader.py +14 -0
- modwire-8.0.0/src/modwire/cli/pipeline/services/extractor_command.py +49 -0
- modwire-8.0.0/src/modwire/cli/pipeline/services/flow_violations.py +25 -0
- modwire-8.0.0/src/modwire/cli/pipeline/services/hotspots_insight.py +28 -0
- modwire-8.0.0/src/modwire/cli/pipeline/services/map_tree.py +47 -0
- modwire-8.0.0/src/modwire/cli/pipeline/services/output_console.py +8 -0
- modwire-8.0.0/src/modwire/cli/pipeline/services/shape_violations.py +29 -0
- modwire-8.0.0/src/modwire/cli/pipeline/services/success.py +20 -0
- modwire-8.0.0/src/modwire/cli/pipeline/services/unknown_files_warning.py +24 -0
- modwire-8.0.0/src/modwire/cli/pipeline/services/unused_exports_insight.py +27 -0
- modwire-8.0.0/src/modwire/cli/resources/__init__.py +1 -0
- modwire-8.0.0/src/modwire/cli/resources/application.py +17 -0
- modwire-8.0.0/src/modwire/cli/resources/extractors/__init__.py +1 -0
- modwire-8.0.0/src/modwire/cli/resources/extractors/php/build.php +105 -0
- modwire-8.0.0/src/modwire/cli/resources/extractors/php/composer.json +14 -0
- modwire-8.0.0/src/modwire/cli/resources/extractors/php/composer.lock +77 -0
- modwire-8.0.0/src/modwire/cli/resources/extractors/php/script.php +0 -0
- modwire-8.0.0/src/modwire/cli/resources/extractors/php/script.src.php +783 -0
- modwire-8.0.0/src/modwire/cli/resources/extractors/python/__init__.py +1 -0
- modwire-8.0.0/src/modwire/cli/resources/extractors/python/script.py +4 -0
- modwire-8.0.0/src/modwire/cli/resources/extractors/typescript/build.mjs +29 -0
- modwire-8.0.0/src/modwire/cli/resources/extractors/typescript/package-lock.json +351 -0
- modwire-8.0.0/src/modwire/cli/resources/extractors/typescript/package.json +16 -0
- modwire-8.0.0/src/modwire/cli/resources/extractors/typescript/script.js +234665 -0
- modwire-8.0.0/src/modwire/cli/resources/extractors/typescript/script.ts +1139 -0
- modwire-8.0.0/src/modwire/cli/resources/extractors/typescript/tsconfig.json +14 -0
- modwire-8.0.0/src/modwire/cli/resources/models/__init__.py +0 -0
- modwire-8.0.0/src/modwire/cli/resources/models/defaults.py +14 -0
- modwire-8.0.0/src/modwire/cli/resources/models/init_asset.py +10 -0
- modwire-8.0.0/src/modwire/cli/resources/templates/AGENTS.md +1 -0
- modwire-8.0.0/src/modwire/cli/resources/templates/ARCHITECTURE.md +49 -0
- modwire-8.0.0/src/modwire/cli/resources/templates/INDEX.md +9 -0
- modwire-8.0.0/src/modwire/cli/resources/templates/MODWIRE.md +5 -0
- modwire-8.0.0/src/modwire/cli/resources/templates/RULES.md +6 -0
- modwire-8.0.0/src/modwire/cli/resources/templates/TESTING.md +7 -0
- modwire-8.0.0/src/modwire/cli/resources/templates/WORKFLOW.md +8 -0
- modwire-8.0.0/src/modwire/cli/resources/templates/architecture.yaml +60 -0
- modwire-8.0.0/src/modwire/extraction/__init__.py +0 -0
- modwire-8.0.0/src/modwire/extraction/dependency/__init__.py +1 -0
- modwire-8.0.0/src/modwire/extraction/dependency/application.py +21 -0
- modwire-8.0.0/src/modwire/extraction/dependency/domain.py +17 -0
- modwire-8.0.0/src/modwire/extraction/dependency/services/__init__.py +1 -0
- modwire-8.0.0/src/modwire/extraction/dependency/services/graph_builder.py +25 -0
- modwire-8.0.0/src/modwire/extraction/dependency/services/import_resolver.py +71 -0
- modwire-8.0.0/src/modwire/extraction/extractors/__init__.py +1 -0
- modwire-8.0.0/src/modwire/extraction/extractors/application.py +45 -0
- modwire-8.0.0/src/modwire/extraction/extractors/domain.py +30 -0
- modwire-8.0.0/src/modwire/extraction/extractors/models/__init__.py +1 -0
- modwire-8.0.0/src/modwire/extraction/extractors/models/batch_config.py +11 -0
- modwire-8.0.0/src/modwire/extraction/extractors/models/extraction_request.py +10 -0
- modwire-8.0.0/src/modwire/extraction/extractors/models/extractor_runtime.py +9 -0
- modwire-8.0.0/src/modwire/extraction/extractors/models/python_call_context.py +10 -0
- modwire-8.0.0/src/modwire/extraction/extractors/services/__init__.py +1 -0
- modwire-8.0.0/src/modwire/extraction/extractors/services/php_extractor.py +21 -0
- modwire-8.0.0/src/modwire/extraction/extractors/services/python_call_reader.py +61 -0
- modwire-8.0.0/src/modwire/extraction/extractors/services/python_extractor.py +22 -0
- modwire-8.0.0/src/modwire/extraction/extractors/services/python_syntax_parser.py +758 -0
- modwire-8.0.0/src/modwire/extraction/extractors/services/type_script_extractor.py +25 -0
- modwire-8.0.0/src/modwire/extraction/facade.py +30 -0
- modwire-8.0.0/src/modwire/py.typed +0 -0
- modwire-8.0.0/src/modwire/shared/__init__.py +0 -0
- modwire-8.0.0/src/modwire/shared/code/__init__.py +1 -0
- modwire-8.0.0/src/modwire/shared/code/application.py +23 -0
- modwire-8.0.0/src/modwire/shared/code/domain.py +19 -0
- modwire-8.0.0/src/modwire/shared/code/models/__init__.py +1 -0
- modwire-8.0.0/src/modwire/shared/code/models/code_map.py +20 -0
- modwire-4.0.2/src/modwire/code/package.py → modwire-8.0.0/src/modwire/shared/code/models/code_package.py +12 -16
- modwire-8.0.0/src/modwire/shared/code/models/dependency_edge_result.py +9 -0
- modwire-8.0.0/src/modwire/shared/code/models/dependency_graph.py +95 -0
- modwire-8.0.0/src/modwire/shared/code/models/dependency_node_result.py +10 -0
- modwire-8.0.0/src/modwire/shared/code/models/duplicate_identity_error.py +31 -0
- modwire-8.0.0/src/modwire/shared/code/models/edge.py +14 -0
- modwire-8.0.0/src/modwire/shared/code/models/edge_resolution.py +3 -0
- modwire-8.0.0/src/modwire/shared/code/models/identity.py +5 -0
- modwire-8.0.0/src/modwire/shared/code/models/node.py +10 -0
- modwire-8.0.0/src/modwire/shared/code/models/query_builder.py +33 -0
- modwire-8.0.0/src/modwire/shared/code/models/query_types.py +4 -0
- modwire-8.0.0/src/modwire/shared/code/models/queryable_code_map.py +144 -0
- modwire-8.0.0/src/modwire/shared/code/models/source_abstract_class.py +9 -0
- modwire-8.0.0/src/modwire/shared/code/models/source_call.py +13 -0
- modwire-8.0.0/src/modwire/shared/code/models/source_callable.py +22 -0
- modwire-8.0.0/src/modwire/shared/code/models/source_callable_symbol.py +6 -0
- modwire-8.0.0/src/modwire/shared/code/models/source_class.py +8 -0
- modwire-8.0.0/src/modwire/shared/code/models/source_class_method.py +5 -0
- modwire-8.0.0/src/modwire/shared/code/models/source_class_property.py +6 -0
- modwire-8.0.0/src/modwire/shared/code/models/source_export.py +17 -0
- modwire-8.0.0/src/modwire/shared/code/models/source_extraction.py +16 -0
- modwire-8.0.0/src/modwire/shared/code/models/source_file.py +32 -0
- modwire-8.0.0/src/modwire/shared/code/models/source_file_result.py +8 -0
- modwire-8.0.0/src/modwire/shared/code/models/source_function.py +5 -0
- modwire-8.0.0/src/modwire/shared/code/models/source_import.py +22 -0
- modwire-8.0.0/src/modwire/shared/code/models/source_imported_symbol.py +10 -0
- modwire-8.0.0/src/modwire/shared/code/models/source_interface.py +10 -0
- modwire-8.0.0/src/modwire/shared/code/models/source_item_result.py +5 -0
- modwire-8.0.0/src/modwire/shared/code/models/source_parameter.py +9 -0
- modwire-8.0.0/src/modwire/shared/code/models/source_signature.py +9 -0
- modwire-8.0.0/src/modwire/shared/code/models/source_symbol.py +9 -0
- modwire-8.0.0/src/modwire/shared/code/models/source_type.py +8 -0
- modwire-8.0.0/src/modwire/shared/code/models/source_value.py +13 -0
- modwire-8.0.0/src/modwire/shared/code/models/types.py +14 -0
- modwire-8.0.0/src/modwire/shared/code/services/__init__.py +1 -0
- modwire-8.0.0/src/modwire/shared/code/services/glob_path_matcher.py +41 -0
- modwire-8.0.0/src/modwire/shared/code/services/identity_resolver.py +30 -0
- modwire-8.0.0/src/modwire/shared/values/__init__.py +1 -0
- modwire-8.0.0/src/modwire/shared/values/models/__init__.py +0 -0
- modwire-8.0.0/src/modwire/shared/values/models/value_model.py +23 -0
- modwire-8.0.0/tests/__init__.py +0 -0
- modwire-8.0.0/tests/application/__init__.py +0 -0
- modwire-8.0.0/tests/application/base_test.py +38 -0
- modwire-8.0.0/tests/application/test_01_attacks.py +28 -0
- modwire-8.0.0/tests/application/test_06_happy_path.py +25 -0
- modwire-8.0.0/tests/architecture/__init__.py +0 -0
- modwire-8.0.0/tests/architecture/base_test.py +22 -0
- modwire-8.0.0/tests/architecture/boundaries/__init__.py +0 -0
- modwire-8.0.0/tests/architecture/boundaries/base_test.py +8 -0
- modwire-8.0.0/tests/architecture/boundaries/test_01_attacks.py +47 -0
- modwire-8.0.0/tests/architecture/boundaries/test_02_invariants.py +59 -0
- modwire-8.0.0/tests/architecture/boundaries/test_03_public_api.py +27 -0
- modwire-8.0.0/tests/architecture/boundaries/test_04_paths.py +66 -0
- modwire-8.0.0/tests/architecture/config/__init__.py +0 -0
- modwire-8.0.0/tests/architecture/config/test_01_attacks.py +50 -0
- modwire-8.0.0/tests/architecture/config/test_02_invariants.py +29 -0
- modwire-8.0.0/tests/architecture/insights/__init__.py +0 -0
- modwire-8.0.0/tests/architecture/insights/base_test.py +7 -0
- modwire-8.0.0/tests/architecture/insights/test_02_invariants.py +64 -0
- modwire-8.0.0/tests/architecture/map/__init__.py +0 -0
- modwire-8.0.0/tests/architecture/map/test_02_patterns.py +48 -0
- modwire-8.0.0/tests/architecture/report/__init__.py +0 -0
- modwire-8.0.0/tests/architecture/report/test_02_invariants.py +31 -0
- modwire-8.0.0/tests/architecture/shape/__init__.py +0 -0
- modwire-8.0.0/tests/architecture/shape/base_test.py +6 -0
- modwire-8.0.0/tests/architecture/shape/test_01_limits.py +68 -0
- modwire-8.0.0/tests/architecture/shape/test_02_invariants.py +44 -0
- modwire-8.0.0/tests/cli/__init__.py +0 -0
- modwire-8.0.0/tests/cli/base_test.py +37 -0
- modwire-8.0.0/tests/cli/documentation/__init__.py +0 -0
- modwire-8.0.0/tests/cli/documentation/test_02_invariants.py +32 -0
- modwire-8.0.0/tests/cli/initialization/__init__.py +0 -0
- modwire-8.0.0/tests/cli/initialization/test_01_attacks.py +9 -0
- modwire-8.0.0/tests/cli/initialization/test_02_invariants.py +15 -0
- modwire-8.0.0/tests/cli/initialization/test_03_interruption.py +10 -0
- modwire-8.0.0/tests/cli/initialization/test_04_cleanup.py +10 -0
- modwire-8.0.0/tests/cli/initialization/test_05_recovery.py +10 -0
- modwire-8.0.0/tests/cli/pipeline/__init__.py +0 -0
- modwire-8.0.0/tests/cli/pipeline/base_test.py +14 -0
- modwire-8.0.0/tests/cli/pipeline/test_01_attacks.py +44 -0
- modwire-8.0.0/tests/cli/pipeline/test_02_invariants.py +60 -0
- modwire-8.0.0/tests/cli/pipeline/test_03_interruption.py +16 -0
- modwire-8.0.0/tests/cli/pipeline/test_04_command_transport.py +45 -0
- modwire-8.0.0/tests/cli/pipeline/test_05_recovery.py +36 -0
- modwire-8.0.0/tests/cli/pipeline/test_06_happy_path.py +25 -0
- modwire-8.0.0/tests/conftest.py +0 -0
- modwire-8.0.0/tests/extraction/__init__.py +0 -0
- modwire-8.0.0/tests/extraction/base_test.py +6 -0
- modwire-8.0.0/tests/extraction/dependency/__init__.py +0 -0
- modwire-8.0.0/tests/extraction/dependency/test_02_invariants.py +41 -0
- modwire-8.0.0/tests/extraction/extractors/__init__.py +0 -0
- modwire-8.0.0/tests/extraction/extractors/test_01_attacks.py +14 -0
- modwire-8.0.0/tests/extraction/extractors/test_02_invariants.py +31 -0
- modwire-8.0.0/tests/extraction/extractors/test_03_native_symbols.py +50 -0
- modwire-8.0.0/tests/fixtures/languages/php/ignored/example_generated.php +6 -0
- modwire-8.0.0/tests/fixtures/languages/php/src/example_application/example_actions/example_action.php +28 -0
- modwire-8.0.0/tests/fixtures/languages/php/src/example_domain/example_model/example_record.php +16 -0
- modwire-8.0.0/tests/fixtures/languages/php/src/example_domain/example_services/example_policy.php +17 -0
- modwire-8.0.0/tests/fixtures/languages/php/src/example_interfaces/example_http/example_controller.php +18 -0
- modwire-8.0.0/tests/fixtures/languages/python/ignored/example_generated.py +5 -0
- modwire-8.0.0/tests/fixtures/languages/python/src/example_application/example_actions/example_action.py +26 -0
- modwire-8.0.0/tests/fixtures/languages/python/src/example_domain/example_model/example_record.py +11 -0
- modwire-8.0.0/tests/fixtures/languages/python/src/example_domain/example_services/example_policy.py +10 -0
- modwire-8.0.0/tests/fixtures/languages/python/src/example_interfaces/example_http/example_controller.py +14 -0
- modwire-8.0.0/tests/fixtures/languages/typescript/ignored/example_generated.ts +3 -0
- modwire-8.0.0/tests/fixtures/languages/typescript/src/example_application/example_actions/example_action.ts +24 -0
- modwire-8.0.0/tests/fixtures/languages/typescript/src/example_domain/example_model/example_record.ts +11 -0
- modwire-8.0.0/tests/fixtures/languages/typescript/src/example_domain/example_model/example_view.tsx +5 -0
- modwire-8.0.0/tests/fixtures/languages/typescript/src/example_domain/example_services/example_audit.js +3 -0
- modwire-8.0.0/tests/fixtures/languages/typescript/src/example_domain/example_services/example_callables.ts +25 -0
- modwire-8.0.0/tests/fixtures/languages/typescript/src/example_domain/example_services/example_policy.ts +11 -0
- modwire-8.0.0/tests/fixtures/languages/typescript/src/example_interfaces/example_http/example_controller.ts +13 -0
- modwire-8.0.0/tests/fixtures/languages/typescript/src/example_interfaces/example_http/example_view.jsx +3 -0
- modwire-8.0.0/tests/fixtures/syntax/php/example_shapes.php +32 -0
- modwire-8.0.0/tests/fixtures/syntax/python/example_shapes.py +28 -0
- modwire-8.0.0/tests/fixtures/syntax/typescript/example_shapes.ts +28 -0
- modwire-8.0.0/tests/shared/__init__.py +0 -0
- modwire-8.0.0/tests/shared/code/__init__.py +0 -0
- modwire-8.0.0/tests/shared/code/test_02_invariants.py +52 -0
- modwire-8.0.0/tests/support/__init__.py +0 -0
- modwire-8.0.0/tests/support/base_test.py +28 -0
- modwire-8.0.0/tests/support/service_test.py +19 -0
- modwire-8.0.0/uv.lock +837 -0
- modwire-4.0.2/.github/ISSUE_TEMPLATE/bug_report.yml +0 -106
- modwire-4.0.2/.github/ISSUE_TEMPLATE/config.yml +0 -1
- modwire-4.0.2/.github/ISSUE_TEMPLATE/feature_request.yml +0 -69
- modwire-4.0.2/.github/PULL_REQUEST_TEMPLATE.md +0 -14
- modwire-4.0.2/.github/modwire-ecosystem.yml +0 -171
- modwire-4.0.2/.github/scripts/reconcile_ecosystem.py +0 -405
- modwire-4.0.2/.github/workflows/ci.yml +0 -30
- modwire-4.0.2/.modwire/shape.yaml +0 -5
- modwire-4.0.2/MANIFEST.in +0 -1
- modwire-4.0.2/Makefile +0 -6
- modwire-4.0.2/PKG-INFO +0 -119
- modwire-4.0.2/README.md +0 -81
- modwire-4.0.2/docs/governance/github-ecosystem.md +0 -183
- modwire-4.0.2/docs/governance/python-workflows.md +0 -127
- modwire-4.0.2/docs/wiki/Home.md +0 -27
- modwire-4.0.2/setup.cfg +0 -4
- modwire-4.0.2/src/modwire/__init__.py +0 -12
- modwire-4.0.2/src/modwire/_version.py +0 -24
- modwire-4.0.2/src/modwire/architecture/__init__.py +0 -10
- modwire-4.0.2/src/modwire/architecture/app.py +0 -137
- modwire-4.0.2/src/modwire/architecture/boundaries/__init__.py +0 -8
- modwire-4.0.2/src/modwire/architecture/boundaries/analyzer.py +0 -56
- modwire-4.0.2/src/modwire/architecture/boundaries/analyzers/__init__.py +0 -1
- modwire-4.0.2/src/modwire/architecture/boundaries/base.py +0 -54
- modwire-4.0.2/src/modwire/architecture/boundaries/collector.py +0 -32
- modwire-4.0.2/src/modwire/architecture/boundaries/tags/__init__.py +0 -9
- modwire-4.0.2/src/modwire/architecture/boundaries/tags/matcher.py +0 -135
- modwire-4.0.2/src/modwire/architecture/insights/__init__.py +0 -8
- modwire-4.0.2/src/modwire/architecture/insights/base.py +0 -14
- modwire-4.0.2/src/modwire/architecture/insights/collector.py +0 -31
- modwire-4.0.2/src/modwire/architecture/insights/reporters/__init__.py +0 -7
- modwire-4.0.2/src/modwire/architecture/insights/reporters/base.py +0 -43
- modwire-4.0.2/src/modwire/architecture/insights/reporters/callables.py +0 -60
- modwire-4.0.2/src/modwire/architecture/insights/reporters/clusters.py +0 -121
- modwire-4.0.2/src/modwire/architecture/insights/reporters/coherence.py +0 -65
- modwire-4.0.2/src/modwire/architecture/insights/reporters/hotspots.py +0 -62
- modwire-4.0.2/src/modwire/architecture/map/__init__.py +0 -11
- modwire-4.0.2/src/modwire/architecture/map/collector.py +0 -40
- modwire-4.0.2/src/modwire/architecture/map/loader.py +0 -63
- modwire-4.0.2/src/modwire/architecture/shape/__init__.py +0 -8
- modwire-4.0.2/src/modwire/architecture/shape/base.py +0 -92
- modwire-4.0.2/src/modwire/architecture/shape/collector.py +0 -42
- modwire-4.0.2/src/modwire/architecture/shape/resolvers/symbol_resolver.py +0 -33
- modwire-4.0.2/src/modwire/code/__init__.py +0 -10
- modwire-4.0.2/src/modwire/code/reader.py +0 -9
- modwire-4.0.2/src/modwire/code/writer.py +0 -27
- modwire-4.0.2/src/modwire/facade.py +0 -30
- modwire-4.0.2/src/modwire/layers/__init__.py +0 -11
- modwire-4.0.2/src/modwire/layers/app.py +0 -9
- modwire-4.0.2/src/modwire/modules/__init__.py +0 -4
- modwire-4.0.2/src/modwire/modules/app.py +0 -9
- modwire-4.0.2/src/modwire/projects/__init__.py +0 -43
- modwire-4.0.2/src/modwire/projects/app.py +0 -9
- modwire-4.0.2/src/modwire/projects/ecosystem.py +0 -269
- modwire-4.0.2/src/modwire/shared/__init__.py +0 -19
- modwire-4.0.2/src/modwire/shared/base.py +0 -76
- modwire-4.0.2/src/modwire/shared/config/__init__.py +0 -36
- modwire-4.0.2/src/modwire/shared/config/architecture.py +0 -67
- modwire-4.0.2/src/modwire/shared/config/layers.py +0 -30
- modwire-4.0.2/src/modwire/shared/config/modules.py +0 -18
- modwire-4.0.2/src/modwire/shared/config/modwire.py +0 -54
- modwire-4.0.2/src/modwire/shared/config/projects.py +0 -27
- modwire-4.0.2/src/modwire/shared/config/shape.py +0 -40
- modwire-4.0.2/src/modwire/shared/report/__init__.py +0 -18
- modwire-4.0.2/src/modwire/shared/report/base.py +0 -105
- modwire-4.0.2/src/modwire.egg-info/PKG-INFO +0 -119
- modwire-4.0.2/src/modwire.egg-info/SOURCES.txt +0 -104
- modwire-4.0.2/src/modwire.egg-info/requires.txt +0 -11
- modwire-4.0.2/src/modwire.egg-info/scm_file_list.json +0 -101
- modwire-4.0.2/src/modwire.egg-info/scm_version.json +0 -8
- modwire-4.0.2/src/modwire.egg-info/top_level.txt +0 -1
- modwire-4.0.2/tests/test_architecture.py +0 -19
- modwire-4.0.2/tests/test_ecosystem_contract.py +0 -69
- modwire-4.0.2/tests/test_models.py +0 -60
- modwire-4.0.2/uv.lock +0 -841
- {modwire-4.0.2 → modwire-8.0.0/docs/legacy/architecture}/.github/workflows/python-package.yml +0 -0
- {modwire-4.0.2 → modwire-8.0.0/docs/legacy/architecture}/.github/workflows/python-release-assets.yml +0 -0
- {modwire-4.0.2 → modwire-8.0.0/docs/legacy/architecture}/.github/workflows/python-release-build.yml +0 -0
- {modwire-4.0.2 → modwire-8.0.0/docs/legacy/architecture}/.modwire/boundaries.yaml +0 -0
- {modwire-4.0.2 → modwire-8.0.0/docs/legacy/architecture}/LICENSE +0 -0
- {modwire-4.0.2 → modwire-8.0.0/docs/legacy/architecture}/docs/wiki/Development-checks.md +0 -0
- {modwire-4.0.2/src/modwire/architecture/shape/resolvers → modwire-8.0.0/src/modwire}/__init__.py +0 -0
- /modwire-4.0.2/src/modwire.egg-info/dependency_links.txt → /modwire-8.0.0/src/modwire/architecture/boundaries/__init__.py +0 -0
- /modwire-4.0.2/src/modwire/py.typed → /modwire-8.0.0/src/modwire/architecture/boundaries/models/__init__.py +0 -0
|
@@ -0,0 +1,395 @@
|
|
|
1
|
+
.gitignore
|
|
2
|
+
AGENTS.md
|
|
3
|
+
LICENSE
|
|
4
|
+
MANIFEST.in
|
|
5
|
+
Makefile
|
|
6
|
+
README.md
|
|
7
|
+
pyproject.toml
|
|
8
|
+
setup.cfg
|
|
9
|
+
setup.py
|
|
10
|
+
uv.lock
|
|
11
|
+
.github/workflows/ci.yml
|
|
12
|
+
.github/workflows/release.yml
|
|
13
|
+
.modwire/architecture.yaml
|
|
14
|
+
docs/legacy/architecture/CHANGELOG.md
|
|
15
|
+
docs/legacy/architecture/CONTRIBUTING.md
|
|
16
|
+
docs/legacy/architecture/LICENSE
|
|
17
|
+
docs/legacy/architecture/MANIFEST.in
|
|
18
|
+
docs/legacy/architecture/Makefile
|
|
19
|
+
docs/legacy/architecture/README.md
|
|
20
|
+
docs/legacy/architecture/pyproject.toml
|
|
21
|
+
docs/legacy/architecture/.github/workflows/ci.yml
|
|
22
|
+
docs/legacy/architecture/.github/workflows/human-approval.yml
|
|
23
|
+
docs/legacy/architecture/.github/workflows/issue-metadata-check.yml
|
|
24
|
+
docs/legacy/architecture/.github/workflows/issue-metadata.yml
|
|
25
|
+
docs/legacy/architecture/.github/workflows/python-package.yml
|
|
26
|
+
docs/legacy/architecture/.github/workflows/python-release-assets.yml
|
|
27
|
+
docs/legacy/architecture/.github/workflows/python-release-build.yml
|
|
28
|
+
docs/legacy/architecture/.github/workflows/release.yml
|
|
29
|
+
docs/legacy/architecture/.modwire/boundaries.yaml
|
|
30
|
+
docs/legacy/architecture/.modwire/shape.yaml
|
|
31
|
+
docs/legacy/architecture/docs/migration-5.md
|
|
32
|
+
docs/legacy/architecture/docs/migration-6.md
|
|
33
|
+
docs/legacy/architecture/docs/scaffolding/repository-contract-v1.yaml
|
|
34
|
+
docs/legacy/architecture/docs/scaffolding/golden/cli.yaml
|
|
35
|
+
docs/legacy/architecture/docs/scaffolding/golden/library.yaml
|
|
36
|
+
docs/legacy/architecture/docs/wiki/Development-checks.md
|
|
37
|
+
docs/legacy/architecture/docs/wiki/Home.md
|
|
38
|
+
docs/legacy/architecture/docs/wiki/Reporting-bugs.md
|
|
39
|
+
docs/legacy/architecture/docs/wiki/Requesting-features.md
|
|
40
|
+
docs/legacy/cli/AGENTS.md
|
|
41
|
+
docs/legacy/cli/LICENSE
|
|
42
|
+
docs/legacy/cli/Makefile
|
|
43
|
+
docs/legacy/cli/README.md
|
|
44
|
+
docs/legacy/cli/pyproject.toml
|
|
45
|
+
docs/legacy/cli/.github/workflows/ci.yml
|
|
46
|
+
docs/legacy/cli/.github/workflows/release.yml
|
|
47
|
+
docs/legacy/cli/.modwire/INDEX.md
|
|
48
|
+
docs/legacy/cli/.modwire/architecture.yaml
|
|
49
|
+
docs/legacy/cli/.modwire/docs/ARCHITECTURE.md
|
|
50
|
+
docs/legacy/cli/.modwire/docs/MODWIRE.md
|
|
51
|
+
docs/legacy/cli/.modwire/docs/PROJECT.md
|
|
52
|
+
docs/legacy/cli/.modwire/docs/RULES.md
|
|
53
|
+
docs/legacy/cli/.modwire/docs/TESTING.md
|
|
54
|
+
docs/legacy/cli/.modwire/docs/WORKFLOW.md
|
|
55
|
+
docs/legacy/extraction/CHANGELOG.md
|
|
56
|
+
docs/legacy/extraction/CONTRIBUTING.md
|
|
57
|
+
docs/legacy/extraction/LICENSE
|
|
58
|
+
docs/legacy/extraction/MANIFEST.in
|
|
59
|
+
docs/legacy/extraction/Makefile
|
|
60
|
+
docs/legacy/extraction/README.md
|
|
61
|
+
docs/legacy/extraction/RELEASE_CHECKLIST.md
|
|
62
|
+
docs/legacy/extraction/pyproject.toml
|
|
63
|
+
docs/legacy/extraction/.github/workflows/ci.yml
|
|
64
|
+
docs/legacy/extraction/.github/workflows/human-approval.yml
|
|
65
|
+
docs/legacy/extraction/.github/workflows/release.yml
|
|
66
|
+
docs/legacy/extraction/docs/migration-2.md
|
|
67
|
+
docs/planning/baselines.json
|
|
68
|
+
docs/planning/issues.json
|
|
69
|
+
docs/planning/namespace-migration.md
|
|
70
|
+
docs/planning/preflight.md
|
|
71
|
+
docs/planning/removed-modules.json
|
|
72
|
+
docs/planning/report-model-migration.json
|
|
73
|
+
docs/planning/source-imports.json
|
|
74
|
+
docs/planning/diagrams/01-ownership.md
|
|
75
|
+
docs/planning/diagrams/01-ownership.snapshot.json
|
|
76
|
+
docs/planning/diagrams/02-issue-dependencies.md
|
|
77
|
+
docs/planning/diagrams/02-issue-dependencies.snapshot.json
|
|
78
|
+
docs/planning/diagrams/03-release-gates.md
|
|
79
|
+
docs/planning/diagrams/03-release-gates.snapshot.json
|
|
80
|
+
docs/planning/diagrams/README.md
|
|
81
|
+
docs/planning/diagrams/manifest.json
|
|
82
|
+
scripts/generate_docs.py
|
|
83
|
+
scripts/verify_consumer.py
|
|
84
|
+
src/modwire/__init__.py
|
|
85
|
+
src/modwire/__main__.py
|
|
86
|
+
src/modwire/application.py
|
|
87
|
+
src/modwire/autowiring.py
|
|
88
|
+
src/modwire/py.typed
|
|
89
|
+
src/modwire/architecture/__init__.py
|
|
90
|
+
src/modwire/architecture/facade.py
|
|
91
|
+
src/modwire/architecture/boundaries/__init__.py
|
|
92
|
+
src/modwire/architecture/boundaries/application.py
|
|
93
|
+
src/modwire/architecture/boundaries/domain.py
|
|
94
|
+
src/modwire/architecture/boundaries/models/__init__.py
|
|
95
|
+
src/modwire/architecture/boundaries/models/edge_rule_violation.py
|
|
96
|
+
src/modwire/architecture/boundaries/models/flow_report.py
|
|
97
|
+
src/modwire/architecture/boundaries/models/flow_violation.py
|
|
98
|
+
src/modwire/architecture/boundaries/models/types.py
|
|
99
|
+
src/modwire/architecture/boundaries/services/__init__.py
|
|
100
|
+
src/modwire/architecture/boundaries/services/backward_flow_analyzer.py
|
|
101
|
+
src/modwire/architecture/boundaries/services/boundaries_flow_analyzer.py
|
|
102
|
+
src/modwire/architecture/boundaries/services/module_boundary_analyzer.py
|
|
103
|
+
src/modwire/architecture/boundaries/services/no_cycles_flow_analyzer.py
|
|
104
|
+
src/modwire/architecture/boundaries/services/no_reentry_flow_analyzer.py
|
|
105
|
+
src/modwire/architecture/config/__init__.py
|
|
106
|
+
src/modwire/architecture/config/application.py
|
|
107
|
+
src/modwire/architecture/config/models/__init__.py
|
|
108
|
+
src/modwire/architecture/config/models/architecture_config.py
|
|
109
|
+
src/modwire/architecture/config/models/boundaries_config.py
|
|
110
|
+
src/modwire/architecture/config/models/boundary_rule.py
|
|
111
|
+
src/modwire/architecture/config/models/configuration_value.py
|
|
112
|
+
src/modwire/architecture/config/models/flow_realm.py
|
|
113
|
+
src/modwire/architecture/config/models/flow_rules.py
|
|
114
|
+
src/modwire/architecture/config/models/shape_config.py
|
|
115
|
+
src/modwire/architecture/config/models/shape_realm.py
|
|
116
|
+
src/modwire/architecture/config/models/shape_rules.py
|
|
117
|
+
src/modwire/architecture/config/models/tag_rule.py
|
|
118
|
+
src/modwire/architecture/insights/__init__.py
|
|
119
|
+
src/modwire/architecture/insights/application.py
|
|
120
|
+
src/modwire/architecture/insights/domain.py
|
|
121
|
+
src/modwire/architecture/insights/models/__init__.py
|
|
122
|
+
src/modwire/architecture/insights/models/callable_report_entry.py
|
|
123
|
+
src/modwire/architecture/insights/models/callables_report.py
|
|
124
|
+
src/modwire/architecture/insights/models/clusters_report.py
|
|
125
|
+
src/modwire/architecture/insights/models/clusters_report_item.py
|
|
126
|
+
src/modwire/architecture/insights/models/coherence_report.py
|
|
127
|
+
src/modwire/architecture/insights/models/exports_report.py
|
|
128
|
+
src/modwire/architecture/insights/models/exports_report_item.py
|
|
129
|
+
src/modwire/architecture/insights/models/hotspots_report.py
|
|
130
|
+
src/modwire/architecture/insights/models/hotspots_report_item.py
|
|
131
|
+
src/modwire/architecture/insights/models/insight_report.py
|
|
132
|
+
src/modwire/architecture/insights/services/__init__.py
|
|
133
|
+
src/modwire/architecture/insights/services/callables_reporter.py
|
|
134
|
+
src/modwire/architecture/insights/services/clusters_reporter.py
|
|
135
|
+
src/modwire/architecture/insights/services/coherence_reporter.py
|
|
136
|
+
src/modwire/architecture/insights/services/exports_reporter.py
|
|
137
|
+
src/modwire/architecture/insights/services/hotspots_reporter.py
|
|
138
|
+
src/modwire/architecture/insights/services/insight_report_field_map.py
|
|
139
|
+
src/modwire/architecture/map/__init__.py
|
|
140
|
+
src/modwire/architecture/map/application.py
|
|
141
|
+
src/modwire/architecture/map/domain.py
|
|
142
|
+
src/modwire/architecture/map/models/__init__.py
|
|
143
|
+
src/modwire/architecture/map/models/architecture_map.py
|
|
144
|
+
src/modwire/architecture/map/models/architecture_realm.py
|
|
145
|
+
src/modwire/architecture/map/models/tag_map.py
|
|
146
|
+
src/modwire/architecture/map/models/tag_match.py
|
|
147
|
+
src/modwire/architecture/map/services/__init__.py
|
|
148
|
+
src/modwire/architecture/map/services/architecture_map_loader.py
|
|
149
|
+
src/modwire/architecture/map/services/tag_matcher.py
|
|
150
|
+
src/modwire/architecture/report/__init__.py
|
|
151
|
+
src/modwire/architecture/report/application.py
|
|
152
|
+
src/modwire/architecture/report/domain.py
|
|
153
|
+
src/modwire/architecture/report/models/__init__.py
|
|
154
|
+
src/modwire/architecture/report/models/architecture_group.py
|
|
155
|
+
src/modwire/architecture/report/models/map_report.py
|
|
156
|
+
src/modwire/architecture/report/models/report_catalog.py
|
|
157
|
+
src/modwire/architecture/report/models/report_descriptor.py
|
|
158
|
+
src/modwire/architecture/report/models/report_item.py
|
|
159
|
+
src/modwire/architecture/report/models/report_metadata.py
|
|
160
|
+
src/modwire/architecture/report/models/report_node.py
|
|
161
|
+
src/modwire/architecture/report/models/report_section.py
|
|
162
|
+
src/modwire/architecture/report/services/__init__.py
|
|
163
|
+
src/modwire/architecture/report/services/map_report_collector.py
|
|
164
|
+
src/modwire/architecture/shape/__init__.py
|
|
165
|
+
src/modwire/architecture/shape/application.py
|
|
166
|
+
src/modwire/architecture/shape/domain.py
|
|
167
|
+
src/modwire/architecture/shape/models/__init__.py
|
|
168
|
+
src/modwire/architecture/shape/models/shape_realm_architecture_map.py
|
|
169
|
+
src/modwire/architecture/shape/models/shape_report.py
|
|
170
|
+
src/modwire/architecture/shape/models/shape_violation.py
|
|
171
|
+
src/modwire/architecture/shape/services/__init__.py
|
|
172
|
+
src/modwire/architecture/shape/services/abstract_class_resolver.py
|
|
173
|
+
src/modwire/architecture/shape/services/callable_resolver.py
|
|
174
|
+
src/modwire/architecture/shape/services/class_resolver.py
|
|
175
|
+
src/modwire/architecture/shape/services/file_resolver.py
|
|
176
|
+
src/modwire/architecture/shape/services/import_resolver.py
|
|
177
|
+
src/modwire/architecture/shape/services/property_resolver.py
|
|
178
|
+
src/modwire/architecture/shape/services/signature_resolver.py
|
|
179
|
+
src/modwire/architecture/shape/services/symbol_resolver.py
|
|
180
|
+
src/modwire/cli/__init__.py
|
|
181
|
+
src/modwire/cli/facade.py
|
|
182
|
+
src/modwire/cli/documentation/__init__.py
|
|
183
|
+
src/modwire/cli/documentation/application.py
|
|
184
|
+
src/modwire/cli/documentation/models/__init__.py
|
|
185
|
+
src/modwire/cli/documentation/models/defaults.py
|
|
186
|
+
src/modwire/cli/documentation/services/__init__.py
|
|
187
|
+
src/modwire/cli/documentation/services/documentation_generator.py
|
|
188
|
+
src/modwire/cli/initialization/__init__.py
|
|
189
|
+
src/modwire/cli/initialization/application.py
|
|
190
|
+
src/modwire/cli/initialization/models/__init__.py
|
|
191
|
+
src/modwire/cli/initialization/models/initialization_result.py
|
|
192
|
+
src/modwire/cli/initialization/services/__init__.py
|
|
193
|
+
src/modwire/cli/initialization/services/initialization_service.py
|
|
194
|
+
src/modwire/cli/pipeline/__init__.py
|
|
195
|
+
src/modwire/cli/pipeline/application.py
|
|
196
|
+
src/modwire/cli/pipeline/domain.py
|
|
197
|
+
src/modwire/cli/pipeline/models/__init__.py
|
|
198
|
+
src/modwire/cli/pipeline/models/command_request.py
|
|
199
|
+
src/modwire/cli/pipeline/models/extractor_batch_input.py
|
|
200
|
+
src/modwire/cli/pipeline/models/extractor_command_input.py
|
|
201
|
+
src/modwire/cli/pipeline/models/extractor_source_input.py
|
|
202
|
+
src/modwire/cli/pipeline/models/report_pipeline_context.py
|
|
203
|
+
src/modwire/cli/pipeline/services/__init__.py
|
|
204
|
+
src/modwire/cli/pipeline/services/batch_source_reader.py
|
|
205
|
+
src/modwire/cli/pipeline/services/callables_insight.py
|
|
206
|
+
src/modwire/cli/pipeline/services/clusters_insight.py
|
|
207
|
+
src/modwire/cli/pipeline/services/coherence_insight.py
|
|
208
|
+
src/modwire/cli/pipeline/services/command_line.py
|
|
209
|
+
src/modwire/cli/pipeline/services/configuration_loader.py
|
|
210
|
+
src/modwire/cli/pipeline/services/extractor_command.py
|
|
211
|
+
src/modwire/cli/pipeline/services/flow_violations.py
|
|
212
|
+
src/modwire/cli/pipeline/services/hotspots_insight.py
|
|
213
|
+
src/modwire/cli/pipeline/services/map_tree.py
|
|
214
|
+
src/modwire/cli/pipeline/services/output_console.py
|
|
215
|
+
src/modwire/cli/pipeline/services/shape_violations.py
|
|
216
|
+
src/modwire/cli/pipeline/services/success.py
|
|
217
|
+
src/modwire/cli/pipeline/services/unknown_files_warning.py
|
|
218
|
+
src/modwire/cli/pipeline/services/unused_exports_insight.py
|
|
219
|
+
src/modwire/cli/resources/__init__.py
|
|
220
|
+
src/modwire/cli/resources/application.py
|
|
221
|
+
src/modwire/cli/resources/extractors/__init__.py
|
|
222
|
+
src/modwire/cli/resources/extractors/php/build.php
|
|
223
|
+
src/modwire/cli/resources/extractors/php/composer.json
|
|
224
|
+
src/modwire/cli/resources/extractors/php/composer.lock
|
|
225
|
+
src/modwire/cli/resources/extractors/php/script.php
|
|
226
|
+
src/modwire/cli/resources/extractors/php/script.src.php
|
|
227
|
+
src/modwire/cli/resources/extractors/python/__init__.py
|
|
228
|
+
src/modwire/cli/resources/extractors/python/script.py
|
|
229
|
+
src/modwire/cli/resources/extractors/typescript/build.mjs
|
|
230
|
+
src/modwire/cli/resources/extractors/typescript/package-lock.json
|
|
231
|
+
src/modwire/cli/resources/extractors/typescript/package.json
|
|
232
|
+
src/modwire/cli/resources/extractors/typescript/script.js
|
|
233
|
+
src/modwire/cli/resources/extractors/typescript/script.ts
|
|
234
|
+
src/modwire/cli/resources/extractors/typescript/tsconfig.json
|
|
235
|
+
src/modwire/cli/resources/models/__init__.py
|
|
236
|
+
src/modwire/cli/resources/models/defaults.py
|
|
237
|
+
src/modwire/cli/resources/models/init_asset.py
|
|
238
|
+
src/modwire/cli/resources/templates/AGENTS.md
|
|
239
|
+
src/modwire/cli/resources/templates/ARCHITECTURE.md
|
|
240
|
+
src/modwire/cli/resources/templates/INDEX.md
|
|
241
|
+
src/modwire/cli/resources/templates/MODWIRE.md
|
|
242
|
+
src/modwire/cli/resources/templates/RULES.md
|
|
243
|
+
src/modwire/cli/resources/templates/TESTING.md
|
|
244
|
+
src/modwire/cli/resources/templates/WORKFLOW.md
|
|
245
|
+
src/modwire/cli/resources/templates/architecture.yaml
|
|
246
|
+
src/modwire/extraction/__init__.py
|
|
247
|
+
src/modwire/extraction/facade.py
|
|
248
|
+
src/modwire/extraction/dependency/__init__.py
|
|
249
|
+
src/modwire/extraction/dependency/application.py
|
|
250
|
+
src/modwire/extraction/dependency/domain.py
|
|
251
|
+
src/modwire/extraction/dependency/services/__init__.py
|
|
252
|
+
src/modwire/extraction/dependency/services/graph_builder.py
|
|
253
|
+
src/modwire/extraction/dependency/services/import_resolver.py
|
|
254
|
+
src/modwire/extraction/extractors/__init__.py
|
|
255
|
+
src/modwire/extraction/extractors/application.py
|
|
256
|
+
src/modwire/extraction/extractors/domain.py
|
|
257
|
+
src/modwire/extraction/extractors/models/__init__.py
|
|
258
|
+
src/modwire/extraction/extractors/models/batch_config.py
|
|
259
|
+
src/modwire/extraction/extractors/models/extraction_request.py
|
|
260
|
+
src/modwire/extraction/extractors/models/extractor_runtime.py
|
|
261
|
+
src/modwire/extraction/extractors/models/python_call_context.py
|
|
262
|
+
src/modwire/extraction/extractors/services/__init__.py
|
|
263
|
+
src/modwire/extraction/extractors/services/php_extractor.py
|
|
264
|
+
src/modwire/extraction/extractors/services/python_call_reader.py
|
|
265
|
+
src/modwire/extraction/extractors/services/python_extractor.py
|
|
266
|
+
src/modwire/extraction/extractors/services/python_syntax_parser.py
|
|
267
|
+
src/modwire/extraction/extractors/services/type_script_extractor.py
|
|
268
|
+
src/modwire/shared/__init__.py
|
|
269
|
+
src/modwire/shared/code/__init__.py
|
|
270
|
+
src/modwire/shared/code/application.py
|
|
271
|
+
src/modwire/shared/code/domain.py
|
|
272
|
+
src/modwire/shared/code/models/__init__.py
|
|
273
|
+
src/modwire/shared/code/models/code_map.py
|
|
274
|
+
src/modwire/shared/code/models/code_package.py
|
|
275
|
+
src/modwire/shared/code/models/dependency_edge_result.py
|
|
276
|
+
src/modwire/shared/code/models/dependency_graph.py
|
|
277
|
+
src/modwire/shared/code/models/dependency_node_result.py
|
|
278
|
+
src/modwire/shared/code/models/duplicate_identity_error.py
|
|
279
|
+
src/modwire/shared/code/models/edge.py
|
|
280
|
+
src/modwire/shared/code/models/edge_resolution.py
|
|
281
|
+
src/modwire/shared/code/models/identity.py
|
|
282
|
+
src/modwire/shared/code/models/node.py
|
|
283
|
+
src/modwire/shared/code/models/query_builder.py
|
|
284
|
+
src/modwire/shared/code/models/query_types.py
|
|
285
|
+
src/modwire/shared/code/models/queryable_code_map.py
|
|
286
|
+
src/modwire/shared/code/models/source_abstract_class.py
|
|
287
|
+
src/modwire/shared/code/models/source_call.py
|
|
288
|
+
src/modwire/shared/code/models/source_callable.py
|
|
289
|
+
src/modwire/shared/code/models/source_callable_symbol.py
|
|
290
|
+
src/modwire/shared/code/models/source_class.py
|
|
291
|
+
src/modwire/shared/code/models/source_class_method.py
|
|
292
|
+
src/modwire/shared/code/models/source_class_property.py
|
|
293
|
+
src/modwire/shared/code/models/source_export.py
|
|
294
|
+
src/modwire/shared/code/models/source_extraction.py
|
|
295
|
+
src/modwire/shared/code/models/source_file.py
|
|
296
|
+
src/modwire/shared/code/models/source_file_result.py
|
|
297
|
+
src/modwire/shared/code/models/source_function.py
|
|
298
|
+
src/modwire/shared/code/models/source_import.py
|
|
299
|
+
src/modwire/shared/code/models/source_imported_symbol.py
|
|
300
|
+
src/modwire/shared/code/models/source_interface.py
|
|
301
|
+
src/modwire/shared/code/models/source_item_result.py
|
|
302
|
+
src/modwire/shared/code/models/source_parameter.py
|
|
303
|
+
src/modwire/shared/code/models/source_signature.py
|
|
304
|
+
src/modwire/shared/code/models/source_symbol.py
|
|
305
|
+
src/modwire/shared/code/models/source_type.py
|
|
306
|
+
src/modwire/shared/code/models/source_value.py
|
|
307
|
+
src/modwire/shared/code/models/types.py
|
|
308
|
+
src/modwire/shared/code/services/__init__.py
|
|
309
|
+
src/modwire/shared/code/services/glob_path_matcher.py
|
|
310
|
+
src/modwire/shared/code/services/identity_resolver.py
|
|
311
|
+
src/modwire/shared/values/__init__.py
|
|
312
|
+
src/modwire/shared/values/models/__init__.py
|
|
313
|
+
src/modwire/shared/values/models/value_model.py
|
|
314
|
+
tests/__init__.py
|
|
315
|
+
tests/conftest.py
|
|
316
|
+
tests/application/__init__.py
|
|
317
|
+
tests/application/base_test.py
|
|
318
|
+
tests/application/test_01_attacks.py
|
|
319
|
+
tests/application/test_06_happy_path.py
|
|
320
|
+
tests/architecture/__init__.py
|
|
321
|
+
tests/architecture/base_test.py
|
|
322
|
+
tests/architecture/boundaries/__init__.py
|
|
323
|
+
tests/architecture/boundaries/base_test.py
|
|
324
|
+
tests/architecture/boundaries/test_01_attacks.py
|
|
325
|
+
tests/architecture/boundaries/test_02_invariants.py
|
|
326
|
+
tests/architecture/boundaries/test_03_public_api.py
|
|
327
|
+
tests/architecture/boundaries/test_04_paths.py
|
|
328
|
+
tests/architecture/config/__init__.py
|
|
329
|
+
tests/architecture/config/test_01_attacks.py
|
|
330
|
+
tests/architecture/config/test_02_invariants.py
|
|
331
|
+
tests/architecture/insights/__init__.py
|
|
332
|
+
tests/architecture/insights/base_test.py
|
|
333
|
+
tests/architecture/insights/test_02_invariants.py
|
|
334
|
+
tests/architecture/map/__init__.py
|
|
335
|
+
tests/architecture/map/test_02_patterns.py
|
|
336
|
+
tests/architecture/report/__init__.py
|
|
337
|
+
tests/architecture/report/test_02_invariants.py
|
|
338
|
+
tests/architecture/shape/__init__.py
|
|
339
|
+
tests/architecture/shape/base_test.py
|
|
340
|
+
tests/architecture/shape/test_01_limits.py
|
|
341
|
+
tests/architecture/shape/test_02_invariants.py
|
|
342
|
+
tests/cli/__init__.py
|
|
343
|
+
tests/cli/base_test.py
|
|
344
|
+
tests/cli/documentation/__init__.py
|
|
345
|
+
tests/cli/documentation/test_02_invariants.py
|
|
346
|
+
tests/cli/initialization/__init__.py
|
|
347
|
+
tests/cli/initialization/test_01_attacks.py
|
|
348
|
+
tests/cli/initialization/test_02_invariants.py
|
|
349
|
+
tests/cli/initialization/test_03_interruption.py
|
|
350
|
+
tests/cli/initialization/test_04_cleanup.py
|
|
351
|
+
tests/cli/initialization/test_05_recovery.py
|
|
352
|
+
tests/cli/pipeline/__init__.py
|
|
353
|
+
tests/cli/pipeline/base_test.py
|
|
354
|
+
tests/cli/pipeline/test_01_attacks.py
|
|
355
|
+
tests/cli/pipeline/test_02_invariants.py
|
|
356
|
+
tests/cli/pipeline/test_03_interruption.py
|
|
357
|
+
tests/cli/pipeline/test_04_command_transport.py
|
|
358
|
+
tests/cli/pipeline/test_05_recovery.py
|
|
359
|
+
tests/cli/pipeline/test_06_happy_path.py
|
|
360
|
+
tests/extraction/__init__.py
|
|
361
|
+
tests/extraction/base_test.py
|
|
362
|
+
tests/extraction/dependency/__init__.py
|
|
363
|
+
tests/extraction/dependency/test_02_invariants.py
|
|
364
|
+
tests/extraction/extractors/__init__.py
|
|
365
|
+
tests/extraction/extractors/test_01_attacks.py
|
|
366
|
+
tests/extraction/extractors/test_02_invariants.py
|
|
367
|
+
tests/extraction/extractors/test_03_native_symbols.py
|
|
368
|
+
tests/fixtures/languages/php/ignored/example_generated.php
|
|
369
|
+
tests/fixtures/languages/php/src/example_application/example_actions/example_action.php
|
|
370
|
+
tests/fixtures/languages/php/src/example_domain/example_model/example_record.php
|
|
371
|
+
tests/fixtures/languages/php/src/example_domain/example_services/example_policy.php
|
|
372
|
+
tests/fixtures/languages/php/src/example_interfaces/example_http/example_controller.php
|
|
373
|
+
tests/fixtures/languages/python/ignored/example_generated.py
|
|
374
|
+
tests/fixtures/languages/python/src/example_application/example_actions/example_action.py
|
|
375
|
+
tests/fixtures/languages/python/src/example_domain/example_model/example_record.py
|
|
376
|
+
tests/fixtures/languages/python/src/example_domain/example_services/example_policy.py
|
|
377
|
+
tests/fixtures/languages/python/src/example_interfaces/example_http/example_controller.py
|
|
378
|
+
tests/fixtures/languages/typescript/ignored/example_generated.ts
|
|
379
|
+
tests/fixtures/languages/typescript/src/example_application/example_actions/example_action.ts
|
|
380
|
+
tests/fixtures/languages/typescript/src/example_domain/example_model/example_record.ts
|
|
381
|
+
tests/fixtures/languages/typescript/src/example_domain/example_model/example_view.tsx
|
|
382
|
+
tests/fixtures/languages/typescript/src/example_domain/example_services/example_audit.js
|
|
383
|
+
tests/fixtures/languages/typescript/src/example_domain/example_services/example_callables.ts
|
|
384
|
+
tests/fixtures/languages/typescript/src/example_domain/example_services/example_policy.ts
|
|
385
|
+
tests/fixtures/languages/typescript/src/example_interfaces/example_http/example_controller.ts
|
|
386
|
+
tests/fixtures/languages/typescript/src/example_interfaces/example_http/example_view.jsx
|
|
387
|
+
tests/fixtures/syntax/php/example_shapes.php
|
|
388
|
+
tests/fixtures/syntax/python/example_shapes.py
|
|
389
|
+
tests/fixtures/syntax/typescript/example_shapes.ts
|
|
390
|
+
tests/shared/__init__.py
|
|
391
|
+
tests/shared/code/__init__.py
|
|
392
|
+
tests/shared/code/test_02_invariants.py
|
|
393
|
+
tests/support/__init__.py
|
|
394
|
+
tests/support/base_test.py
|
|
395
|
+
tests/support/service_test.py
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
pull_request:
|
|
7
|
+
workflow_dispatch:
|
|
8
|
+
|
|
9
|
+
permissions:
|
|
10
|
+
contents: read
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
verify:
|
|
14
|
+
name: Python ${{ matrix.python-version }}
|
|
15
|
+
runs-on: ubuntu-latest
|
|
16
|
+
strategy:
|
|
17
|
+
fail-fast: false
|
|
18
|
+
matrix:
|
|
19
|
+
python-version: ["3.12", "3.13", "3.14"]
|
|
20
|
+
steps:
|
|
21
|
+
- uses: actions/checkout@v6
|
|
22
|
+
with:
|
|
23
|
+
fetch-depth: 0
|
|
24
|
+
- uses: actions/setup-python@v6
|
|
25
|
+
with:
|
|
26
|
+
python-version: ${{ matrix.python-version }}
|
|
27
|
+
- run: python -m pip install uv
|
|
28
|
+
- run: uv sync --all-groups --locked
|
|
29
|
+
- run: make python-ci
|
|
30
|
+
|
|
31
|
+
native-extractors:
|
|
32
|
+
name: Native extractors
|
|
33
|
+
runs-on: ubuntu-latest
|
|
34
|
+
steps:
|
|
35
|
+
- uses: actions/checkout@v6
|
|
36
|
+
- uses: actions/setup-node@v6
|
|
37
|
+
with:
|
|
38
|
+
node-version: "24"
|
|
39
|
+
cache: npm
|
|
40
|
+
cache-dependency-path: src/modwire/cli/resources/extractors/typescript/package-lock.json
|
|
41
|
+
- uses: shivammathur/setup-php@v2
|
|
42
|
+
with:
|
|
43
|
+
php-version: "8.4"
|
|
44
|
+
tools: composer
|
|
45
|
+
- run: make native-check
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [published]
|
|
6
|
+
|
|
7
|
+
permissions:
|
|
8
|
+
contents: read
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
build:
|
|
12
|
+
name: Build release distributions
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
steps:
|
|
15
|
+
- uses: actions/checkout@v6
|
|
16
|
+
with:
|
|
17
|
+
fetch-depth: 0
|
|
18
|
+
ref: ${{ github.event.release.tag_name }}
|
|
19
|
+
- uses: actions/setup-python@v6
|
|
20
|
+
with:
|
|
21
|
+
python-version: "3.12"
|
|
22
|
+
- run: python -m pip install uv
|
|
23
|
+
- run: uv sync --all-groups --locked
|
|
24
|
+
- run: make package-check
|
|
25
|
+
- uses: actions/upload-artifact@v4
|
|
26
|
+
with:
|
|
27
|
+
name: python-package-distributions
|
|
28
|
+
path: .dev/dist/
|
|
29
|
+
|
|
30
|
+
publish-github-assets:
|
|
31
|
+
name: Attach distributions to GitHub release
|
|
32
|
+
needs: build
|
|
33
|
+
runs-on: ubuntu-latest
|
|
34
|
+
permissions:
|
|
35
|
+
contents: write
|
|
36
|
+
steps:
|
|
37
|
+
- uses: actions/download-artifact@v4
|
|
38
|
+
with:
|
|
39
|
+
name: python-package-distributions
|
|
40
|
+
path: .dev/dist/
|
|
41
|
+
- name: Upload release assets
|
|
42
|
+
env:
|
|
43
|
+
GH_TOKEN: ${{ github.token }}
|
|
44
|
+
run: gh release upload "${{ github.event.release.tag_name }}" .dev/dist/* --clobber --repo "${{ github.repository }}"
|
|
45
|
+
|
|
46
|
+
publish-pypi:
|
|
47
|
+
name: Publish distributions to PyPI
|
|
48
|
+
needs: [build, publish-github-assets]
|
|
49
|
+
runs-on: ubuntu-latest
|
|
50
|
+
environment:
|
|
51
|
+
name: pypi
|
|
52
|
+
url: https://pypi.org/project/modwire/
|
|
53
|
+
permissions:
|
|
54
|
+
id-token: write
|
|
55
|
+
steps:
|
|
56
|
+
- uses: actions/download-artifact@v4
|
|
57
|
+
with:
|
|
58
|
+
name: python-package-distributions
|
|
59
|
+
path: .dev/dist/
|
|
60
|
+
- uses: pypa/gh-action-pypi-publish@release/v1
|
|
61
|
+
with:
|
|
62
|
+
packages-dir: .dev/dist/
|
|
63
|
+
skip-existing: true
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
excluded_patterns:
|
|
2
|
+
- .dev/**
|
|
3
|
+
- tests/fixtures/**
|
|
4
|
+
- scripts/**
|
|
5
|
+
- build/**
|
|
6
|
+
- dist/**
|
|
7
|
+
- "**/__pycache__/**"
|
|
8
|
+
- setup.py
|
|
9
|
+
- src/modwire/__init__.py
|
|
10
|
+
- src/modwire/_version.py
|
|
11
|
+
|
|
12
|
+
boundaries:
|
|
13
|
+
tags:
|
|
14
|
+
- {name: context, match: "src/modwire/*", excluded_patterns: ["src/modwire/*.py"]}
|
|
15
|
+
- {name: module, match: "src/modwire/*/*", excluded_patterns: ["src/modwire/*/*.py"]}
|
|
16
|
+
- {name: facade, match: "src/modwire/*/facade.py"}
|
|
17
|
+
- {name: application, match: "src/modwire/*/*/application.py"}
|
|
18
|
+
- {name: domain, match: "src/modwire/*/*/domain.py"}
|
|
19
|
+
- {name: model, match: "src/modwire/*/*/models"}
|
|
20
|
+
- {name: service, match: "src/modwire/*/*/services"}
|
|
21
|
+
- {name: shared, match: "src/modwire/shared"}
|
|
22
|
+
- {name: package-entrypoint, match: "src/modwire/__main__.py"}
|
|
23
|
+
- {name: public-application, match: "src/modwire/application.py"}
|
|
24
|
+
- {name: autowiring, match: "src/modwire/autowiring.py"}
|
|
25
|
+
- {name: tests, match: "tests"}
|
|
26
|
+
- {name: python-helper, match: "src/modwire/cli/resources/extractors/python/script.py"}
|
|
27
|
+
rules:
|
|
28
|
+
- {realm: contexts, source: facade, allow: [facade, model]}
|
|
29
|
+
- {realm: contexts, source: context, allow: [model, shared]}
|
|
30
|
+
- {realm: modules, source: facade, allow: [application, model]}
|
|
31
|
+
- {realm: modules, source: application, allow: [application, domain, model]}
|
|
32
|
+
- {realm: modules, source: context, allow: [shared]}
|
|
33
|
+
- {realm: modules, source: module, allow: [model]}
|
|
34
|
+
- {realm: contexts, source: public-application, allow: [facade, model]}
|
|
35
|
+
- {realm: modules, source: public-application, allow: [facade, model]}
|
|
36
|
+
- {realm: contexts, source: autowiring, allow: [public-application, facade]}
|
|
37
|
+
- {realm: modules, source: autowiring, allow: [public-application, facade]}
|
|
38
|
+
- {realm: contexts, source: python-helper, allow: [autowiring]}
|
|
39
|
+
- {realm: modules, source: python-helper, allow: [autowiring]}
|
|
40
|
+
- {realm: test-api, source: tests, allow: [public-application]}
|
|
41
|
+
flow:
|
|
42
|
+
standalone_tags: [package-entrypoint, public-application, autowiring]
|
|
43
|
+
realms: [{name: contexts, module_tag: context}, {name: modules, module_tag: module}, {name: test-api, module_tag: tests}]
|
|
44
|
+
analyzers: [module-boundaries, backward-flow, no-cycles, no-reentry]
|
|
45
|
+
shape:
|
|
46
|
+
realms:
|
|
47
|
+
- name: architecture
|
|
48
|
+
match: src/modwire/architecture
|
|
49
|
+
shape:
|
|
50
|
+
max_functions_per_file: 0
|
|
51
|
+
- name: cli
|
|
52
|
+
match: src/modwire/cli
|
|
53
|
+
shape:
|
|
54
|
+
max_classes_per_file: 1
|
|
55
|
+
max_interfaces_per_file: 0
|
|
56
|
+
max_types_per_file: 0
|
|
57
|
+
max_abstract_classes_per_file: -1
|
|
58
|
+
max_functions_per_file: 0
|
|
59
|
+
allow_optional_function_args: false
|
|
60
|
+
allow_optional_method_args: false
|
|
61
|
+
allow_optional_class_properties: false
|
|
62
|
+
allow_import_aliases: false
|
|
63
|
+
require_joined_imports: true
|
|
64
|
+
allowed_import_crossing_types: [module, symbol]
|
|
65
|
+
- name: autowiring
|
|
66
|
+
match: src/modwire/autowiring.py
|
|
67
|
+
shape:
|
|
68
|
+
max_classes_per_file: 0
|
|
69
|
+
max_functions_per_file: 2
|
|
70
|
+
- name: public-application
|
|
71
|
+
match: src/modwire/application.py
|
|
72
|
+
shape:
|
|
73
|
+
max_classes_per_file: 1
|
|
74
|
+
max_functions_per_file: 0
|
|
75
|
+
- name: tests
|
|
76
|
+
match: tests
|
|
77
|
+
shape:
|
|
78
|
+
max_classes_per_file: 1
|
|
79
|
+
max_functions_per_file: 0
|
|
80
|
+
- name: extraction
|
|
81
|
+
match: src/modwire/extraction
|
|
82
|
+
shape:
|
|
83
|
+
max_classes_per_file: 1
|
|
84
|
+
max_functions_per_file: 0
|
|
85
|
+
allow_optional_function_args: false
|
|
86
|
+
allow_optional_method_args: false
|
|
87
|
+
allow_optional_class_properties: false
|
|
88
|
+
allow_import_aliases: false
|
|
89
|
+
require_joined_imports: true
|
|
90
|
+
- name: shared
|
|
91
|
+
match: src/modwire/shared
|
|
92
|
+
excluded_patterns: ["src/modwire/shared/*/models/**"]
|
|
93
|
+
shape:
|
|
94
|
+
max_classes_per_file: 1
|
|
95
|
+
max_functions_per_file: 0
|
|
96
|
+
allow_optional_function_args: false
|
|
97
|
+
allow_optional_method_args: false
|
|
98
|
+
allow_optional_class_properties: false
|
|
99
|
+
allow_import_aliases: false
|
|
100
|
+
require_joined_imports: true
|
|
101
|
+
- name: shared-models
|
|
102
|
+
match: "src/modwire/shared/*/models"
|
|
103
|
+
shape:
|
|
104
|
+
max_classes_per_file: 1
|
|
105
|
+
max_functions_per_file: 0
|
|
106
|
+
allow_optional_method_args: true
|
|
107
|
+
allow_optional_class_properties: true
|
|
108
|
+
- name: bootstrap
|
|
109
|
+
match: src/modwire/__init__.py
|
|
110
|
+
shape:
|
|
111
|
+
max_functions_per_file: 0
|
|
112
|
+
allow_optional_function_args: false
|
|
113
|
+
allow_optional_method_args: false
|
|
114
|
+
allow_optional_class_properties: false
|
|
115
|
+
allow_import_aliases: false
|
|
116
|
+
require_joined_imports: true
|
|
117
|
+
- name: entrypoint
|
|
118
|
+
match: src/modwire/__main__.py
|
|
119
|
+
shape:
|
|
120
|
+
max_functions_per_file: 0
|
|
121
|
+
allow_import_aliases: false
|
|
122
|
+
require_joined_imports: true
|
modwire-8.0.0/AGENTS.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Before work, call enclosure-mcp.get_workspace_context(root, task) once; obey its guidance and stop if unavailable or incomplete. Workflow: GitHub issue first; diagrams are SSOT; wait for explicit design acceptance; implement on a local issue branch; run required tests and enclosure-mcp.check_project_health after structural/API/DI/architecture changes; wait for explicit implementation acceptance before commit, push, PR, merge, closure, or branch cleanup. Preserve project names and unrelated changes.
|
modwire-8.0.0/LICENSE
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
Copyright (c) 2026 Tomasz Szpak. All rights reserved.
|
|
2
|
+
|
|
3
|
+
This software and its source code are proprietary. No license or other rights are granted to any person or entity.
|
|
4
|
+
|
|
5
|
+
Without prior express written permission from the copyright holder, you may not use, copy, reproduce, modify, merge,
|
|
6
|
+
publish, distribute, sublicense, sell, or create derivative works from this software or any portion of it, except to the
|
|
7
|
+
extent that such restriction is prohibited by applicable law.
|
|
8
|
+
|
|
9
|
+
Any unauthorized use is strictly prohibited.
|
|
10
|
+
|
|
11
|
+
THE SOFTWARE IS PROVIDED WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
|
12
|
+
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE
|
|
13
|
+
LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY ARISING FROM, OUT OF, OR IN CONNECTION WITH THE SOFTWARE OR ITS USE.
|