feat(review): expand grain-key not_null detector to fire on any contracted-model column change
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 48/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Ruhig
- Tech-Stack
- typescript
- Bereich
- data-engineering
Rechercherichtung
Beginne in packages/opencode/src/altimate/review/dbt-patterns.ts bei extractGrainKeyGaps und dem grainDeclChangedEntities-Filter. Verfolge, wie newMap und oldMap Ergänzungen identifizieren, und untersuche anschließend, wie Spaltenänderungen in contracted-model schema.yml dargestellt werden. Als erledigt gilt, dass der Detektor den bestehenden Pfad für Grain-Deklarationen beibehält und außerdem hinzugefügte oder geänderte Spalten auswertet, die die bestehende Abdeckung durch Grain-Keys überschneiden, ohne dadurch nicht zusammenhängende Änderungen unnötig auszuweiten.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Deferred from the v0.9.3 pre-release review.
Current behavior
extractGrainKeyGaps in packages/opencode/src/altimate/review/dbt-patterns.ts fires only when the grain declaration itself changes, filtered by grainDeclChangedEntities — which iterates newMap and compares against oldMap for additions.
Gap
A PR that adds a new column to an existing contracted model without touching unique_combination_of_columns will not surface uncovered grain columns, even when new columns increase the exposure surface. The scoping is conservative and correct for the initial ship, but leaves recall on the table.
Proposal
Extend the change-scoping filter to also fire when any column added/modified in a contracted model's schema.yml overlaps with existing grain-key coverage. Keep the current "grain declaration changed" path as one of two entry conditions.
Why deferred
Scope expansion touches filter semantics and could shift the false-positive rate; the initial detector is intentionally conservative and documented, so a follow-up release is the right cadence for widening.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 812
- Forks
- 123
- Ø Merge
- 1 T. 16 Std.
- Gemergte PRs (30 T.)
- 83
Entwicklungsumgebung
Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus AltimateAI/altimate-code
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
AltimateAI/altimate-code#1593 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
AltimateAI/altimate-code#1591 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
AltimateAI/altimate-code#1590 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 69/100
AltimateAI/altimate-code#1588 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
AltimateAI/altimate-code#1573 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in AltimateAI/altimate-code
Ähnliche Issues
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 70/100
microsoft/playwright#43640 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
grasshopper-protocol/grsshppr#172 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug help wanted
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Tencent/teamai-cli#1397 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
DouyinFE/semi-design#3641 ·
Maintainer antworten meist innerhalb von 3 Tagen
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 83/100
Maintainer antworten meist innerhalb von 1 Tag