You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Browse filesBrowse the repository at this point in the historyBrowse files
Haider
committed
fix(review): v0.9.3 pre-release review findings
- Stamp `Installation.VERSION` into `engine.cliVersion` on the signed verdict
envelope so auditors reconstructing a stored verdict months later can
identify which policy version generated it. The version is included in the
canonical body, so tampering breaks the HMAC signature.
- Add `staleManifest` boolean to the envelope, populated when a change-
affecting source file has been modified after the manifest was written.
Renames the internal `warnIfStale` to `detectStaleManifest` and removes
the `opts.head` gate so the local working-tree workflow (compile once,
edit for an hour, then review) also surfaces the signal instead of
silently under-warning.
- Emit `tierReasons[]` on the envelope whenever the classifier lands on
`full` tier, not only when `--explain-tier` / `--force-tier` /
`pathTokenConfigError` fires. A REQUEST_CHANGES on a schema.yml diff
now carries the "why" in the PR-comment blockquote by default;
`trivial` / `lite` stay quiet to avoid noise on approvals.
- Document `--explain-tier`, `--force-tier`, `riskTierPathTokens`, and
manifest auto-discovery in `docs/docs/usage/dbt-pr-review.md`.
Copy file name to clipboardExpand all lines: docs/docs/usage/dbt-pr-review.md
+17-1Lines changed: 17 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -106,11 +106,13 @@ Options:
106
106
|------|-------------|
107
107
|`--base <ref>`| Base git ref. Defaults to the merge-base with `origin/main`. |
108
108
|`--head <ref>`| Head git ref. Omit to review the working tree. |
109
-
|`--manifest <path>`| Path to the compiled `manifest.json` (default `target/manifest.json`). |
109
+
|`--manifest <path>`| Path to the compiled `manifest.json`. When omitted, the reviewer walks up from the current directory to find the nearest `dbt_project.yml` and uses its adjacent `target/manifest.json`; the discovered path is logged to stderr. |
110
110
|`--mode comment\|gate`|`comment` never blocks; `gate` exits non-zero on `REQUEST_CHANGES`. |
111
111
|`--severity <level>`| Minimum severity to surface: `critical`, `warning`, `suggestion`. |
112
112
|`--post`| Post the verdict to the GitHub PR (uses `GITHUB_TOKEN` + the Actions event). |
113
113
|`--no-ai`| Disable the advisory LLM reviewer lane (no model calls / cost) — deterministic-only. |
114
+
|`--explain-tier`| Emit the classifier's tier-reason list on the verdict envelope so you can see why a diff was rated `trivial`, `lite`, or `full`. Reasons already surface in the PR comment for `full`-tier runs — this flag adds them to `trivial`/`lite` for debugging. |
115
+
|`--force-tier <tier>`|**[EXPERIMENTAL / bench debug]** Bypass the classifier and force `trivial` / `lite` / `full`. The verdict envelope carries `tierForced: true` and the classifier's original decision for audit. |
114
116
|`--json` / `--output <file>`| Emit the verdict envelope as JSON. |
115
117
116
118
> **Full vs lint-only.** With a compiled `manifest.json` present, the reviewer
@@ -232,6 +234,9 @@ dataDiff: # OFF by default — see "Data-diff in CI" below
0 commit comments