FR-120 DI 組裝比對結果

DI 組裝比對結果

由 scripts/security/di_wiring_audit.py 產出(純 AST 靜態比對,不 import 任何模組)。重跑:python scripts/security/di_wiring_audit.py --out <本檔>。

本表以主線套件源碼(jedi-python-package 主 checkout)為準,是 U13a/U13b 掃描要用的那份。重跑指令:python scripts/security/di_wiring_audit.py --package-root ~/Projects/Jedicogy/module/jedi-python-package --out docs/features/FR-120-2609-host-residual-security-scan/di-wiring-audit.md。

§1

摘要

項目 數量
掃描的組裝檔 75 支
provider 呼叫(Factory/Singleton 等) 563 處
解析到建構子的 provider 560 處(498 個不同 class/函式)
必填缺接(會在建構時炸) 0 處
可選未接(安靜缺線) 159 處,其中預設 None 151 處
🔴 缺的參數名含 guard/perm/checker/authz/role 3 處
容器給了、建構子沒有的參數(會在建構時炸) 0 處
無法解析而略過 3 處

jedi-* 套件建構子從下列源碼讀取(依當下 venv 的安裝/.pth 而定,換 venv 結果可能不同):

  • ~/Projects/Jedicogy/module/jedi-python-package
  • ~/Projects/Jedicogy/module/jedi-python-package/jedi-ai-bot
  • ~/Projects/Jedicogy/module/jedi-python-package/jedi-ai-dashboard
  • ~/Projects/Jedicogy/module/jedi-python-package/jedi-asset
  • ~/Projects/Jedicogy/module/jedi-python-package/jedi-bulletin
  • ~/Projects/Jedicogy/module/jedi-python-package/jedi-common
  • ~/Projects/Jedicogy/module/jedi-python-package/jedi-compliance-audit
  • ~/Projects/Jedicogy/module/jedi-python-package/jedi-detection
  • ~/Projects/Jedicogy/module/jedi-python-package/jedi-evidence-classification
  • ~/Projects/Jedicogy/module/jedi-python-package/jedi-file-upload
  • ~/Projects/Jedicogy/module/jedi-python-package/jedi-flow-engine
  • ~/Projects/Jedicogy/module/jedi-python-package/jedi-iam
  • ~/Projects/Jedicogy/module/jedi-python-package/jedi-integrity
  • ~/Projects/Jedicogy/module/jedi-python-package/jedi-issue
  • ~/Projects/Jedicogy/module/jedi-python-package/jedi-license-runtime
  • ~/Projects/Jedicogy/module/jedi-python-package/jedi-log
  • ~/Projects/Jedicogy/module/jedi-python-package/jedi-notification
  • ~/Projects/Jedicogy/module/jedi-python-package/jedi-oscal-v2
  • ~/Projects/Jedicogy/module/jedi-python-package/jedi-remote-agent
  • ~/Projects/Jedicogy/module/jedi-python-package/jedi-survey
  • ~/Projects/Jedicogy/module/jedi-python-package/jedi-system-core
  • ~/Projects/Jedicogy/module/jedi-python-package/jedi-task-platform
§2

怎麼讀

  • 必填缺接:建構子沒預設值、容器沒給。解析 provider 當下就會 TypeError,通常代表該 provider 從沒被用到(死碼)或有別處 override。
  • 可選未接:建構子有預設值、容器沒給,service 會拿預設值。預設是 None 的要看 service 內部遇到 None 時是報錯還是默默跳過——後者就是安靜的缺線。
  • 其他 provider 有給:同一個 class 在別的 provider 有接這個參數,代表兩處組裝不一致,優先看。
  • 🔴:參數名像安全檢查零件,缺了影響最大,掃描時優先核對。
§3

🔴 安全類參數缺接(優先看)

