SYNQ Recon Audit Log

Type: object

Audit log capturing all operations performed during a synq-recon reconciliation run

Type: const

Schema version

Specific value: "1"

Type: stringFormat: uuid

Unique identifier for this invocation/run

Type: object

AuditMeta holds build and environment metadata for the synq-recon binary.

Type: string

Module version or tag (e.g. v1.2.3)

Type: string

VCS revision hash

Type: string

VCS commit timestamp (RFC3339)

Type: boolean

True if the working tree had uncommitted changes

Type: string

Go toolchain version used to build the binary

Type: string

Path to the configuration file used

Type: string

Machine identifier for the config suite (from YAML name field or filename)

Type: string

Human-readable title of the config suite (from YAML title field or falls back to suite id)

Type: string

Longer description of the configuration suite

Type: object

Resolved template variable values used for query interpolation

Each additional property must conform to the following schema

Type: string

Type: stringFormat: date-time

RFC3339 timestamp when the run started

Type: stringFormat: date-time

RFC3339 timestamp when the run completed

Type: integer

Total run duration in milliseconds

Value must be greater or equal to 0

Type: array of string

Suite-level warnings detected during config validation

No Additional Items

Each item of this array must be:

Type: string

Type: array

Audit records for each reconciliation executed

No Additional Items

Each item of this array must be:

Type: object

ReconciliationAudit captures everything about a single reconciliation execution.

Type: string

Machine identifier (YAML key)

Type: string

Human-readable title (from YAML title field or falls back to name)

Type: enum (of string)

Must be one of:

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

Type: object

DatasetInfo identifies a source or target dataset.

Type: object

DatasetInfo identifies a source or target dataset.

Same definition as source

Type: array of string
No Additional Items

Each item of this array must be:

Type: object

Normalization records the column expressions used after cross-DB type alignment.

Type: array of string
No Additional Items

Each item of this array must be:

Type: array of string
No Additional Items

Each item of this array must be:

Type: object

Each additional property must conform to the following schema

Type: string

Type: array
No Additional Items

Each item of this array must be:

Type: object

StageAudit captures one reconciliation stage (quickcheck, bisectiondrill, aggregate_check).

Type: enum (of string)

Must be one of:

  • "quick_check"
  • "bisection_drill"
  • "aggregate_check"

Type: integer

Value must be greater or equal to 0

Type: array
No Additional Items

Each item of this array must be:

Type: object

QueryRecord captures a single SQL query execution.

Type: enum (of string)

Must be one of:

  • "source"
  • "target"

Type: integer

Value must be greater or equal to 0

Type: integer

Value must be greater or equal to 0

Type: integer

Value must be greater or equal to 0

Type: object

QueryStats holds execution statistics collected from the database driver.

Type: string

QueryID is the database-assigned query identifier for auditing.
Available for BigQuery (job ID), Snowflake, ClickHouse (client-generated).

Type: integer

RowsRead is the number of rows read/scanned by the query engine.

Type: integer

BytesRead is the number of bytes read/scanned by the query engine.

Type: integer

RowsProduced is the number of result rows returned to the caller.

Type: boolean

CacheHit indicates whether the query result was served from cache.

Type: integer

BytesBilled is the number of bytes billed (BigQuery).

Type: integer

SlotMillis is the slot time consumed (BigQuery).

Type: integer

Blocks is the number of data blocks read (ClickHouse).

Type: integer

CompletedSplits is the number of completed splits (Trino).

Type: integer

CPUTimeMillis is the CPU time consumed (Trino).

Type: integer

WallTimeMillis is the wall time reported by the engine (Trino).

Type: object

SegmentAuditNode represents a node in the bisection segment tree with query references.

Type: object

SegmentInfo identifies a key range segment.

Type: integer

Value must be greater or equal to 0

Type: integer

Value must be greater or equal to 0

Type: enum (of string)

Must be one of:

  • "threshold_reached"
  • "max_depth_reached"
  • "empty_segment"
  • "cannot_split"
  • "matched"
  • "error"

Type: integer

Value must be greater or equal to 0

Type: integer

Value must be greater or equal to 0

Type: array
No Additional Items

Each item of this array must be:

Type: object

SegmentAuditNode represents a node in the bisection segment tree with query references.

Same definition as segment_tree

Type: array
No Additional Items

Each item of this array must be:

Type: object

RowMismatchAudit captures a single row-level mismatch in the audit log.

Type: enum (of string)

Must be one of:

  • "missing_in_target"
  • "missing_in_source"
  • "modified"


Type: object

