{"id":"v001","input":{"h_constant":"8 mm","h_ppm":1,"baseline":"15 km"},"expect":{"result.horizontal.value":23.0,"ok":true},"source":"add-practitioner-essentials GNSS scenarios (8 mm + 1 ppm at 15 km: 23 mm)","sourceVersion":"2026","tolerance":{"result.horizontal.value":{"rel":0,"abs":1e-09}}}
{"id":"v002","input":{"h_constant":"10 mm","h_ppm":1,"baseline":"8 km","v_constant":"20 mm","v_ppm":1,"confidence":"95"},"expect":{"result.horizontal.value":44.064,"result.vertical.value":54.879999999999995,"ok":true},"source":"Worked by hand in Python (tools/vectors/gen_gnss.py)","sourceVersion":"2026","tolerance":{"result.horizontal.value":{"rel":0,"abs":1e-09},"result.vertical.value":{"rel":0,"abs":1e-09}}}
{"id":"v003","input":{"h_constant":"8 mm","h_ppm":0.5,"baseline":"30 km","target":"20 mm"},"expect":{"result.horizontal.value":23.0,"result.target_status":"Beyond your 20 mm target","ok":true},"source":"Worked by hand in Python (tools/vectors/gen_gnss.py)","sourceVersion":"2026","tolerance":{"result.horizontal.value":{"rel":0,"abs":1e-09}}}
{"id":"v004","input":{"h_constant":"5 mm","h_ppm":0.5,"baseline":"2 km","target":"10 mm","confidence":"95"},"expect":{"result.horizontal.value":14.687999999999999,"result.target_status":"Beyond your 10 mm target","ok":true},"source":"Worked by hand in Python (tools/vectors/gen_gnss.py)","sourceVersion":"2026","tolerance":{"result.horizontal.value":{"rel":0,"abs":1e-09}}}
{"id":"v005","input":{"h_constant":"8 mm","h_ppm":1,"baseline":"15 km","v_constant":"15 mm"},"expect":{"ok":false,"error.code":"INVALID_INPUT"},"source":"Worked by hand in Python (tools/vectors/gen_gnss.py)","sourceVersion":"2026","tolerance":{}}
