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

Open
#894 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
45/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
sql, typescript

Research direction

Start at the dbt_pr_review entry point and trace how it invokes altimate_core_equivalence and lineage_check. Compare the manifest_path handling with the schema_context, schema_path, and warehouse inputs those tools require. Done means a configured manifest and warehouse no longer produce a lint-only run, and the full-tier checks execute.

Written by the indexing model from the issue text.

Description

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:
    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
Dominant language
TypeScript
Stars
813
Forks
134
Avg merge
2d 5h
Merged PRs (30d)
62

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from AltimateAI/altimate-code

All issues in AltimateAI/altimate-code

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.