Architecture boundary violations found:
tests/data/architecture_boundaries/config/forbidden.py:1:1: [config-backend-import] datamodel_code_generator.model.typed_dict: configuration must receive output implementations through a neutral registry or injection (in <module>)
tests/data/architecture_boundaries/config/forbidden.py:2:1: [config-parser-import] datamodel_code_generator.parser: configuration must not depend on parser implementation modules (in <module>)
tests/data/architecture_boundaries/config/forbidden.py:6:19: [config-backend-reference] datamodel_code_generator.model.typed_dict.TypedDict: configuration must receive output implementations through a neutral registry or injection (in Config)
tests/data/architecture_boundaries/entrypoint/forbidden.py:5:5: [entrypoint-parser-private-access] _diagnostic_source_path: entrypoint code must use the Parser public lifecycle and run-context API (in mutate_parser)
tests/data/architecture_boundaries/entrypoint/forbidden.py:6:5: [entrypoint-parser-private-access] _dispose: entrypoint code must use the Parser public lifecycle and run-context API (in mutate_parser)
tests/data/architecture_boundaries/entrypoint/forbidden.py:7:5: [entrypoint-parser-private-access] __dict__: entrypoint code must use the Parser public lifecycle and run-context API (in mutate_parser)
tests/data/architecture_boundaries/entrypoint/forbidden.py:8:5: [entrypoint-parser-private-access] _formatter_cwd: entrypoint code must use the Parser public lifecycle and run-context API (in mutate_parser)
tests/data/architecture_boundaries/entrypoint/forbidden.py:9:12: [entrypoint-parser-private-access] _formatter_cwd: entrypoint code must use the Parser public lifecycle and run-context API (in mutate_parser)
tests/data/architecture_boundaries/input_model/forbidden.py:3:17: [input-model-output-policy] DataModelType.MsgspecStruct: input-model conversion must obtain output-family policy from the output selection registry (in <module>)
tests/data/architecture_boundaries/input_model/forbidden.py:7:5: [private-parser-import] datamodel_code_generator.parser.mcp._rewrite_schema_refs: code outside parser must move reusable helpers to a neutral package module (in rewrite_schema)
tests/data/architecture_boundaries/output_model/forbidden.py:1:1: [private-parser-import] datamodel_code_generator.parser._graph: code outside parser must move reusable helpers to a neutral package module (in <module>)
tests/data/architecture_boundaries/parser/forbidden.py:4:1: [parser-root-private-import] datamodel_code_generator._source: parser code must import private helpers from their neutral module, not the package facade (in <module>)
tests/data/architecture_boundaries/parser/forbidden.py:5:1: [backend-import] datamodel_code_generator.model.typed_dict: parser code must depend on neutral model capabilities, not a concrete output backend (in <module>)
tests/data/architecture_boundaries/parser/forbidden.py:6:1: [backend-import] datamodel_code_generator.model.msgspec: parser code must depend on neutral model capabilities, not a concrete output backend (in <module>)
tests/data/architecture_boundaries/parser/forbidden.py:8:1: [backend-import] datamodel_code_generator.model.pydantic_v2: parser code must depend on neutral model capabilities, not a concrete output backend (in <module>)
tests/data/architecture_boundaries/parser/forbidden.py:14:1: [backend-dynamic-import] datamodel_code_generator.model.dataclass: parser/config layers must not dynamically import output backends; declare a neutral capability (in <module>)
tests/data/architecture_boundaries/parser/forbidden.py:19:5: [backend-dynamic-import] datamodel_code_generator.model.dataclass: parser/config layers must not dynamically import output backends; declare a neutral capability (in load_backends)
tests/data/architecture_boundaries/parser/forbidden.py:20:5: [backend-dynamic-import] datamodel_code_generator.model.dataclass: parser/config layers must not dynamically import output backends; declare a neutral capability (in load_backends)
tests/data/architecture_boundaries/parser/forbidden.py:21:12: [backend-dynamic-import] datamodel_code_generator.model.pydantic_base: parser/config layers must not dynamically import output backends; declare a neutral capability (in load_backends)
tests/data/architecture_boundaries/parser/forbidden.py:25:12: [parser-root-private-import] datamodel_code_generator._source: parser code must import private helpers from their neutral module, not the package facade (in load_private_facade_helper)
tests/data/architecture_boundaries/parser/forbidden.py:29:14: [backend-semantic-inspection] is_pydantic_extra_field: parser code must query a neutral DataModel or DataModelFieldBase capability (in inspect_backend)
tests/data/architecture_boundaries/parser/forbidden.py:30:15: [backend-semantic-inspection] SCHEMA_RUNTIME_VALIDATION_HELPERS_TEMPLATE_FILE_PATH: parser code must query a neutral DataModel or DataModelFieldBase capability (in inspect_backend)
tests/data/architecture_boundaries/parser/forbidden.py:31:16: [backend-module-identity] datamodel_code_generator.model.pydantic_v2.base_model: parser code must not identify an output backend by module/name; declare a neutral capability (in inspect_backend)
tests/data/architecture_boundaries/parser/forbidden.py:38:12: [backend-semantic-inspection] is_pydantic_extra_field: parser code must query a neutral DataModel or DataModelFieldBase capability (in inspect_async_backend)
tests/data/architecture_boundaries/parser/forbidden.py:42:12: [backend-module-identity] datamodel_code_generator.model.dataclass: parser code must not identify an output backend by module/name; declare a neutral capability (in build_backend)
tests/data/architecture_boundaries/parser/forbidden.py:46:5: [backend-semantic-inspection] _append_internal_template_data: parser code must query a neutral DataModel or DataModelFieldBase capability (in inspect_output_metadata)
tests/data/architecture_boundaries/parser/forbidden.py:48:9: [backend-semantic-inspection] _internal_template_data: parser code must query a neutral DataModel or DataModelFieldBase capability (in inspect_output_metadata)
tests/data/architecture_boundaries/parser/forbidden.py:49:9: [backend-semantic-inspection] _internal_template_data: parser code must query a neutral DataModel or DataModelFieldBase capability (in inspect_output_metadata)
tests/data/architecture_boundaries/parser/forbidden.py:50:9: [backend-semantic-inspection] PLAIN_PATTERN_ROOT_TYPES: parser code must query a neutral DataModel or DataModelFieldBase capability (in inspect_output_metadata)
tests/data/architecture_boundaries/parser/forbidden.py:51:9: [backend-semantic-inspection] has_typed_dict_closed: parser code must query a neutral DataModel or DataModelFieldBase capability (in inspect_output_metadata)
tests/data/architecture_boundaries/parser/forbidden.py:52:9: [backend-semantic-inspection] has_typed_dict_non_required: parser code must query a neutral DataModel or DataModelFieldBase capability (in inspect_output_metadata)
tests/data/architecture_boundaries/parser/forbidden.py:60:12: [parser-output-policy] NamingType.PYDANTIC: parser code must query output capabilities instead of selecting concrete backend policy (in select_output_policy)
tests/data/architecture_boundaries/parser/forbidden.py:60:33: [parser-output-policy] NamingType.MSGSPEC: parser code must query output capabilities instead of selecting concrete backend policy (in select_output_policy)
tests/data/architecture_boundaries/parser/forbidden.py:60:53: [parser-output-policy] OutputType.MsgspecStruct: parser code must query output capabilities instead of selecting concrete backend policy (in select_output_policy)
tests/data/architecture_boundaries/reference/forbidden.py:3:1: [reference-backend-import] msgspec: reference code must not import concrete output backends except bounded compatibility exports (in <module>)
tests/data/architecture_boundaries/reference/forbidden.py:4:1: [reference-backend-import] datamodel_code_generator.model.typed_dict: reference code must not import concrete output backends except bounded compatibility exports (in <module>)
tests/data/architecture_boundaries/reference/forbidden.py:5:1: [reference-backend-import] datamodel_code_generator.model.field_name.MsgspecFieldNameResolver: reference code must not import concrete output backends except bounded compatibility exports (in <module>)
tests/data/architecture_boundaries/reference/forbidden.py:11:1: [reference-backend-definition] PydanticFieldNameResolver: reference code must not define concrete output-backend policy; move it to the output model (in PydanticFieldNameResolver)
tests/data/architecture_boundaries/reference/forbidden.py:15:1: [reference-backend-definition] build_dataclass_resolver: reference code must not define concrete output-backend policy; move it to the output model (in build_dataclass_resolver)
tests/data/architecture_boundaries/reference/forbidden.py:20:12: [reference-backend-import] datamodel_code_generator.model.pydantic_base: reference code must not import concrete output backends except bounded compatibility exports (in load_backend)
tests/data/architecture_boundaries/reference/forbidden.py:20:53: [reference-backend-import] msgspec.json: reference code must not import concrete output backends except bounded compatibility exports (in load_backend)
tests/data/architecture_boundaries/shared/forbidden.py:1:1: [private-parser-import] datamodel_code_generator.parser._graph: code outside parser must move reusable helpers to a neutral package module (in <module>)
tests/data/architecture_boundaries/shared_model/forbidden.py:4:1: [shared-model-backend-import] datamodel_code_generator.model.pydantic_v2: shared model code must not depend on a concrete backend; expose a neutral capability instead (in <module>)
tests/data/architecture_boundaries/shared_model/forbidden.py:5:1: [shared-model-backend-import] datamodel_code_generator.model.pydantic_v2: shared model code must not depend on a concrete backend; expose a neutral capability instead (in <module>)
tests/data/architecture_boundaries/shared_model/forbidden.py:9:1: [shared-model-backend-import] datamodel_code_generator.model.pydantic_v2: shared model code must not depend on a concrete backend; expose a neutral capability instead (in <module>)
tests/data/architecture_boundaries/shared_model/forbidden.py:10:1: [shared-model-backend-import] datamodel_code_generator.model.pydantic_v2: shared model code must not depend on a concrete backend; expose a neutral capability instead (in <module>)
tests/data/architecture_boundaries/shared_model/forbidden.py:19:1: [shared-model-backend-module-access] datamodel_code_generator.model.pydantic_v2.base_model: shared model code must not inspect a concrete backend through sys.modules; move backend lifecycle or cache management to the backend or composition root (in <module>)
tests/data/architecture_boundaries/shared_model/forbidden.py:26:5: [shared-model-backend-import] datamodel_code_generator.model.pydantic_v2.base_model: shared model code must not depend on a concrete backend; expose a neutral capability instead (in inspect_backend)
tests/data/architecture_boundaries/shared_model/forbidden.py:27:5: [shared-model-backend-import] datamodel_code_generator.model.pydantic_v2.base_model: shared model code must not depend on a concrete backend; expose a neutral capability instead (in inspect_backend)
tests/data/architecture_boundaries/shared_model/forbidden.py:28:5: [shared-model-backend-import] datamodel_code_generator.model.pydantic_v2.base_model: shared model code must not depend on a concrete backend; expose a neutral capability instead (in inspect_backend)
tests/data/architecture_boundaries/shared_model/forbidden.py:29:5: [shared-model-backend-module-access] datamodel_code_generator.model.pydantic_v2.base_model: shared model code must not inspect a concrete backend through sys.modules; move backend lifecycle or cache management to the backend or composition root (in inspect_backend)
tests/data/architecture_boundaries/shared_model/forbidden.py:30:5: [shared-model-backend-module-access] datamodel_code_generator.model.pydantic_v2.base_model: shared model code must not inspect a concrete backend through sys.modules; move backend lifecycle or cache management to the backend or composition root (in inspect_backend)
tests/data/architecture_boundaries/shared_model/forbidden.py:31:5: [shared-model-backend-module-access] datamodel_code_generator.model.pydantic_v2.base_model: shared model code must not inspect a concrete backend through sys.modules; move backend lifecycle or cache management to the backend or composition root (in inspect_backend)
tests/data/architecture_boundaries/shared_model/forbidden.py:32:5: [shared-model-backend-module-access] datamodel_code_generator.model.pydantic_v2.base_model: shared model code must not inspect a concrete backend through sys.modules; move backend lifecycle or cache management to the backend or composition root (in inspect_backend)
tests/data/architecture_boundaries/shared_model/forbidden.py:33:5: [shared-model-backend-module-access] datamodel_code_generator.model.pydantic_v2.base_model: shared model code must not inspect a concrete backend through sys.modules; move backend lifecycle or cache management to the backend or composition root (in inspect_backend)
tests/data/architecture_boundaries/shared_model/forbidden.py:38:5: [shared-model-backend-module-access] datamodel_code_generator.model.pydantic_v2.base_model: shared model code must not inspect a concrete backend through sys.modules; move backend lifecycle or cache management to the backend or composition root (in inspect_local_registry)
tests/data/architecture_boundaries/shared_model/forbidden.py:40:5: [shared-model-backend-module-access] datamodel_code_generator.model.pydantic_v2.base_model: shared model code must not inspect a concrete backend through sys.modules; move backend lifecycle or cache management to the backend or composition root (in inspect_local_registry)
tests/data/architecture_boundaries/shared_model/forbidden.py:48:5: [shared-model-backend-module-access] datamodel_code_generator.model.pydantic_v2.base_model: shared model code must not inspect a concrete backend through sys.modules; move backend lifecycle or cache management to the backend or composition root (in inspect_local_import_aliases)
tests/data/architecture_boundaries/shared_model/forbidden.py:51:5: [shared-model-backend-module-access] datamodel_code_generator.model.pydantic_v2.base_model: shared model code must not inspect a concrete backend through sys.modules; move backend lifecycle or cache management to the backend or composition root (in inspect_local_import_aliases)
tests/data/architecture_boundaries/shared_model/forbidden.py:57:5: [shared-model-backend-module-access] datamodel_code_generator.model.pydantic_v2.base_model: shared model code must not inspect a concrete backend through sys.modules; move backend lifecycle or cache management to the backend or composition root (in inspect_local_strings)
tests/data/architecture_boundaries/shared_model/forbidden.py:59:5: [shared-model-backend-module-access] datamodel_code_generator.model.pydantic_v2.base_model: shared model code must not inspect a concrete backend through sys.modules; move backend lifecycle or cache management to the backend or composition root (in inspect_local_strings)
tests/data/architecture_boundaries/shared_model/forbidden.py:64:22: [shared-model-backend-module-access] datamodel_code_generator.model.pydantic_v2.base_model: shared model code must not inspect a concrete backend through sys.modules; move backend lifecycle or cache management to the backend or composition root (in inspect_registry_rebinding)
tests/data/architecture_boundaries/shared_model/forbidden.py:69:5: [shared-model-backend-import] datamodel_code_generator.model.pydantic_v2.base_model: shared model code must not depend on a concrete backend; expose a neutral capability instead (in inspect_local_dynamic_alias)
tests/data/architecture_boundaries/shared_model/forbidden.py:73:5: [shared-model-backend-module-access] datamodel_code_generator.model.pydantic_v2.base_model: shared model code must not inspect a concrete backend through sys.modules; move backend lifecycle or cache management to the backend or composition root (in inspect_later_module_constant)
tests/data/architecture_boundaries/shared_model/forbidden.py:77:5: [shared-model-backend-module-access] datamodel_code_generator.model.pydantic_v2.base_model: shared model code must not inspect a concrete backend through sys.modules; move backend lifecycle or cache management to the backend or composition root (in inspect_conditional_later_module_constant)
tests/data/architecture_boundaries/shared_model/forbidden.py:84:5: [shared-model-backend-module-access] datamodel_code_generator.model.pydantic_v2.base_model: shared model code must not inspect a concrete backend through sys.modules; move backend lifecycle or cache management to the backend or composition root (in inspect_conditional_registry)
tests/data/architecture_boundaries/shared_model/forbidden.py:94:5: [shared-model-backend-module-access] datamodel_code_generator.model.pydantic_v2.base_model: shared model code must not inspect a concrete backend through sys.modules; move backend lifecycle or cache management to the backend or composition root (in inspect_conditional_backend)
tests/data/architecture_boundaries/shared_model/forbidden.py:97:37: [shared-model-backend-module-access] datamodel_code_generator.model.pydantic_v2.base_model: shared model code must not inspect a concrete backend through sys.modules; move backend lifecycle or cache management to the backend or composition root (in inspect_default)
tests/data/architecture_boundaries/shared_model/forbidden.py:101:2: [shared-model-backend-module-access] datamodel_code_generator.model.pydantic_v2.base_model: shared model code must not inspect a concrete backend through sys.modules; move backend lifecycle or cache management to the backend or composition root (in inspect_decorator)
tests/data/architecture_boundaries/shared_model/forbidden.py:106:2: [shared-model-backend-module-access] datamodel_code_generator.model.pydantic_v2.base_model: shared model code must not inspect a concrete backend through sys.modules; move backend lifecycle or cache management to the backend or composition root (in DecoratedClass)
tests/data/architecture_boundaries/shared_model/forbidden.py:111:26: [shared-model-backend-module-access] datamodel_code_generator.model.pydantic_v2.base_model: shared model code must not inspect a concrete backend through sys.modules; move backend lifecycle or cache management to the backend or composition root (in BaseEvaluatedClass)
tests/data/architecture_boundaries/shared_model/forbidden.py:117:13: [shared-model-backend-module-access] datamodel_code_generator.model.pydantic_v2.base_model: shared model code must not inspect a concrete backend through sys.modules; move backend lifecycle or cache management to the backend or composition root (in ClassBackend)
tests/data/architecture_boundaries/shared_model/forbidden.py:122:9: [shared-model-backend-module-access] datamodel_code_generator.model.pydantic_v2.base_model: shared model code must not inspect a concrete backend through sys.modules; move backend lifecycle or cache management to the backend or composition root (in ForwardModuleClass.inspect)