BisectionStageResult is the typed result for a bisection_drill stage.

Type: object

BisectionStatistics holds statistics about the bisection segment tree.

Type: object
No Additional Properties

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^[0-9]+$
Type: integer

Type: object
No Additional Properties

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^[0-9]+$
Type: integer

Type: array
No Additional Items

Each item of this array must be:

Type: object

MismatchLeafDetail holds detailed information about a single mismatch leaf.

Type: object

MismatchLeafSegment identifies the segment of a mismatch leaf.

Type: array of enum (of string)
No Additional Items

Each item of this array must be:

Type: enum (of string)

Must be one of:

  • "missing_in_source"
  • "missing_in_target"
  • "count_mismatch"
  • "data_mismatch"
  • "unknown"

Type: enum (of string)

Must be one of:

  • "threshold_reached"
  • "max_depth_reached"
  • "empty_segment"
  • "cannot_split"
  • "matched"
  • "error"

Type: array
No Additional Items

Each item of this array must be:

Type: object

RowMismatchDetail holds per-row mismatch detail in the stage result.

Type: enum (of string)

Must be one of:

  • "missing_in_target"
  • "missing_in_source"
  • "modified"

Type: array
No Additional Items

Each item of this array must be:

Type: object

InvestigationQuery represents a merged diff query covering one or more adjacent mismatch leaves.

Type: object

AggregateStageResult is the typed result for an aggregate_check stage.

Type: object

AggregateDrillNode represents a node in the hierarchical aggregate drill-down tree.

Type: array
No Additional Items

Each item of this array must be:

Type: object

AggregateDrillChild represents a single divergent group within a drill-down level.

Type: enum (of string)

Must be one of:

  • "mismatch"
  • "missing_source"
  • "missing_target"
  • "value_mismatch"

Type: object

MeasureDifferences holds all difference variants for measure comparisons.

Type: object

Relative difference per measure (target - source). Positive means target is larger.

Type: object

Absolute difference per measure: |target - source|. Always non-negative.

Type: object

Percentage difference relative to source: |diff| / |source|.

Type: object

Percentage difference relative to target: |diff| / |target|.

Type: object

Symmetric percentage difference: 2*|diff| / (|source| + |target|).

Type: object

ThresholdEvaluation captures the effective thresholds applied and per-measure verdicts.

Type: number

AbsoluteThreshold is the configured maximum absolute difference, or 0 if not set.

Type: number

PercentageThreshold is the configured maximum percentage difference, or 0 if not set.

Type: string

PercentageMode is which percentage formula was used: source, target, or symmetric.

Type: object

Measures holds per-measure threshold evaluation results.

Each additional property must conform to the following schema

Type: object

MeasureVerdict captures the threshold evaluation result for a single measure.

Type: boolean

Exceeded is true when the measure difference exceeds all configured thresholds.

Type: enum (of string)

Reason explains why the measure was considered within or outside thresholds.

Must be one of:

  • "exact_match"
  • "within_absolute_threshold"
  • "within_percentage_threshold"
  • "exceeded_all_thresholds"
  • "no_thresholds_configured"

Type: number

EffectiveAbsolute is the absolute threshold that was applied to this measure (may differ per measure via per_measure config).

Type: number

EffectivePercentage is the percentage threshold that was applied to this measure.

Type: object

AggregateDrillNode represents a node in the hierarchical aggregate drill-down tree.

Same definition as drill_down

Type: array of string
No Additional Items

Each item of this array must be:

Type: enum (of string)

Outcome of this reconciliation

Must be one of:

  • "passed"
  • "failed"
  • "mismatched"
  • "mismatched_within_threshold"

Type: object

QueryStats holds execution statistics collected from the database driver.

Same definition as stats

Type: enum (of string)

Overall execution status derived from individual reconciliation outcomes

Must be one of:

  • "passed"
  • "failed"
  • "mismatched"
  • "mismatched_within_threshold"

Type: object

AuditSummary holds aggregated counts derived from individual reconciliation results.

Type: boolean

True when every reconciliation matched (exactly or within threshold)

Type: integer

Total number of reconciliations executed

Value must be greater or equal to 0

Type: integer

Number of reconciliations that completed and matched exactly

Value must be greater or equal to 0

Type: integer

Number of reconciliations that had differences within configured thresholds

Value must be greater or equal to 0

Type: integer

Number of reconciliations that completed but found data differences exceeding thresholds

Value must be greater or equal to 0

Type: integer

Number of reconciliations that encountered an infrastructure error

Value must be greater or equal to 0