Coalesce Quality Recon Configuration

Type: object

Configuration file format for synq-recon, the Coalesce Quality data reconciliation tool that compares datasets across databases.

No Additional Properties

Type: string

Short machine identifier for the suite.

Must match regular expression: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$

Must be at least 1 characters long

Must be at most 255 characters long

Type: string

Human-readable title for the suite.

Type: string

Human-readable description.

Type: object

Database connection definitions.

Each additional property must conform to the following schema

Type: object

Connection is a single database connection entry in a connections map.

No Additional Properties

Type: string

Display name for this connection. Defaults to the connection ID (map key).

Type: boolean

When true, the connection is skipped during execution.

Type: integer

Maximum number of parallel queries. Range: 1-256. Defaults to 8.

Value must be greater or equal to 1 and lesser or equal to 256

Type: object

PostgresConf contains PostgreSQL connection parameters.

No Additional Properties

Type: integer

Value must be greater or equal to 1 and lesser or equal to 65535

Type: boolean

Disable SSL certificate verification.

Type: object

SnowflakeConf contains Snowflake connection parameters.

No Additional Properties

Type: string

Snowflake account identifier.

Type: string

Virtual warehouse to use for queries.

Type: string

Role to assume after connecting.

Type: string

PEM-encoded private key content for key-pair authentication.

Type: string

Path to a PEM-encoded private key file.

Type: string

Passphrase to decrypt the private key.

Type: array of string

Databases to include. If empty, all accessible databases are scraped.

No Additional Items

Each item of this array must be:

Type: boolean

Use GET_DDL() to retrieve DDL for tables and views.

Type: string

Database containing the ACCOUNT_USAGE schema. Defaults to SNOWFLAKE.

Type: string

Set to "externalbrowser" to use SSO browser-based authentication.

Type: object

BigQueryConf contains BigQuery connection parameters.

No Additional Properties

Type: string

GCP project ID.

Type: string

Region for BigQuery resources.

Type: string

Inline JSON content of the service account key.

Type: string

Path to the service account key JSON file.

Type: array of string

Explicit list of dataset names to scrape. When set, only these datasets are queried
and project-level bigquery.datasets.list permission is not required.

No Additional Items

Each item of this array must be:

Type: object

RedshiftConf contains Amazon Redshift connection parameters.

No Additional Properties

Type: integer

Value must be greater or equal to 1 and lesser or equal to 65535

Type: boolean

Estimate table freshness from Redshift query logs instead of metadata.

Type: object

MySQLConf contains MySQL connection parameters.

No Additional Properties

Type: integer

Value must be greater or equal to 1 and lesser or equal to 65535

Type: boolean

Disable SSL certificate verification.

Type: object

Additional DSN parameters passed to the driver.

Each additional property must conform to the following schema

Type: string

Type: object

ClickhouseConf contains ClickHouse connection parameters.

No Additional Properties

Type: integer

Value must be greater or equal to 1 and lesser or equal to 65535

Type: string

Name this ClickHouse is published under, and the top element of every path
and breadcrumb its tables appear in — "prod", "staging", "eu-analytics".

ClickHouse has no container above a database, so something has to name the
service itself. Left empty, that is the host above, which is correct but
unreadable for a ClickHouse Cloud endpoint; a name given here replaces it.

Two connections to the same service must give the same name, and the name is
the identity of everything scraped through it: changing it republishes those
tables under new paths, and the old ones stop being produced. Pick one per
service and keep it.


Examples:

"prod"
"staging"

Type: string

Database the connection opens with, so an unqualified table name in a query
resolves against it. It does not restrict what is scraped: metadata comes
from system tables and covers every database the user can see, whatever this
says. Empty opens on "default".

Type: boolean

Disable SSL certificate verification.

Type: object

ClickHouse server settings applied to every connection, written as they
would be in a DSN query string (e.g. maxexecutiontime: "300"). Values are
typed the way ClickHouse types them in a connection string: "true" and
"false" become 1 and 0, whole numbers become integers, anything else is
passed through as text. A name given here replaces the value the scrape
would otherwise use.

Each additional property must conform to the following schema

Type: string

Type: object

How ClickHouse system tables are read. Omit to keep reading across a
cluster named "default", which every ClickHouse Cloud service provides.

No Additional Properties

Type: string

How system tables are read. Optional — defaults to "allreplicas".
- "all
replicas": read through clusterAllReplicas(<name>, ...) so metadata
covers every replica. Requires GRANT REMOTE ON ..
- "singlenode": read on the connected node only. The one setting that
works on an install whose remote
servers defines no cluster, and it
needs no REMOTE grant — but on an install that does have replicas it
reports the metadata of a single node, so choose it deliberately.


Examples:

"all_replicas"
"single_node"

Type: string

Cluster to read through, as named under remoteservers in the ClickHouse
configuration. SELECT DISTINCT cluster FROM system.clusters lists what a
server has. Empty means "default". Ignored when mode is "single
node".

Type: object

TrinoConf contains Trino / Starburst connection parameters.

No Additional Properties

Type: integer

Value must be greater or equal to 1 and lesser or equal to 65535

Type: boolean

Use a plain HTTP connection instead of HTTPS.

Type: array of string

Catalogs to include. Required for most Trino deployments.

No Additional Items

Each item of this array must be:

Type: object

DatabricksConf contains Databricks connection parameters.

No Additional Properties

Type: string

Databricks workspace URL.

Type: string

Personal access token for authentication.

Type: string

OAuth client ID (M2M authentication).

Type: string

OAuth client secret (M2M authentication).

Type: string

SQL warehouse ID to use for queries.

Type: object

MSSQLConf contains Microsoft SQL Server / Azure SQL Database connection parameters.

No Additional Properties

Type: integer

Value must be greater or equal to 1 and lesser or equal to 65535

Type: boolean

Trust the server certificate without validation.

Type: string

Encryption mode (e.g. "true", "false", "strict").

Type: string

Federated authentication method (e.g. "ActiveDirectoryDefault").

Type: string

Pre-acquired access token for Azure AD authentication.

Type: string

Azure AD application client ID for service principal auth.

Type: boolean

Sign in as the user running the agent or CLI instead of a SQL Server login,
the same as sqlcmd -E (Windows Authentication). On Windows this uses the
logged-in user (SSPI); on macOS and Linux the Kerberos ticket from kinit,
read from the file cache named by KRB5CCNAME or /tmp/krb5cc<uid>. Leave
username, password, access
token and fed_auth empty.

Type: object

OracleConf contains Oracle Database connection parameters.

No Additional Properties

Type: integer

Value must be greater or equal to 1 and lesser or equal to 65535

Type: string

Oracle service name.

Type: boolean

Enable SSL/TLS for the connection.

Type: boolean

Verify the server's SSL certificate.

Type: string

Path to Oracle Wallet directory for authentication.

Type: boolean

Enable Oracle Diagnostics Pack features (AWR, ASH).

Type: object

DuckDBConf contains DuckDB / MotherDuck connection parameters.

No Additional Properties

Type: string

File path, ':memory:' for in-memory, or MotherDuck database name.

Type: string

MotherDuck organization/account name (for cloud mode).

Type: string

MotherDuck authentication token (required for cloud MotherDuck).

Type: object

AthenaConf contains Amazon Athena connection parameters.

No Additional Properties

Type: string

AWS region hosting the Athena service and Glue Data Catalog.

Type: string

Athena workgroup. Defaults to "primary" when empty. Must have a
ResultConfiguration.OutputLocation configured.

Type: string

Glue Data Catalog name. Defaults to "AwsDataCatalog" when empty.

Type: string

Static AWS credentials. Pair accesskeyid with secretaccesskey.

Type: string

Optional STS session token, when accesskeyid+secretaccesskey are
short-lived STS credentials.

Type: string

Named AWS shared-config profile (from ~/.aws/credentials or
~/.aws/config). Used only when static credentials are absent.

Type: string

