Close the remaining places where an extension point was hardcoded, and expose a stable public import surface for every app. - files: register_storage_backend(...) / STORAGE_BACKENDS[name]["CLASS"]; unknown backends now fail loudly instead of silently using local - files: PipelineStepRegistry + @pipeline_step; PIPELINE_EXECUTOR setting - billing: INVOICE_PDF_BUILDER setting - security: TWO_FACTOR_SERVICE / TWO_FACTOR_RECOVERY_SERVICE settings - all app packages expose lazy public exports (PEP 562); infrasynth.shared re-exports its primitives eagerly - README documents the per-module extension-point table - tests/test_extensibility.py pins each hook plus the public surface |
||
|---|---|---|
| .. | ||
| test_api | ||
| test_audit | ||
| test_billing | ||
| test_features | ||
| test_files | ||
| test_notifications | ||
| test_scheduler | ||
| test_security | ||
| test_shared | ||
| test_tenancy | ||
| test_webhooks | ||
| test_workflows | ||
| __init__.py | ||
| conftest.py | ||
| helpers.py | ||
| test_e2e.py | ||
| test_extensibility.py | ||
| test_gates.py | ||