Use the following checks as required status checks on the repository branch protection rules.
Purpose:
- enforce formatting and baseline code quality
- catch obvious issues before review
Suggested commands for a Python-based stack:
ruff check .
black --check .If SQL models are first-class in the repo, also run:
sqlfluff lint .Purpose:
- run unit and integration tests for CDC logic, validations, and warehouse modeling
Suggested command:
pytest -qPurpose:
- validate transformations and warehouse models
Examples:
dbt deps
dbt parse
dbt testIf not using dbt, run your equivalent model validation/test command.
Purpose:
- ensure schema compatibility logic works and breaking changes fail safely
Suggested command:
python scripts/check_schema_contracts.pyOr equivalent test target.
Purpose:
- enforce system and business validation parity
Suggested command:
python scripts/run_data_quality_checks.pyExamples of checks:
- primary key uniqueness
- not-null checks
- referential integrity
- domain / enum validation
- business rule assertions
Purpose:
- verify lake and warehouse datasets are published in the catalog metadata
Suggested command:
python scripts/validate_catalog.pyPurpose:
- catch vulnerable dependencies and committed secrets
Suggested tools:
pip-audit
bandit -r .
gitleaks detect --no-banner --redact- bootstrap local source + lake + warehouse
- run CDC ingestion
- apply updates and deletes
- verify lake history and warehouse snapshot
- simulate incompatible schema change and verify stop-the-line behavior
This is the best end-to-end signal, but it may take longer than the baseline checks.
- validate README and design docs are present and not stale
- build the local pipeline image if the repo is containerized
Set the following as required before merge:
lint-python-or-sqltest-pipelinevalidate-modelsschema-contract-checkdata-quality-checkcatalog-checksecurity-and-secrets-scan
Optionally require:
- at least 1 reviewer approval
- conversation resolution
- up-to-date branch before merge
- squash merge or linear history
Add these items to the PR template so reviewers and candidates explain the important decisions.
- Summary of what was implemented
- Source schema design
- CDC strategy
- Lake modeling
- Warehouse modeling
- Schema change safety
- Validation parity
- Catalog exposure
- Validation steps run locally
- Known limitations / next steps
- Responsible AI usage disclosure
- Linting passes locally
- Tests pass locally
- Model validation/tests pass
- Schema compatibility checks pass
- Data quality validations pass
- Catalog metadata validation passes
- README/setup steps were tested from a clean state
- End-to-end CDC flow was validated locally
- AI usage disclosed in PR description if used
ruffblackpytestbanditpip-audit
dbtsqlfluff
dbt test- Great Expectations, Soda, or equivalent
- custom SQL assertions if preferred
gitleaks
If you want the leanest useful setup, start with these 5 blocking checks:
- Lint and format checks
- Pipeline tests
- Model validation/tests
- Schema contract compatibility check
- Data quality validation
That is the smallest set that still gives good automatic PR review signal for this assignment.