tessl install tessl/npm-io-ts@2.2.0TypeScript runtime type system for IO decoding/encoding
Agent Success
Agent success rate when using this tile
72%
Improvement
Agent success rate improvement when using this tile compared to baseline
1.14x
Baseline
Agent success rate without this tile
63%
{
"context": "This criteria evaluates how effectively the engineer uses the io-ts Decoder module to implement email validation with custom error messages. The focus is on proper usage of decoder refinement, custom error message generation, and functional error handling patterns.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Base decoder usage",
"description": "Uses the io-ts Decoder module's string decoder (D.string from 'io-ts/Decoder') as the starting point for validation",
"max_score": 15
},
{
"name": "Refinement with refine",
"description": "Uses D.refine (or D.refinement) to add validation constraints with custom error messages for at least 3 of the 5 validation rules",
"max_score": 30
},
{
"name": "Custom error messages",
"description": "Implements custom error messages using the error parameter in refine callbacks that match or closely match the specified error messages from the spec",
"max_score": 25
},
{
"name": "Decoder composition",
"description": "Composes multiple refinements together using decoder combinators (such as pipe from fp-ts/function or decoder chaining methods) to build the complete email validator",
"max_score": 15
},
{
"name": "Either handling",
"description": "Properly handles the Either result from decoder validation using fp-ts Either methods (such as fold, mapLeft, or isLeft/isRight) to convert to the required ValidationResult type",
"max_score": 10
},
{
"name": "Error extraction",
"description": "Extracts human-readable error messages from the DecodeError type using D.draw or similar decoder error formatting utilities",
"max_score": 5
}
]
}