Some checks failed
CI / branch-name (pull_request) Successful in 3s
CI / guardrail-integrity (pull_request) Failing after 5s
CI / loc-budget (pull_request) Failing after 6s
CI / secret-scan (pull_request) Failing after 4s
CI / go-lint (pull_request) Failing after 2s
CI / python-lint (pull_request) Failing after 12s
CI / nodejs-lint (pull_request) Failing after 4s
CI / nodejs-build (pull_request) Failing after 3s
CI / dep-audit (pull_request) Failing after 10s
CI / sbom-scan (pull_request) Failing after 2s
CI / test-go (pull_request) Failing after 2s
CI / test-python-backend (pull_request) Failing after 10s
CI / test-python-document-crawler (pull_request) Failing after 9s
CI / test-python-dsms-gateway (pull_request) Failing after 10s
CI / validate-canonical-controls (pull_request) Failing after 10s
models.py and repository.py are backwards-compat re-export shims from Phase 1. Both files still contained the original 1466/1547 line class definitions below the re-export block. These inline definitions shadowed the correctly-imported sub-module versions and failed at import time because Column, AuditResultEnum, etc. were no longer in scope. Fix: - models.py: remove all duplicate Base-subclass definitions (lines 209- 1581). Retain EvidenceConfidenceEnum and EvidenceTruthStatusEnum (unique to this shim, not yet extracted to a sub-module) and the two models that have no sub-module yet: LLMGenerationAuditDB and AssertionDB. Add back the SQLAlchemy column-type imports those two models need. - repository.py: remove all duplicate Repository class definitions (lines 40-1692). All classes are now fully provided by the sub-repositories. Result: 172 pytest tests pass, import OK.
39 lines
1.7 KiB
Python
39 lines
1.7 KiB
Python
"""
|
|
compliance.db.repository — backwards-compatibility re-export shim.
|
|
|
|
Phase 1 Step 5 split the monolithic 1547-line repository module into per-aggregate
|
|
sibling modules. Every repository class is re-exported here so existing imports
|
|
(``from compliance.db.repository import ControlRepository, ...``) continue to
|
|
work unchanged.
|
|
|
|
New code SHOULD import directly from the aggregate module:
|
|
|
|
from compliance.db.regulation_repository import RegulationRepository, RequirementRepository
|
|
from compliance.db.control_repository import ControlRepository, ControlMappingRepository
|
|
from compliance.db.evidence_repository import EvidenceRepository
|
|
from compliance.db.risk_repository import RiskRepository
|
|
from compliance.db.audit_export_repository import AuditExportRepository
|
|
from compliance.db.service_module_repository import ServiceModuleRepository
|
|
from compliance.db.audit_session_repository import AuditSessionRepository, AuditSignOffRepository
|
|
|
|
DO NOT add new classes to this file.
|
|
"""
|
|
|
|
from compliance.db.regulation_repository import ( # noqa: F401
|
|
RegulationRepository,
|
|
RequirementRepository,
|
|
)
|
|
from compliance.db.control_repository import ( # noqa: F401
|
|
ControlRepository,
|
|
ControlMappingRepository,
|
|
)
|
|
from compliance.db.evidence_repository import EvidenceRepository # noqa: F401
|
|
from compliance.db.risk_repository import RiskRepository # noqa: F401
|
|
from compliance.db.audit_export_repository import AuditExportRepository # noqa: F401
|
|
from compliance.db.service_module_repository import ServiceModuleRepository # noqa: F401
|
|
from compliance.db.audit_session_repository import ( # noqa: F401
|
|
AuditSessionRepository,
|
|
AuditSignOffRepository,
|
|
)
|
|
|