Pular para o conteúdo principal

Contrato ambiental.

O contrato de ambiente mantém as opções de execução da plataforma separadas da ingestão, das anotações, das operações e da semântica de acesso.

Use-o para valores que descrevem onde e como um contrato é planejado ou executado, e não o que os dados significam.

Exemplo

adapter: databricks

evidence:
catalog: main
schema: ops
required: true

artifacts:
uri: s3://contractforge-artifacts/prod/orders/
include_contract_bundle: true
include_normalized_contract: true

runtime:
type: serverless
notebook_name: jobs/bronze/b_orders

extensions:
databricks:
warehouse_id: "{{ secret:databricks/sql_warehouse_id }}"
bundle_target: dev

Fields

FieldPropósito
adapterAdaptador de plataforma solicitado para planejamento ou execução.
evidenceLocalização de evidências neutras e dicas de requisitos.
artifactsLocal de publicação do artefato do adaptador e opções de retenção. AWS usa isso para scripts Glue renderizados e manifestos em S3.
runtimeDicas de tempo de execução/implantação que não são semânticas de origem, destino ou gravação.
extensions.<adapter>Configurações de propriedade do adaptador que não devem vazar para o contrato principal.

O que pertence aqui

  • nome do adaptador e ambiente de destino;
  • opções de catálogo/esquema/prefixo de tabela de evidências;
  • publicação de artefato URI e opções de retenção de artefato geradas;
  • tipo de tempo de execução, como cluster clássico, sem servidor, warehouse, trabalho ou pipeline;
  • destino de implantação ou destino de pacote configurável;
  • opções de execução específicas do adaptador;
  • suposições ambientais exigidas pela revisão.

O que não pertence aqui

  • tabela de origem, caminho, consulta ou autenticação;
  • identidade da tabela de destino;
  • modo de gravação;
  • regras de qualidade;
  • política de esquema;
  • filtros de linha ou máscaras de coluna;
  • proprietário, SLA ou runbook.

Aqueles permanecem em contratos de ingestão, conexão de origem, acesso ou operações.

Comportamento do adaptador

O núcleo pode validar o formato do contrato do ambiente e preservá-lo no pacote. O adaptador decide como interpretar runtime e seu próprio bloco extensions.<adapter>.

Se um ambiente solicitar um adaptador que não esteja instalado ou um tempo de execução que não possa preservar a semântica do contrato, o planejamento deverá retornar UNSUPPORTED ou REVIEW_REQUIRED com um diagnóstico claro.

Exemplo de artefato AWS

AWS Glue executa scripts gerados a partir do S3. O adaptador AWS usa environment.artifacts.uri para publicar artefatos renderizados antes de registrar o Glue job:

name: prod
adapter: aws
artifacts:
uri: s3://contractforge-artifacts/prod/orders/
include_contract_bundle: true
include_normalized_contract: true
parameters:
aws:
iceberg:
warehouse: s3://contractforge-warehouse/prod/
glue_job:
role_arn: arn:aws:iam::123456789012:role/ContractForgeGlueRole

Isso não altera a origem, o destino, o modo de gravação ou a semântica de qualidade. É apenas descreve onde residem os artefatos nativos do AWS e como o Glue deve ser configurado.