Skip to content

Expose risk weights and decision thresholds in YAML config #2

@riccardomerenda

Description

@riccardomerenda

Problem

Key decision parameters are hardcoded in decision.py:

  • schema_break_rate hard stop at 0.25
  • high_criticality_failure_rate hard stop at 0.20
  • proceed_if_overall_risk_below at 0.08
  • High-criticality weight at 2.0x
  • Latency thresholds (p50: 1.5x, p95: 2.0x)

Users with different risk tolerances (e.g., internal tools vs. customer-facing APIs) can't tune these without editing source code.

Proposal

Add an optional decision section to the YAML config:

decision:
  hard_stop_schema_break_rate: 0.25
  hard_stop_high_crit_failure_rate: 0.20
  proceed_risk_threshold: 0.08
  high_criticality_weight: 2.0
  latency_p50_threshold: 1.5
  latency_p95_threshold: 2.0

All fields optional with current values as defaults — zero breaking changes.

Impact

  • Users can tune sensitivity per migration
  • Enables stricter thresholds for critical systems, looser for experimentation

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions