Skip to content
Arxo Arxo

Scoring and Keys

This page documents how openclaw_architecture computes composite scores and how to configure scoring behavior.

openclaw_architecture emits these composite keys:

  • openclaw_architecture.config_security_score
  • openclaw_architecture.skill_governance_score
  • openclaw_architecture.observability_score
  • openclaw_architecture.supply_chain_score
  • openclaw_architecture.overall_openclaw_health

All composite values are 0..1, where higher is better.

For each axis, Arxo computes a weighted average of detector scores in that axis:

axis_score = weighted_mean_applicable(detector_scores, detector_weights)

Applicability rule:

  • Detectors marked not_applicable (for example via disable config) are excluded from axis averaging.
  • If an axis has no applicable detectors, the axis score defaults to 1.0.

Overall formula:

overall_openclaw_health =
config_security_score * w_config_security +
skill_governance_score * w_skill_governance +
observability_score * w_observability +
supply_chain_score * w_supply_chain

The overall score is clamped to 0..1.

Default axis weights:

  • config_security: 0.35
  • skill_governance: 0.35
  • observability: 0.15
  • supply_chain: 0.15

Default detector weights are defined per detector and normalized within each axis.

metrics[].config supports scoring controls:

  • scoring.metric_weights
  • scoring.axis_weights
  • scoring.disabled_metrics
  • scoring.disabled_axes

Example:

metrics:
- id: openclaw_architecture
enabled: true
config:
scoring:
metric_weights:
gateway_auth_gap_score: 2.0
tool_poisoning_susceptibility_score: 2.5
openclaw_architecture.skill_virus_scan_absence_score: 3.0
axis_weights:
config_security: 0.40
skill_governance: 0.35
observability: 0.10
supply_chain: 0.15
disabled_metrics:
- shadow_mcp_server
- openclaw_architecture.reasoning_trace_capture_absence_score
disabled_axes:
- observability
  • Negative weights are clamped to 0.
  • metric_weights are normalized independently per axis.
  • axis_weights are normalized across all four axes.
  • If all axis weights are 0, defaults are restored.
  • If all metric weights in an axis are 0, that axis falls back to default detector weights (normalized).

For the full detector list (result keys, rule IDs, impact/effort, recommendations), see: