BB.Dsl.Verifiers.ValidateEstimators (bb v0.20.1)

Copy Markdown View Source

Validates estimator entities declared in the DSL.

Checks:

  • Sensor-nested estimators carry no input declarations (the parent sensor is the implicit input).
  • Link-nested estimators declare at least one input.
  • Multi-input estimators declare exactly one driver input.
  • Single-input link-nested estimators with driver?: true set on the sole input are accepted (treated as multi-input degenerate form).
  • Every input path resolves to an existing publisher (sensor or estimator) in the topology.
  • No cycles in the estimator dependency graph.
  • sync_tolerance is only declared on multi-input estimators (a stray sync_tolerance on a single-input estimator is a likely mistake).

Path resolution is intentionally loose at this stage: any path beginning with [:sensor, ...] or [:estimator, ...] that matches a declared publisher's full path is accepted. Subtree subscriptions and external paths are not supported (use a controller-level subscription instead).