service 缺的參數 容器位置 provider 其他 provider 有給
TenantProvisioningService 🔴 default_role_name(預設 DEFAULT_ROLE_NAME) di_containers/auth/auth_containers.py:269 AuthContainer.tenant_provisioning_service(Factory) —
MetadataCloneService 🔴 role_repo(預設 None) di_containers/oscal/oscal_containers.py:177 OscalContainer.metadata_clone_service(Factory) —
OscalIoService 🔴 role_repo(預設 None) di_containers/oscal/oscal_containers.py:206 OscalContainer.oscal_io_service(Factory) —
§4

必填缺接

無。

§5

可選未接:預設 None(像零件,優先看)

service 缺的參數 容器位置 provider 其他 provider 有給
UserBatchImportService row_error_formatter(預設 None) di_containers/auth/auth_containers.py:339 AuthContainer.user_batch_import_service(Factory) —
AccountMessageBuilder locale(預設 None) di_containers/auth/auth_containers.py:344 AuthContainer.message_builder(Factory) —
TenantDriveIntegrationRepoImpl session(預設 None) di_containers/cloud_integration/cloud_integration_containers.py:97 CloudIntegrationContainer.tenant_drive_integration_repo(Singleton) —
DriveFolderMappingRepoImpl session(預設 None) di_containers/cloud_integration/cloud_integration_containers.py:131 CloudIntegrationContainer.drive_folder_mapping_repo(Singleton) —
DriveSyncJobRepoImpl session(預設 None) di_containers/cloud_integration/cloud_integration_containers.py:132 CloudIntegrationContainer.drive_sync_job_repo(Singleton) —
TenantAwareClassifierContainerRunner container_env(預設 None) di_containers/evidence_classification/evidence_classification_containers.py:104 EvidenceClassificationContainer.container_runner(Singleton) —
ProjectService assessment_plan_task_domain_service(預設 None) di_containers/flow_control/flow_control_containers.py:258 FlowControlContainer.project_service(Factory) —
ProjectService component_domain_service(預設 None) di_containers/flow_control/flow_control_containers.py:258 FlowControlContainer.project_service(Factory) —
ProjectService ssp_domain_service(預設 None) di_containers/flow_control/flow_control_containers.py:258 FlowControlContainer.project_service(Factory) —
JobBindingOrphanCleanupService batch_limit(預設 None) di_containers/flow_control/flow_control_containers.py:318 FlowControlContainer.job_binding_orphan_cleanup_service(Factory) —
JobBindingOrphanCleanupService mode(預設 None) di_containers/flow_control/flow_control_containers.py:318 FlowControlContainer.job_binding_orphan_cleanup_service(Factory) —
PoamService ar_finding_domain_service(預設 None) di_containers/flow_control/flow_control_containers.py:545 FlowControlContainer.poam_service(Factory) —
PoamService mapping_domain_service(預設 None) di_containers/flow_control/flow_control_containers.py:545 FlowControlContainer.poam_service(Factory) —
PoamService task_control_domain_service(預設 None) di_containers/flow_control/flow_control_containers.py:545 FlowControlContainer.poam_service(Factory) —
WorkflowExecutionService assessment_plan_service(預設 None) di_containers/flow_engine/workflow_excution_containers.py:130 WorkflowExecutionContainer.workflow_execution_service(Factory) —
WorkflowExecutionService assessment_plan_task_domain_service(預設 None) di_containers/flow_engine/workflow_excution_containers.py:130 WorkflowExecutionContainer.workflow_execution_service(Factory) —
IdentityContext org_unit_resolver(預設 None) di_containers/identity/identity_containers.py:31 IdentityContainer.identity(Singleton) —
IdentityContext tenant_resolver(預設 None) di_containers/identity/identity_containers.py:31 IdentityContainer.identity(Singleton) —
SspImportTemplateAppService catalog_control_domain_service(預設 None) di_containers/module_frame/module_frame_containers.py:231 ModuleFrameContainer.ssp_import_template_app_service(Factory) —
SspImportTemplateAppService catalog_group_domain_service(預設 None) di_containers/module_frame/module_frame_containers.py:231 ModuleFrameContainer.ssp_import_template_app_service(Factory) —
SspImportTemplateAppService component_domain_service(預設 None) di_containers/module_frame/module_frame_containers.py:231 ModuleFrameContainer.ssp_import_template_app_service(Factory) —
SspImportTemplateAppService control_implementation_domain_service(預設 None) di_containers/module_frame/module_frame_containers.py:231 ModuleFrameContainer.ssp_import_template_app_service(Factory) —
SspImportTemplateAppService control_implementation_objective_domain_service(預設 None) di_containers/module_frame/module_frame_containers.py:231 ModuleFrameContainer.ssp_import_template_app_service(Factory) —
SspImportTemplateAppService inventory_item_domain_service(預設 None) di_containers/module_frame/module_frame_containers.py:231 ModuleFrameContainer.ssp_import_template_app_service(Factory) —
SspImportTemplateAppService leveraged_authorization_domain_service(預設 None) di_containers/module_frame/module_frame_containers.py:231 ModuleFrameContainer.ssp_import_template_app_service(Factory) —
SspImportTemplateAppService party_domain_service(預設 None) di_containers/module_frame/module_frame_containers.py:231 ModuleFrameContainer.ssp_import_template_app_service(Factory) —
SspImportTemplateAppService responsible_party_domain_service(預設 None) di_containers/module_frame/module_frame_containers.py:231 ModuleFrameContainer.ssp_import_template_app_service(Factory) —
SspImportTemplateAppService system_characteristic_domain_service(預設 None) di_containers/module_frame/module_frame_containers.py:231 ModuleFrameContainer.ssp_import_template_app_service(Factory) —
FrameworkService framework_repo(預設 None) di_containers/oscal/oscal_containers.py:169 OscalContainer.framework_service(Factory) —
FrameworkService framework_version_repo(預設 None) di_containers/oscal/oscal_containers.py:169 OscalContainer.framework_service(Factory) —
CatalogService catalog_repo(預設 None) di_containers/oscal/oscal_containers.py:170 OscalContainer.catalog_service(Factory) —
CatalogService control_repo(預設 None) di_containers/oscal/oscal_containers.py:170 OscalContainer.catalog_service(Factory) —
CatalogService group_repo(預設 None) di_containers/oscal/oscal_containers.py:170 OscalContainer.catalog_service(Factory) —
CatalogService metadata_repo(預設 None) di_containers/oscal/oscal_containers.py:170 OscalContainer.catalog_service(Factory) —
CatalogService part_repo(預設 None) di_containers/oscal/oscal_containers.py:170 OscalContainer.catalog_service(Factory) —
ProfileResolutionService catalog_control_repo(預設 None) di_containers/oscal/oscal_containers.py:171 OscalContainer.profile_resolution_service(Factory) —
ProfileResolutionService profile_import_repo(預設 None) di_containers/oscal/oscal_containers.py:171 OscalContainer.profile_resolution_service(Factory) —
ProfileService profile_import_repo(預設 None) di_containers/oscal/oscal_containers.py:172 OscalContainer.profile_service(Factory) —
ProfileService profile_repo(預設 None) di_containers/oscal/oscal_containers.py:172 OscalContainer.profile_service(Factory) —
ProfileService resolution_service(預設 None) di_containers/oscal/oscal_containers.py:172 OscalContainer.profile_service(Factory) —
SspCloneService by_component_repo(預設 None) di_containers/oscal/oscal_containers.py:174 OscalContainer.ssp_clone_service(Factory) —
SspCloneService component_repo(預設 None) di_containers/oscal/oscal_containers.py:174 OscalContainer.ssp_clone_service(Factory) —
SspCloneService control_impl_repo(預設 None) di_containers/oscal/oscal_containers.py:174 OscalContainer.ssp_clone_service(Factory) —
SspCloneService diagram_repo(預設 None) di_containers/oscal/oscal_containers.py:174 OscalContainer.ssp_clone_service(Factory) —
SspCloneService impl_req_repo(預設 None) di_containers/oscal/oscal_containers.py:174 OscalContainer.ssp_clone_service(Factory) —
SspCloneService info_type_repo(預設 None) di_containers/oscal/oscal_containers.py:174 OscalContainer.ssp_clone_service(Factory) —
SspCloneService inventory_repo(預設 None) di_containers/oscal/oscal_containers.py:174 OscalContainer.ssp_clone_service(Factory) —
SspCloneService leveraged_repo(預設 None) di_containers/oscal/oscal_containers.py:174 OscalContainer.ssp_clone_service(Factory) —
SspCloneService ssp_repo(預設 None) di_containers/oscal/oscal_containers.py:174 OscalContainer.ssp_clone_service(Factory) —
SspCloneService statement_repo(預設 None) di_containers/oscal/oscal_containers.py:174 OscalContainer.ssp_clone_service(Factory) —
SspCloneService sys_char_repo(預設 None) di_containers/oscal/oscal_containers.py:174 OscalContainer.ssp_clone_service(Factory) —
SspCloneService sys_impl_repo(預設 None) di_containers/oscal/oscal_containers.py:174 OscalContainer.ssp_clone_service(Factory) —
SspCloneService sys_user_repo(預設 None) di_containers/oscal/oscal_containers.py:174 OscalContainer.ssp_clone_service(Factory) —
SspService by_component_repo(預設 None) di_containers/oscal/oscal_containers.py:175 OscalContainer.ssp_service(Factory) —
SspService clone_service(預設 None) di_containers/oscal/oscal_containers.py:175 OscalContainer.ssp_service(Factory) —
SspService component_repo(預設 None) di_containers/oscal/oscal_containers.py:175 OscalContainer.ssp_service(Factory) —
SspService control_impl_repo(預設 None) di_containers/oscal/oscal_containers.py:175 OscalContainer.ssp_service(Factory) —
SspService impl_req_repo(預設 None) di_containers/oscal/oscal_containers.py:175 OscalContainer.ssp_service(Factory) —
SspService inventory_repo(預設 None) di_containers/oscal/oscal_containers.py:175 OscalContainer.ssp_service(Factory) —
SspService leveraged_repo(預設 None) di_containers/oscal/oscal_containers.py:175 OscalContainer.ssp_service(Factory) —
SspService party_repo(預設 None) di_containers/oscal/oscal_containers.py:175 OscalContainer.ssp_service(Factory) —
SspService ssp_repo(預設 None) di_containers/oscal/oscal_containers.py:175 OscalContainer.ssp_service(Factory) —
SspService statement_repo(預設 None) di_containers/oscal/oscal_containers.py:175 OscalContainer.ssp_service(Factory) —
SspService sys_char_repo(預設 None) di_containers/oscal/oscal_containers.py:175 OscalContainer.ssp_service(Factory) —
SspService sys_impl_repo(預設 None) di_containers/oscal/oscal_containers.py:175 OscalContainer.ssp_service(Factory) —
MetadataCloneService metadata_repo(預設 None) di_containers/oscal/oscal_containers.py:177 OscalContainer.metadata_clone_service(Factory) —
MetadataCloneService party_repo(預設 None) di_containers/oscal/oscal_containers.py:177 OscalContainer.metadata_clone_service(Factory) —
MetadataCloneService resource_repo(預設 None) di_containers/oscal/oscal_containers.py:177 OscalContainer.metadata_clone_service(Factory) —
MetadataCloneService 🔴 role_repo(預設 None) di_containers/oscal/oscal_containers.py:177 OscalContainer.metadata_clone_service(Factory) —
OscalCloneService catalog_repo(預設 None) di_containers/oscal/oscal_containers.py:193 OscalContainer.oscal_clone_service(Factory) —
OscalCloneService control_repo(預設 None) di_containers/oscal/oscal_containers.py:193 OscalContainer.oscal_clone_service(Factory) —
OscalCloneService group_repo(預設 None) di_containers/oscal/oscal_containers.py:193 OscalContainer.oscal_clone_service(Factory) —
OscalCloneService metadata_clone_service(預設 None) di_containers/oscal/oscal_containers.py:193 OscalContainer.oscal_clone_service(Factory) —
OscalCloneService param_repo(預設 None) di_containers/oscal/oscal_containers.py:193 OscalContainer.oscal_clone_service(Factory) —
OscalCloneService part_repo(預設 None) di_containers/oscal/oscal_containers.py:193 OscalContainer.oscal_clone_service(Factory) —
OscalCloneService profile_import_repo(預設 None) di_containers/oscal/oscal_containers.py:193 OscalContainer.oscal_clone_service(Factory) —
OscalCloneService profile_repo(預設 None) di_containers/oscal/oscal_containers.py:193 OscalContainer.oscal_clone_service(Factory) —
OscalSnapshotService metadata_clone_service(預設 None) di_containers/oscal/oscal_containers.py:194 OscalContainer.oscal_snapshot_service(Factory) —
OscalSnapshotService oscal_clone_service(預設 None) di_containers/oscal/oscal_containers.py:194 OscalContainer.oscal_snapshot_service(Factory) —
OscalSnapshotService profile_import_repo(預設 None) di_containers/oscal/oscal_containers.py:194 OscalContainer.oscal_snapshot_service(Factory) —
OscalSnapshotService ssp_clone_service(預設 None) di_containers/oscal/oscal_containers.py:194 OscalContainer.oscal_snapshot_service(Factory) —
OscalSnapshotService ssp_repo(預設 None) di_containers/oscal/oscal_containers.py:194 OscalContainer.oscal_snapshot_service(Factory) —
ApDraftService ap_repo(預設 None) di_containers/oscal/oscal_containers.py:196 OscalContainer.ap_draft_service(Factory) —
ApDraftService control_impl_repo(預設 None) di_containers/oscal/oscal_containers.py:196 OscalContainer.ap_draft_service(Factory) —
ApDraftService impl_req_repo(預設 None) di_containers/oscal/oscal_containers.py:196 OscalContainer.ap_draft_service(Factory) —
ApDraftService metadata_repo(預設 None) di_containers/oscal/oscal_containers.py:196 OscalContainer.ap_draft_service(Factory) —
ApDraftService reviewed_controls_repo(預設 None) di_containers/oscal/oscal_containers.py:196 OscalContainer.ap_draft_service(Factory) —
ApDraftService ssp_repo(預設 None) di_containers/oscal/oscal_containers.py:196 OscalContainer.ap_draft_service(Factory) —
AssessmentPlanService ap_repo(預設 None) di_containers/oscal/oscal_containers.py:197 OscalContainer.assessment_plan_service(Factory) —
AssessmentPlanService draft_service(預設 None) di_containers/oscal/oscal_containers.py:197 OscalContainer.assessment_plan_service(Factory) —
AssessmentPlanService reviewed_controls_repo(預設 None) di_containers/oscal/oscal_containers.py:197 OscalContainer.assessment_plan_service(Factory) —
AssessmentPlanService subjects_repo(預設 None) di_containers/oscal/oscal_containers.py:197 OscalContainer.assessment_plan_service(Factory) —
AssessmentPlanService tasks_repo(預設 None) di_containers/oscal/oscal_containers.py:197 OscalContainer.assessment_plan_service(Factory) —
ArFindingMatrixService finding_repo(預設 None) di_containers/oscal/oscal_containers.py:199 OscalContainer.ar_finding_matrix_service(Factory) —
AssessmentResultService ar_repo(預設 None) di_containers/oscal/oscal_containers.py:200 OscalContainer.assessment_result_service(Factory) —
AssessmentResultService ar_results_repo(預設 None) di_containers/oscal/oscal_containers.py:200 OscalContainer.assessment_result_service(Factory) —
AssessmentResultService ar_subjects_repo(預設 None) di_containers/oscal/oscal_containers.py:200 OscalContainer.assessment_result_service(Factory) —
AssessmentResultService matrix_service(預設 None) di_containers/oscal/oscal_containers.py:200 OscalContainer.assessment_result_service(Factory) —
AssessmentResultService metadata_repo(預設 None) di_containers/oscal/oscal_containers.py:200 OscalContainer.assessment_result_service(Factory) —
AssessmentRiskService finding_repo(預設 None) di_containers/oscal/oscal_containers.py:201 OscalContainer.assessment_risk_service(Factory) —
AssessmentRiskService finding_risk_repo(預設 None) di_containers/oscal/oscal_containers.py:201 OscalContainer.assessment_risk_service(Factory) —
AssessmentRiskService risk_repo(預設 None) di_containers/oscal/oscal_containers.py:201 OscalContainer.assessment_risk_service(Factory) —
PoamService finding_repo(預設 None) di_containers/oscal/oscal_containers.py:203 OscalContainer.poam_service(Factory) —
PoamService metadata_repo(預設 None) di_containers/oscal/oscal_containers.py:203 OscalContainer.poam_service(Factory) —
PoamService poam_item_repo(預設 None) di_containers/oscal/oscal_containers.py:203 OscalContainer.poam_service(Factory) —
PoamService poam_repo(預設 None) di_containers/oscal/oscal_containers.py:203 OscalContainer.poam_service(Factory) —
RemediationService milestone_repo(預設 None) di_containers/oscal/oscal_containers.py:204 OscalContainer.remediation_service(Factory) —
RemediationService remediation_repo(預設 None) di_containers/oscal/oscal_containers.py:204 OscalContainer.remediation_service(Factory) —
OscalIoService ap_repo(預設 None) di_containers/oscal/oscal_containers.py:206 OscalContainer.oscal_io_service(Factory) —
OscalIoService ar_finding_repo(預設 None) di_containers/oscal/oscal_containers.py:206 OscalContainer.oscal_io_service(Factory) —
OscalIoService ar_observation_repo(預設 None) di_containers/oscal/oscal_containers.py:206 OscalContainer.oscal_io_service(Factory) —
OscalIoService ar_remediation_repo(預設 None) di_containers/oscal/oscal_containers.py:206 OscalContainer.oscal_io_service(Factory) —
OscalIoService ar_repo(預設 None) di_containers/oscal/oscal_containers.py:206 OscalContainer.oscal_io_service(Factory) —
OscalIoService ar_results_repo(預設 None) di_containers/oscal/oscal_containers.py:206 OscalContainer.oscal_io_service(Factory) —
OscalIoService ar_risk_repo(預設 None) di_containers/oscal/oscal_containers.py:206 OscalContainer.oscal_io_service(Factory) —
OscalIoService by_component_repo(預設 None) di_containers/oscal/oscal_containers.py:206 OscalContainer.oscal_io_service(Factory) —
OscalIoService catalog_repo(預設 None) di_containers/oscal/oscal_containers.py:206 OscalContainer.oscal_io_service(Factory) —
OscalIoService component_repo(預設 None) di_containers/oscal/oscal_containers.py:206 OscalContainer.oscal_io_service(Factory) —
OscalIoService control_impl_repo(預設 None) di_containers/oscal/oscal_containers.py:206 OscalContainer.oscal_io_service(Factory) —
OscalIoService control_repo(預設 None) di_containers/oscal/oscal_containers.py:206 OscalContainer.oscal_io_service(Factory) —
OscalIoService group_repo(預設 None) di_containers/oscal/oscal_containers.py:206 OscalContainer.oscal_io_service(Factory) —
OscalIoService impl_req_repo(預設 None) di_containers/oscal/oscal_containers.py:206 OscalContainer.oscal_io_service(Factory) —
OscalIoService info_type_repo(預設 None) di_containers/oscal/oscal_containers.py:206 OscalContainer.oscal_io_service(Factory) —
OscalIoService inventory_repo(預設 None) di_containers/oscal/oscal_containers.py:206 OscalContainer.oscal_io_service(Factory) —
OscalIoService leveraged_repo(預設 None) di_containers/oscal/oscal_containers.py:206 OscalContainer.oscal_io_service(Factory) —
OscalIoService metadata_repo(預設 None) di_containers/oscal/oscal_containers.py:206 OscalContainer.oscal_io_service(Factory) —
OscalIoService param_repo(預設 None) di_containers/oscal/oscal_containers.py:206 OscalContainer.oscal_io_service(Factory) —
OscalIoService part_repo(預設 None) di_containers/oscal/oscal_containers.py:206 OscalContainer.oscal_io_service(Factory) —
OscalIoService party_repo(預設 None) di_containers/oscal/oscal_containers.py:206 OscalContainer.oscal_io_service(Factory) —
OscalIoService poam_item_repo(預設 None) di_containers/oscal/oscal_containers.py:206 OscalContainer.oscal_io_service(Factory) —
OscalIoService poam_milestone_repo(預設 None) di_containers/oscal/oscal_containers.py:206 OscalContainer.oscal_io_service(Factory) —
OscalIoService poam_repo(預設 None) di_containers/oscal/oscal_containers.py:206 OscalContainer.oscal_io_service(Factory) —
OscalIoService profile_repo(預設 None) di_containers/oscal/oscal_containers.py:206 OscalContainer.oscal_io_service(Factory) —
OscalIoService resource_repo(預設 None) di_containers/oscal/oscal_containers.py:206 OscalContainer.oscal_io_service(Factory) —
OscalIoService 🔴 role_repo(預設 None) di_containers/oscal/oscal_containers.py:206 OscalContainer.oscal_io_service(Factory) —
OscalIoService ssp_repo(預設 None) di_containers/oscal/oscal_containers.py:206 OscalContainer.oscal_io_service(Factory) —
OscalIoService statement_repo(預設 None) di_containers/oscal/oscal_containers.py:206 OscalContainer.oscal_io_service(Factory) —
OscalIoService sys_char_repo(預設 None) di_containers/oscal/oscal_containers.py:206 OscalContainer.oscal_io_service(Factory) —
OscalIoService sys_impl_repo(預設 None) di_containers/oscal/oscal_containers.py:206 OscalContainer.oscal_io_service(Factory) —
FrameworkVersionEditService catalog_repo(預設 None) di_containers/oscal/oscal_containers.py:223 OscalContainer.framework_version_edit_service(Factory) —
FrameworkVersionEditService control_repo(預設 None) di_containers/oscal/oscal_containers.py:223 OscalContainer.framework_version_edit_service(Factory) —
FrameworkVersionEditService framework_repo(預設 None) di_containers/oscal/oscal_containers.py:223 OscalContainer.framework_version_edit_service(Factory) —
FrameworkVersionEditService framework_version_repo(預設 None) di_containers/oscal/oscal_containers.py:223 OscalContainer.framework_version_edit_service(Factory) —
FrameworkVersionEditService group_repo(預設 None) di_containers/oscal/oscal_containers.py:223 OscalContainer.framework_version_edit_service(Factory) —
FrameworkVersionEditService part_repo(預設 None) di_containers/oscal/oscal_containers.py:223 OscalContainer.framework_version_edit_service(Factory) —
FrameworkVersionEditService profile_import_repo(預設 None) di_containers/oscal/oscal_containers.py:223 OscalContainer.framework_version_edit_service(Factory) —
SspPermissionChecker ssp_context_resolver(預設 None) di_containers/oscal/oscal_containers.py:300 OscalContainer.ssp_permission_checker(Factory) —
SspDocxGenerator template_path(預設 None) di_containers/oscal/oscal_containers.py:412 OscalContainer.ssp_docx_generator(Singleton) —
SspLibreOfficeConverter libreoffice_cmd(預設 None) di_containers/oscal/oscal_containers.py:413 OscalContainer.ssp_libreoffice_converter(Singleton) —
SurveyDomainService survey_folder_repo(預設 None) di_containers/survey/survey_containers.py:39 SurveyContainer.survey_domain_service(Factory) —
SurveyPageDomainService survey_repo(預設 None) di_containers/task_survey/question_answer_containers.py:50 QuestionAnswerContainer.survey_page_domain_service(Factory) di_containers/survey/survey_containers.py:49
§6