IAM role ARN to assume via STS. Wraps whichever base credentials
resolved above (or the host's default chain when no other auth is set).

Type: string

External ID required by the role's trust policy. Pair with role_arn.

Type: string

Optional STS session name. Defaults to "synq-athena".

Type: object

Scope filter for include/exclude filtering by Glue catalog, Glue
database, and table. Mapping: ScopeRule.database = Glue catalog,
ScopeRule.schema = Glue database, ScopeRule.table = Glue table/view.

No Additional Properties

Type: array

Include rules. If non-empty, only matching objects are accepted.

No Additional Items

Each item of this array must be:

Type: object

ScopeRuleConf is a single include/exclude rule.

No Additional Properties

Type: string

Database-level pattern (catalog for Athena/Trino/Databricks, project for BigQuery).

Type: string

Schema-level pattern (Glue database for Athena, dataset for BigQuery).

Type: string

Table or view name pattern.

Type: array

Exclude rules. Matching objects are rejected, even if they match an include rule.

No Additional Items

Each item of this array must be:

Type: boolean

Use SHOW CREATE TABLE to retrieve full table DDL (CTAS bodies, Iceberg
TBLPROPERTIES, Hive external LOCATION/SerDe). One Athena query per
table — billed at the 10MB scan minimum each.

Type: boolean

Use SHOW CREATE VIEW to retrieve full view DDL instead of the
rewritten body from informationschema.views.viewdefinition.

Type: boolean

For Iceberg tables, fan out one Athena query per table to read row
count, total file size, snapshot commit timestamp, and partition
columns from the table's $files / $snapshots / $partitions metadata
tables. Hive externals are unaffected.

Type: object

FabricConf contains the connection settings for a Microsoft Fabric Warehouse or Lakehouse SQL analytics endpoint.

No Additional Properties

Type: string

Hostname of the workspace's SQL analytics endpoint. Copy it from the
Fabric portal: open your Warehouse or Lakehouse, then Settings → SQL
connection string.


Example:

"my-workspace.datawarehouse.fabric.microsoft.com"

Type: string

Default database for queries that don't name one explicitly. Optional —
defaults to "master". Because metadata and metric queries are always
fully qualified, this only affects ad-hoc SQL that omits the database.


Example:

"my_warehouse"

Type: string

How to authenticate to Fabric. Optional — defaults to a service principal
(clientid + clientsecret). Values are matched case-insensitively, and
the equivalent dbt-fabric and Microsoft ODBC spellings are also accepted:
- "serviceprincipal" (default): Entra ID service principal. Set
client
id, clientsecret and, if needed, tenantid.
- "azurecli": reuse the machine's az login session. On-prem agent only.
- "default": try Azure's default credential chain (environment, managed
identity, CLI, ...). On-prem agent only.
- "managed
identity": use an Azure managed identity; set client_id to
select a user-assigned identity. On-prem agent only.


Examples:

"service_principal"
"azure_cli"
"default"
"managed_identity"

Type: string

Application (client) ID of the Entra ID service principal. When authtype
is "managed
identity", this instead selects a user-assigned identity.


Example:

"00000000-0000-0000-0000-000000000000"

Type: string

Client secret for the service principal. Supply it through an environment
variable (e.g. ${FABRICCLIENTSECRET}) rather than committing it in plain
text.


Example:

"${FABRIC_CLIENT_SECRET}"

Type: string

Entra ID tenant (directory) ID. Optional — inferred from the endpoint
hostname when omitted. Set it only when the service principal lives in a
different tenant than the workspace.


Example:

"00000000-0000-0000-0000-000000000000"

Type: string

