AltimateAI / AltimateAI/altimate-code

dbt_pr_review always runs in lint-only mode even when manifest and warehouse are available

Abierto
#894 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
TypeScript
Estrellas
811
Forks
134
Merge medio
3 d 2 h
PR fusionados (30 d)
50

Descripción

The dbt_pr_review tool consistently reports "⚙️ Lint-only run — no dbt manifest/warehouse was available" even when:
1. target/manifest.json exists and is fresh
2. Snowflake warehouse connections are configured and testable via warehouse_test
3. The .altimate/review.yml points to the correct manifest

This prevents the full-tier review (lineage blast radius, query equivalence, PII classification) from running.

**Environment**
- Project: dbt_data_platform (Snowflake)
- dbt version: 1.11.11
- altimate-code: dbt-pr-review skill
- manifest: target/manifest.json (1.9MB, generated 2026-06-05)
- Warehouse connections: snowflake_prod (ANALYTICS), snowflake_raw (RAW), snowflake_raw_treated (RAW_TREATED)
- .altimate/review.yml:
```yaml
mode: comment
severityThreshold: suggestion
manifestPath: target/manifest.json
dialect: snowflake
reviewers: []
exclude:
- models/legacy/**
rubric:
blockOn: [lineage_breakage, contract_violation, pii_exposure, semantic_change]
warningPatternThreshold: 3
thresholds:
warehouseCostMinRows: 1000000
```

**Steps to reproduce**
1. Compile dbt: dbt compile → target/manifest.json created
2. Verify warehouse: warehouse_test → snowflake_prod connected successfully
3. Run review: dbt_pr_review({ base: "origin/main", head: "HEAD", manifest_path: "target/manifest.json" })
4. Result: "Lint-only run — no dbt manifest/warehouse was available"

**What I tried**
- Added warehouse: snowflake_prod to .altimate/review.yml — no effect
- Ran dbt_pr_review with explicit manifest_path — same result
- Verified underlying tools work independently:
- impact_analysis ✅ (uses manifest only)
- dbt_lineage ✅ (uses manifest only)
- lineage_check ✅ (with schema_context provided)
- altimate_core_equivalence ✅ (with schema_context provided)
- warehouse_test ✅ (all 3 connections pass)

**Root cause analysis**
The dbt_pr_review tool is a composite that internally calls altimate_core_equivalence and lineage_check. These tools require schema in a specific format (schema_context or schema_path with a tables field), but:
- dbt_pr_review has no schema_context / schema_path / warehouse parameter
- The dbt manifest (target/manifest.json) has a different structure (nodes → columns) than what altimate_core_* expects (tables → columns)
- dbt_pr_review cannot bridge the manifest schema or warehouse schema to its underlying tools

**Suggested fix**
Add one of these options to dbt_pr_review:
1. A warehouse parameter to auto-resolve schema from the warehouse
2. A schema_context / schema_path parameter to pass schema directly
3. Auto-parse manifest.json schema into the format altimate_core_* expects

---

### Metadata

| Field | Value |
|-------|-------|
| CLI Version | 0.8.3 |
| Platform | linux |
| Architecture | x64 |
| OS Release | 6.6.87.2-microsoft-standard-WSL2 |
| Category | bug |
| Working Directory | dbt |
| Session ID | ses_167d1ccdaffee0VmYToIOlBCG0 |

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.