AltimateAI / AltimateAI/altimate-code
dbt_pr_review always runs in lint-only mode even when manifest and warehouse are available
- Lingua principale
- TypeScript
- Stelle
- 811
- Fork
- 134
- Merge medio
- 3g 2h
- PR unite (30g)
- 50
Descrizione
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 |
Guida per i contributori
Apri la guida per i contributori
Valutazione
Questa issue non è ancora stata valutata.