{ "required_docs": [ { "path": "README.md", "description": "Top-level repository handbook." }, { "path": "AGENTS.md", "description": "Shared repository operating instructions." }, { "path": "Jenkinsfile", "description": "Top-level Jenkins mirror for multibranch discovery." }, { "path": "ci/Jenkinsfile.titan-iac", "description": "Canonical titan-iac Jenkins pipeline definition." } ], "managed_modules": [ "ci/scripts/publish_test_metrics.py", "services/mailu/scripts/mailu_sync.py", "testing/__init__.py", "testing/quality_contract.py", "testing/quality_docs.py", "testing/quality_hygiene.py", "testing/quality_coverage.py", "testing/quality_gate.py" ], "lint_paths": [ "ci/scripts/publish_test_metrics.py", "ci/tests/glue", "scripts/tests", "services/comms/scripts/tests", "services/mailu/scripts/mailu_sync.py", "testing" ], "pytest_suites": { "unit": { "description": "Fast unit and contract tests for repo automation.", "paths": [ "scripts/tests", "services/comms/scripts/tests", "testing/tests" ], "junit": "build/junit-unit.xml", "coverage_sources": [ "ci/scripts", "services/mailu/scripts", "testing" ], "coverage_xml": "build/coverage-unit.xml" }, "glue": { "description": "Cluster-live glue checks that validate CronJobs and exported metrics.", "paths": [ "ci/tests/glue" ], "junit": "build/junit-glue.xml" } }, "profiles": { "local": [ "docs", "smell", "hygiene", "unit", "coverage" ], "jenkins": [ "docs", "smell", "hygiene", "unit", "coverage", "glue" ] }, "manual_scripts": [ { "path": "scripts/test_atlas_user_cleanup.py", "description": "Manual cleanup validation for Atlas user lifecycle automation." }, { "path": "scripts/test_user_cleanup.py", "description": "Manual cleanup validation for shared user lifecycle automation." }, { "path": "scripts/test_vaultwarden_user_cleanup.py", "description": "Manual cleanup validation for Vaultwarden user lifecycle automation." }, { "path": "services/bstein-dev-home/scripts/test_portal_onboarding_flow.py", "description": "Portal onboarding end-to-end flow validation with mail delivery checks." }, { "path": "services/keycloak/scripts/tests/test_keycloak_execute_actions_email.py", "description": "Standalone Keycloak SMTP execute-actions-email validation script." }, { "path": "services/keycloak/scripts/tests/test_portal_token_exchange.py", "description": "Standalone Keycloak token-exchange validation script." } ], "hygiene": { "max_lines": 500, "line_limit_globs": [ "testing/**/*.py", "ci/scripts/*.py", "ci/tests/**/*.py", "scripts/tests/**/*.py", "services/*/scripts/tests/**/*.py", "services/mailu/scripts/mailu_sync.py" ], "naming_rules": [ { "glob": "testing/*.py", "pattern": "^(?:__init__|quality_[a-z0-9_]+)\\.py$", "description": "Top-level testing helpers use quality_* module names." }, { "glob": "testing/tests/*.py", "pattern": "^test_[a-z0-9_]+\\.py$", "description": "Top-level pytest files use test_*.py names." }, { "glob": "ci/tests/**/*.py", "pattern": "^test_[a-z0-9_]+\\.py$", "description": "CI pytest files use test_*.py names." }, { "glob": "scripts/tests/**/*.py", "pattern": "^test_[a-z0-9_]+\\.py$", "description": "Script pytest files use test_*.py names." }, { "glob": "scripts/test_*.py", "pattern": "^test_[a-z0-9_]+\\.py$", "description": "Standalone script tests use test_*.py names." }, { "glob": "services/*/scripts/tests/**/*.py", "pattern": "^test_[a-z0-9_]+\\.py$", "description": "Service pytest files use test_*.py names." }, { "glob": "services/*/scripts/test_*.py", "pattern": "^test_[a-z0-9_]+\\.py$", "description": "Standalone service test scripts use test_*.py names." } ] }, "coverage": { "minimum_percent": 95.0, "tracked_files": [ "ci/scripts/publish_test_metrics.py", "testing/quality_contract.py", "testing/quality_docs.py", "testing/quality_hygiene.py", "testing/quality_coverage.py", "testing/quality_gate.py" ] } }