GUBUS Checker

Workfeed read conditions with validated AND logic.

Checker rules filter workfeed rows with AND logic: every condition under the effective checker reference must pass before a row is read.

💡

The checker editor is the authoritative list of commands that can be created. Unknown, retired, or incompletely configured commands are rejected before persistence.

How checker rules are connected

  1. Set the workfeed or custom workfeed resolve_type to checker.
  2. Persist separate check rule rows under the effective checker reference.
  3. The engine compiles every condition before retrieving workfeed rows.
  4. If compilation succeeds, conditions are evaluated left-to-right for every row.
  5. A row is included only when every condition passes.

Checker conditions are separate rule rows. They are not an inline array inside the workfeed rule.

Condition structure

interface Checker {
  reference: string;
  check_field_name: string;
  check_command: string;
  check_help_value?: string | number;
  date_format_if_date?: string;
  extract_command?: string;
  extract_ref?: string;
  extract_field?: string;
  date_format_extracted?: string;
}
  • reference: groups conditions into one checker.
  • check_field_name: must exist in the effective workfeed model.
  • check_command: must be selected from the checker editor.
  • check_help_value: static comparison value when the command needs one.
  • date_format_if_date: Luxon format for the workfeed cell. It also formats a static comparison date.
  • date_format_extracted: Luxon format for an extracted comparison date.
  • extract_*: replaces a static comparison value with a side-object or context-variable value.

Common commands

Values

  • in, not_in
  • is_equal, is_not_equal
{
  "reference": "orders_ready",
  "check_field_name": "payment_status",
  "check_command": "is_equal",
  "check_help_value": "confirmed"
}

Cell and number state

  • checkbox_true
  • cell_not_empty
  • cell_is_number_null
  • cell_is_number_null_or_less
  • is_positive_number
  • cell_is_number_smaller_than
  • cell_is_number_bigger_than
  • check_not_google_mistake

Numeric boundary commands require a finite numeric comparison value. Workfeed values must be actual numbers; numeric strings are not silently coerced.

{
  "reference": "large_orders",
  "check_field_name": "total",
  "check_command": "cell_is_number_bigger_than",
  "check_help_value": 1000
}

Dates

Relative-date commands include date_today, date_yesterday, date_previous_week, date_previous_month, and the explicit today boundaries.

Comparison commands declare inclusion explicitly:

  • date_earlier_include: cell date ≤ comparison date
  • date_earlier_exclude: cell date < comparison date
  • date_later_include: cell date ≥ comparison date
  • date_later_exclude: cell date > comparison date
{
  "reference": "orders_before_start",
  "check_field_name": "posting_date",
  "check_command": "date_earlier_exclude",
  "check_help_value": "31.07.2026",
  "date_format_if_date": "dd.MM.yyyy"
}

Precision commands compare calendar components:

  • date_time_precision_match_seconds
  • date_time_precision_match_minutes
  • date_time_precision_match_hours
  • date_precision_match_days
  • date_precision_match_weeks using ISO week year and week number
  • date_precision_match_months

Extracted comparison values

Supported extraction modes are:

  • from_first_side_obj
  • extract_arr_from_all_side_objs
  • extract_unique_set_from_all_side_objs
  • from_context_variable
{
  "reference": "read_raw_storage_before_state",
  "check_field_name": "raw_material_date",
  "check_command": "date_earlier_exclude",
  "date_format_if_date": "dd.MM.yyyy",
  "extract_command": "from_first_side_obj",
  "extract_ref": "create_raw_report",
  "extract_field": "start_date",
  "date_format_extracted": "dd.MM.yyyy"
}

For from_context_variable, omit extract_ref and put the variable name in extract_field.

Luxon date formats

Checker dates use Luxon tokens:

  • yyyy-MM-dd → 2026-07-31
  • dd.MM.yyyy → 31.07.2026
  • MM/dd/yyyy → 07/31/2026
  • yyyy-MM-dd HH:mm:ss → 2026-07-31 14:30:45

Formats are case-sensitive. If a format is omitted, the project admin_info.default_date_format is used.

Compilation errors

Configuration is compiled before any workfeed row is retrieved. Errors identify the checker and condition, for example:

Checker "read_raw_storage_before_state", condition 1:
checker command "date_earlier" was retired.
Use "date_earlier_exclude" or "date_earlier_include".

Compilation fails for:

  • retired or unknown commands;
  • fields missing from the workfeed model;
  • incomplete extraction bindings;
  • missing side objects or context variables;
  • invalid finite-number comparisons;
  • invalid comparison dates or formats.

A genuine checker with zero conditions reports that it has no configured conditions. Compilation failures are never converted into that empty-checker message.

Retired commands

The ambiguous date_earlier and date_after names are retired; use explicit include/exclude commands. The misspelled or undefined-period commands date_prevoious_days, date_previous_weeks, date_previous_months, and date_previous_years are not supported.

date_time_around_seconds is eliminated because it required both a comparison datetime and a tolerance while the checker model supplied only one value slot.