model_contract: id: "oipf.model.cleaning-optimisation.v0" model_type: "physics_ml_or_rules" purpose: "Estimate cleaning need and avoidable cleaning/downtime loss." inputs: - tag: "tag.inlet_pressure" role: "process_signal" - tag: "tag.outlet_pressure" role: "process_signal" - tag: "tag.flow_rate" role: "process_signal" - event: "cleaning_event" role: "historical_action" outputs: - name: "cleaning_need_score" type: "number" range: [0, 1] - name: "recommendation_candidate" type: "string" - name: "confidence" type: "number" range: [0, 1] - name: "estimated_saving" type: "number" unit: "EUR" human_review_required: true