logDecision static method

void logDecision({
  1. required String decisionType,
  2. required String result,
  3. required Map<String, Object?> factors,
  4. String type = 'runtime.decision',
})

Emits one decision event.

The shape is: {"v":1,"type":"runtime.decision","timestampUs":123,"decisionType":"...","result":"...","factors":{...}}

Implementation

static void logDecision({
  required String decisionType,
  required String result,
  required Map<String, Object?> factors,
  String type = 'runtime.decision',
}) {
  if (!enabled) return;
  final payload = <String, Object?>{
    'v': _schemaVersion,
    'type': type,
    'timestampUs': _clock.elapsedMicroseconds,
    'decisionType': decisionType,
    'result': result,
    'factors': factors,
  };
  if (_runId != null) {
    payload['runId'] = _runId!;
  }
  _write(payload);
}