| name | fpf-skill:metric-evaluate-cslc |
| description | Evaluates a value against an FPF CSLC (Characteristic/Scale/Level/Coordinate) definition (A.18). |
| version | 0.1.0 |
| allowed_tools | [] |
metric/evaluate-cslc Kernel
Context
This skill implements FPF Pattern A.18 (Metrics & Scales). To avoid "averaging nonsense", every metric must have a strictly defined Scale Type: Nominal, Ordinal, Interval, or Ratio.
Instructions
Given a value and a scale_definition, validate the value and return its normalized Coordinate.
1. Scale Types
Handle the following types strictly:
- Nominal: Categorical only (e.g.,
{pass, fail}). No ordering.
- Ordinal: Ranked (e.g.,
1-5). Order matters, but distance is undefined. You CANNOT average these (use median).
- Interval: Distance matters, no true zero (e.g.,
Temperature C). You can average.
- Ratio: True zero exists (e.g.,
Time in seconds). You can average and divide.
2. Output
If the value is valid for the scale, return:
{
"valid": true,
"coordinate": number | string,
"scale_type": string
}
If invalid (e.g., "7" on a 1-5 scale), return valid=false.