Plano de execução de paridade do adaptador Snowflake
Propósito
Este é o plano local, compromisso por compromisso, para trazer
contractforge-snowflake para o mesmo nível de maturidade do Databricks e AWS
adaptadores.
O objetivo é capacidade e paridade de disciplina de lançamento, e não nomes de arquivo idênticos. Snowflake deve manter um formato de pacote nativo do Snowflake, mas todos os pacotes suportados capacidade precisa dos mesmos sinais de maturidade:
- comportamento do planejador;
- implementation;
- CLI surface;
- unit tests;
- cobertura de smoke em conta real onde o comportamento toca Snowflake;
- documentos e exemplos;
- validação de evidências/tabela de controle.
Linha de base atual
Desde a primeira smoke local ao vivo, Snowflake tem:
- planejamento e suporte a pacotes de publicação;
- execução do executor de biblioteca local por meio de uma sessão Snowflake;
- planejamento de origem de tabela, SQL e arquivo preparado;
- anexar, substituir, upsert do estado atual e caminhos de tempo de execução upsert hash-diff;
- qualidade básica, política de esquema, evidência de estado e tabela de controle;
- caminhos de código de renderização de tarefa/procedimento e publicação para estágio;
- reconciliação de custos e ajudantes de painel/manutenção;
- a temporary live smoke harness under
.tmp/snowflake-smoke.
Known baseline gaps:
- o harness de smoke local não é um pacote de primeira classe/comando CLI;
- CLI
runainda não abre uma sessão de conector real para execuções que não sejam de simulação; - publicação de estágio, execução de procedimento Snowpark e execução de tarefa não são fumadas ao vivo;
- a cobertura em tempo real de governança/acesso/custo/caminho de falha está incompleta;
- a paridade fonte/preparação é muito mais fina que Databricks/AWS;
- state/idempotency/locking is thinner than Databricks;
- migrações de tabelas de controle e compatibilidade de tabelas existentes precisam ser reforçadas.
Plano de compromisso
Compromisso 01: Registrar o Plano de Execução da Paridade
Objetivo: tornar este plano de execução numerado visível no repo.
Implementation items:
- add
docs/specs/snowflake-adapter-parity-execution-plan.md; - vincule-o de
adapters/snowflake/README.md; - vincule-o de
docs/README.md; - não altere o comportamento do tempo de execução.
Validação:
- inspect markdown links;
- nenhum teste de tempo de execução é necessário, a menos que as ferramentas de documentação sejam executadas.
Commit message:
docs: add Snowflake parity execution plan
Confirmação 02: execução CLI apoiada por conector
Objetivo: fazer o contractforge-snowflake run executar uma execução real do executor de biblioteca local
usando opções de conector Snowflake.
Implementation items:
- divida o código CLI o suficiente para manter o
cli.pyfino ou adicionar auxiliares focados emcontractforge_snowflake/cli_run.py; - add
--connect-optionstorun; - abra uma conexão de conector preguiçosamente apenas para execução sem simulação;
- envolva conexões do conector com um adaptador de sessão que expõe
session.sql(...).collect(); - preservar o comportamento atual de funcionamento a seco;
- conexões próximas sobre sucesso e fracasso;
- redigir valores de opção de conexão de erros/saída.
Tests:
- A simulação do CLI ainda evita a importação do conector;
- CLI sem simulação abre
_connect, passa a sessão pararun_snowflake_contracte fecha; - wrapper de sessão do conector expõe
schema.names/schema.fieldsdo cursor metadata; - connection failure returns a clear CLI error.
Live smoke:
contractforge-snowflake run `
--contract-uri .tmp\snowflake-smoke\contracts\orders_append.contract.json `
--environment-uri .tmp\snowflake-smoke\environment.json `
--connect-options .tmp\snowflake-smoke\connect-options.yaml
Commit message:
feat(snowflake): run contracts through connector-backed CLI
Compromisso 03: Promover o mínimo de smoke em pacotes de primeira classe
Objetivo: substituir o harness de smoke temporário .tmp por um adaptador de smoke reutilizável
comando.
Implementation items:
- add
contractforge_snowflake/smoke/models.py; - add
contractforge_snowflake/smoke/minimal.py; - add
contractforge_snowflake/smoke/runner.py; - adicione o comando CLI
smoke; - suporte
--connectionpara documentação de interoperabilidade Snowflake CLI e--connect-optionspara execução do conector; - support
--database,--schema,--table-prefix; - default to non-destructive
CF_SMOKE_*objects; - escreva um resumo JSON com contagens de destino, contagens de tabela de controle, IDs de execução e warnings.
Tests:
- a geração de contratos de smoke é determinística;
- a configuração do smoke toca apenas no esquema/prefixo configurado;
- smoke summary marks all scenarios pass/fail;
- O comando smoke recusa uma limpeza ampla, a menos que
--execute-cleanupseja fornecido.
Live smoke:
contractforge-snowflake smoke --connect-options .tmp\snowflake-smoke\connect-options.yaml
Commit message:
feat(snowflake): add first-class minimal smoke runner
Commit 04: Tabela de controle DDL e fortalecimento de migração
Objetivo: tornar segura a criação de tabelas de evidências para contas Snowflake existentes.
Implementation items:
- mantenha todos os identificadores de tabela de controle gerados entre aspas;
- adicionar inspeção de migração/compatibilidade para letras maiúsculas existentes sem aspas control tables;
- evite
CREATE DATABASEincondicional quando a função atual possui apenas esquema objetos e o banco de dados já existem; - adicione uma opção de implantação para DDL somente validado;
- record skipped bootstrap statements in smoke summary;
- documentar privilégios mínimos para usuários do serviço.
Tests:
- reserved words such as
triggerare quoted; - existing incompatible tables produce actionable errors;
- existing compatible tables are reused;
- O bootstrap da função de serviço pode ignorar a criação de banco de dados/esquema existente.
Live smoke:
- execute o mínimo de smoke com função de serviço no
PUBLICexistente; - execute o mínimo de smoke em um novo esquema com função de administrador.
Commit message:
fix(snowflake): harden control table bootstrap
Commit 05: Métricas de tempo de execução e integridade de evidências de execução
Objetivo: preencher a evidência de execução com métricas de linha e contexto de consulta Snowflake mais próximo to AWS/Databricks.
Implementation items:
- capturar linhas lidas antes dos filtros de qualidade;
- capturar linhas escritas para anexar/substituir;
- capturar contagens inseridas/atualizadas onde os metadados de resultado Snowflake suportam;
- armazenar IDs de consulta para instruções de propriedade do adaptador, quando disponíveis;
- incluir armazém, função, banco de dados, esquema e versão Snowflake nos metadados;
- incluir contagens de comando/consulta em
metrics_json; - preserve redaction in error paths.
Tests:
- anexar evidência de sucesso tem contagens de linhas;
- a evidência de sucesso de substituição tem contagens de linhas;
- registros upsert/hash-diff métricas de gravação disponíveis;
- os metadados de resultados do conector são normalizados sem Snowpark.
Live smoke:
- verify
ctrl_ingestion_runs.rows_read; - verifique se
metrics_jsoncontém IDs de consulta ou nulos documentados.
Commit message:
feat(snowflake): record runtime row and query metrics
Commit 06: smoke de Evidência do Caminho de Falha
Objetivo: fazer com que o comportamento de falha do Snowflake corresponda à disciplina AWS/Databricks.
Implementation items:
- adicionar cenário de smoke para tabela de origem ausente;
- adicionar cenário de smoke por falha na regra de qualidade;
- persist
ctrl_ingestion_errors; - persist failed
ctrl_ingestion_runs; - garantir que a exceção original ainda seja propagada para saída diferente de zero CLI;
- include redacted error text in summary.
Tests:
- falha em tempo de execução grava evidência de erro;
- aborto de qualidade grava evidências de qualidade/erro/execução;
- secrets/password/token-like strings are redacted.
Live smoke:
contractforge-snowflake smoke-failure-paths --connect-options ...
Commit message:
feat(snowflake): validate failure path evidence
Commit 07: Registro de origem e camada de paridade de origem
Objetivo: remover o tratamento de origem do módulo de execução de tempo de execução monolítico.
Implementation items:
- add
sources/registry.py; - add
sources/table.py; - add
sources/sql.py; - add
sources/stage_files.py; - adicione
sources/review.pypara famílias de origem não suportadas/requeridas para revisão; - mantenha o comportamento idêntico para fontes atualmente suportadas;
- retornar metadados de origem estruturados para evidências.
Tests:
- tabela/view/sql fonte SQL permanece inalterada;
- a fonte do estágio SQL permanece inalterada;
- tipos de origem não suportados produzem status de planejador existentes;
- os metadados de origem estão disponíveis para o redator da evidência.
Commit message:
refactor(snowflake): introduce source registry
Commit 08: Registro de preparação e transformações compatíveis com SQL
Objetivo: alcançar a paridade de transformação de linha de base para operações compatíveis com Snowflake SQL.
Implementation items:
- add
preparation/registry.py; - support projection/column selection;
- support
transform.cast; - support
transform.derive; - suporte
transform.standardizepara corte/inferior/superior; - filtros de suporte quando representados pelo modelo semântico central;
- suporte à desduplicação determinística usando
QUALIFY ROW_NUMBER(); - keep complex nested shape as
REVIEW_REQUIREDuntil live-tested.
Tests:
- lança renderização Snowflake SQL;
- deriva renderização Snowflake SQL com aviso de dialeto;
- standardization renders SQL functions;
- deduplicate requires deterministic ordering;
- a forma aninhada não suportada permanece necessária para revisão.
Live smoke:
- SQL-compatible transform scenario;
- deduplicate/upsert scenario.
Commit message:
feat(snowflake): add SQL-compatible preparation registry
Commit 09: Registro em modo de gravação
Objetivo: dividir os modos de gravação e torná-los testáveis de forma independente.
Implementation items:
- add
write_modes/registry.py; - add
write_modes/append.py; - add
write_modes/overwrite.py; - add
write_modes/upsert.py; - add
write_modes/hash_diff.py; - manter explícitos os limites de revisão de exclusão reversível de histórico/instantâneo;
- centralizar a validação da chave de mesclagem.
Tests:
- append SQL unchanged;
- overwrite SQL unchanged;
- upsert validates null/duplicate keys;
- hash-diff excludes declared columns;
- modos não suportados não podem ser executados silenciosamente.
Commit message:
refactor(snowflake): split write mode execution
Compromisso 10: Política de Esquema e Evidência de Esquema
Objetivo: aproximar a política de esquema da maturidade Databricks/AWS.
Implementation items:
- inspecionar o esquema de destino por meio de
INFORMATION_SCHEMA.COLUMNSquando conectado; - manter substituto de metadados do conector para wrapper de sessão local;
- enforce strict/additive/permissive consistently;
- escreva
ctrl_ingestion_schema_changespara alterações aditivas; - classify type widening/incompatible changes;
- adicione detalhes de alteração de esquema para executar evidências.
Tests:
- strict added/removed columns fail;
- additive nullable columns are applied;
- alterações de tipo incompatíveis falham ou são revisadas de acordo com a política;
- a evidência de alterações de esquema é escrita.
Live smoke:
- additive column smoke;
- strict failure smoke.
Commit message:
feat(snowflake): add schema policy evidence
Compromisso 11: Expansão da Paridade de Qualidade
Objectivo: implementar e viver regras de qualidade apoiadas pelo fumo.
Implementation items:
- confirm
not_null,required_columns,accepted_values,min_rows,unique_key,max_null_ratioe expressões em nível de linha; - rejeitar quarentena agregada sem predicado de linha;
- adicionar tratamento de status de aviso/falha/quarentena;
- persistir
ctrl_ingestion_qualityectrl_ingestion_quarantine; - incluir resumo de qualidade nas evidências de execução.
Tests:
- pass/warn/fail/quarantine unit tests;
- aggregate quarantine rejection;
- filtros de quarentena em nível de linha visam gravação.
Live smoke:
- qualidade de passe;
- qualidade de linha em quarentena;
- qualidade de aborto.
Commit message:
feat(snowflake): expand quality and quarantine runtime
Compromisso 12: Estado, Idempotência e Bloqueios
Goal: bring state handling toward Databricks maturity.
Implementation items:
- persistir no último estado de sucesso para cada execução;
- support watermark candidate calculation;
- support previous watermark filtering;
- adicionar pesquisa de idempotência para execuções idempotentes declaradas;
- add lock acquire/release helpers;
- registrar evidências de bloqueio/estado em tabelas de controle.
Tests:
- fonte de filtros de marca d'água anterior;
- successful run updates state;
- a repetição idempotente pode pular;
- lock acquisition detects active lock;
- a liberação do bloqueio não mascara as falhas originais.
Live smoke:
- two-run watermark scenario;
- idempotent replay scenario.
Commit message:
feat(snowflake): add state idempotency and locks
Compromisso 13: Comentários e tags de governança
Objetivo: validar anotações Snowflake ao vivo.
Implementation items:
- implementar comentários de tabela;
- implement column comments;
- implementar aplicação de tag quando existirem objetos de tag;
- suporte ao modo somente validação para tags;
- persist
ctrl_ingestion_annotations; - document tag namespace requirements.
Tests:
- comentários renderizados/aplicados;
- tag ausente pode avisar ou falhar por política;
- a evidência da anotação omite os valores.
Live smoke:
- comments smoke;
- etiqueta somente smoke validada;
- tag opcional aplica smoke quando o objeto tag existe.
Commit message:
feat(snowflake): apply comments and tag annotations
Compromisso 14: Concessões de acesso e revisão de políticas
Objetivo: tratamento de acesso maduro sem alterações destrutivas inseguras.
Implementation items:
- map grants to Snowflake privileges;
- implementar plano de subsídio somente validado;
- implementar aplicar subsídios quando explicitamente solicitado;
- renderizar política de acesso de linha SQL;
- política de mascaramento de renderização SQL;
- manter revogações destrutivas obrigatórias para revisão;
- persist
ctrl_ingestion_access.
Tests:
- plano de concessão torna SQL seguro;
- evidências de registros somente validados sem concessão;
- a política de linha/máscara SQL valida os campos obrigatórios;
- a deriva destrutiva aumenta a necessidade de revisão.
Live smoke:
- concessão de smoke somente para validação;
- optional grant apply smoke to test role.
Commit message:
feat(snowflake): add access grant and policy evidence
Commit 15: Stage Publish Live Smoke
Objetivo: provar que os pacotes de publicação podem ser carregados e consumidos a partir de um estágio Snowflake.
Implementation items:
- adicionar configuração de smoke para estágio interno;
- publicar artefatos no stage;
- carregar artefatos de contrato/ambiente de volta por meio do carregador de tempo de execução;
- executar um contrato de artefato preparado por meio de tempo de execução apoiado por conector local;
- resumir URIs de manifesto e artefato.
Tests:
- validação do estágio URI;
- unsafe stage paths rejected;
- publish closes owned connections on failure.
Live smoke:
contractforge-snowflake smoke-stage-publish --connect-options ...
Commit message:
feat(snowflake): smoke stage publish artifacts
Compromisso 16: Implantação do procedimento Snowpark
Objetivo: implantar e executar o procedimento de tempo de execução estável Snowflake.
Implementation items:
- construir/instalar roda adaptadora para importação de procedimento;
- upload wheel to stage;
- criar ou substituir procedimento de tempo de execução;
- procedimento de chamada com URIs de artefato de contrato/ambiente;
- capturar id e resultado da consulta do procedimento;
- documentar os pacotes/importações necessários.
Tests:
- o procedimento SQL renderiza importações/pacotes determinísticos;
- unsafe wheel URIs are rejected;
- procedure call SQL is safe.
Live smoke:
- procedimento de implantação;
- executar um contrato anexo por meio de procedimento;
- verificar alvo/evidência.
Commit message:
feat(snowflake): deploy stable Snowpark runner procedure
Compromisso 17: Implantação e execução do gráfico de tarefas
Objetivo: provar a execução do projeto agendado/dependência em Snowflake real.
Implementation items:
- criar gráfico de tarefas a partir do cronograma e dependências do projeto;
- implantar tarefas chamando procedimento de executor estável;
- support dry-run/apply/resume/suspend;
- execute a tarefa root manualmente para smoke;
- poll task history;
- persistir resumo de evidências de tarefas.
Tests:
- schedule timezone renders correctly;
- dependency
AFTERrenders correctly; - resume/suspend commands are explicit;
- task graph refuses missing artifact URI/procedure.
Live smoke:
contractforge-snowflake smoke-task-graph --connect-options ...
Commit message:
feat(snowflake): deploy and smoke task graph execution
Compromisso 18: Paridade do Projeto CLI
Goal: make Snowflake project commands as usable as AWS/Databricks equivalents.
Implementation items:
- split
deploy-projectimplementation if needed; - adicione
run-projectou comando de execução equivalente; - adicione
--waite pesquisa de status; - adicionar modos de saída somente resumo e JSON;
- adicione o comando plano de limpeza;
- adicione sinalizadores de aplicação com custo limitado.
Tests:
- a simulação do projeto valida todas as etapas;
- implantação de blocos de etapas não suportados;
- apenas resumo omite artefatos barulhentos;
- o plano de limpeza é não destrutivo por padrão.
Live smoke:
- implantar projeto em duas etapas;
- run/wait;
- verificar os alvos e as evidências.
Commit message:
feat(snowflake): add project run and cleanup CLI
Commit 19: Cost Reconciliation Live Smoke
Objetivo: validar a evidência de custo Snowflake após a latência de uso da conta.
Implementation items:
- reconcile by structured query tag;
- record query history signals;
- registrar sinais de atribuição de consulta quando disponíveis;
- incluir metadados de medição/tarefa do armazém, quando disponíveis;
- support delayed poll/retry configuration.
Tests:
- query history SQL filters by run id;
- linhas de uso da conta ausentes retornam status atrasado/pendente;
- a inserção de evidência de custo é idempotente o suficiente para reconciliação repetida.
Live smoke:
- run minimal smoke;
- reconciliar o custo para um ID de execução;
- verifique as linhas
ctrl_ingestion_costou o status pendente documentado.
Commit message:
feat(snowflake): smoke query history cost reconciliation
Commit 20: Expansão de fontes para formatos de stage
Objetivo: ampliar o suporte à fonte de arquivos, mantendo a extração não-Snowflake review-first.
Implementation items:
- suporte CSV preparado com formato de arquivo;
- suporte JSON encenado com projeção
VARIANT; - apoiar a projeção Parquet encenada sempre que viável;
- classify external stage requirements;
- manter HTTP/JDBC/Kafka necessária para revisão, a menos que seja pré-preparado.
Tests:
- CSV staged read;
- JSON staged read;
- Parquet leitura encenada ou revisão explícita;
- unsafe file format/stage rejected.
Live smoke:
- stage small CSV;
- run bronze staged-file append;
- validar evidências de destino e cópia/fonte.
Commit message:
feat(snowflake): expand staged file source support
Commit 21: Linhagem e explicação de evidências
Goal: populate lineage/explain control tables.
Implementation items:
- escrever a linhagem ContractForge imediata durante a execução;
- add optional delayed
ACCESS_HISTORYreconciliation; - capture a saída
EXPLAINpara instruções suportadas; - persist
ctrl_ingestion_lineage; - persist
ctrl_ingestion_explain.
Tests:
- o evento de linhagem inclui ID de origem/destino/execução;
- explicar o texto do plano de armazenamento de captura;
- Account Usage latency is handled as pending.
Live smoke:
- verificar linhas de linhagem;
- verifique as linhas explicativas.
Commit message:
feat(snowflake): record lineage and explain evidence
Commit 22: Documentação e Exemplos
Objetivo: documentar a operação do Snowflake no mesmo padrão do AWS/Databricks.
Implementation items:
- add
docs/adapters/snowflake.md; - add service-user/PAT/key-pair setup guide;
- add minimal smoke guide;
- adicionar guia de implantação do projeto;
- adicionar guia de governança/acesso;
- add cost reconciliation guide;
- update site docs if applicable;
- adicione projeto de exemplo Snowflake do mundo real.
Validação:
- os links docs passam nos testes de documentação existentes;
- exemplos são renderizados com CLI atual.
Commit message:
docs: add Snowflake adapter operations guide
Commit 23: Matriz de Estabilização e CI Gates
Goal: make readiness measurable.
Implementation items:
- add
docs/specs/snowflake-stabilization-matrix.md; - listar o status de suporte para cada recurso de fonte/gravação/governança/evidência;
- mapeie cada linha para testes e comando de smoke;
- adicionar fluxo de trabalho GitHub opcional/manual para smoke Snowflake;
- adicione verificação de embalagem para extras de tempo de execução.
Tests:
- mapa de documentação inclui matriz;
- os testes de embalagem incluem
contractforge-snowflake[runtime]sempre que viável; - A sintaxe do fluxo de trabalho do CI é válida.
Commit message:
docs: add Snowflake stabilization matrix
Commit 24: Release Candidate Cleanup
Objetivo: terminar a disciplina de lançamento com qualidade alfa.
Implementation items:
- remover dependências temporárias do
.tmpsmoke dos documentos; - garantir que as exportações públicas de API sejam estáveis;
- run full tests;
- run live minimal smoke;
- run live failure smoke;
- execute estágio/procedimento/tarefa ao vivo onde as credenciais permitirem;
- atualizar o status de vencimento do README;
- marque limitações conhecidas de necessidade de revisão.
Validação:
uv run pytest;uv build;- resumo do smoke real do Snowflake anexado às notas de release;
- nenhuma importação do SDK Snowflake no caminho de importação padrão.
Commit message:
chore(snowflake): prepare adapter alpha release
Running Status
Use esta seção como terreno de compromisso.
| Commit | Status | Notes |
|---|---|---|
| 01 | Complete | Documento de plano e links adicionados. |
| 02 | Complete | CLI apoiado por conector é executado e testes focados são aprovados. A execução da função de serviço é desbloqueada pelo Commit 04. |
| 03 | Complete | Pacote smoke de primeira classe e CLI adicionados; smoke embalada ao vivo passada com CFINGESTSVC. |
| 04 | Complete | A tabela de controle DDL pode ignorar a inicialização do banco de dados/esquema existente; smoke de função de serviço ao vivo passada em CONTRACTFORGE_TEST_DB.PUBLIC. |
| 05 | Complete | Linhas de tempo de execução/métricas de consulta registradas em evidências de execução; linhas verificadas de smoke embaladas ao vivo e IDs de consulta. |
| 06 | Complete | smoke-failure-paths adicionado; smoke viva verificou evidências de falta de fonte e aborto de qualidade. |
| 07 | Complete | Registro de origem adicionado para fontes de tabela/view/sql/stage; sucesso e fracasso ao vivo passam após a refatoração. |
| 08 | Complete | Registro de preparação adicionado com projeção de metadados, filtros, transformações de substituição nativas do Snowflake, desduplicação determinística e passagem de smoke de transformação/desduplicação ao vivo. |
| 09 | Complete | Modos de gravação divididos em módulos de registro anexar/substituir/upsert/hash-diff; testes focados e smoke de sucesso/fracasso ao vivo foram aprovados. |
| 08 | Pending | Preparation registry. |
| 09 | Pending | Registro em modo de gravação. |
| 10 | Complete | A política de esquema agora inspeciona INFORMATION_SCHEMA com fallback de conector, registra evidências aditivas de alteração de esquema/métricas de execução, rejeita alterações de tipo incompatíveis e passagens aditivas/estritas em tempo real são aprovadas. |
| 11 | Complete | O tempo de execução de qualidade agora registra resumos por regra, propaga quality_status em evidências de execução, rejeita quarentena agregada, filtra gravações de quarentena em nível de linha, relata métricas de linha em quarentena e passa/quarentena/aborta smokes passadas ao vivo. |
| 12 | Complete | O tempo de execução de estado agora cita colunas da tabela de controle, registra linhas de estado com falha, suporta filtragem de marca d'água/gravação de candidato anterior, ignora replays de idempotência bem-sucedidos com evidências e fornece aquisição/liberação de bloqueio opcional com marca d'água/fumos de idempotência ao vivo. |
| 13 | Complete | Comentários de tabela/coluna, tag qualificada SQL, evidência somente de validação de tag, políticas de ignorar/avisar/reprovar, redação de evidências de anotação, documentos e smoke de comentários ao vivo/validação de tag aprovada. |
| 14 | Complete | Concessões, evidência de acesso somente validação, política de acesso de linha SQL, política de mascaramento SQL, controle de revisão de revogação destrutiva, redação de evidência de acesso, documentos e smoke de acesso somente validação ao vivo aprovada. |
| 15 | Complete | smoke-stage-publish cria um estágio interno temporário, publica o pacote do executor de biblioteca, recarrega artefatos de manifesto/contrato/ambiente de @stage por meio de GET apoiado por conector, executa o contrato de teste e passa a smoke ao vivo. |
| 16 | Complete | O comando do procedimento smoke agora prepara importações ZIP compatíveis com Snowflake para as rodas do núcleo/adaptador construídas, padroniza os pacotes de procedimento para o conjunto de dependências de tempo de execução, ignora a mutação da tag de consulta somente do conector dentro do manipulador Snowpark e o smoke do procedimento hospedado ao vivo passado com o ID de consulta 01c4ea61-0001-6b57-0001-084600149952. |
| 17 | Complete | Ciclo de vida da tarefa SQL, consulta de histórico de tarefas em nível de gráfico, smoke-task-graph, testes de simulação e conjunto focado aprovados. A smoke do gráfico de tarefas ao vivo passou depois que as concessões de tarefas foram provisionadas. |
| 18 | Complete | Adicionada execução de tarefa simulada/ao vivo run-project com espera de histórico de tarefa limitada opcional, saída JSON somente resumo, cleanup-plan não destrutivo, testes e documentos. |
| 19 | Complete | A reconciliação de custos agora investiga IDs de execução estruturados do QUERY_TAG, retorna PENDING para uso de conta atrasado ou indisponível, exclui sinais de custo anteriores de propriedade do adaptador antes da inserção, registra o histórico de consultas e sinais opcionais de atribuição de consulta, expõe sinalizadores de espera/pesquisa CLI e passa nos testes focados. As concessões de uso de conta ativa foram validadas para SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY e QUERY_ATTRIBUTION_HISTORY. Tags de consulta em tempo de execução foram corrigidas para armazenar JSON analisáveis usando nomes de destino sem aspas; smoke mínima fresca passada com a execução d8bc24b9-f36e-4e44-8383-115ca89a925a, e a reconciliação permanece corretamente PENDING até que a latência de uso da conta exponha esse novo ID de execução. |
| 20 | Complete | A renderização de origem de arquivo preparada agora suporta projeções posicionais CSV, projeções tipadas/carga útil JSON e projeções tipadas Parquet com formatos de arquivo Snowflake nomeados ou padrões de estágio; formatos de teste não suportados são necessários para revisão e caminhos de teste/expressões de coluna/mapeamentos de formato de arquivo inseguros são rejeitados. Os testes de origem focada são aprovados. O anexo de arquivo de teste Live CSV passou com a execução 0159e736-5c5e-4dfd-91cb-3b5373c36369, gravou 2 linhas em CF_SMOKE_STAGEFMT_ORDERS e os objetos temporários de estágio/formato de arquivo/destino foram limpos. |
| 21 | Complete | A execução em tempo de execução agora grava linhas de linhagem imediatas no estilo ContractForge/OpenLineage e evidências EXPLAIN USING TEXT, expõe a reconciliação atrasada de ACCESS_HISTORY por meio de API/CLI com manipulação de PENDING e aprovação nos testes Snowflake focados. A smoke mínima ao vivo escreveu 5 linhas de linhagem e 5 linhas explicativas; ACCESS_HISTORY estava acessível, mas ainda tinha 0 linhas para executar 5a8c49dc-2ccd-439e-9ae0-58bc7fcb02d0, correspondendo ao caminho pendente atrasado. |
| 22 | Complete | Adicionado guia de operações docs/adapters/snowflake.md, matriz de estabilização e links atualizados de índice/documentos do adaptador. |
| 23 | Complete | Adicionado docs/specs/snowflake-stabilization-matrix.md com escopo, portões de liberação e plano de desbloqueio de portão bloqueado. |
| 24 | Complete | Status de maturidade do README atualizado de "Planejamento" para "Alfa com validação real do Snowflake". Limitações conhecidas de necessidade de revisão marcadas para portas de procedimentos/tarefas bloqueadas. Testes focados foram aprovados. |
| 25 | Complete | Real Snowflake executor de biblioteca de procedimento hospedado USGS GeoJSON medalhão congelado executado de bronze a ouro contra a mesma linha de base de 30 recursos usada para paridade AWS/Databricks. As contagens Snowflake foram bronze = 1, prata = 30, ouro diariamente = 2, faixas de ouro = 3 com 4 linhas de execução bem-sucedidas, 16 linhas de qualidade, sem linhas de quarentena e sem erros. As evidências de destino/execução AWS e Databricks corresponderam às quatro contagens de resultados e aos status SUCCESS/PASSED. Testes completos aprovados. |
Regra de Execução
Trabalhe neste arquivo em ordem, a menos que uma dependência de bloqueio force um local trocar. Cada commit deve atualizar a tabela de status, incluir testes para sua alteração, e registre qualquer comando live-smoke que foi executado.