Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

feat(review): expand grain-key not_null detector to fire on any contracted-model column change

Ouverte
#1,034 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

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

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

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de AltimateAI/altimate-code

Toutes les issues de AltimateAI/altimate-code

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.