Cortex-first Snowflake Native App scaffold for Data Quality + Observability parity.
- Native App lifecycle (
setup,upgrade,healthcheck) - Cortex-backed DQ UDF library (no non-Cortex fallback)
- Profiling + classification foundations
- Monitoring + anomaly + incident scaffolding
- Streamlit in Snowflake app shell
native_app/manifest.yml- Native App package manifestnative_app/setup.sql- App setup entrypointnative_app/scripts/- Versioned SQL objects and proceduresnative_app/streamlit/- Streamlit app and page placeholdersdocs/architecture.md- Architecture and dependency notesdelivery-plan.md- Sprint 1-4 plan with Cortex dependency gatestests/sql/smoke_checks.sql- Basic post-deploy checks
- Create app package from
native_app/ - Run
setup.sqlin provider packaging workflow - Execute scripts in order:
001_init.sql,002_cortex_udfs.sql,003_monitoring.sql,004_remediation.sql - Run lifecycle setup and gate checks:
CALL APP_CORE.sp_setup_app();CALL APP_CORE.sp_validate_cortex_access();CALL APP_CORE.sp_assert_ready_for_activation();CALL APP_CORE.sp_healthcheck();
- Validate Sprint 2 rule governance and preview:
CALL APP_DQ.sp_preview_rule_result('udf_dq_email_valid', 'user@example.com');CALL APP_DQ.sp_apply_rule_pack('baseline_pack', 'RAW.CUSTOMER');
- Validate Sprint 3 profiling/monitoring lifecycle:
CALL APP_ENGINE.sp_profile_dataset('APP_EVENTS', 'TMP_PROFILE_INPUT');CALL APP_ENGINE.sp_classify_columns_cortex(NULL);CALL APP_ENGINE.sp_inject_synthetic_anomaly('SMOKE_SYNTHETIC', 0.95);CALL APP_ENGINE.sp_run_monitoring_cycle('manual_validation_cycle');
- Validate Sprint 4 remediation + admin controls:
CALL APP_ENGINE.sp_create_task_for_latest_incident('SMOKE_SYNTHETIC', 'Investigate anomaly', 'oncall_user');CALL APP_ENGINE.sp_update_latest_task_for_source('SMOKE_SYNTHETIC', 'IN_PROGRESS', 'Investigation started');CALL APP_CORE.sp_export_diagnostics(24);CALL APP_CORE.sp_enforce_cortex_execution('model-not-allowlisted', 100, 'manual_check', OBJECT_CONSTRUCT());
- Run
tests/sql/smoke_checks.sql
- Release runbook:
docs/release-runbook.md - Rollback checklist:
docs/rollback-checklist.md - Single ordered deployment script:
deploy_all.sql(SnowSQL/CLI)
The workflow at .github/workflows/cd-deploy.yml requires these repository Secrets:
SNOWFLAKE_ACCOUNTSNOWFLAKE_USERSNOWFLAKE_PASSWORD
Optional repository Variables for environment overrides:
SNOWFLAKE_DATABASE_STAGING(default:NATIVE_OBS)SNOWFLAKE_SCHEMA_STAGING(default:PROD)SNOWFLAKE_DATABASE_PROD(default:NATIVE_OBS)SNOWFLAKE_SCHEMA_PROD(default:PROD)
If Variables are not set, workflow defaults are used.
This project is now implemented through Sprint 4 baseline and can be extended for production hardening per environment.