README.md
pyproject.toml
src/governor_core/__init__.py
src/governor_core/google_sdk_compat.py
src/governor_core.egg-info/PKG-INFO
src/governor_core.egg-info/SOURCES.txt
src/governor_core.egg-info/dependency_links.txt
src/governor_core.egg-info/requires.txt
src/governor_core.egg-info/top_level.txt
src/governor_core/agents/__init__.py
src/governor_core/agents/finalizer.py
src/governor_core/agents/pipeline.py
src/governor_core/agents/router.py
src/governor_core/agents/schemas.py
src/governor_core/agents/tools.py
src/governor_core/agents/downstream_patch/__init__.py
src/governor_core/agents/downstream_patch/agent.py
src/governor_core/agents/downstream_patch/prompts/downstream_partition_filter.py
src/governor_core/agents/downstream_patch/providers/__init__.py
src/governor_core/agents/downstream_patch/providers/base.py
src/governor_core/agents/downstream_patch/providers/require_partition_filter.py
src/governor_core/agents/prompts/__init__.py
src/governor_core/agents/prompts/_partition_by_rules.py
src/governor_core/agents/prompts/general.py
src/governor_core/agents/prompts/join_explosion.py
src/governor_core/agents/prompts/partition_pruning.py
src/governor_core/agents/prompts/shuffle_spill.py
src/governor_core/agents/prompts/slot_contention.py
src/governor_core/agents/specialists/__init__.py
src/governor_core/agents/specialists/base.py
src/governor_core/agents/specialists/general.py
src/governor_core/agents/specialists/join_explosion.py
src/governor_core/agents/specialists/partition_pruning.py
src/governor_core/agents/specialists/shuffle_spill.py
src/governor_core/agents/specialists/slot_contention.py
src/governor_core/agents/specialists/storage_billing.py
src/governor_core/api/__init__.py
src/governor_core/configurations/__init__.py
src/governor_core/configurations/models.py
src/governor_core/configurations/schemas.py
src/governor_core/configurations/service.py
src/governor_core/core/__init__.py
src/governor_core/core/cache.py
src/governor_core/core/config.py
src/governor_core/core/logging.py
src/governor_core/db/__init__.py
src/governor_core/db/base.py
src/governor_core/db/session.py
src/governor_core/db/sqlite_compat.py
src/governor_core/dbt/__init__.py
src/governor_core/dbt/affected_column.py
src/governor_core/dbt/column_analyzer.py
src/governor_core/dbt/column_lookup.py
src/governor_core/dbt/column_profiler.py
src/governor_core/dbt/context_builder.py
src/governor_core/dbt/lineage_analyzer.py
src/governor_core/dbt/profiles.py
src/governor_core/dbt/uv_runner.py
src/governor_core/gcp/__init__.py
src/governor_core/gcp/clients.py
src/governor_core/github/__init__.py
src/governor_core/github/client.py
src/governor_core/llm/__init__.py
src/governor_core/llm/base.py
src/governor_core/llm/gemini.py
src/governor_core/llm/schemas.py
src/governor_core/migrations/env.py
src/governor_core/migrations/script.py.mako
src/governor_core/migrations/versions/58cd0a92e7e6_merge_005_opportunity_detection_with_.py
src/governor_core/migrations/versions/5ac0da518320_create_auth_tables.py
src/governor_core/migrations/versions/90a5d984842e_merge_observation_window_and_solution_.py
src/governor_core/migrations/versions/9ab13d588378_merge_036_and_040_heads.py
src/governor_core/migrations/versions/a0b1c2d3e4f5_add_process_cost_to_opportunities.py
src/governor_core/migrations/versions/a1b2c3d4e5f6_create_verification_tables.py
src/governor_core/migrations/versions/a1b2c3d4e5f_add_table_column_metadata.py
src/governor_core/migrations/versions/a4b5c6d7e8f_make_pr_fields_nullable.py
src/governor_core/migrations/versions/b1c2d3e4f5a6_merge_process_cost_and_pr_fields.py
src/governor_core/migrations/versions/b3c4d5e6f7a8_add_project_sync_config_tables.py
src/governor_core/migrations/versions/b5c6d7e8f9a_add_clearing_until_column.py
src/governor_core/migrations/versions/c1669eec184e_add_theme_preference_to_users.py
src/governor_core/migrations/versions/c2d3e4f5a6b7_add_setup_state_table.py
src/governor_core/migrations/versions/c4d5e6f7a8b9_add_project_data_sync_tables.py
src/governor_core/migrations/versions/c6d7e8f9a0b1_enforce_solution_job_uniqueness_and_preserve_pr_history.py
src/governor_core/migrations/versions/d3e4f5a6b7c8_add_gcp_auth_method_to_setup_state.py
src/governor_core/migrations/versions/d5e6f7a8b9c0_add_opportunity_detection_tables.py
src/governor_core/migrations/versions/d729508382f8_040_add_dry_run_columns_to_solutions.py
src/governor_core/migrations/versions/d7e8f9a0b1c2_add_bigquery_job_workload_kind.py
src/governor_core/migrations/versions/e4f5a6b7c8d9_add_pr_lineage_impacts_table.py
src/governor_core/migrations/versions/e6f7a8b9c0d1_opportunity_manifest_link.py
src/governor_core/migrations/versions/f5g6h7i8j9k0_add_local_dev_mode_fields.py
src/governor_core/migrations/versions/f7a8b9c0d1e2_flatten_manifest_configuration.py
src/governor_core/migrations/versions/g1h2i3j4k5l6_cascade_solution_consolidation.py
src/governor_core/migrations/versions/g8b9c0d1e2f3_add_solution_tables.py
src/governor_core/migrations/versions/g8h9i0j1k2l3_add_rolling_observation_window.py
src/governor_core/migrations/versions/h2i3j4k5l6m7_local_workspace_awareness.py
src/governor_core/migrations/versions/h9c0d1e2f3g4_add_cascade_deletes.py
src/governor_core/migrations/versions/i0d1e2f3g4h5_fix_used_manifest_fk.py
src/governor_core/migrations/versions/j1e2f3g4h5i6_add_pull_request_records.py
src/governor_core/migrations/versions/j3k4l5m6n7o8_add_local_sync_evidence_metadata.py
src/governor_core/migrations/versions/k2f3g4h5i6j7_030_add_trust_tier_and_validation.py
src/governor_core/migrations/versions/k2f3g4h5i6j7_add_sync_scheduling.py
src/governor_core/migrations/versions/l3g4h5i6j7k8_nullable_initiated_by_id.py
src/governor_core/migrations/versions/m4h5i6j7k8l9_remove_used_manifest_fk.py
src/governor_core/migrations/versions/n5i6j7k8l9m0_merge_030_and_main.py
src/governor_core/migrations/versions/o6j7k8l9m0n1_add_table_storage_metrics.py
src/governor_core/migrations/versions/p107_platform_hardening.py
src/governor_core/migrations/versions/p108_cost_verification.py
src/governor_core/migrations/versions/p110_shadow_validation.py
src/governor_core/migrations/versions/p111_shadow_logs.py
src/governor_core/migrations/versions/p124_auto_shadow_validate.py
src/governor_core/migrations/versions/p126_solution_file_changes.py
src/governor_core/migrations/versions/p7k8l9m0n1o2_auto_pr_submission.py
src/governor_core/migrations/versions/p_scrub_setup_state_github_key.py
src/governor_core/migrations/versions/q8l9m0n1o2p3_add_storage_billing_min_savings.py
src/governor_core/migrations/versions/q8r9s0t1u2v3_add_graph_summary_json.py
src/governor_core/migrations/versions/r9m0n1o2p3q4_add_compiled_after_sql.py
src/governor_core/migrations/versions/r9s0t1u2v3w4_merge_heads.py
src/governor_core/migrations/versions/s0p1q2r3s4t5_add_watched_rule_types.py
src/governor_core/migrations/versions/s1t2u3v4w5x6_add_min_solution_cost_usd.py
src/governor_core/migrations/versions/split_120_core.py
src/governor_core/migrations/versions/t1u2v3w4x5y_add_allowed_solution_policy_tags.py
src/governor_core/migrations/versions/u6v7w8x9y0z_enforce_single_active_sync_per_config.py
src/governor_core/migrations/versions/v1w2x3y4z5a_allow_detection_reruns_per_sync.py
src/governor_core/migrations/versions/w7x8y9z0a1b_add_opportunity_solution_snapshot_cache.py
src/governor_core/migrations/versions/x1y2z3a4b5c_add_opportunity_savings_estimates.py
src/governor_core/migrations/versions/y2z3a4b5c6d_add_post_merge_cost_tracking.py
src/governor_core/migrations/versions/z3a4b5c6d7e_add_clearing_status.py
src/governor_core/opportunities/__init__.py
src/governor_core/opportunities/cascade.py
src/governor_core/opportunities/catalog.py
src/governor_core/opportunities/cost_verification.py
src/governor_core/opportunities/cost_verification_models.py
src/governor_core/opportunities/detector.py
src/governor_core/opportunities/exceptions.py
src/governor_core/opportunities/explorer_service.py
src/governor_core/opportunities/historical_savings.py
src/governor_core/opportunities/models.py
src/governor_core/opportunities/partition_stats.py
src/governor_core/opportunities/presentation.py
src/governor_core/opportunities/recommendation_resolver.py
src/governor_core/opportunities/recommendation_state.py
src/governor_core/opportunities/run_results_heuristics.py
src/governor_core/opportunities/savings.py
src/governor_core/opportunities/savings_estimator.py
src/governor_core/opportunities/savings_models.py
src/governor_core/opportunities/savings_service.py
src/governor_core/opportunities/schemas.py
src/governor_core/opportunities/scoring.py
src/governor_core/opportunities/service.py
src/governor_core/opportunities/thresholds.py
src/governor_core/opportunities/rules/__init__.py
src/governor_core/opportunities/rules/base.py
src/governor_core/opportunities/rules/cross_join_unaggregated.py
src/governor_core/opportunities/rules/dead_column.py
src/governor_core/opportunities/rules/dead_cte.py
src/governor_core/opportunities/rules/dead_window_expression.py
src/governor_core/opportunities/rules/join_explosion.py
src/governor_core/opportunities/rules/partition_pruning.py
src/governor_core/opportunities/rules/redundant_order_by.py
src/governor_core/opportunities/rules/select_star.py
src/governor_core/opportunities/rules/self_join_anti_pattern.py
src/governor_core/opportunities/rules/shuffle_spill.py
src/governor_core/opportunities/rules/slot_contention.py
src/governor_core/opportunities/rules/storage_billing.py
src/governor_core/opportunities/rules/storage_pricing.py
src/governor_core/opportunities/rules/unused_aggregation_output.py
src/governor_core/opportunities/rules/unused_join.py
src/governor_core/pullrequests/__init__.py
src/governor_core/pullrequests/clearing.py
src/governor_core/pullrequests/collection.py
src/governor_core/pullrequests/exceptions.py
src/governor_core/pullrequests/lineage_impact.py
src/governor_core/pullrequests/models.py
src/governor_core/pullrequests/savings.py
src/governor_core/pullrequests/service.py
src/governor_core/pullrequests/sync.py
src/governor_core/setup/__init__.py
src/governor_core/setup/runtime.py
src/governor_core/shadow/__init__.py
src/governor_core/shadow/builder.py
src/governor_core/shadow/cascade.py
src/governor_core/shadow/cleanup.py
src/governor_core/shadow/diff.py
src/governor_core/shadow/exceptions.py
src/governor_core/shadow/failure_analysis.py
src/governor_core/shadow/gating.py
src/governor_core/shadow/metrics.py
src/governor_core/shadow/models.py
src/governor_core/shadow/naming.py
src/governor_core/shadow/reconciliation.py
src/governor_core/shadow/service.py
src/governor_core/shadow/target.py
src/governor_core/shadow/terminal.py
src/governor_core/solutions/__init__.py
src/governor_core/solutions/dry_run_policy.py
src/governor_core/solutions/equivalence_sql.py
src/governor_core/solutions/exceptions.py
src/governor_core/solutions/generator.py
src/governor_core/solutions/models.py
src/governor_core/solutions/policy.py
src/governor_core/solutions/prompts.py
src/governor_core/solutions/reshadow.py
src/governor_core/solutions/schemas.py
src/governor_core/solutions/service.py
src/governor_core/solutions/templates/__init__.py
src/governor_core/solutions/templates/add_cluster_by.py
src/governor_core/solutions/templates/add_join_key_cluster.py
src/governor_core/solutions/templates/add_partition_by.py
src/governor_core/solutions/templates/add_require_partition_filter.py
src/governor_core/solutions/templates/base.py
src/governor_core/solutions/templates/config_parser.py
src/governor_core/solutions/templates/expand_select_star.py
src/governor_core/solutions/templates/remove_dead_columns.py
src/governor_core/solutions/templates/remove_dead_ctes.py
src/governor_core/solutions/templates/remove_redundant_order_bys.py
src/governor_core/solutions/templates/remove_unused_joins.py
src/governor_core/solutions/templates/switch_storage_billing.py
src/governor_core/solutions/validation/__init__.py
src/governor_core/solutions/validation/allowlists.py
src/governor_core/solutions/validation/ast_validator.py
src/governor_core/solutions/validation/classifier.py
src/governor_core/solutions/validation/jinja_strip.py
src/governor_core/solutions/validation/report.py
src/governor_core/solutions/validation/yaml_validator.py
src/governor_core/sync/__init__.py
src/governor_core/sync/models.py
src/governor_core/sync/schemas.py
src/governor_core/sync/service.py
src/governor_core/sync/worker.py
src/governor_core/sync/worker_hooks.py
src/governor_core/telemetry/__init__.py
src/governor_core/telemetry/tracing.py
src/governor_core/utils/__init__.py
src/governor_core/utils/compiled_sql.py
src/governor_core/utils/diff.py
src/governor_core/utils/formatters.py
src/governor_core/utils/pagination.py
src/governor_core/workspace/__init__.py
src/governor_core/workspace/detection.py
src/governor_core/workspace/git_tools.py
src/governor_core/workspace/picker.py
tests/test_affected_column.py
tests/test_ast_validator.py
tests/test_auto_shadow_trigger.py
tests/test_bigquery_client.py
tests/test_bq_best_practice_rules.py
tests/test_cache.py
tests/test_clearing.py
tests/test_column_analyzer.py
tests/test_column_profiler.py
tests/test_column_validation.py
tests/test_compile_management.py
tests/test_compiled_sql.py
tests/test_config_parser.py
tests/test_configuration_service_defaults.py
tests/test_context_builder.py
tests/test_dbt_profiles.py
tests/test_dead_column_rule.py
tests/test_dead_cte_rule.py
tests/test_dead_window_expression_rule.py
tests/test_detection_engine.py
tests/test_detection_rule_catalog.py
tests/test_diff_utils.py
tests/test_downstream_patch_agent.py
tests/test_dry_run_validation.py
tests/test_expand_select_star_ctas.py
tests/test_factories_smoke.py
tests/test_foundational_types.py
tests/test_gcp_clients.py
tests/test_gcs_validation.py
tests/test_github_client.py
tests/test_guardrail_provider_registry.py
tests/test_jinja_strip.py
tests/test_job_workload_classification.py
tests/test_join_explosion_rule.py
tests/test_lineage_analyzer.py
tests/test_llm_gemini.py
tests/test_model_group_aggregation.py
tests/test_opportunity_catalog.py
tests/test_opportunity_service.py
tests/test_pagination.py
tests/test_partial_apply_invariant.py
tests/test_partition_pruning_rule.py
tests/test_post_merge_savings.py
tests/test_pr_collection.py
tests/test_pr_lineage_impact.py
tests/test_pr_service.py
tests/test_pr_status_sync.py
tests/test_public_surface.py
tests/test_recommendation_state.py
tests/test_redundant_order_by_rule.py
tests/test_remove_dead_columns_template.py
tests/test_remove_dead_ctes_template.py
tests/test_remove_redundant_order_bys_template.py
tests/test_remove_unused_joins_template.py
tests/test_request_context.py
tests/test_run_results_build_heuristics.py
tests/test_safe_templates.py
tests/test_savings_estimator.py
tests/test_scoring.py
tests/test_shadow_builder.py
tests/test_shadow_cascade.py
tests/test_shadow_cleanup.py
tests/test_shadow_diff.py
tests/test_shadow_failure_analysis.py
tests/test_shadow_gating.py
tests/test_shadow_metrics.py
tests/test_shadow_naming.py
tests/test_shadow_reconciliation.py
tests/test_shadow_savings_sign.py
tests/test_shadow_service.py
tests/test_shadow_terminal.py
tests/test_shuffle_spill_rule.py
tests/test_slot_contention_rule.py
tests/test_solution_bundle_reshadow.py
tests/test_solution_display.py
tests/test_solution_generator.py
tests/test_solution_multi_file.py
tests/test_solution_parallel.py
tests/test_solution_policy.py
tests/test_solution_prompts.py
tests/test_solution_service.py
tests/test_sqlite_compat_tz.py
tests/test_storage_billing_rule.py
tests/test_switch_storage_billing.py
tests/test_template_add_cluster_by.py
tests/test_template_add_join_key_cluster.py
tests/test_template_add_partition_by.py
tests/test_template_add_require_partition_filter.py
tests/test_template_switch_storage_billing.py
tests/test_trust_classifier.py
tests/test_unused_aggregation_output_rule.py
tests/test_unused_join_rule.py
tests/test_uv_runner.py
tests/test_validation_report.py
tests/test_workspace_detection.py
tests/test_workspace_picker.py
tests/test_yaml_validator.py