可選未接:預設非 None(多為設定值,通常不是缺線)

service 缺的參數 容器位置 provider 其他 provider 有給
TenantProvisioningService default_org_unit_name(預設 DEFAULT_ORG_UNIT_NAME) di_containers/auth/auth_containers.py:269 AuthContainer.tenant_provisioning_service(Factory) —
TenantProvisioningService 🔴 default_role_name(預設 DEFAULT_ROLE_NAME) di_containers/auth/auth_containers.py:269 AuthContainer.tenant_provisioning_service(Factory) —
TenantAwareClassifierContainerRunner container_network(預設 DEFAULT_CONTAINER_NETWORK) di_containers/evidence_classification/evidence_classification_containers.py:104 EvidenceClassificationContainer.container_runner(Singleton) —
TenantAwareClassifierContainerRunner jobs_base_dir(預設 os.path.join(os.path.expanduser('~'), '.cm-jobs')) di_containers/evidence_classification/evidence_classification_containers.py:104 EvidenceClassificationContainer.container_runner(Singleton) —
LibreOfficeDocumentConverterAdapter timeout(預設 120) di_containers/evidence_classification/evidence_classification_containers.py:117 EvidenceClassificationContainer.document_converter(Singleton) —
LoginDomainService config(預設 LoginConfigDTO()) di_containers/login/login_containers.py:33 LoginContainer.login_domain_service(Factory) —
SspLibreOfficeConverter timeout(預設 60) di_containers/oscal/oscal_containers.py:413 OscalContainer.ssp_libreoffice_converter(Singleton) —
DiagLogReader basename(預設 'app.log') di_containers/support/support_containers.py:54 SupportContainer.diag_log_reader(Singleton) —
§7

容器給了、建構子沒有的參數

無。

§8

無法解析而略過

容器位置 provider 目標 原因
di_containers/cloud_integration/cloud_integration_containers.py:155 lambda mgr: mgr.get_valid_access_token provider 目標不是可解析的 class/函式名(lambda、屬性鏈等),略過
di_containers/evidence_classification/evidence_classification_containers.py:92 lambda mgr: mgr.get_valid_access_token provider 目標不是可解析的 class/函式名(lambda、屬性鏈等),略過
di_containers/evidence_classification/evidence_classification_containers.py:106 lambda: build_config().classifier_image provider 目標不是可解析的 class/函式名(lambda、屬性鏈等),略過
§9

與修正線版的差異

修正線這幾天替套件加了新建構子參數,同一份腳本指向修正線源碼跑出來的 🔴(見 di-wiring-audit-fixline.md)比這份多 4 處:

  • 只在修正線版出現(主線套件還沒有這些建構子參數,不是主線的缺口):
    • DataAPIService.capability_checker(ai_dashboard_containers.py:99)
    • TenantProvisioningService.role_templates(auth_containers.py:269)
    • SurveyDiscussionService.participant_role_service(survey_containers.py:116)
    • QuestionAnswerHistoryDetailService.participant_role_service(question_answer_containers.py:90)
  • 兩版都有(主線的真缺口,U13a/U13b 要看):
    • TenantProvisioningService.default_role_name(auth_containers.py:269)
    • MetadataCloneService.role_repo(oscal_containers.py:177)
    • OscalIoService.role_repo(oscal_containers.py:206)