Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

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

Aberta
#1,034 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
48/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Pouca atividade
Stack de tecnologia
typescript
Domínio
data-engineering

Direção de pesquisa

Comece em packages/opencode/src/altimate/review/dbt-patterns.ts, em extractGrainKeyGaps e no filtro grainDeclChangedEntities. Rastreie como newMap e oldMap identificam adições e, em seguida, examine como as alterações de colunas de contracted-model schema.yml são representadas. O trabalho estará concluído quando o detector preservar o caminho existente de declaração de grain e também avaliar colunas adicionadas ou modificadas que se sobreponham à cobertura existente de grain keys, sem ampliar desnecessariamente alterações não relacionadas.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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.

Linguagem predominante
TypeScript
Estrelas
813
Forks
134
Merge médio
1d 19h
PRs com merge (30d)
64

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de AltimateAI/altimate-code

Todas as issues de AltimateAI/altimate-code

Issues semelhantes

Mais issues de TypeScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.