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
Address review comments from CodeRabbit and cubic on PR #674.
Bug fixes:
- `resolveUpstream` now resolves seed.* and snapshot.* deps in addition
to models and sources. Previously silently dropped, causing `dbt test`
to fail for any model ref()ing a seed or snapshot.
- Test name truncation no longer cuts off scenario suffix. Budget
suffix length first, then truncate the model-name portion, so
scenario names like `_null_handling_2` are always preserved even
for long model names.
- `findModel`/`getUniqueId` in helpers.ts now validate
`resource_type === "model"` on the key lookup path, not just the
name fallback. Prevents returning non-model nodes by unique_id.
- Division detection regex now strips string literals AND comments
before matching, so `'2024/01/15'` no longer triggers a false-positive
boundary scenario.
Documentation fixes:
- `incremental-testing.md`: fix Jinja syntax — `{{ if is_incremental() }}`
is invalid; use `{% if is_incremental() %}` for control flow.
- `SKILL.md`: workflow header now shows all 5 phases (Analyze -> Generate
-> Refine -> Validate -> Write).
- `SKILL.md`: add language label to fenced code block for markdownlint.
- `unit-test-yaml-spec.md`: show both top-level `tags` and nested
`config.tags` forms explicitly.
Infrastructure:
- Add `seeds` and `snapshots` arrays to `DbtManifestResult` (previously
only counts were returned). `parseManifest` now extracts full seed
and snapshot info using the same shape as `DbtModelInfo`.
- Tests migrate to shared `tmpdir()` fixture from `test/fixture/fixture.ts`
for automatic cleanup (per project coding guidelines).
- Wrap `DbtUnitTestGenTool` import/registration in `registry.ts` with
`altimate_change` markers (upstream-shared file).
New tests (4):
- seed deps resolve via ref() not source()
- snapshot deps resolve via ref() not source()
- long model names preserve scenario suffix (no truncation collision)
- division in string literals does not trigger boundary scenario
Full suite: 2676 pass, 0 fail.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
0 commit comments