A pre-acquired Entra ID OAuth access token for the SQL scope
(https://database.windows.net/.default). Optional — when set it overrides
every other authentication method. Mainly for hosted deployments that mint
their own token.


Example:

"${FABRIC_ACCESS_TOKEN}"

Type: object

Optional include/exclude filter that limits which databases, schemas and
tables are scanned. When omitted, the whole workspace is scanned.

Same definition as scope

Type: object

Db2Conf contains the connection settings for IBM Db2 for Linux, UNIX and Windows (Db2 LUW).

No Additional Properties

Type: string

Host name or IP address of the Db2 server (HOSTNAME).


Example:

"db2.example.com"

Type: integer

TCP/IP port of the instance (PORT): the SVCENAME database manager
configuration parameter, or SSL_SVCENAME when security is SSL. Optional,
defaults to 50000, or 50001 with SSL.

Value must be greater or equal to 1 and lesser or equal to 65535

Type: string

Database name or alias (DATABASE), as in CONNECT TO <database>.


Example:

"SAMPLE"

Type: string

Authorization ID to connect with (UID). Db2 checks it against the
server's operating system, or LDAP when an LDAP plugin is configured.


Example:

"db2inst1"

Type: string

Password of the authorization ID (PWD). Supply it through an environment
variable (e.g. ${DB2_PASSWORD}) rather than committing it in plain text.


Example:

"${DB2_PASSWORD}"

Type: enum (of string)

Set to SSL to connect over SSL/TLS (SECURITY=SSL). Leave it out for a
plain TCP/IP connection.

Must be one of:

  • "SSL"
  • "ssl"

Type: string

Path to the server's certificate, or the certificate of the CA that
signed it, in PEM format (SSLServerCertificate), such as the .arm file
extracted from the instance's keystore with gsk8capicmd64. Needs
security set to SSL. Leave it and ssl
servercertificatepem out to check
the server against the system trust store.


Example:

"/opt/certs/db2server.arm"

Type: string

Content of the same certificate, starting with
-----BEGIN CERTIFICATE-----, for when you can't point to a file. Needs
security set to SSL.

Type: enum (of string)

How the authorization ID and password travel to the server
(AUTHENTICATION). SERVER (default) sends them unencrypted, so use it with
SSL on an untrusted network. SERVER_ENCRYPT encrypts them and needs the
instance's AUTHENTICATION to accept encrypted credentials.

Must be one of:

  • "SERVER"
  • "SERVER_ENCRYPT"

Type: object

Reconciliation scenario definitions.

Each additional property must conform to the following schema

Type: object

Reconciliation defines a single reconciliation scenario.

No Additional Properties

Type: string

Human-readable title.

Type: string

Human-readable description.

Type: object

Source dataset.

No Additional Properties

Type: string

Connection name (must exist in connections map).

Type: string

Base SQL query (mutually exclusive with 'table'). Supports {{variable_name}} interpolation.

Type: object

Table reference (mutually exclusive with 'query'). Accepts "db.schema.table" string or structured object.

Type: string

Table in dotted format: 'table', 'schema.table', or 'database.schema.table'

Type: object

Structured table reference

Type: string

Database/catalog name

Type: string

Schema/dataset name

Type: string

Table or view name

Must be at least 1 characters long

Type: array of string

Explicit list of the columns to compare, read from the table or from the query's result. Mutually exclusive with 'exclude_columns'.

No Additional Items

Each item of this array must be:

Type: array of string

Columns to leave out of the comparison, from the table or the query's result (resolved at runtime). Mutually exclusive with 'columns'.

No Additional Items

Each item of this array must be:

Type: string

SQL WHERE clause filter (only with 'table'). Applied as WHERE (condition). Supports {{variable_name}} interpolation.

Type: string

Time-travel timestamp. Wraps query with database-specific time-travel syntax.

Type: object

Single key column for bisection split points and aggregate grouping.
Deprecated in favor of keycolumns; accepts a string or a one-element list.
Set either key
column or key_columns, not both.

Type: array of string
No Additional Items

Each item of this array must be:

Type: object

Ordered key columns for bisection split points and aggregate grouping.
Supports composite (multi-column) keys; the bisection orders and
range-filters on the column tuple. Accepts a string or a list of strings.

Same definition as key_column

Type: enum (of string)

Reconciliation mode.

Must be one of:

  • "row_count"
  • "full"
  • "row_checksum"
  • "aggregate"

Type: enum (of string)

Hash algorithm for row checksums.

Must be one of:

  • "auto"
  • "md5"
  • "farm_fingerprint"
  • "xxhash64"

Type: boolean

Automatically match columns case-insensitively.

Type: object

Column name mapping between source and target.

Type: object

Map source column names to target column names (object format)

Each additional property must conform to the following schema

Type: string
Type: array of object

Map source column names to target column names (array format)

No Additional Items

Each item of this array must be:

Type: object

Type: string

Must be at least 1 characters long

Type: string

Must be at least 1 characters long

Type: object

BisectionConfig controls the bisection drill-down behavior.

No Additional Properties

Type: boolean Default: true

Whether a run may drill into a mismatch of this reconciliation. Defaults to true, also when a bisection block omits it. false keeps run --auto-drill and workspace runs to the quick check for this reconciliation, whatever the run's own drill setting; run-drill still drills it.

Type: integer

Number of segments per bisection level.

Value must be greater or equal to 2 and lesser or equal to 1024

Type: integer

Stop drilling when segment row count falls below this.

Value must be greater or equal to 1

Type: enum (of string)

Segmentation strategy.

Must be one of:

  • "auto"
  • "quantile"
  • "hash"
  • "time"

Type: string

Column for time-based partitioning (required when strategy is 'time').

Type: enum (of string)

Time truncation granularity.

Must be one of:

  • "hour"
  • "day"
  • "week"
  • "month"
  • "quarter"
  • "year"

Type: object

ReportingConfig controls what level of detail is reported.

No Additional Properties

Type: enum (of string)

How much a drill reports about mismatched rows. detailed reads their
column values and works only when synq-recon runs locally: Coalesce
Quality refuses to save, promote or run a suite that sets it.

Must be one of:

  • "count_only"
  • "with_keys"
  • "detailed"

Type: integer

Value must be greater or equal to 1

Type: object

AggregateConfig defines aggregate comparison settings.

No Additional Properties

Type: array

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: object

MeasureConfig defines a column + aggregation function pair.

No Additional Properties

Type: string

Column to aggregate, or "" with COUNT to count each group's rows. No
other function takes "
".

Must be at least 1 characters long

Type: object

Type: enum (of string)

Single aggregation function

Must be one of:

  • "SUM"
  • "COUNT"
  • "AVG"
  • "MIN"
  • "MAX"
Type: array of enum (of string)

Multiple aggregation functions

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: enum (of string)

Must be one of:

  • "SUM"
  • "COUNT"
  • "AVG"
  • "MIN"
  • "MAX"

Type: object

Column(s) defining the drill-down hierarchy.

Type: array of string

Hierarchical group columns for drill-down

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: object

ThresholdConfig defines tolerance for aggregate differences.

No Additional Properties

Type: number

Maximum absolute difference.

Value must be greater or equal to 0

Type: number

Maximum percentage difference (0.1 = 10%).

Value must be greater or equal to 0

Type: enum (of string)

Percentage formula: source, target, or symmetric.

Must be one of:

  • "source"
  • "target"
  • "symmetric"

Type: object

Per group_column threshold overrides.

Each additional property must conform to the following schema

Type: object

ThresholdConfig defines tolerance for aggregate differences.

Same definition as thresholds

Type: object

Per measure threshold overrides, keyed by FUNC(column).

Each additional property must conform to the following schema

Type: object

ThresholdConfig defines tolerance for aggregate differences.

Same definition as thresholds

Type: object

Row count comparison settings. Only used when mode is row_count.

No Additional Properties

Type: object

Tolerance for the difference between the source and target row counts. A difference within it reports mismatched within threshold instead of mismatched, and no drill runs. When not set, the counts must be equal.

No Additional Properties

Type: number

Maximum absolute difference in rows.

Value must be greater or equal to 0

Type: number

Maximum percentage difference (0.001 = 0.1%).

Value must be greater or equal to 0

Type: enum (of string)

Percentage formula: source, target, or symmetric.

Same definition as percentage_mode

Type: object

ErrorHandlingConfig controls retry behavior for query failures.

No Additional Properties

Type: object

Per-query timeout (e.g., '30s', '5m'). A query that runs past it fails with a timeout and is not retried. Covers setup and teardown statements too; to bound the whole reconciliation, use its timeout.

Text

Type: string

14d, -30m, 1h30m, P14D, PT6H, -PT30M, 14 days, 1 hour 30 minutes.


Examples:

"14d"
"-30m"
"1h30m"
"P14D"
"PT6H"
"-PT30M"
"14 days"
"1 hour 30 minutes"

dbt {count, period}

Type: object

dbt's duration shape, as in a source's warn_after.

No Additional Properties
Examples:

{
    "count": 14,
    "period": "day"
}
{
    "count": -30,
    "period": "minute"
}

Type: integer

How many periods. Negative for an offset back in time.

Type: enum (of string)

The unit, as dbt spells a source's warn_after period. The canonical singular is listed; the loader also takes plurals and any casing.

Must be one of:

  • "second"
  • "minute"
  • "hour"
  • "day"
  • "week"

Type: integer

Maximum retry attempts for transient query failures. Setup and teardown statements are never retried.

Value must be greater or equal to 0 and lesser or equal to 10

Type: object

Initial backoff delay before the first retry.

Same definition as query_timeout

Type: number

Backoff multiplier applied after each retry.

Value must be greater or equal to 1

Type: object

WindowConfig restricts a reconciliation to a recent time range, and defines {{windowstart}} and {{windowend}} for its queries.

No Additional Properties

Type: string

Timestamp or date column the window filters each table side on, with no hand-written predicate. A query side, or a table 'where' that already references {{windowstart}} or {{windowend}}, is filtered only by what its SQL says.

Type: object

How far back to look from the run's reference time, and so positive (e.g., '14d', 'P14D', '14 days', {count: 14, period: day}). A zero or negative lookback is ignored.

Same definition as query_timeout

Type: enum (of string)

'sliding' (default) ends the window at the run's reference time. 'fixed' ends it at the last period boundary in UTC (midnight for a whole number of days, the hour for whole hours, otherwise the minute), so every run inside one period compares the same rows.

Must be one of:

  • "sliding"
  • "fixed"

Type: object

Maximum wall-clock time for this reconciliation (e.g. "5m"): its setup, quick check and any drill. Overrides the suite's execution.reconciliationtimeout. It never extends the run's timeout; for a bound on each query, use errorhandling.query_timeout.

Same definition as query_timeout

Type: object

Dynamic cutoff filter. Derives a watermark value from actual data to exclude rows not yet synced.

No Additional Properties

Type: string

Simple: same column for both source and target watermark derivation.

Type: string

Medium: different columns per side.

Type: object

Advanced: full per-side watermark derivation config.

No Additional Properties

Type: string

Column to derive the watermark from (e.g., "createdat", "syncedat").
Required when query is not set.

Type: enum (of string)

Aggregate function for watermark derivation: MAX (default) or MIN.

Must be one of:

  • "MAX"
  • "MIN"

Type: string

Custom SQL query for watermark derivation. Must return a single row with a "watermark" column.
When not set, auto-generated from the dataset at runtime.

Type: object

Advanced: full per-side watermark derivation config.

Same definition as source

Type: enum (of string)

How to combine watermarks when both sides are configured: min, max, source, target.

Must be one of:

  • "min"
  • "max"
  • "source"
  • "target"

Type: enum (of string)

Truncate the combined watermark to a time boundary before applying.

Must be one of:

  • "HOUR"
  • "DAY"
  • "WEEK"
  • "MONTH"
  • "QUARTER"
  • "YEAR"

Type: object

Time offset applied after truncation. Negative durations create a safety buffer (e.g., '-30m', '-PT30M', '-30 minutes', {count: -30, period: minute}).

Same definition as query_timeout

Type: object

Advanced: custom apply config for WHERE clause generation.

No Additional Properties

Type: object

CutoffApplySide configures WHERE clause generation for one side.

No Additional Properties

Type: string

Column to filter on. When not set, uses the derivation column.

Type: string

Comparison operator. Default: "<=".

Type: object

CutoffApplySide configures WHERE clause generation for one side.

Same definition as source

Type: object

How column values are compared in row_checksum mode. Overrides the suite's comparison settings.

No Additional Properties

Type: object

Decimal places decimal and floating-point columns are compared at (0-18), or "exact". When not set, a decimal column is compared at the scale both sides share and a floating-point column at the digits both sides hold. "exact" compares a decimal at its declared scale, which must be known and the same on both sides, and a floating-point column digit for digit, which needs both sides on the same kind of database: otherwise the reconciliation fails rather than rounding.

Type: integer

Value must be greater or equal to 0 and lesser or equal to 18

Type: enum (of string)

Must be one of:

  • "exact"

Type: array

Settings for individual columns, overriding the settings above. Written on a reconciliation, an entry beats the reconciliation's own settings. Written on the suite, it applies to every reconciliation with that column that does not set the same setting itself.

No Additional Items

Each item of this array must be:

Type: object

ColumnComparison holds the comparison settings of one column.

No Additional Properties

Type: string

Column name as the source side reports it, matched case-insensitively. With a column_mapping, the source column of the pair.

Must be at least 1 characters long

Type: object

Decimal places this column is compared at (0-18), or "exact".

Same definition as numeric_scale

Type: enum (of string)

How much of a second this timestamp column is compared to.

Must be one of:

  • "second"
  • "millisecond"
  • "microsecond"
  • "exact"

Type: string

The time zone the source side holds this column's wall clock in, as an IANA name.

Must be at least 1 characters long

Type: string

The time zone the target side holds this column's wall clock in, as an IANA name.

Must be at least 1 characters long

Type: enum (of string)

How much of a second timestamp columns are compared to, timestamp key columns included. When not set, a timestamp is compared at the precision both sides hold, the coarser of the two. Both sides are cut to it, never rounded.

Same definition as timestamp_precision

Type: string

The time zone the source side's timestamps without a time zone hold their wall clock in, as an IANA name such as Europe/Warsaw. When not set, UTC. A timestamp with a time zone is not affected.

Must be at least 1 characters long

Type: string

The time zone the target side's timestamps without a time zone hold their wall clock in, as an IANA name such as Europe/Warsaw. When not set, UTC. A timestamp with a time zone is not affected.

Must be at least 1 characters long

Type: object

Annotations attached to this reconciliation case. Merged with suite-level annotations.

Type: array of object

Canonical list form. Each entry has a name and optional values.

No Additional Items

Each item of this array must be:

Type: object

Type: string

Must be at least 1 characters long

Must be at most 50 characters long

Type: array of string

Must contain a maximum of 20 items

No Additional Items

Each item of this array must be:

Type: string

Must be at least 1 characters long

Must be at most 50 characters long

Type: object

Map shorthand: key is annotation name; value is null (name-only), a single string, or an array of strings.

Each additional property must conform to the following schema


Type: string

Must be at least 1 characters long

Must be at most 50 characters long

Type: array of string

Must contain a maximum of 20 items

No Additional Items

Each item of this array must be:

Type: string

Must be at least 1 characters long

Must be at most 50 characters long

Type: object

Per-reconciliation setup/teardown.

Type: boolean

Whether teardown runs on failure. Inherits from suite level when not set.

Type: boolean

When true, logs setup errors as warnings. Inherits from suite level when not set.

Type: object

Template variables for query interpolation via {{variable_name}} syntax.

Each additional property must conform to the following schema

Type: string

Type: object

Setup queries run once before all reconciliations begin.

Each additional property must conform to the following schema

Type: object
Same definition as reconciliations_additionalProperties_setup_additionalProperties

Type: object

Teardown queries run once after all reconciliations complete.

Each additional property must conform to the following schema

Type: object
Same definition as reconciliations_additionalProperties_setup_additionalProperties

Type: object

SQL file(s) to load and run as setup queries.

Each additional property must conform to the following schema

Type: object
Same definition as reconciliations_additionalProperties_setup_additionalProperties

Type: object

SQL file(s) to load and run as teardown queries.

Each additional property must conform to the following schema

Type: object
Same definition as reconciliations_additionalProperties_setup_additionalProperties

Type: boolean

Whether teardown runs even when reconciliations fail with infrastructure errors.

Type: boolean

When true, logs setup query errors as warnings and continues instead of aborting.

Type: boolean

When true, time reference detection (NOW(), CURRENT_DATE, etc.) returns an error instead of a warning.

Type: object

Coalesce Quality API credentials for sending audit logs.

No Additional Properties

Type: string

OAuth client ID for authenticating with Coalesce Quality.

Type: string

OAuth client secret for authenticating with Coalesce Quality.

Type: string

gRPC endpoint for the Coalesce Quality API (e.g. "developer.synq.io:443").

Type: string

gRPC endpoint for the Coalesce Quality ingest API. Defaults to Endpoint if empty.

Type: string

OAuth token URL. Derived from Endpoint if empty.

Type: object

Suite-level annotations.

Same definition as annotations

Type: object

How runs of this suite execute: the run's wall-clock budget, each reconciliation's, and how many reconciliations run in parallel.

No Additional Properties

Type: object

Maximum wall-clock time for a single run of the suite (e.g. "30m", "1h"). Overridden by --timeout on local runs, and by a deployment's or a trigger's execution timeout on server-side runs, which clamp it to a supported range.

Same definition as query_timeout

Type: integer

Maximum number of reconciliations run in parallel. 1 runs them one after another. Multiplies the query load on both warehouses. Overridden by --concurrency on local runs; server-side runs clamp it to a supported maximum.

Value must be greater or equal to 1 and lesser or equal to 64

Type: object

Maximum wall-clock time for each reconciliation of the suite (e.g. "5m"): its setup, quick check and any drill. A reconciliation that runs past it is recorded as failed with a timeout error and the run moves on to the next one, so one slow query cannot use up the whole run. It never extends the run's timeout. A reconciliation's own timeout takes precedence.

Same definition as query_timeout

Type: object

Default comparison settings for every reconciliation. A reconciliation's own comparison settings take precedence.

Same definition as comparison