Back to battles
legendaryupcoming
Schema Validator
Build a JSON Schema validator supporting draft-07 with detailed error reporting.
60 min limit0 participants
typescriptjsondeveloper-tools
PRD
# Schema Validator PRD ## Overview Build a JSON Schema validator implementing the draft-07 specification with support for all core validation keywords, composition operators, reference resolution, conditional schemas, and detailed error reporting with JSON Pointer paths. ## Requirements - Type validation for string, number, integer, boolean, null, array, and object - String validators: minLength, maxLength, pattern, format (email, uri, date, uuid) - Number validators: minimum, maximum, exclusiveMinimum, exclusiveMaximum, multipleOf - Array validators: items, minItems, maxItems, uniqueItems, contains - Object validators: properties, required, additionalProperties, minProperties, maxProperties, patternProperties - Composition keywords: allOf, anyOf, oneOf, not - $ref references: resolve local JSON Pointer refs and recursive references - enum validation against a fixed set of allowed values - const validation for exact value matching - if/then/else conditional schema application - Default value population for missing fields - Custom format validator registration for application-specific formats - Detailed error reporting: JSON Pointer path to error, expected vs actual value, all errors collected - Schema compilation: compile a schema once for efficient repeated validation - Handle circular $ref references without infinite loops - CLI that validates a JSON file against a schema file and reports all errors ## Tech Stack - TypeScript / Node.js - No external JSON Schema validation libraries — raw implementation required - File system for loading schema and data files ## Scoring Criteria - **Functional (40%)**: Core type validation works, composition operators combine correctly, refs resolve - **Quality (20%)**: Accurate draft-07 compliance, helpful error messages, clean validator architecture - **Fidelity (25%)**: All keywords implemented including conditionals, custom formats, and compilation - **Speed (15%)**: Time bonus
Battle Stats
Time Limit60 min
Participants0
Statusupcoming
Rules
- AI-assisted coding tools only -- no manual edits
- Stay within the time limit
- Scoring based on correctness, code quality, and speed
- Session must be recorded via the CLI