@@ -289,6 +289,44 @@ def test_graded_jacobian_syzygy_finds_and_verifies_the_first_kernel(
289289 assert verified .output ["status" ] == "VERIFIED"
290290
291291
292+ def test_graded_jacobian_syzygy_handles_a_zero_partial_derivative (
293+ frontier_services : DomainTestServices ,
294+ ) -> None :
295+ input_payload = {
296+ "polynomial" : _polynomial ([(1 , (2 , 0 , 1 ))]),
297+ "max_degree" : 0 ,
298+ }
299+ computed = frontier_services .core .capabilities .invoke (
300+ CapabilityRequest (
301+ capability_id = "polynomial.jacobian_syzygy.minimum_degree.compute" ,
302+ input = input_payload ,
303+ )
304+ )
305+
306+ assert computed .execution .status is ExecutionStatus .COMPLETED
307+ result = computed .output ["result" ]
308+ assert result ["first_syzygy_degree" ] == 0
309+ assert [(item ["rank" ], item ["nullity" ]) for item in result ["degree_maps" ]] == [
310+ (2 , 1 )
311+ ]
312+ assert result ["partial_derivatives" ][1 ]["polynomial" ]["terms" ] == []
313+ assert [item ["num" ] for item in result ["kernel_witness" ]["coefficient_vector" ]] == [
314+ "0" ,
315+ "1" ,
316+ "0" ,
317+ ]
318+
319+ verified = frontier_services .core .capabilities .invoke (
320+ CapabilityRequest (
321+ capability_id = "polynomial.jacobian_syzygy.minimum_degree.verify" ,
322+ mode = CapabilityMode .VERIFY ,
323+ input = {"input" : input_payload , "candidate" : result },
324+ )
325+ )
326+ assert verified .execution .status is ExecutionStatus .COMPLETED
327+ assert verified .output ["status" ] == "VERIFIED"
328+
329+
292330@pytest .mark .parametrize (
293331 "forgery" ,
294332 ("map_digest" , "rank_minor" , "kernel_vector" , "partial_derivative" ),
0 commit comments