docs: schema files are the prerequisite for column-level tests + how to generate - #204
Conversation
…to generate SignalForge drafts column-level tests from model.columns, which dbt populates from schema .yml files; a model with no schema yml yields zero columns and only model-level tests. Document the prerequisite, how to generate schema files (dbt-codegen generate_model_yaml or by hand), and that dbt docs generate enriches types but does not add columns.
|
Too much diff to scan? Review this PR in Change Stack to start with the highest-impact changes. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThis PR adds prerequisite documentation across two guides explaining that dbt schema YAML files are required to populate ChangesSchema YAML Prerequisites for Column-Level Tests
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~5 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Comment |
…schema prerequisite - CHANGELOG [Unreleased]: add the missing entries — grade-to-100% (#202), grade budget scaling + cost ceilings (#198), bulk --select shared cache (#188), row_count_between scope instruction (#183), schema.yml-prerequisite docs (#204), and grade cache default flipped True->False (#197) + #189 line reconciled. - README roadmap: move shipped v0.5/v0.6 into the Shipped table (v0.6 = the test-primitives + grade-hardening line), renumber Planned (Airflow->v0.7, etc). - Surface the column-level-tests-need-a-schema.yml prerequisite from the README quick-start and cli-ops.md generate section (cross-linking #204's how-to).
Summary
Documents a non-obvious prerequisite surfaced while estimating a full-repo
generaterun: SignalForge drafts column-level tests frommodel.columns, which dbt populates from schema.ymlfiles. A model with no schema yml has zero columns in the manifest, so the drafter can only produce model-level variants (row_count_*) — notnot_null/unique/accepted_values/ per-columncustom_sql.Motivation: in a real project, 103 of 104 models had no schema ymls → near-zero column-level coverage, which isn't obvious from the CLI output.
Changes
docs/manifest-loader-ops.md— new section "Column metadata: schema files are the prerequisite for column-level tests" (placed just before the existingcatalog.jsontypes section): explains the manifest-is-source-of-truth model, the zero-column consequence (incl. the ingest anchor-check that drops tests referencing undeclared columns), a one-liner to check a model's column count, how to generate schema files (dbt-codegen generate_model_yamlor by hand), and thatdbt docs generateenriches types but is not a substitute for schema files (it never adds a column the manifest lacks).docs/draft-ops.md— a short prerequisite callout in the Overview linking to the new section.Testing
mkdocs build(CI-equivalent, non-strict) passes; the new cross-reference anchor resolves (verified it is not among the pre-existing strict-mode link warnings).Separate from #202 (kept off that in-review PR since it's an independent docs improvement).
🤖 Generated with Claude Code
Summary by CodeRabbit
Release Notes