docs
evals
scenario-1
scenario-10
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
{
"context": "This criteria evaluates how well the engineer uses the jsons library's verbosity modes to include metadata in serialized output and leverage that metadata for type-safe deserialization without explicit type specification.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Verbosity level usage",
"description": "Uses jsons.dump() with the correct verbosity parameter (e.g., verbose=jsons.Verbosity.WITH_CLASS_INFO or verbose=jsons.Verbosity.WITH_EVERYTHING) to include metadata when include_metadata is True",
"max_score": 25
},
{
"name": "Metadata structure understanding",
"description": "Correctly produces output with a -meta section containing classes dictionary that maps JSON paths to fully-qualified class names and includes dump_time timestamp",
"max_score": 20
},
{
"name": "Type-free deserialization",
"description": "Uses jsons.load() without specifying cls parameter to deserialize from metadata-enriched JSON, allowing the library to use the -meta information for type reconstruction",
"max_score": 25
},
{
"name": "Class announcement",
"description": "Uses jsons.announce_class() or ensures classes are properly registered so that verbose deserialization can map class names back to actual Python types",
"max_score": 15
},
{
"name": "Conditional verbosity",
"description": "Correctly handles the include_metadata boolean parameter by using different verbosity levels or no verbosity when metadata should not be included",
"max_score": 15
}
]
}