feat(review): expand grain-key not_null detector to fire on any contracted-model column change
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
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de AltimateAI/altimate-code
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
AltimateAI/altimate-code#1359 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
AltimateAI/altimate-code#1323 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 86/100
AltimateAI/altimate-code#1288 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 92/100
AltimateAI/altimate-code#1285 ·
Mantenedores costumam responder em até 1 dia
-
privacy: Altimate Base consent dialog no longer discloses persistent per-installation identifierAberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
AltimateAI/altimate-code#1284 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de AltimateAI/altimate-code
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
microsoft/vscode-livepreview#876 ·
Mantenedores costumam responder em até 1 dia
-
needs-triage
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 90/100
JustJarethB/invoicer#54 ·
-
ICP 1.2.0 shows a scheduled task's interval in milliseconds under the label "Interval (In seconds)"AbertaNeeds Triage Type/Bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
wso2/product-integrator#2585 ·
Mantenedores costumam responder em até 1 dia
-
Add: Telemundo West sdAbertacheck:passed streams:add
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Mantenedores costumam responder em até 1 dia
-
design
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
MTES-MCT/monitor-field#119 ·
Mantenedores costumam responder em até 1 dia