Audit log capturing all operations performed during a synq-recon reconciliation run
Schema version
Specific value:"1"
Unique identifier for this invocation/run
AuditMeta holds build and environment metadata for the synq-recon binary.
Module version or tag (e.g. v1.2.3)
VCS revision hash
VCS commit timestamp (RFC3339)
True if the working tree had uncommitted changes
Go toolchain version used to build the binary
Path to the configuration file used
Machine identifier for the config suite (from YAML name field or filename)
Human-readable title of the config suite (from YAML title field or falls back to suite id)
Longer description of the configuration suite
Resolved template variable values used for query interpolation
Each additional property must conform to the following schema
Type: stringRFC3339 timestamp when the run started
RFC3339 timestamp when the run completed
Total run duration in milliseconds
Value must be greater or equal to 0
Suite-level warnings detected during config validation
No Additional ItemsAudit records for each reconciliation executed
No Additional ItemsReconciliationAudit captures everything about a single reconciliation execution.
Machine identifier (YAML key)
Human-readable title (from YAML title field or falls back to name)
DatasetInfo identifies a source or target dataset.
Normalization records the column expressions used after cross-DB type alignment.
Each additional property must conform to the following schema
Type: stringStageAudit captures one reconciliation stage (quickcheck, bisectiondrill, aggregate_check).
Value must be greater or equal to 0
BisectionStageConfig is the typed config for a bisection_drill stage.
QueryRecord captures a single SQL query execution.
Value must be greater or equal to 0
Value must be greater or equal to 0
Value must be greater or equal to 0
QueryStats holds execution statistics collected from the database driver.
QueryID is the database-assigned query identifier for auditing.
Available for BigQuery (job ID), Snowflake, ClickHouse (client-generated).
RowsRead is the number of rows read/scanned by the query engine.
BytesRead is the number of bytes read/scanned by the query engine.
RowsProduced is the number of result rows returned to the caller.
CacheHit indicates whether the query result was served from cache.
BytesBilled is the number of bytes billed (BigQuery).
SlotMillis is the slot time consumed (BigQuery).
Blocks is the number of data blocks read (ClickHouse).
CompletedSplits is the number of completed splits (Trino).
CPUTimeMillis is the CPU time consumed (Trino).
WallTimeMillis is the wall time reported by the engine (Trino).
SegmentAuditNode represents a node in the bisection segment tree with query references.
SegmentInfo identifies a key range segment.
Value must be greater or equal to 0
Value must be greater or equal to 0
Value must be greater or equal to 0
Value must be greater or equal to 0
SegmentAuditNode represents a node in the bisection segment tree with query references.
Same definition as segment_treeRowMismatchAudit captures a single row-level mismatch in the audit log.
Each additional property must conform to the following schema
Type: stringEach additional property must conform to the following schema
Type: stringQuickCheckStageResult is the typed result for a quick_check stage.
BisectionStageResult is the typed result for a bisection_drill stage.
BisectionStatistics holds statistics about the bisection segment tree.
All properties whose name matches the following regular expression must respect the following conditions
Property name regular expression:^[0-9]+$
All properties whose name matches the following regular expression must respect the following conditions
Property name regular expression:^[0-9]+$
Each additional property must conform to the following schema
Type: objectDepthStats holds per-depth-level statistics for the bisection tree.
MismatchLeafDetail holds detailed information about a single mismatch leaf.
MismatchLeafSegment identifies the segment of a mismatch leaf.
Value must be greater or equal to 0
Value must be greater or equal to 0
DiffQueriesAudit holds investigation queries for a mismatch leaf.
RowMismatchDetail holds per-row mismatch detail in the stage result.
InvestigationQuery represents a merged diff query covering one or more adjacent mismatch leaves.
Value must be greater or equal to 1
AggregateStageResult is the typed result for an aggregate_check stage.
AggregateDrillNode represents a node in the hierarchical aggregate drill-down tree.
AggregateDrillChild represents a single divergent group within a drill-down level.
Each additional property must conform to the following schema
Type: numberEach additional property must conform to the following schema
Type: numberMeasureDifferences holds all difference variants for measure comparisons.
Relative difference per measure (target - source). Positive means target is larger.
Each additional property must conform to the following schema
Type: numberAbsolute difference per measure: |target - source|. Always non-negative.
Each additional property must conform to the following schema
Type: numberPercentage difference relative to source: |diff| / |source|.
Each additional property must conform to the following schema
Type: numberPercentage difference relative to target: |diff| / |target|.
Each additional property must conform to the following schema
Type: numberSymmetric percentage difference: 2*|diff| / (|source| + |target|).
Each additional property must conform to the following schema
Type: numberThresholdEvaluation captures the effective thresholds applied and per-measure verdicts.
AbsoluteThreshold is the configured maximum absolute difference, or 0 if not set.
PercentageThreshold is the configured maximum percentage difference, or 0 if not set.
PercentageMode is which percentage formula was used: source, target, or symmetric.
Measures holds per-measure threshold evaluation results.
Each additional property must conform to the following schema
Type: objectMeasureVerdict captures the threshold evaluation result for a single measure.
Exceeded is true when the measure difference exceeds all configured thresholds.
Reason explains why the measure was considered within or outside thresholds.
EffectiveAbsolute is the absolute threshold that was applied to this measure (may differ per measure via per_measure config).
EffectivePercentage is the percentage threshold that was applied to this measure.
EffectivePercentageMode is the percentage mode that was applied to this measure.
AggregateDrillNode represents a node in the hierarchical aggregate drill-down tree.
Same definition as drill_downOutcome of this reconciliation
QueryStats holds execution statistics collected from the database driver.
Same definition as statsOverall execution status derived from individual reconciliation outcomes
AuditSummary holds aggregated counts derived from individual reconciliation results.
True when every reconciliation matched (exactly or within threshold)
Total number of reconciliations executed
Value must be greater or equal to 0
Number of reconciliations that completed and matched exactly
Value must be greater or equal to 0
Number of reconciliations that had differences within configured thresholds
Value must be greater or equal to 0
Number of reconciliations that completed but found data differences exceeding thresholds
Value must be greater or equal to 0
Number of reconciliations that encountered an infrastructure error
Value must be greater or equal to 0