Skip to main content

Parameter defaults

ContractForge keeps contracts concise, but defaults cannot hide ingestion semantics. A value may default only when omitting it does not change write behavior, data loss risk, governance intent, cost posture or deployment trust boundaries.

Safe core defaults

FieldDefaultWhy
layerbronzeMissing layer means first ingestion layer.
modeappendConservative write behavior; no overwrite, merge or history is implied.
schema_policypermissiveExisting permissive behavior; strict/additive policies remain explicit.
on_quality_failfailQuality remains fail-closed unless warning/quarantine is requested.
hash_strategyexplicitAvoids hashing hundreds of columns by accident.
idempotency_policyalways_runDoes not silently skip requested executions.
source.state.storageadapter_managedAdapter uses its safest native state when no external state is declared.
environment.namedevLogical label only; does not change ingestion semantics.
schedule.timezoneUTCPortable scheduler default when a schedule is declared.

Adapter defaults

Adapters may default native runtime knobs when documented.

AdapterFieldDefault
Databricksevidence catalog/schemamain.ops when no environment is provided.
Databricksworkspace path/Workspace/ContractForge.
Databricksbundle targetenvironment name, defaulting to dev.
AWSGlue version4.0.
AWSworker typeG.1X.
AWSworkers2.
AWStimeout60 minutes.
AWSretries0.
AWSruntime modelibrary_runner.
AWSjob bookmarksInferred from source semantics unless explicitly configured.

Must stay explicit

Do not infer these values:

  • source location, table, query, endpoint and dataset-specific overrides;
  • target table name;
  • non-append write modes;
  • merge keys, SCD keys and hash column policy;
  • quality rules and quality enforcement policy;
  • access grants, row filters and masks;
  • owner, SLA, criticality and runbook metadata;
  • adapter selector in an environment file;
  • AWS artifact URI, Iceberg warehouse, Glue role ARN and wheel location;
  • Databricks workspace/profile/cluster/warehouse identifiers when required;
  • secrets and credentials.

Generated projects

Generated YAML should omit adapter knobs that already have documented adapter defaults. For AWS, the generated environment keeps only non-inferable deployment boundaries such as artifact URI, Iceberg warehouse, wheel path and Glue role ARN. Worker size, worker count, timeout, retries and bookmark settings are omitted unless the user asks for them.