addedOutput schema / properties / data_freshness
Added value: +{
+ "additionalProperties": false,
+ "properties": {
+ "bot_classification_delay_definitions": {
+ "additionalProperties": false,
+ "properties": {
+ "burst_cluster_fallback": {
+ "type": "string"
+ },
+ "burst_cluster_primary": {
+ "type": "string"
+ },
+ "single_page_zero_dwell": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "burst_cluster_primary",
+ "burst_cluster_fallback",
+ "single_page_zero_dwell"
+ ],
+ "type": "object"
+ },
+ "bot_classification_delay_minutes_max_by_rule": {
+ "additionalProperties": false,
+ "properties": {
+ "burst_cluster_fallback": {
+ "const": 480,
+ "type": "number"
+ },
+ "burst_cluster_primary": {
+ "const": 20,
+ "type": "number"
+ },
+ "single_page_zero_dwell": {
+ "const": 480,
+ "type": "number"
+ }
+ },
+ "required": [
+ "burst_cluster_primary",
+ "burst_cluster_fallback",
+ "single_page_zero_dwell"
+ ],
+ "type": "object"
+ },
+ "delay_bounds_assume_scheduled_jobs_operational": {
+ "const": true,
+ "type": "boolean"
+ },
+ "generated_at": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "may_change_because": {
+ "items": {
+ "enum": [
+ "live_ingestion",
+ "open_window",
+ "moving_window",
+ "delayed_bot_classification"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "provisional": {
+ "const": true,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "generated_at",
+ "provisional",
+ "may_change_because",
+ "bot_classification_delay_minutes_max_by_rule",
+ "bot_classification_delay_definitions",
+ "delay_bounds_assume_scheduled_jobs_operational"
+ ],
+ "type": "object"
+}
addedOutput schema / properties / insights / items / properties / source_boundaries
Added value: +{
+ "items": {
+ "$ref": "#/properties/period/properties/source_boundaries/items"
+ },
+ "type": "array"
+}
changedOutput schema / properties / insights / items / required
Previous value: -[
- "id",
- "severity",
- "title",
- "detail",
- "metric",
- "value",
- "change",
- "recommended_action",
- "impact_score",
- "rank"
-]New value: +[
+ "id",
+ "severity",
+ "title",
+ "detail",
+ "metric",
+ "value",
+ "change",
+ "recommended_action",
+ "impact_score",
+ "rank",
+ "source_boundaries"
+]
addedOutput schema / properties / period / properties / calendar_dates_touched
Added value: +{
+ "minimum": 0,
+ "type": "integer"
+}
addedOutput schema / properties / period / properties / duration_hours
Added value: +{
+ "type": "number"
+}
addedOutput schema / properties / period / properties / reference_bounds
Added value: +{
+ "const": "start_inclusive_end_exclusive",
+ "type": "string"
+}
addedOutput schema / properties / period / properties / reference_end_at
Added value: +{
+ "format": "date-time",
+ "type": "string"
+}
addedOutput schema / properties / period / properties / reference_start_at
Added value: +{
+ "format": "date-time",
+ "type": "string"
+}
addedOutput schema / properties / period / properties / source_alignment
Added value: +{
+ "enum": [
+ "exact",
+ "mixed"
+ ],
+ "type": "string"
+}
addedOutput schema / properties / period / properties / source_boundaries
Added value: +{
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "applies_to": {
+ "items": {
+ "type": "string"
+ },
+ "minItems": 1,
+ "type": "array"
+ },
+ "boundary": {
+ "enum": [
+ "reference_timestamp_window",
+ "database_statement_time_window",
+ "jst_calendar_dates_from_reference_start",
+ "jst_calendar_dates_from_database_window_start",
+ "jst_calendar_dates_inclusive",
+ "account_registry_not_period_scoped",
+ "derived_previous_daily_window",
+ "derived_from_current_and_previous",
+ "defined_per_output_item"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "applies_to",
+ "boundary"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+}
addedOutput schema / properties / period / properties / timezone
Added value: +{
+ "const": "Asia/Tokyo",
+ "type": "string"
+}
addedOutput schema / properties / period / properties / window_type
Added value: +{
+ "enum": [
+ "rolling",
+ "calendar_to_date",
+ "comparison"
+ ],
+ "type": "string"
+}
changedOutput schema / properties / period / required
Previous value: -[
- "start",
- "end",
- "days"
-]New value: +[
+ "start",
+ "end",
+ "days",
+ "reference_start_at",
+ "reference_end_at",
+ "window_type",
+ "reference_bounds",
+ "timezone",
+ "duration_hours",
+ "calendar_dates_touched",
+ "source_alignment",
+ "source_boundaries"
+]
addedOutput schema / properties / period_boundary_definitions
Added value: +{
+ "additionalProperties": false,
+ "properties": {
+ "account_registry_not_period_scoped": {
+ "type": "string"
+ },
+ "database_statement_time_window": {
+ "type": "string"
+ },
+ "defined_per_output_item": {
+ "type": "string"
+ },
+ "derived_from_current_and_previous": {
+ "type": "string"
+ },
+ "derived_previous_daily_window": {
+ "type": "string"
+ },
+ "jst_calendar_dates_from_database_window_start": {
+ "type": "string"
+ },
+ "jst_calendar_dates_from_reference_start": {
+ "type": "string"
+ },
+ "jst_calendar_dates_inclusive": {
+ "type": "string"
+ },
+ "path_syntax": {
+ "const": "dot_path_with_array_wildcard",
+ "type": "string"
+ },
+ "reference_timestamp_window": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "path_syntax",
+ "reference_timestamp_window",
+ "database_statement_time_window",
+ "jst_calendar_dates_from_reference_start",
+ "jst_calendar_dates_from_database_window_start",
+ "jst_calendar_dates_inclusive",
+ "account_registry_not_period_scoped",
+ "derived_previous_daily_window",
+ "derived_from_current_and_previous",
+ "defined_per_output_item"
+ ],
+ "type": "object"
+}
addedOutput schema / properties / previous_period
Added value: +{
+ "$ref": "#/properties/period"
+}
changedOutput schema / required
Previous value: -[
- "site_id",
- "period",
- "basis",
- "assumptions",
- "limitations",
- "rules_evaluated",
- "insights",
- "presentation_hints"
-]New value: +[
+ "site_id",
+ "period",
+ "previous_period",
+ "data_freshness",
+ "period_boundary_definitions",
+ "basis",
+ "assumptions",
+ "limitations",
+ "rules_evaluated",
+ "insights",
+ "presentation_hints"
+]