feat(review): expand grain-key not_null detector to fire on any contracted-model column change
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 48/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- Calme
- Stack technique
- typescript
- Domaine
- data-engineering
Piste de recherche
Commencez dans packages/opencode/src/altimate/review/dbt-patterns.ts, au niveau de extractGrainKeyGaps et du filtre grainDeclChangedEntities. Suivez la manière dont newMap et oldMap identifient les ajouts, puis examinez comment les modifications de colonnes de contracted-model schema.yml sont représentées. C’est terminé lorsque le détecteur conserve le chemin existant de déclaration de grain et évalue également les colonnes ajoutées ou modifiées qui recouvrent la couverture existante des clés de grain, sans élargir inutilement les modifications non liées.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- TypeScript
- Étoiles
- 813
- Forks
- 134
- Merge moyen
- 1 j 18 h
- PR mergées (30 j)
- 59
Préparer son environnement
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de AltimateAI/altimate-code
-
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
AltimateAI/altimate-code#1378 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
AltimateAI/altimate-code#1359 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
AltimateAI/altimate-code#1323 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
AltimateAI/altimate-code#1288 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 92/100
AltimateAI/altimate-code#1285 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de AltimateAI/altimate-code
Issues similaires
-
documentation
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
inu-appcenter/memorIN-frontend#106 ·
Les mainteneurs répondent en général sous 1 jour
-
kind/bug
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
Les mainteneurs répondent en général sous 7 jours
-
[Bug] @deck.gl/arcgis dist import resolves to unpublished @deck.gl/core source path (9.3.11, 9.4.0)Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour
-
fix: CopyFilters ignores tabOuvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
CSCfi/sd-search-ui#145 ·
Les mainteneurs répondent en général sous 1 jour
-
Add: Cbeebies pl SDOuvertecheck:passed streams:add
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
Les mainteneurs répondent en général sous 1 jour