{
  "_class" : "org.jenkinsci.plugins.workflow.job.WorkflowRun",
  "actions" : [
    {
      "_class" : "hudson.model.ParametersAction",
      "parameters" : [
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "getBranchs",
          "value" : "true"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "allBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "deviceChoice",
          "value" : "false"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "commitChoice",
          "value" : "rc_dev"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "msgBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "pncBranch",
          "value" : "feat_daxie_proto_old"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "guardianBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "hesaiBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "v2Branch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "msfLocBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "lsDetectionBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "craneDetectionBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "simulatorBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "craneAlignBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "containerMeasureBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "msfAssistantBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "chassisBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "tosVisualizeBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "hdmapBranch",
          "value" : "rc_dev"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "msgRecorderBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "staticTransformBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "predictionBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "systemRosBranch",
          "value" : "rc_dev"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "seniorCalibrationBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "rslidarSDKBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "fmsAgentBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "mrpt2Branch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "peripheralControllerBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "warningModuleBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "lidarCameraFusionBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "predictionSceneFetcherBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "sinsCalibrationHmiBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "rminterpreterBranch",
          "value" : "rc_dev"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "controlBranch",
          "value" : "feat_cargo_width_sim"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "hdmapCloudBranch",
          "value" : "rc_dev"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "lidarManualCalibBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "nodeManagerBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "thirdpartyBranch",
          "value" : "rc_dev"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "nodeManagerHmiBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "nodeManagerOnlineBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "unifiedSystemMonitorBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "rosBridgeBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "hdcontrolBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "versionsObserverBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "multiSimulatorBranch",
          "value" : "main"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "cacheBagNodeBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "virtualLampBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "truckUpLiDarCalibToolBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "hdmapInterfaceBranch",
          "value" : "rc_dev"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "pncSimBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "trafficCtrlBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "notes",
          "value" : "工控专用（仿真）"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "users",
          "value" : ""
        }
      ]
    },
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.model.Cause$UserIdCause",
          "shortDescription" : "Started by user wuyanjun",
          "userId" : "wuyanjun",
          "userName" : "wuyanjun"
        }
      ]
    },
    {
      "_class" : "org.jenkinsci.plugins.workflow.libs.LibrariesAction"
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1028,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "5c3d5f664126347cb8746f43eacb83dd1d331b93",
            "branch" : [
              {
                "SHA1" : "5c3d5f664126347cb8746f43eacb83dd1d331b93",
                "name" : "master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "5c3d5f664126347cb8746f43eacb83dd1d331b93",
            "branch" : [
              {
                "SHA1" : "5c3d5f664126347cb8746f43eacb83dd1d331b93",
                "name" : "master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "5c3d5f664126347cb8746f43eacb83dd1d331b93",
        "branch" : [
          {
            "SHA1" : "5c3d5f664126347cb8746f43eacb83dd1d331b93",
            "name" : "master"
          }
        ]
      },
      "remoteUrls" : [
        "http://159.27.226.4/weilikang/jenkinslib.git"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.workflow.cps.EnvActionImpl"
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "refs/remotes/origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1028,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "bc9b0f718136a05395a6908683064a53bbea5c78",
            "branch" : [
              {
                "SHA1" : "bc9b0f718136a05395a6908683064a53bbea5c78",
                "name" : "refs/remotes/origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "bc9b0f718136a05395a6908683064a53bbea5c78",
            "branch" : [
              {
                "SHA1" : "bc9b0f718136a05395a6908683064a53bbea5c78",
                "name" : "refs/remotes/origin/master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "bc9b0f718136a05395a6908683064a53bbea5c78",
        "branch" : [
          {
            "SHA1" : "bc9b0f718136a05395a6908683064a53bbea5c78",
            "name" : "refs/remotes/origin/master"
          }
        ]
      },
      "remoteUrls" : [
        "http://159.27.226.4/weilikang/jenkinsfiles.git"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.workflow.cps.view.InterpolatedSecretsAction"
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/dev_ph_test_lane_change_new2_test_new1" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 119,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "ececbffd5940a4f7e4cc8e4f5aa1a6d7bdc93efe",
            "branch" : [
              {
                "SHA1" : "ececbffd5940a4f7e4cc8e4f5aa1a6d7bdc93efe",
                "name" : "origin/dev_ph_test_lane_change_new2_test_new1"
              }
            ]
          },
          "revision" : {
            "SHA1" : "ececbffd5940a4f7e4cc8e4f5aa1a6d7bdc93efe",
            "branch" : [
              {
                "SHA1" : "ececbffd5940a4f7e4cc8e4f5aa1a6d7bdc93efe",
                "name" : "origin/dev_ph_test_lane_change_new2_test_new1"
              }
            ]
          }
        },
        "origin/feat_safety_check_xl" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 620,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "d632d6cff5ec511e33717b455dc937f4f8816c6c",
            "branch" : [
              {
                "SHA1" : "d632d6cff5ec511e33717b455dc937f4f8816c6c",
                "name" : "origin/feat_safety_check_xl"
              }
            ]
          },
          "revision" : {
            "SHA1" : "d632d6cff5ec511e33717b455dc937f4f8816c6c",
            "branch" : [
              {
                "SHA1" : "d632d6cff5ec511e33717b455dc937f4f8816c6c",
                "name" : "origin/feat_safety_check_xl"
              }
            ]
          }
        },
        "origin/feat_proto_jinxi_2" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1009,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "0a71c2d4aecbb9034ed993a33df9bb11b5aa71ea",
            "branch" : [
              {
                "SHA1" : "0a71c2d4aecbb9034ed993a33df9bb11b5aa71ea",
                "name" : "origin/feat_proto_jinxi_2"
              }
            ]
          },
          "revision" : {
            "SHA1" : "0a71c2d4aecbb9034ed993a33df9bb11b5aa71ea",
            "branch" : [
              {
                "SHA1" : "0a71c2d4aecbb9034ed993a33df9bb11b5aa71ea",
                "name" : "origin/feat_proto_jinxi_2"
              }
            ]
          }
        },
        "origin/feat_up_down_bridge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 178,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "e72e9636b846308757ae522079c3365e3af6fae7",
            "branch" : [
              {
                "SHA1" : "e72e9636b846308757ae522079c3365e3af6fae7",
                "name" : "origin/feat_up_down_bridge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "e72e9636b846308757ae522079c3365e3af6fae7",
            "branch" : [
              {
                "SHA1" : "e72e9636b846308757ae522079c3365e3af6fae7",
                "name" : "origin/feat_up_down_bridge"
              }
            ]
          }
        },
        "origin/tmp_collision_opt" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 370,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "7b0bf0d2c51e50fa76905ba2d4f98a34a70a7876",
            "branch" : [
              {
                "SHA1" : "7b0bf0d2c51e50fa76905ba2d4f98a34a70a7876",
                "name" : "origin/tmp_collision_opt"
              }
            ]
          },
          "revision" : {
            "SHA1" : "7b0bf0d2c51e50fa76905ba2d4f98a34a70a7876",
            "branch" : [
              {
                "SHA1" : "7b0bf0d2c51e50fa76905ba2d4f98a34a70a7876",
                "name" : "origin/tmp_collision_opt"
              }
            ]
          }
        },
        "origin/feat_up_down_msg" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 190,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "fb0714a6160ecb222b8247ddce1d738194b86d6e",
            "branch" : [
              {
                "SHA1" : "fb0714a6160ecb222b8247ddce1d738194b86d6e",
                "name" : "origin/feat_up_down_msg"
              }
            ]
          },
          "revision" : {
            "SHA1" : "fb0714a6160ecb222b8247ddce1d738194b86d6e",
            "branch" : [
              {
                "SHA1" : "fb0714a6160ecb222b8247ddce1d738194b86d6e",
                "name" : "origin/feat_up_down_msg"
              }
            ]
          }
        },
        "origin/dev" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 685,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "fbe7df36e387f346d5b03b55815703c50ece797c",
            "branch" : [
              {
                "SHA1" : "fbe7df36e387f346d5b03b55815703c50ece797c",
                "name" : "origin/dev"
              }
            ]
          },
          "revision" : {
            "SHA1" : "fbe7df36e387f346d5b03b55815703c50ece797c",
            "branch" : [
              {
                "SHA1" : "fbe7df36e387f346d5b03b55815703c50ece797c",
                "name" : "origin/dev"
              }
            ]
          }
        },
        "origin/feat_lon_decision_truck" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 349,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "4da7dc06e0cdbdf2775ee0c8405444620d1884fc",
            "branch" : [
              {
                "SHA1" : "4da7dc06e0cdbdf2775ee0c8405444620d1884fc",
                "name" : "origin/feat_lon_decision_truck"
              }
            ]
          },
          "revision" : {
            "SHA1" : "4da7dc06e0cdbdf2775ee0c8405444620d1884fc",
            "branch" : [
              {
                "SHA1" : "4da7dc06e0cdbdf2775ee0c8405444620d1884fc",
                "name" : "origin/feat_lon_decision_truck"
              }
            ]
          }
        },
        "origin/feat_cargo_width" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 746,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "1dd97a8796a9d1f8ec58942c1b6337c71e188a10",
            "branch" : [
              {
                "SHA1" : "1dd97a8796a9d1f8ec58942c1b6337c71e188a10",
                "name" : "origin/feat_cargo_width"
              }
            ]
          },
          "revision" : {
            "SHA1" : "1dd97a8796a9d1f8ec58942c1b6337c71e188a10",
            "branch" : [
              {
                "SHA1" : "1dd97a8796a9d1f8ec58942c1b6337c71e188a10",
                "name" : "origin/feat_cargo_width"
              }
            ]
          }
        },
        "origin/feat-hdmap" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 561,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "acafb85ab337307fff986459badad9400ac58c93",
            "branch" : [
              {
                "SHA1" : "acafb85ab337307fff986459badad9400ac58c93",
                "name" : "origin/feat-hdmap"
              }
            ]
          },
          "revision" : {
            "SHA1" : "acafb85ab337307fff986459badad9400ac58c93",
            "branch" : [
              {
                "SHA1" : "acafb85ab337307fff986459badad9400ac58c93",
                "name" : "origin/feat-hdmap"
              }
            ]
          }
        },
        "origin/feat_clear_route_data" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 108,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "c141b65606a92b49ccc52571712b19fe22286873",
            "branch" : [
              {
                "SHA1" : "c141b65606a92b49ccc52571712b19fe22286873",
                "name" : "origin/feat_clear_route_data"
              }
            ]
          },
          "revision" : {
            "SHA1" : "c141b65606a92b49ccc52571712b19fe22286873",
            "branch" : [
              {
                "SHA1" : "c141b65606a92b49ccc52571712b19fe22286873",
                "name" : "origin/feat_clear_route_data"
              }
            ]
          }
        },
        "origin/temp_hfsm" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 437,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "ddee85ec821243f9bd15fd2307b5e74763b61f78",
            "branch" : [
              {
                "SHA1" : "ddee85ec821243f9bd15fd2307b5e74763b61f78",
                "name" : "origin/temp_hfsm"
              }
            ]
          },
          "revision" : {
            "SHA1" : "ddee85ec821243f9bd15fd2307b5e74763b61f78",
            "branch" : [
              {
                "SHA1" : "ddee85ec821243f9bd15fd2307b5e74763b61f78",
                "name" : "origin/temp_hfsm"
              }
            ]
          }
        },
        "origin/rc_dev" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 599,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "5be0f5cc1941e42d9207b40d1cf0eca77f2f35c7",
            "branch" : [
              {
                "SHA1" : "5be0f5cc1941e42d9207b40d1cf0eca77f2f35c7",
                "name" : "origin/rc_dev"
              }
            ]
          },
          "revision" : {
            "SHA1" : "5be0f5cc1941e42d9207b40d1cf0eca77f2f35c7",
            "branch" : [
              {
                "SHA1" : "5be0f5cc1941e42d9207b40d1cf0eca77f2f35c7",
                "name" : "origin/rc_dev"
              }
            ]
          }
        },
        "origin/test_path_operation" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 450,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "d2160a2ae7e89f51e990007532b19ae98a40a390",
            "branch" : [
              {
                "SHA1" : "d2160a2ae7e89f51e990007532b19ae98a40a390",
                "name" : "origin/test_path_operation"
              }
            ]
          },
          "revision" : {
            "SHA1" : "d2160a2ae7e89f51e990007532b19ae98a40a390",
            "branch" : [
              {
                "SHA1" : "d2160a2ae7e89f51e990007532b19ae98a40a390",
                "name" : "origin/test_path_operation"
              }
            ]
          }
        },
        "origin/feat_side_pass" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 589,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "5aade84176eb324a93316337586b72c3170367ac",
            "branch" : [
              {
                "SHA1" : "5aade84176eb324a93316337586b72c3170367ac",
                "name" : "origin/feat_side_pass"
              }
            ]
          },
          "revision" : {
            "SHA1" : "5aade84176eb324a93316337586b72c3170367ac",
            "branch" : [
              {
                "SHA1" : "5aade84176eb324a93316337586b72c3170367ac",
                "name" : "origin/feat_side_pass"
              }
            ]
          }
        },
        "origin/feat_qg_ssep" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 667,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "b8183cc524608aa57116151c3a94876104092c1c",
            "branch" : [
              {
                "SHA1" : "b8183cc524608aa57116151c3a94876104092c1c",
                "name" : "origin/feat_qg_ssep"
              }
            ]
          },
          "revision" : {
            "SHA1" : "b8183cc524608aa57116151c3a94876104092c1c",
            "branch" : [
              {
                "SHA1" : "b8183cc524608aa57116151c3a94876104092c1c",
                "name" : "origin/feat_qg_ssep"
              }
            ]
          }
        },
        "origin/feat_heliostat" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1027,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "d614056233949fc8cf2895f4a53b53262f68c9a9",
            "branch" : [
              {
                "SHA1" : "d614056233949fc8cf2895f4a53b53262f68c9a9",
                "name" : "origin/feat_heliostat"
              }
            ]
          },
          "revision" : {
            "SHA1" : "d614056233949fc8cf2895f4a53b53262f68c9a9",
            "branch" : [
              {
                "SHA1" : "d614056233949fc8cf2895f4a53b53262f68c9a9",
                "name" : "origin/feat_heliostat"
              }
            ]
          }
        },
        "origin/feat_black_lane" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 310,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "b730f665aec79d9614fb940f777a6a8b6909fafc",
            "branch" : [
              {
                "SHA1" : "b730f665aec79d9614fb940f777a6a8b6909fafc",
                "name" : "origin/feat_black_lane"
              }
            ]
          },
          "revision" : {
            "SHA1" : "b730f665aec79d9614fb940f777a6a8b6909fafc",
            "branch" : [
              {
                "SHA1" : "b730f665aec79d9614fb940f777a6a8b6909fafc",
                "name" : "origin/feat_black_lane"
              }
            ]
          }
        },
        "origin/tmp_block_test" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 491,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "1e4abacecb5c052231a6bccf539879e7e1e8aff0",
            "branch" : [
              {
                "SHA1" : "1e4abacecb5c052231a6bccf539879e7e1e8aff0",
                "name" : "origin/tmp_block_test"
              }
            ]
          },
          "revision" : {
            "SHA1" : "1e4abacecb5c052231a6bccf539879e7e1e8aff0",
            "branch" : [
              {
                "SHA1" : "1e4abacecb5c052231a6bccf539879e7e1e8aff0",
                "name" : "origin/tmp_block_test"
              }
            ]
          }
        },
        "origin/feat-ssep-new-tt-searcher" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 745,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "28cad6275866e53826ad2038adddc1ce69be1f8d",
            "branch" : [
              {
                "SHA1" : "28cad6275866e53826ad2038adddc1ce69be1f8d",
                "name" : "origin/feat-ssep-new-tt-searcher"
              }
            ]
          },
          "revision" : {
            "SHA1" : "28cad6275866e53826ad2038adddc1ce69be1f8d",
            "branch" : [
              {
                "SHA1" : "28cad6275866e53826ad2038adddc1ce69be1f8d",
                "name" : "origin/feat-ssep-new-tt-searcher"
              }
            ]
          }
        },
        "origin/ssep-improve-latency" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 689,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "cce2893468756a73fa5c22ce00801cdb263554ac",
            "branch" : [
              {
                "SHA1" : "cce2893468756a73fa5c22ce00801cdb263554ac",
                "name" : "origin/ssep-improve-latency"
              }
            ]
          },
          "revision" : {
            "SHA1" : "cce2893468756a73fa5c22ce00801cdb263554ac",
            "branch" : [
              {
                "SHA1" : "cce2893468756a73fa5c22ce00801cdb263554ac",
                "name" : "origin/ssep-improve-latency"
              }
            ]
          }
        },
        "origin/feat_wbca_truck" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 630,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "7711910408e3e7ef1de5f203853e54acaef018ef",
            "branch" : [
              {
                "SHA1" : "7711910408e3e7ef1de5f203853e54acaef018ef",
                "name" : "origin/feat_wbca_truck"
              }
            ]
          },
          "revision" : {
            "SHA1" : "7711910408e3e7ef1de5f203853e54acaef018ef",
            "branch" : [
              {
                "SHA1" : "7711910408e3e7ef1de5f203853e54acaef018ef",
                "name" : "origin/feat_wbca_truck"
              }
            ]
          }
        },
        "origin/feat_imv_pull_over" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 803,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "069ea6786697010789b21ee0541a48cd1b5b3bb9",
            "branch" : [
              {
                "SHA1" : "069ea6786697010789b21ee0541a48cd1b5b3bb9",
                "name" : "origin/feat_imv_pull_over"
              }
            ]
          },
          "revision" : {
            "SHA1" : "069ea6786697010789b21ee0541a48cd1b5b3bb9",
            "branch" : [
              {
                "SHA1" : "069ea6786697010789b21ee0541a48cd1b5b3bb9",
                "name" : "origin/feat_imv_pull_over"
              }
            ]
          }
        },
        "origin/feat_hdmap_dynamic_sidepass" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 584,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "0f7418eda78cbdf13cffdd5c265f7a163643ca68",
            "branch" : [
              {
                "SHA1" : "0f7418eda78cbdf13cffdd5c265f7a163643ca68",
                "name" : "origin/feat_hdmap_dynamic_sidepass"
              }
            ]
          },
          "revision" : {
            "SHA1" : "0f7418eda78cbdf13cffdd5c265f7a163643ca68",
            "branch" : [
              {
                "SHA1" : "0f7418eda78cbdf13cffdd5c265f7a163643ca68",
                "name" : "origin/feat_hdmap_dynamic_sidepass"
              }
            ]
          }
        },
        "origin/feat_qiangang_ssep_heatnet" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 827,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "210669ef8898b68ce49d8764f782892fea07a214",
            "branch" : [
              {
                "SHA1" : "210669ef8898b68ce49d8764f782892fea07a214",
                "name" : "origin/feat_qiangang_ssep_heatnet"
              }
            ]
          },
          "revision" : {
            "SHA1" : "210669ef8898b68ce49d8764f782892fea07a214",
            "branch" : [
              {
                "SHA1" : "210669ef8898b68ce49d8764f782892fea07a214",
                "name" : "origin/feat_qiangang_ssep_heatnet"
              }
            ]
          }
        },
        "origin/feat_truck_reverse" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 679,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "fcf33f9b2c1d15fba9ec89be86e39e6859bc1c3f",
            "branch" : [
              {
                "SHA1" : "fcf33f9b2c1d15fba9ec89be86e39e6859bc1c3f",
                "name" : "origin/feat_truck_reverse"
              }
            ]
          },
          "revision" : {
            "SHA1" : "fcf33f9b2c1d15fba9ec89be86e39e6859bc1c3f",
            "branch" : [
              {
                "SHA1" : "fcf33f9b2c1d15fba9ec89be86e39e6859bc1c3f",
                "name" : "origin/feat_truck_reverse"
              }
            ]
          }
        },
        "origin/ex_lane_change" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 352,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "f79ecf4d1b345598b99343ef9706d8266821b994",
            "branch" : [
              {
                "SHA1" : "f79ecf4d1b345598b99343ef9706d8266821b994",
                "name" : "origin/ex_lane_change"
              }
            ]
          },
          "revision" : {
            "SHA1" : "f79ecf4d1b345598b99343ef9706d8266821b994",
            "branch" : [
              {
                "SHA1" : "f79ecf4d1b345598b99343ef9706d8266821b994",
                "name" : "origin/ex_lane_change"
              }
            ]
          }
        },
        "origin/feat_sink_snapshot" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 453,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "fd2523e18b91d9d47e81c724e96a1788547dbe83",
            "branch" : [
              {
                "SHA1" : "fd2523e18b91d9d47e81c724e96a1788547dbe83",
                "name" : "origin/feat_sink_snapshot"
              }
            ]
          },
          "revision" : {
            "SHA1" : "fd2523e18b91d9d47e81c724e96a1788547dbe83",
            "branch" : [
              {
                "SHA1" : "fd2523e18b91d9d47e81c724e96a1788547dbe83",
                "name" : "origin/feat_sink_snapshot"
              }
            ]
          }
        },
        "origin/feat_remote" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 804,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "4419f5005346efc02ca435aa2236e5af31d0666c",
            "branch" : [
              {
                "SHA1" : "4419f5005346efc02ca435aa2236e5af31d0666c",
                "name" : "origin/feat_remote"
              }
            ]
          },
          "revision" : {
            "SHA1" : "4419f5005346efc02ca435aa2236e5af31d0666c",
            "branch" : [
              {
                "SHA1" : "4419f5005346efc02ca435aa2236e5af31d0666c",
                "name" : "origin/feat_remote"
              }
            ]
          }
        },
        "origin/feat_daxie" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 869,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "d27cb08d4108e62f0b1774c5ee3ad94dd27d48f0",
            "branch" : [
              {
                "SHA1" : "d27cb08d4108e62f0b1774c5ee3ad94dd27d48f0",
                "name" : "origin/feat_daxie"
              }
            ]
          },
          "revision" : {
            "SHA1" : "d27cb08d4108e62f0b1774c5ee3ad94dd27d48f0",
            "branch" : [
              {
                "SHA1" : "d27cb08d4108e62f0b1774c5ee3ad94dd27d48f0",
                "name" : "origin/feat_daxie"
              }
            ]
          }
        },
        "origin/feat_change_1" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 510,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "15093f88caa59010878486fa7cd3704202deb3e7",
            "branch" : [
              {
                "SHA1" : "15093f88caa59010878486fa7cd3704202deb3e7",
                "name" : "origin/feat_change_1"
              }
            ]
          },
          "revision" : {
            "SHA1" : "15093f88caa59010878486fa7cd3704202deb3e7",
            "branch" : [
              {
                "SHA1" : "15093f88caa59010878486fa7cd3704202deb3e7",
                "name" : "origin/feat_change_1"
              }
            ]
          }
        },
        "origin/test4" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 71,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "3a0f01f061fb0345de0de1a5e5341f7b502cae2a",
            "branch" : [
              {
                "SHA1" : "3a0f01f061fb0345de0de1a5e5341f7b502cae2a",
                "name" : "origin/test4"
              }
            ]
          },
          "revision" : {
            "SHA1" : "3a0f01f061fb0345de0de1a5e5341f7b502cae2a",
            "branch" : [
              {
                "SHA1" : "3a0f01f061fb0345de0de1a5e5341f7b502cae2a",
                "name" : "origin/test4"
              }
            ]
          }
        },
        "origin/feat_entrance" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 731,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "d2fcc7874b1f1f44404bddb92b18821f3fba9add",
            "branch" : [
              {
                "SHA1" : "d2fcc7874b1f1f44404bddb92b18821f3fba9add",
                "name" : "origin/feat_entrance"
              }
            ]
          },
          "revision" : {
            "SHA1" : "d2fcc7874b1f1f44404bddb92b18821f3fba9add",
            "branch" : [
              {
                "SHA1" : "d2fcc7874b1f1f44404bddb92b18821f3fba9add",
                "name" : "origin/feat_entrance"
              }
            ]
          }
        },
        "origin/test3" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 168,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "fbd459e064ae43baaa8e4645b3c0310bb71f3c12",
            "branch" : [
              {
                "SHA1" : "fbd459e064ae43baaa8e4645b3c0310bb71f3c12",
                "name" : "origin/test3"
              }
            ]
          },
          "revision" : {
            "SHA1" : "fbd459e064ae43baaa8e4645b3c0310bb71f3c12",
            "branch" : [
              {
                "SHA1" : "fbd459e064ae43baaa8e4645b3c0310bb71f3c12",
                "name" : "origin/test3"
              }
            ]
          }
        },
        "origin/test6" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 99,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "7f3ae0cef35acba9c6a13cde29b660827b4d3084",
            "branch" : [
              {
                "SHA1" : "7f3ae0cef35acba9c6a13cde29b660827b4d3084",
                "name" : "origin/test6"
              }
            ]
          },
          "revision" : {
            "SHA1" : "7f3ae0cef35acba9c6a13cde29b660827b4d3084",
            "branch" : [
              {
                "SHA1" : "7f3ae0cef35acba9c6a13cde29b660827b4d3084",
                "name" : "origin/test6"
              }
            ]
          }
        },
        "origin/feat_wbca_imv" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 611,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "afe647195c9065ee88cbadda207a5a5e5730d927",
            "branch" : [
              {
                "SHA1" : "afe647195c9065ee88cbadda207a5a5e5730d927",
                "name" : "origin/feat_wbca_imv"
              }
            ]
          },
          "revision" : {
            "SHA1" : "afe647195c9065ee88cbadda207a5a5e5730d927",
            "branch" : [
              {
                "SHA1" : "afe647195c9065ee88cbadda207a5a5e5730d927",
                "name" : "origin/feat_wbca_imv"
              }
            ]
          }
        },
        "origin/test11" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 7,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "bb3cc4198b8f9244806db9feec15bfe6f22032e3",
            "branch" : [
              {
                "SHA1" : "bb3cc4198b8f9244806db9feec15bfe6f22032e3",
                "name" : "origin/test11"
              }
            ]
          },
          "revision" : {
            "SHA1" : "bb3cc4198b8f9244806db9feec15bfe6f22032e3",
            "branch" : [
              {
                "SHA1" : "bb3cc4198b8f9244806db9feec15bfe6f22032e3",
                "name" : "origin/test11"
              }
            ]
          }
        },
        "origin/test5" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 109,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "e7c3d98921bf7fd4291229aeecdcf7fa1fa959fb",
            "branch" : [
              {
                "SHA1" : "e7c3d98921bf7fd4291229aeecdcf7fa1fa959fb",
                "name" : "origin/test5"
              }
            ]
          },
          "revision" : {
            "SHA1" : "e7c3d98921bf7fd4291229aeecdcf7fa1fa959fb",
            "branch" : [
              {
                "SHA1" : "e7c3d98921bf7fd4291229aeecdcf7fa1fa959fb",
                "name" : "origin/test5"
              }
            ]
          }
        },
        "origin/feat_block_data_switch" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 717,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "bcb9d836d737396fa512a0070e081ac75391c320",
            "branch" : [
              {
                "SHA1" : "bcb9d836d737396fa512a0070e081ac75391c320",
                "name" : "origin/feat_block_data_switch"
              }
            ]
          },
          "revision" : {
            "SHA1" : "bcb9d836d737396fa512a0070e081ac75391c320",
            "branch" : [
              {
                "SHA1" : "bcb9d836d737396fa512a0070e081ac75391c320",
                "name" : "origin/feat_block_data_switch"
              }
            ]
          }
        },
        "origin/dev_ph_test_lane_change_new" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 101,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "c63d1960ccf27e835e23157157b281da8479226f",
            "branch" : [
              {
                "SHA1" : "c63d1960ccf27e835e23157157b281da8479226f",
                "name" : "origin/dev_ph_test_lane_change_new"
              }
            ]
          },
          "revision" : {
            "SHA1" : "c63d1960ccf27e835e23157157b281da8479226f",
            "branch" : [
              {
                "SHA1" : "c63d1960ccf27e835e23157157b281da8479226f",
                "name" : "origin/dev_ph_test_lane_change_new"
              }
            ]
          }
        },
        "origin/feat_pnc_target" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 677,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "72a511e7cc86d80e1636ce648fa7a5d11559afb5",
            "branch" : [
              {
                "SHA1" : "72a511e7cc86d80e1636ce648fa7a5d11559afb5",
                "name" : "origin/feat_pnc_target"
              }
            ]
          },
          "revision" : {
            "SHA1" : "72a511e7cc86d80e1636ce648fa7a5d11559afb5",
            "branch" : [
              {
                "SHA1" : "72a511e7cc86d80e1636ce648fa7a5d11559afb5",
                "name" : "origin/feat_pnc_target"
              }
            ]
          }
        },
        "origin/feat_sidepass_lattice" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1007,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "abaf5d01dcb656c9138007e91f34fede7bca4eef",
            "branch" : [
              {
                "SHA1" : "abaf5d01dcb656c9138007e91f34fede7bca4eef",
                "name" : "origin/feat_sidepass_lattice"
              }
            ]
          },
          "revision" : {
            "SHA1" : "abaf5d01dcb656c9138007e91f34fede7bca4eef",
            "branch" : [
              {
                "SHA1" : "abaf5d01dcb656c9138007e91f34fede7bca4eef",
                "name" : "origin/feat_sidepass_lattice"
              }
            ]
          }
        },
        "origin/feat_seg_route" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 295,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "0f2dd47dec14cd49d299bbc6ce7318af268a1f57",
            "branch" : [
              {
                "SHA1" : "0f2dd47dec14cd49d299bbc6ce7318af268a1f57",
                "name" : "origin/feat_seg_route"
              }
            ]
          },
          "revision" : {
            "SHA1" : "0f2dd47dec14cd49d299bbc6ce7318af268a1f57",
            "branch" : [
              {
                "SHA1" : "0f2dd47dec14cd49d299bbc6ce7318af268a1f57",
                "name" : "origin/feat_seg_route"
              }
            ]
          }
        },
        "origin/feat_up_down" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 210,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "b0fde22b207d8b2a0037c919174cdefa94f4fdab",
            "branch" : [
              {
                "SHA1" : "b0fde22b207d8b2a0037c919174cdefa94f4fdab",
                "name" : "origin/feat_up_down"
              }
            ]
          },
          "revision" : {
            "SHA1" : "b0fde22b207d8b2a0037c919174cdefa94f4fdab",
            "branch" : [
              {
                "SHA1" : "b0fde22b207d8b2a0037c919174cdefa94f4fdab",
                "name" : "origin/feat_up_down"
              }
            ]
          }
        },
        "origin/feat_ctl_sink" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 457,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "3f3cccee7acfd8a12f1adeddf5ba89ee9b0fbd6f",
            "branch" : [
              {
                "SHA1" : "3f3cccee7acfd8a12f1adeddf5ba89ee9b0fbd6f",
                "name" : "origin/feat_ctl_sink"
              }
            ]
          },
          "revision" : {
            "SHA1" : "3f3cccee7acfd8a12f1adeddf5ba89ee9b0fbd6f",
            "branch" : [
              {
                "SHA1" : "3f3cccee7acfd8a12f1adeddf5ba89ee9b0fbd6f",
                "name" : "origin/feat_ctl_sink"
              }
            ]
          }
        },
        "origin/tmp_lon_decision_3" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 409,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "ebd9eb0b5f884f9afc085e7f93d80aba8f093bb3",
            "branch" : [
              {
                "SHA1" : "ebd9eb0b5f884f9afc085e7f93d80aba8f093bb3",
                "name" : "origin/tmp_lon_decision_3"
              }
            ]
          },
          "revision" : {
            "SHA1" : "ebd9eb0b5f884f9afc085e7f93d80aba8f093bb3",
            "branch" : [
              {
                "SHA1" : "ebd9eb0b5f884f9afc085e7f93d80aba8f093bb3",
                "name" : "origin/tmp_lon_decision_3"
              }
            ]
          }
        },
        "origin/test_lon_decision" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 431,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "63db554b6b9af2f33a046d25c11b613d4a3cac5a",
            "branch" : [
              {
                "SHA1" : "63db554b6b9af2f33a046d25c11b613d4a3cac5a",
                "name" : "origin/test_lon_decision"
              }
            ]
          },
          "revision" : {
            "SHA1" : "63db554b6b9af2f33a046d25c11b613d4a3cac5a",
            "branch" : [
              {
                "SHA1" : "63db554b6b9af2f33a046d25c11b613d4a3cac5a",
                "name" : "origin/test_lon_decision"
              }
            ]
          }
        },
        "origin/tmp_lon_decision_2" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 382,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "2eb7e0d6dbdd384b219c1804b159953dae3d290f",
            "branch" : [
              {
                "SHA1" : "2eb7e0d6dbdd384b219c1804b159953dae3d290f",
                "name" : "origin/tmp_lon_decision_2"
              }
            ]
          },
          "revision" : {
            "SHA1" : "2eb7e0d6dbdd384b219c1804b159953dae3d290f",
            "branch" : [
              {
                "SHA1" : "2eb7e0d6dbdd384b219c1804b159953dae3d290f",
                "name" : "origin/tmp_lon_decision_2"
              }
            ]
          }
        },
        "origin/feat_trajectory" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 943,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "f4cc05d89138769a62b8716733355714710cb5eb",
            "branch" : [
              {
                "SHA1" : "f4cc05d89138769a62b8716733355714710cb5eb",
                "name" : "origin/feat_trajectory"
              }
            ]
          },
          "revision" : {
            "SHA1" : "f4cc05d89138769a62b8716733355714710cb5eb",
            "branch" : [
              {
                "SHA1" : "f4cc05d89138769a62b8716733355714710cb5eb",
                "name" : "origin/feat_trajectory"
              }
            ]
          }
        },
        "origin/feat_below_plane" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 696,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "c9ebfad01a127e5898e2888f4c23c52bf6bd47a5",
            "branch" : [
              {
                "SHA1" : "c9ebfad01a127e5898e2888f4c23c52bf6bd47a5",
                "name" : "origin/feat_below_plane"
              }
            ]
          },
          "revision" : {
            "SHA1" : "c9ebfad01a127e5898e2888f4c23c52bf6bd47a5",
            "branch" : [
              {
                "SHA1" : "c9ebfad01a127e5898e2888f4c23c52bf6bd47a5",
                "name" : "origin/feat_below_plane"
              }
            ]
          }
        },
        "origin/feat_error_2" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 885,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "0525883764c99198faf1072afbb9bf0e37506573",
            "branch" : [
              {
                "SHA1" : "0525883764c99198faf1072afbb9bf0e37506573",
                "name" : "origin/feat_error_2"
              }
            ]
          },
          "revision" : {
            "SHA1" : "0525883764c99198faf1072afbb9bf0e37506573",
            "branch" : [
              {
                "SHA1" : "0525883764c99198faf1072afbb9bf0e37506573",
                "name" : "origin/feat_error_2"
              }
            ]
          }
        },
        "origin/devel_lon_decisionV2_simulation" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 342,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "d095677ca7a33e53ebeb854c436c36d20469fe4f",
            "branch" : [
              {
                "SHA1" : "d095677ca7a33e53ebeb854c436c36d20469fe4f",
                "name" : "origin/devel_lon_decisionV2_simulation"
              }
            ]
          },
          "revision" : {
            "SHA1" : "d095677ca7a33e53ebeb854c436c36d20469fe4f",
            "branch" : [
              {
                "SHA1" : "d095677ca7a33e53ebeb854c436c36d20469fe4f",
                "name" : "origin/devel_lon_decisionV2_simulation"
              }
            ]
          }
        },
        "origin/feat_remote_open_space" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 810,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "e144a3fa9d9dc5d60f442f1886c83d42cdd6f6d2",
            "branch" : [
              {
                "SHA1" : "e144a3fa9d9dc5d60f442f1886c83d42cdd6f6d2",
                "name" : "origin/feat_remote_open_space"
              }
            ]
          },
          "revision" : {
            "SHA1" : "e144a3fa9d9dc5d60f442f1886c83d42cdd6f6d2",
            "branch" : [
              {
                "SHA1" : "e144a3fa9d9dc5d60f442f1886c83d42cdd6f6d2",
                "name" : "origin/feat_remote_open_space"
              }
            ]
          }
        },
        "origin/feat_sim" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 923,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "03c0657ce15b2d36b9b7db1be30a799619f63c7b",
            "branch" : [
              {
                "SHA1" : "03c0657ce15b2d36b9b7db1be30a799619f63c7b",
                "name" : "origin/feat_sim"
              }
            ]
          },
          "revision" : {
            "SHA1" : "03c0657ce15b2d36b9b7db1be30a799619f63c7b",
            "branch" : [
              {
                "SHA1" : "03c0657ce15b2d36b9b7db1be30a799619f63c7b",
                "name" : "origin/feat_sim"
              }
            ]
          }
        },
        "origin/feat_dynamic_bridge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 555,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "4656941b18dd1c95add7e09d983e98a4bf7f3d28",
            "branch" : [
              {
                "SHA1" : "4656941b18dd1c95add7e09d983e98a4bf7f3d28",
                "name" : "origin/feat_dynamic_bridge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "4656941b18dd1c95add7e09d983e98a4bf7f3d28",
            "branch" : [
              {
                "SHA1" : "4656941b18dd1c95add7e09d983e98a4bf7f3d28",
                "name" : "origin/feat_dynamic_bridge"
              }
            ]
          }
        },
        "origin/devel_ex_obj" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 378,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "9fe202eeb9b3047c55375d0d94f3303281519e68",
            "branch" : [
              {
                "SHA1" : "9fe202eeb9b3047c55375d0d94f3303281519e68",
                "name" : "origin/devel_ex_obj"
              }
            ]
          },
          "revision" : {
            "SHA1" : "9fe202eeb9b3047c55375d0d94f3303281519e68",
            "branch" : [
              {
                "SHA1" : "9fe202eeb9b3047c55375d0d94f3303281519e68",
                "name" : "origin/devel_ex_obj"
              }
            ]
          }
        },
        "origin/modify_lane_change" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 383,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "af04d52e2ad1a3e8b8e6785945980bb1396b7620",
            "branch" : [
              {
                "SHA1" : "af04d52e2ad1a3e8b8e6785945980bb1396b7620",
                "name" : "origin/modify_lane_change"
              }
            ]
          },
          "revision" : {
            "SHA1" : "af04d52e2ad1a3e8b8e6785945980bb1396b7620",
            "branch" : [
              {
                "SHA1" : "af04d52e2ad1a3e8b8e6785945980bb1396b7620",
                "name" : "origin/modify_lane_change"
              }
            ]
          }
        },
        "origin/feat_daxie_proto" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1011,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "78bba47ab5ea7279ca0c1e9a985669e135e168f8",
            "branch" : [
              {
                "SHA1" : "78bba47ab5ea7279ca0c1e9a985669e135e168f8",
                "name" : "origin/feat_daxie_proto"
              }
            ]
          },
          "revision" : {
            "SHA1" : "78bba47ab5ea7279ca0c1e9a985669e135e168f8",
            "branch" : [
              {
                "SHA1" : "78bba47ab5ea7279ca0c1e9a985669e135e168f8",
                "name" : "origin/feat_daxie_proto"
              }
            ]
          }
        },
        "origin/tmp_LD4_snapshot" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 445,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "11fc49246be79eaca5468550871e39e53b9d2c10",
            "branch" : [
              {
                "SHA1" : "11fc49246be79eaca5468550871e39e53b9d2c10",
                "name" : "origin/tmp_LD4_snapshot"
              }
            ]
          },
          "revision" : {
            "SHA1" : "11fc49246be79eaca5468550871e39e53b9d2c10",
            "branch" : [
              {
                "SHA1" : "11fc49246be79eaca5468550871e39e53b9d2c10",
                "name" : "origin/tmp_LD4_snapshot"
              }
            ]
          }
        },
        "origin/feat_yard_decider" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 604,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "9b6eb3039399db13fedded25fa6e7d42234df2f8",
            "branch" : [
              {
                "SHA1" : "9b6eb3039399db13fedded25fa6e7d42234df2f8",
                "name" : "origin/feat_yard_decider"
              }
            ]
          },
          "revision" : {
            "SHA1" : "9b6eb3039399db13fedded25fa6e7d42234df2f8",
            "branch" : [
              {
                "SHA1" : "9b6eb3039399db13fedded25fa6e7d42234df2f8",
                "name" : "origin/feat_yard_decider"
              }
            ]
          }
        },
        "origin/feat_safety_check" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 615,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "48ed6b4738aaafd6bb7e364c3108414f6f459227",
            "branch" : [
              {
                "SHA1" : "48ed6b4738aaafd6bb7e364c3108414f6f459227",
                "name" : "origin/feat_safety_check"
              }
            ]
          },
          "revision" : {
            "SHA1" : "48ed6b4738aaafd6bb7e364c3108414f6f459227",
            "branch" : [
              {
                "SHA1" : "48ed6b4738aaafd6bb7e364c3108414f6f459227",
                "name" : "origin/feat_safety_check"
              }
            ]
          }
        },
        "origin/feat_sidepass_decider" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 998,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "5e850185f8ec461f7475603e6a0859aeb500a014",
            "branch" : [
              {
                "SHA1" : "5e850185f8ec461f7475603e6a0859aeb500a014",
                "name" : "origin/feat_sidepass_decider"
              }
            ]
          },
          "revision" : {
            "SHA1" : "5e850185f8ec461f7475603e6a0859aeb500a014",
            "branch" : [
              {
                "SHA1" : "5e850185f8ec461f7475603e6a0859aeb500a014",
                "name" : "origin/feat_sidepass_decider"
              }
            ]
          }
        },
        "origin/feat_change" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 481,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "36ebe249532fe65cc6520e2ce69acb9908a55b0f",
            "branch" : [
              {
                "SHA1" : "36ebe249532fe65cc6520e2ce69acb9908a55b0f",
                "name" : "origin/feat_change"
              }
            ]
          },
          "revision" : {
            "SHA1" : "36ebe249532fe65cc6520e2ce69acb9908a55b0f",
            "branch" : [
              {
                "SHA1" : "36ebe249532fe65cc6520e2ce69acb9908a55b0f",
                "name" : "origin/feat_change"
              }
            ]
          }
        },
        "origin/feat_trajectory_qiangang" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 942,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "a59742b9c0f215a10b2843a5ff479f3b177397a4",
            "branch" : [
              {
                "SHA1" : "a59742b9c0f215a10b2843a5ff479f3b177397a4",
                "name" : "origin/feat_trajectory_qiangang"
              }
            ]
          },
          "revision" : {
            "SHA1" : "a59742b9c0f215a10b2843a5ff479f3b177397a4",
            "branch" : [
              {
                "SHA1" : "a59742b9c0f215a10b2843a5ff479f3b177397a4",
                "name" : "origin/feat_trajectory_qiangang"
              }
            ]
          }
        },
        "origin/feat-ssep-add-hd-map" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 722,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "2632d09a428da5a46a04b621f4f6f72632646542",
            "branch" : [
              {
                "SHA1" : "2632d09a428da5a46a04b621f4f6f72632646542",
                "name" : "origin/feat-ssep-add-hd-map"
              }
            ]
          },
          "revision" : {
            "SHA1" : "2632d09a428da5a46a04b621f4f6f72632646542",
            "branch" : [
              {
                "SHA1" : "2632d09a428da5a46a04b621f4f6f72632646542",
                "name" : "origin/feat-ssep-add-hd-map"
              }
            ]
          }
        },
        "origin/dev_lon_decision" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 262,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "0478658dcd25c868aa519df5722fabca6cc74638",
            "branch" : [
              {
                "SHA1" : "0478658dcd25c868aa519df5722fabca6cc74638",
                "name" : "origin/dev_lon_decision"
              }
            ]
          },
          "revision" : {
            "SHA1" : "0478658dcd25c868aa519df5722fabca6cc74638",
            "branch" : [
              {
                "SHA1" : "0478658dcd25c868aa519df5722fabca6cc74638",
                "name" : "origin/dev_lon_decision"
              }
            ]
          }
        },
        "origin/feat_boundary_type" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 521,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "a7011864c5dd8352e99def130a7c0b4030c6f11a",
            "branch" : [
              {
                "SHA1" : "a7011864c5dd8352e99def130a7c0b4030c6f11a",
                "name" : "origin/feat_boundary_type"
              }
            ]
          },
          "revision" : {
            "SHA1" : "a7011864c5dd8352e99def130a7c0b4030c6f11a",
            "branch" : [
              {
                "SHA1" : "a7011864c5dd8352e99def130a7c0b4030c6f11a",
                "name" : "origin/feat_boundary_type"
              }
            ]
          }
        },
        "origin/cloud_1" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 34,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "94566d8dce0cd9dd7d5c7b8189ca55f423de99df",
            "branch" : [
              {
                "SHA1" : "94566d8dce0cd9dd7d5c7b8189ca55f423de99df",
                "name" : "origin/cloud_1"
              }
            ]
          },
          "revision" : {
            "SHA1" : "94566d8dce0cd9dd7d5c7b8189ca55f423de99df",
            "branch" : [
              {
                "SHA1" : "94566d8dce0cd9dd7d5c7b8189ca55f423de99df",
                "name" : "origin/cloud_1"
              }
            ]
          }
        },
        "origin/feat_wbca_truck_dp" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 642,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "657e2b0b15972fd4c69412c6557a8a49f930363c",
            "branch" : [
              {
                "SHA1" : "657e2b0b15972fd4c69412c6557a8a49f930363c",
                "name" : "origin/feat_wbca_truck_dp"
              }
            ]
          },
          "revision" : {
            "SHA1" : "657e2b0b15972fd4c69412c6557a8a49f930363c",
            "branch" : [
              {
                "SHA1" : "657e2b0b15972fd4c69412c6557a8a49f930363c",
                "name" : "origin/feat_wbca_truck_dp"
              }
            ]
          }
        },
        "origin/feat_park" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 743,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "637bcb3a4d6338d67668b38c729b42d4953e675c",
            "branch" : [
              {
                "SHA1" : "637bcb3a4d6338d67668b38c729b42d4953e675c",
                "name" : "origin/feat_park"
              }
            ]
          },
          "revision" : {
            "SHA1" : "637bcb3a4d6338d67668b38c729b42d4953e675c",
            "branch" : [
              {
                "SHA1" : "637bcb3a4d6338d67668b38c729b42d4953e675c",
                "name" : "origin/feat_park"
              }
            ]
          }
        },
        "origin/feat_traffic_light" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 344,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "48f144ae52a9b21881be745593c87d9389a42732",
            "branch" : [
              {
                "SHA1" : "48f144ae52a9b21881be745593c87d9389a42732",
                "name" : "origin/feat_traffic_light"
              }
            ]
          },
          "revision" : {
            "SHA1" : "48f144ae52a9b21881be745593c87d9389a42732",
            "branch" : [
              {
                "SHA1" : "48f144ae52a9b21881be745593c87d9389a42732",
                "name" : "origin/feat_traffic_light"
              }
            ]
          }
        },
        "origin/feat_daxie_proto_old" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1028,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "a4032632363800a587ca190c2ec44c8a92c1a634",
            "branch" : [
              {
                "SHA1" : "a4032632363800a587ca190c2ec44c8a92c1a634",
                "name" : "origin/feat_daxie_proto_old"
              }
            ]
          },
          "revision" : {
            "SHA1" : "a4032632363800a587ca190c2ec44c8a92c1a634",
            "branch" : [
              {
                "SHA1" : "a4032632363800a587ca190c2ec44c8a92c1a634",
                "name" : "origin/feat_daxie_proto_old"
              }
            ]
          }
        },
        "origin/feat_centerline_sink" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 471,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "e330656a6e0842455977d0a2cc3762960f11e4a1",
            "branch" : [
              {
                "SHA1" : "e330656a6e0842455977d0a2cc3762960f11e4a1",
                "name" : "origin/feat_centerline_sink"
              }
            ]
          },
          "revision" : {
            "SHA1" : "e330656a6e0842455977d0a2cc3762960f11e4a1",
            "branch" : [
              {
                "SHA1" : "e330656a6e0842455977d0a2cc3762960f11e4a1",
                "name" : "origin/feat_centerline_sink"
              }
            ]
          }
        },
        "origin/tmp_lon4_shanpshot" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 423,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "a2ec23de78135dae555b625c4277d65fd8d76263",
            "branch" : [
              {
                "SHA1" : "a2ec23de78135dae555b625c4277d65fd8d76263",
                "name" : "origin/tmp_lon4_shanpshot"
              }
            ]
          },
          "revision" : {
            "SHA1" : "a2ec23de78135dae555b625c4277d65fd8d76263",
            "branch" : [
              {
                "SHA1" : "a2ec23de78135dae555b625c4277d65fd8d76263",
                "name" : "origin/tmp_lon4_shanpshot"
              }
            ]
          }
        },
        "origin/dev_lon_decisionV2" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 385,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "8acb7d2bb4762c46863bbce39699957378a5af77",
            "branch" : [
              {
                "SHA1" : "8acb7d2bb4762c46863bbce39699957378a5af77",
                "name" : "origin/dev_lon_decisionV2"
              }
            ]
          },
          "revision" : {
            "SHA1" : "8acb7d2bb4762c46863bbce39699957378a5af77",
            "branch" : [
              {
                "SHA1" : "8acb7d2bb4762c46863bbce39699957378a5af77",
                "name" : "origin/dev_lon_decisionV2"
              }
            ]
          }
        },
        "origin/crane_stop_optmize" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 277,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "b4c2f1b54107d66f7501de74a2dfdc7ec5cb2f02",
            "branch" : [
              {
                "SHA1" : "b4c2f1b54107d66f7501de74a2dfdc7ec5cb2f02",
                "name" : "origin/crane_stop_optmize"
              }
            ]
          },
          "revision" : {
            "SHA1" : "b4c2f1b54107d66f7501de74a2dfdc7ec5cb2f02",
            "branch" : [
              {
                "SHA1" : "b4c2f1b54107d66f7501de74a2dfdc7ec5cb2f02",
                "name" : "origin/crane_stop_optmize"
              }
            ]
          }
        },
        "origin/feat_dead_lock" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 861,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "baa36b15b097863b686bcbfcfb4d8479a72b9bba",
            "branch" : [
              {
                "SHA1" : "baa36b15b097863b686bcbfcfb4d8479a72b9bba",
                "name" : "origin/feat_dead_lock"
              }
            ]
          },
          "revision" : {
            "SHA1" : "baa36b15b097863b686bcbfcfb4d8479a72b9bba",
            "branch" : [
              {
                "SHA1" : "baa36b15b097863b686bcbfcfb4d8479a72b9bba",
                "name" : "origin/feat_dead_lock"
              }
            ]
          }
        },
        "origin/feat_qiangang" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 800,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "974af97bca0fbf8ad48dcb148435bb05c5e3b6c9",
            "branch" : [
              {
                "SHA1" : "974af97bca0fbf8ad48dcb148435bb05c5e3b6c9",
                "name" : "origin/feat_qiangang"
              }
            ]
          },
          "revision" : {
            "SHA1" : "974af97bca0fbf8ad48dcb148435bb05c5e3b6c9",
            "branch" : [
              {
                "SHA1" : "974af97bca0fbf8ad48dcb148435bb05c5e3b6c9",
                "name" : "origin/feat_qiangang"
              }
            ]
          }
        },
        "origin/feat_straddle_v2" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 969,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "b3732c996e749468eca9039b8eac062ffba99e3e",
            "branch" : [
              {
                "SHA1" : "b3732c996e749468eca9039b8eac062ffba99e3e",
                "name" : "origin/feat_straddle_v2"
              }
            ]
          },
          "revision" : {
            "SHA1" : "b3732c996e749468eca9039b8eac062ffba99e3e",
            "branch" : [
              {
                "SHA1" : "b3732c996e749468eca9039b8eac062ffba99e3e",
                "name" : "origin/feat_straddle_v2"
              }
            ]
          }
        },
        "origin/devel_test_ph_mult_lane_change" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 266,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "6583772fc4cc12937808ab321f863abb4bc18046",
            "branch" : [
              {
                "SHA1" : "6583772fc4cc12937808ab321f863abb4bc18046",
                "name" : "origin/devel_test_ph_mult_lane_change"
              }
            ]
          },
          "revision" : {
            "SHA1" : "6583772fc4cc12937808ab321f863abb4bc18046",
            "branch" : [
              {
                "SHA1" : "6583772fc4cc12937808ab321f863abb4bc18046",
                "name" : "origin/devel_test_ph_mult_lane_change"
              }
            ]
          }
        },
        "origin/dev_ph_test_lane_change" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 53,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "8635f4d8133cd7d5c2d7a44087757db58fd9bca1",
            "branch" : [
              {
                "SHA1" : "8635f4d8133cd7d5c2d7a44087757db58fd9bca1",
                "name" : "origin/dev_ph_test_lane_change"
              }
            ]
          },
          "revision" : {
            "SHA1" : "8635f4d8133cd7d5c2d7a44087757db58fd9bca1",
            "branch" : [
              {
                "SHA1" : "8635f4d8133cd7d5c2d7a44087757db58fd9bca1",
                "name" : "origin/dev_ph_test_lane_change"
              }
            ]
          }
        },
        "origin/tmp_LD4_shanpshot" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 436,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "d2cbbbf572256f1209b574d3bd316fce794586d6",
            "branch" : [
              {
                "SHA1" : "d2cbbbf572256f1209b574d3bd316fce794586d6",
                "name" : "origin/tmp_LD4_shanpshot"
              }
            ]
          },
          "revision" : {
            "SHA1" : "d2cbbbf572256f1209b574d3bd316fce794586d6",
            "branch" : [
              {
                "SHA1" : "d2cbbbf572256f1209b574d3bd316fce794586d6",
                "name" : "origin/tmp_LD4_shanpshot"
              }
            ]
          }
        },
        "origin/cloudtest2" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 11,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "7bc03253ad081c01c3fb222525ce87850910fee3",
            "branch" : [
              {
                "SHA1" : "7bc03253ad081c01c3fb222525ce87850910fee3",
                "name" : "origin/cloudtest2"
              }
            ]
          },
          "revision" : {
            "SHA1" : "7bc03253ad081c01c3fb222525ce87850910fee3",
            "branch" : [
              {
                "SHA1" : "7bc03253ad081c01c3fb222525ce87850910fee3",
                "name" : "origin/cloudtest2"
              }
            ]
          }
        },
        "origin/feat_hfsm" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 464,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "0a443939715c85ef2371ed1f8c58bab4716db008",
            "branch" : [
              {
                "SHA1" : "0a443939715c85ef2371ed1f8c58bab4716db008",
                "name" : "origin/feat_hfsm"
              }
            ]
          },
          "revision" : {
            "SHA1" : "0a443939715c85ef2371ed1f8c58bab4716db008",
            "branch" : [
              {
                "SHA1" : "0a443939715c85ef2371ed1f8c58bab4716db008",
                "name" : "origin/feat_hfsm"
              }
            ]
          }
        },
        "origin/devel_ph_feat_side_pass" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 332,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "835165d41405a5a1de62a4911016e3a20a47b529",
            "branch" : [
              {
                "SHA1" : "835165d41405a5a1de62a4911016e3a20a47b529",
                "name" : "origin/devel_ph_feat_side_pass"
              }
            ]
          },
          "revision" : {
            "SHA1" : "835165d41405a5a1de62a4911016e3a20a47b529",
            "branch" : [
              {
                "SHA1" : "835165d41405a5a1de62a4911016e3a20a47b529",
                "name" : "origin/devel_ph_feat_side_pass"
              }
            ]
          }
        },
        "origin/test_hairun" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 373,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "fd8840b9d30d4e277dd8db08957ba72d0dcb565f",
            "branch" : [
              {
                "SHA1" : "fd8840b9d30d4e277dd8db08957ba72d0dcb565f",
                "name" : "origin/test_hairun"
              }
            ]
          },
          "revision" : {
            "SHA1" : "fd8840b9d30d4e277dd8db08957ba72d0dcb565f",
            "branch" : [
              {
                "SHA1" : "fd8840b9d30d4e277dd8db08957ba72d0dcb565f",
                "name" : "origin/test_hairun"
              }
            ]
          }
        },
        "origin/feat-speed-limit" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 494,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "a0af701f442de90949a2b5724546b49c3224d396",
            "branch" : [
              {
                "SHA1" : "a0af701f442de90949a2b5724546b49c3224d396",
                "name" : "origin/feat-speed-limit"
              }
            ]
          },
          "revision" : {
            "SHA1" : "a0af701f442de90949a2b5724546b49c3224d396",
            "branch" : [
              {
                "SHA1" : "a0af701f442de90949a2b5724546b49c3224d396",
                "name" : "origin/feat-speed-limit"
              }
            ]
          }
        },
        "origin/feat_qiangang_refactor" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 855,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "8b25d72c0b8580de808cdd4b2288fb9ab7eb5584",
            "branch" : [
              {
                "SHA1" : "8b25d72c0b8580de808cdd4b2288fb9ab7eb5584",
                "name" : "origin/feat_qiangang_refactor"
              }
            ]
          },
          "revision" : {
            "SHA1" : "8b25d72c0b8580de808cdd4b2288fb9ab7eb5584",
            "branch" : [
              {
                "SHA1" : "8b25d72c0b8580de808cdd4b2288fb9ab7eb5584",
                "name" : "origin/feat_qiangang_refactor"
              }
            ]
          }
        },
        "origin/feat_lock_station" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 708,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "d312c086f8debff7d70d9285d852e7da36f488e1",
            "branch" : [
              {
                "SHA1" : "d312c086f8debff7d70d9285d852e7da36f488e1",
                "name" : "origin/feat_lock_station"
              }
            ]
          },
          "revision" : {
            "SHA1" : "d312c086f8debff7d70d9285d852e7da36f488e1",
            "branch" : [
              {
                "SHA1" : "d312c086f8debff7d70d9285d852e7da36f488e1",
                "name" : "origin/feat_lock_station"
              }
            ]
          }
        },
        "origin/feat_escape" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 818,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "b17f0d5fb704e33ac5c479ea638e8dc7e745462c",
            "branch" : [
              {
                "SHA1" : "b17f0d5fb704e33ac5c479ea638e8dc7e745462c",
                "name" : "origin/feat_escape"
              }
            ]
          },
          "revision" : {
            "SHA1" : "b17f0d5fb704e33ac5c479ea638e8dc7e745462c",
            "branch" : [
              {
                "SHA1" : "b17f0d5fb704e33ac5c479ea638e8dc7e745462c",
                "name" : "origin/feat_escape"
              }
            ]
          }
        },
        "origin/feat_pnc_status" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 882,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "54f5492c7e8131e77a3f2d06ece6b26adbd01bf8",
            "branch" : [
              {
                "SHA1" : "54f5492c7e8131e77a3f2d06ece6b26adbd01bf8",
                "name" : "origin/feat_pnc_status"
              }
            ]
          },
          "revision" : {
            "SHA1" : "54f5492c7e8131e77a3f2d06ece6b26adbd01bf8",
            "branch" : [
              {
                "SHA1" : "54f5492c7e8131e77a3f2d06ece6b26adbd01bf8",
                "name" : "origin/feat_pnc_status"
              }
            ]
          }
        },
        "origin/modify_lane_change_new" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 407,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "d9d5d87eb8776522a3d896af2d8a5c594a4d95af",
            "branch" : [
              {
                "SHA1" : "d9d5d87eb8776522a3d896af2d8a5c594a4d95af",
                "name" : "origin/modify_lane_change_new"
              }
            ]
          },
          "revision" : {
            "SHA1" : "d9d5d87eb8776522a3d896af2d8a5c594a4d95af",
            "branch" : [
              {
                "SHA1" : "d9d5d87eb8776522a3d896af2d8a5c594a4d95af",
                "name" : "origin/modify_lane_change_new"
              }
            ]
          }
        },
        "origin/feat_reversing_truck" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 350,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "c67ae47788fc42372af3f47ef077c229241273b3",
            "branch" : [
              {
                "SHA1" : "c67ae47788fc42372af3f47ef077c229241273b3",
                "name" : "origin/feat_reversing_truck"
              }
            ]
          },
          "revision" : {
            "SHA1" : "c67ae47788fc42372af3f47ef077c229241273b3",
            "branch" : [
              {
                "SHA1" : "c67ae47788fc42372af3f47ef077c229241273b3",
                "name" : "origin/feat_reversing_truck"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "a4032632363800a587ca190c2ec44c8a92c1a634",
        "branch" : [
          {
            "SHA1" : "a4032632363800a587ca190c2ec44c8a92c1a634",
            "name" : "origin/feat_daxie_proto_old"
          }
        ]
      },
      "remoteUrls" : [
        "http://159.27.226.4/pnc/pnc.git"
      ],
      "scmName" : ""
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/rc_dev" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1028,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "a9c2e4d796a63e7fae98439c0d76ee577dfdf98f",
            "branch" : [
              {
                "SHA1" : "a9c2e4d796a63e7fae98439c0d76ee577dfdf98f",
                "name" : "origin/rc_dev"
              }
            ]
          },
          "revision" : {
            "SHA1" : "a9c2e4d796a63e7fae98439c0d76ee577dfdf98f",
            "branch" : [
              {
                "SHA1" : "a9c2e4d796a63e7fae98439c0d76ee577dfdf98f",
                "name" : "origin/rc_dev"
              }
            ]
          }
        },
        "origin/new_temp_branch" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 525,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "40ff437c0c8c21f549e6d7ad8b6491ce2f713a2b",
            "branch" : [
              {
                "SHA1" : "40ff437c0c8c21f549e6d7ad8b6491ce2f713a2b",
                "name" : "origin/new_temp_branch"
              }
            ]
          },
          "revision" : {
            "SHA1" : "40ff437c0c8c21f549e6d7ad8b6491ce2f713a2b",
            "branch" : [
              {
                "SHA1" : "40ff437c0c8c21f549e6d7ad8b6491ce2f713a2b",
                "name" : "origin/new_temp_branch"
              }
            ]
          }
        },
        "origin/rc_interface" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 46,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "d7a7829428edec0ed1626458e6fad94b72b18419",
            "branch" : [
              {
                "SHA1" : "d7a7829428edec0ed1626458e6fad94b72b18419",
                "name" : "origin/rc_interface"
              }
            ]
          },
          "revision" : {
            "SHA1" : "d7a7829428edec0ed1626458e6fad94b72b18419",
            "branch" : [
              {
                "SHA1" : "d7a7829428edec0ed1626458e6fad94b72b18419",
                "name" : "origin/rc_interface"
              }
            ]
          }
        },
        "origin/dev_cloud_mq" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 11,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "40f4260415b18d2dd8d6b9bb868f19f0af9fee29",
            "branch" : [
              {
                "SHA1" : "40f4260415b18d2dd8d6b9bb868f19f0af9fee29",
                "name" : "origin/dev_cloud_mq"
              }
            ]
          },
          "revision" : {
            "SHA1" : "40f4260415b18d2dd8d6b9bb868f19f0af9fee29",
            "branch" : [
              {
                "SHA1" : "40f4260415b18d2dd8d6b9bb868f19f0af9fee29",
                "name" : "origin/dev_cloud_mq"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "a9c2e4d796a63e7fae98439c0d76ee577dfdf98f",
        "branch" : [
          {
            "SHA1" : "a9c2e4d796a63e7fae98439c0d76ee577dfdf98f",
            "name" : "origin/rc_dev"
          }
        ]
      },
      "remoteUrls" : [
        "http://159.27.226.4/map/hdmap.git"
      ],
      "scmName" : ""
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/rc_dev" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1028,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "8a48972ce17db52d38a5c52d3dc616802dcee407",
            "branch" : [
              {
                "SHA1" : "8a48972ce17db52d38a5c52d3dc616802dcee407",
                "name" : "origin/rc_dev"
              }
            ]
          },
          "revision" : {
            "SHA1" : "8a48972ce17db52d38a5c52d3dc616802dcee407",
            "branch" : [
              {
                "SHA1" : "8a48972ce17db52d38a5c52d3dc616802dcee407",
                "name" : "origin/rc_dev"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "8a48972ce17db52d38a5c52d3dc616802dcee407",
        "branch" : [
          {
            "SHA1" : "8a48972ce17db52d38a5c52d3dc616802dcee407",
            "name" : "origin/rc_dev"
          }
        ]
      },
      "remoteUrls" : [
        "http://159.27.226.4/system/system-ros.git"
      ],
      "scmName" : ""
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/rc_dev" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1028,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "83b36a2806bc6618308da7136111f4128d8694e3",
            "branch" : [
              {
                "SHA1" : "83b36a2806bc6618308da7136111f4128d8694e3",
                "name" : "origin/rc_dev"
              }
            ]
          },
          "revision" : {
            "SHA1" : "83b36a2806bc6618308da7136111f4128d8694e3",
            "branch" : [
              {
                "SHA1" : "83b36a2806bc6618308da7136111f4128d8694e3",
                "name" : "origin/rc_dev"
              }
            ]
          }
        },
        "origin/feat_escape" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 798,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "e3e0494223dd23e21a2a0f8b0d3039ef42a3a282",
            "branch" : [
              {
                "SHA1" : "e3e0494223dd23e21a2a0f8b0d3039ef42a3a282",
                "name" : "origin/feat_escape"
              }
            ]
          },
          "revision" : {
            "SHA1" : "e3e0494223dd23e21a2a0f8b0d3039ef42a3a282",
            "branch" : [
              {
                "SHA1" : "e3e0494223dd23e21a2a0f8b0d3039ef42a3a282",
                "name" : "origin/feat_escape"
              }
            ]
          }
        },
        "origin/dev" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 670,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "920f1d8e17bf77621efdba6c664cb26a7d2a67b4",
            "branch" : [
              {
                "SHA1" : "920f1d8e17bf77621efdba6c664cb26a7d2a67b4",
                "name" : "origin/dev"
              }
            ]
          },
          "revision" : {
            "SHA1" : "920f1d8e17bf77621efdba6c664cb26a7d2a67b4",
            "branch" : [
              {
                "SHA1" : "920f1d8e17bf77621efdba6c664cb26a7d2a67b4",
                "name" : "origin/dev"
              }
            ]
          }
        },
        "origin/escape_test" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 801,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "bcfe8a183f44c4e17a55e839614ebfaa56e1c861",
            "branch" : [
              {
                "SHA1" : "bcfe8a183f44c4e17a55e839614ebfaa56e1c861",
                "name" : "origin/escape_test"
              }
            ]
          },
          "revision" : {
            "SHA1" : "bcfe8a183f44c4e17a55e839614ebfaa56e1c861",
            "branch" : [
              {
                "SHA1" : "bcfe8a183f44c4e17a55e839614ebfaa56e1c861",
                "name" : "origin/escape_test"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "83b36a2806bc6618308da7136111f4128d8694e3",
        "branch" : [
          {
            "SHA1" : "83b36a2806bc6618308da7136111f4128d8694e3",
            "name" : "origin/rc_dev"
          }
        ]
      },
      "remoteUrls" : [
        "http://159.27.226.4/system/rminterpreter.git"
      ],
      "scmName" : ""
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/feat_sc_v3" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 946,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "854b0877783e78dfc871c0497c9d039133601a63",
            "branch" : [
              {
                "SHA1" : "854b0877783e78dfc871c0497c9d039133601a63",
                "name" : "origin/feat_sc_v3"
              }
            ]
          },
          "revision" : {
            "SHA1" : "854b0877783e78dfc871c0497c9d039133601a63",
            "branch" : [
              {
                "SHA1" : "854b0877783e78dfc871c0497c9d039133601a63",
                "name" : "origin/feat_sc_v3"
              }
            ]
          }
        },
        "origin/dev" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1012,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "74f3b8e6e2b47d25d03482a3035f3a4a43f1c918",
            "branch" : [
              {
                "SHA1" : "74f3b8e6e2b47d25d03482a3035f3a4a43f1c918",
                "name" : "origin/dev"
              }
            ]
          },
          "revision" : {
            "SHA1" : "74f3b8e6e2b47d25d03482a3035f3a4a43f1c918",
            "branch" : [
              {
                "SHA1" : "74f3b8e6e2b47d25d03482a3035f3a4a43f1c918",
                "name" : "origin/dev"
              }
            ]
          }
        },
        "origin/feat_cargo_width" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 754,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "d60b3ccfe7297adc7411bf5e08901cedc463fa3c",
            "branch" : [
              {
                "SHA1" : "d60b3ccfe7297adc7411bf5e08901cedc463fa3c",
                "name" : "origin/feat_cargo_width"
              }
            ]
          },
          "revision" : {
            "SHA1" : "d60b3ccfe7297adc7411bf5e08901cedc463fa3c",
            "branch" : [
              {
                "SHA1" : "d60b3ccfe7297adc7411bf5e08901cedc463fa3c",
                "name" : "origin/feat_cargo_width"
              }
            ]
          }
        },
        "origin/rcdev_sim" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 814,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "788f6e2b59e21d67c7b8c00839a1b01d151f76a5",
            "branch" : [
              {
                "SHA1" : "788f6e2b59e21d67c7b8c00839a1b01d151f76a5",
                "name" : "origin/rcdev_sim"
              }
            ]
          },
          "revision" : {
            "SHA1" : "788f6e2b59e21d67c7b8c00839a1b01d151f76a5",
            "branch" : [
              {
                "SHA1" : "788f6e2b59e21d67c7b8c00839a1b01d151f76a5",
                "name" : "origin/rcdev_sim"
              }
            ]
          }
        },
        "origin/parallel_step" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 411,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "d3e2c827f75dcc08282db8eebdb6889534b84a27",
            "branch" : [
              {
                "SHA1" : "d3e2c827f75dcc08282db8eebdb6889534b84a27",
                "name" : "origin/parallel_step"
              }
            ]
          },
          "revision" : {
            "SHA1" : "d3e2c827f75dcc08282db8eebdb6889534b84a27",
            "branch" : [
              {
                "SHA1" : "d3e2c827f75dcc08282db8eebdb6889534b84a27",
                "name" : "origin/parallel_step"
              }
            ]
          }
        },
        "origin/feat_cargo_width_1" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 803,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "1e015cff9dddc734826837e074c145638e007784",
            "branch" : [
              {
                "SHA1" : "1e015cff9dddc734826837e074c145638e007784",
                "name" : "origin/feat_cargo_width_1"
              }
            ]
          },
          "revision" : {
            "SHA1" : "1e015cff9dddc734826837e074c145638e007784",
            "branch" : [
              {
                "SHA1" : "1e015cff9dddc734826837e074c145638e007784",
                "name" : "origin/feat_cargo_width_1"
              }
            ]
          }
        },
        "origin/rc_dev" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 807,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "ee99b502622d11df1aef96d6e29399d818e5e950",
            "branch" : [
              {
                "SHA1" : "ee99b502622d11df1aef96d6e29399d818e5e950",
                "name" : "origin/rc_dev"
              }
            ]
          },
          "revision" : {
            "SHA1" : "ee99b502622d11df1aef96d6e29399d818e5e950",
            "branch" : [
              {
                "SHA1" : "ee99b502622d11df1aef96d6e29399d818e5e950",
                "name" : "origin/rc_dev"
              }
            ]
          }
        },
        "origin/feat_parallel" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 722,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "c21e5539ea3d02ffb5fcc4edd67dfac57c07744f",
            "branch" : [
              {
                "SHA1" : "c21e5539ea3d02ffb5fcc4edd67dfac57c07744f",
                "name" : "origin/feat_parallel"
              }
            ]
          },
          "revision" : {
            "SHA1" : "c21e5539ea3d02ffb5fcc4edd67dfac57c07744f",
            "branch" : [
              {
                "SHA1" : "c21e5539ea3d02ffb5fcc4edd67dfac57c07744f",
                "name" : "origin/feat_parallel"
              }
            ]
          }
        },
        "origin/feat_heliostat" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1027,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "ab6c1b0b70b2c2c8441e5e0f04b626a53d826966",
            "branch" : [
              {
                "SHA1" : "ab6c1b0b70b2c2c8441e5e0f04b626a53d826966",
                "name" : "origin/feat_heliostat"
              }
            ]
          },
          "revision" : {
            "SHA1" : "ab6c1b0b70b2c2c8441e5e0f04b626a53d826966",
            "branch" : [
              {
                "SHA1" : "ab6c1b0b70b2c2c8441e5e0f04b626a53d826966",
                "name" : "origin/feat_heliostat"
              }
            ]
          }
        },
        "origin/feat_cargo_width_remote" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 859,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "4d2049600e29c93ba14b177a4d81e9b7f0ca5dcf",
            "branch" : [
              {
                "SHA1" : "4d2049600e29c93ba14b177a4d81e9b7f0ca5dcf",
                "name" : "origin/feat_cargo_width_remote"
              }
            ]
          },
          "revision" : {
            "SHA1" : "4d2049600e29c93ba14b177a4d81e9b7f0ca5dcf",
            "branch" : [
              {
                "SHA1" : "4d2049600e29c93ba14b177a4d81e9b7f0ca5dcf",
                "name" : "origin/feat_cargo_width_remote"
              }
            ]
          }
        },
        "origin/feat_pnc_status" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 973,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "1c3c7b68eab0f7dc093c3281dfebb2a960f0c96b",
            "branch" : [
              {
                "SHA1" : "1c3c7b68eab0f7dc093c3281dfebb2a960f0c96b",
                "name" : "origin/feat_pnc_status"
              }
            ]
          },
          "revision" : {
            "SHA1" : "1c3c7b68eab0f7dc093c3281dfebb2a960f0c96b",
            "branch" : [
              {
                "SHA1" : "1c3c7b68eab0f7dc093c3281dfebb2a960f0c96b",
                "name" : "origin/feat_pnc_status"
              }
            ]
          }
        },
        "origin/feat_creep_status" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 964,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "9bf44e248ab81a727da8630a453a09e17ac405a7",
            "branch" : [
              {
                "SHA1" : "9bf44e248ab81a727da8630a453a09e17ac405a7",
                "name" : "origin/feat_creep_status"
              }
            ]
          },
          "revision" : {
            "SHA1" : "9bf44e248ab81a727da8630a453a09e17ac405a7",
            "branch" : [
              {
                "SHA1" : "9bf44e248ab81a727da8630a453a09e17ac405a7",
                "name" : "origin/feat_creep_status"
              }
            ]
          }
        },
        "origin/feat_cargo_width_sim" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1028,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "6cab748ef3d3606187cc441071513a3fbc14909b",
            "branch" : [
              {
                "SHA1" : "6cab748ef3d3606187cc441071513a3fbc14909b",
                "name" : "origin/feat_cargo_width_sim"
              }
            ]
          },
          "revision" : {
            "SHA1" : "6cab748ef3d3606187cc441071513a3fbc14909b",
            "branch" : [
              {
                "SHA1" : "6cab748ef3d3606187cc441071513a3fbc14909b",
                "name" : "origin/feat_cargo_width_sim"
              }
            ]
          }
        },
        "origin/feat_straddle_v2" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 916,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "44d25b641b1705dd2db92aaf81ca166396438d7d",
            "branch" : [
              {
                "SHA1" : "44d25b641b1705dd2db92aaf81ca166396438d7d",
                "name" : "origin/feat_straddle_v2"
              }
            ]
          },
          "revision" : {
            "SHA1" : "44d25b641b1705dd2db92aaf81ca166396438d7d",
            "branch" : [
              {
                "SHA1" : "44d25b641b1705dd2db92aaf81ca166396438d7d",
                "name" : "origin/feat_straddle_v2"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "6cab748ef3d3606187cc441071513a3fbc14909b",
        "branch" : [
          {
            "SHA1" : "6cab748ef3d3606187cc441071513a3fbc14909b",
            "name" : "origin/feat_cargo_width_sim"
          }
        ]
      },
      "remoteUrls" : [
        "http://159.27.226.4/pnc/control.git"
      ],
      "scmName" : ""
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/feat_new_dynamic_bridge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 551,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "f52c7b87887d35d680523d76fcc34d09daa56d14",
            "branch" : [
              {
                "SHA1" : "f52c7b87887d35d680523d76fcc34d09daa56d14",
                "name" : "origin/feat_new_dynamic_bridge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "f52c7b87887d35d680523d76fcc34d09daa56d14",
            "branch" : [
              {
                "SHA1" : "f52c7b87887d35d680523d76fcc34d09daa56d14",
                "name" : "origin/feat_new_dynamic_bridge"
              }
            ]
          }
        },
        "origin/rc_dev" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1028,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "6c5c3a18ee3c59b249a3153944b221db77ca6219",
            "branch" : [
              {
                "SHA1" : "6c5c3a18ee3c59b249a3153944b221db77ca6219",
                "name" : "origin/rc_dev"
              }
            ]
          },
          "revision" : {
            "SHA1" : "6c5c3a18ee3c59b249a3153944b221db77ca6219",
            "branch" : [
              {
                "SHA1" : "6c5c3a18ee3c59b249a3153944b221db77ca6219",
                "name" : "origin/rc_dev"
              }
            ]
          }
        },
        "origin/feat_multiple_process" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1021,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "931556249d5cc77c2eb839b60ec9e48c8a71977a",
            "branch" : [
              {
                "SHA1" : "931556249d5cc77c2eb839b60ec9e48c8a71977a",
                "name" : "origin/feat_multiple_process"
              }
            ]
          },
          "revision" : {
            "SHA1" : "931556249d5cc77c2eb839b60ec9e48c8a71977a",
            "branch" : [
              {
                "SHA1" : "931556249d5cc77c2eb839b60ec9e48c8a71977a",
                "name" : "origin/feat_multiple_process"
              }
            ]
          }
        },
        "origin/feat_multiple_path" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 973,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "29373c9e3d3ae69f8c567ea1e172c77c596f5867",
            "branch" : [
              {
                "SHA1" : "29373c9e3d3ae69f8c567ea1e172c77c596f5867",
                "name" : "origin/feat_multiple_path"
              }
            ]
          },
          "revision" : {
            "SHA1" : "29373c9e3d3ae69f8c567ea1e172c77c596f5867",
            "branch" : [
              {
                "SHA1" : "29373c9e3d3ae69f8c567ea1e172c77c596f5867",
                "name" : "origin/feat_multiple_path"
              }
            ]
          }
        },
        "origin/dev" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1007,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "ae22c131b126b7f27307e3bd9f9f2671da5ceae4",
            "branch" : [
              {
                "SHA1" : "ae22c131b126b7f27307e3bd9f9f2671da5ceae4",
                "name" : "origin/dev"
              }
            ]
          },
          "revision" : {
            "SHA1" : "ae22c131b126b7f27307e3bd9f9f2671da5ceae4",
            "branch" : [
              {
                "SHA1" : "ae22c131b126b7f27307e3bd9f9f2671da5ceae4",
                "name" : "origin/dev"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "6c5c3a18ee3c59b249a3153944b221db77ca6219",
        "branch" : [
          {
            "SHA1" : "6c5c3a18ee3c59b249a3153944b221db77ca6219",
            "name" : "origin/rc_dev"
          }
        ]
      },
      "remoteUrls" : [
        "http://159.27.226.4/map/hdmap_cloud.git"
      ],
      "scmName" : ""
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/rc_dev" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1028,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "26906400d8641ad3fe03f32af57bf855c1078876",
            "branch" : [
              {
                "SHA1" : "26906400d8641ad3fe03f32af57bf855c1078876",
                "name" : "origin/rc_dev"
              }
            ]
          },
          "revision" : {
            "SHA1" : "26906400d8641ad3fe03f32af57bf855c1078876",
            "branch" : [
              {
                "SHA1" : "26906400d8641ad3fe03f32af57bf855c1078876",
                "name" : "origin/rc_dev"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "26906400d8641ad3fe03f32af57bf855c1078876",
        "branch" : [
          {
            "SHA1" : "26906400d8641ad3fe03f32af57bf855c1078876",
            "name" : "origin/rc_dev"
          }
        ]
      },
      "remoteUrls" : [
        "http://159.27.226.4/system/thirdparty.git"
      ],
      "scmName" : ""
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/feat_SC_simulator" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 969,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "e7807f6efd40130b48e06dae557150b28b29b3e4",
            "branch" : [
              {
                "SHA1" : "e7807f6efd40130b48e06dae557150b28b29b3e4",
                "name" : "origin/feat_SC_simulator"
              }
            ]
          },
          "revision" : {
            "SHA1" : "e7807f6efd40130b48e06dae557150b28b29b3e4",
            "branch" : [
              {
                "SHA1" : "e7807f6efd40130b48e06dae557150b28b29b3e4",
                "name" : "origin/feat_SC_simulator"
              }
            ]
          }
        },
        "origin/haitian" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 852,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "4e6de9efd93722604f21be8fb46e47b97ca0b086",
            "branch" : [
              {
                "SHA1" : "4e6de9efd93722604f21be8fb46e47b97ca0b086",
                "name" : "origin/haitian"
              }
            ]
          },
          "revision" : {
            "SHA1" : "4e6de9efd93722604f21be8fb46e47b97ca0b086",
            "branch" : [
              {
                "SHA1" : "4e6de9efd93722604f21be8fb46e47b97ca0b086",
                "name" : "origin/haitian"
              }
            ]
          }
        },
        "origin/main" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1028,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "f5ca8b236d29ecba50cec97a73004887b51e2765",
            "branch" : [
              {
                "SHA1" : "f5ca8b236d29ecba50cec97a73004887b51e2765",
                "name" : "origin/main"
              }
            ]
          },
          "revision" : {
            "SHA1" : "f5ca8b236d29ecba50cec97a73004887b51e2765",
            "branch" : [
              {
                "SHA1" : "f5ca8b236d29ecba50cec97a73004887b51e2765",
                "name" : "origin/main"
              }
            ]
          }
        },
        "origin/feat_empty_object" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 921,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "ee4e3086024dba5bb11f1c0e0ea2c1f21f0d421b",
            "branch" : [
              {
                "SHA1" : "ee4e3086024dba5bb11f1c0e0ea2c1f21f0d421b",
                "name" : "origin/feat_empty_object"
              }
            ]
          },
          "revision" : {
            "SHA1" : "ee4e3086024dba5bb11f1c0e0ea2c1f21f0d421b",
            "branch" : [
              {
                "SHA1" : "ee4e3086024dba5bb11f1c0e0ea2c1f21f0d421b",
                "name" : "origin/feat_empty_object"
              }
            ]
          }
        },
        "origin/dev" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1021,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "bf1bd1ce912e2cf457bbb620d3d6c1b91ee1a66a",
            "branch" : [
              {
                "SHA1" : "bf1bd1ce912e2cf457bbb620d3d6c1b91ee1a66a",
                "name" : "origin/dev"
              }
            ]
          },
          "revision" : {
            "SHA1" : "bf1bd1ce912e2cf457bbb620d3d6c1b91ee1a66a",
            "branch" : [
              {
                "SHA1" : "bf1bd1ce912e2cf457bbb620d3d6c1b91ee1a66a",
                "name" : "origin/dev"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "f5ca8b236d29ecba50cec97a73004887b51e2765",
        "branch" : [
          {
            "SHA1" : "f5ca8b236d29ecba50cec97a73004887b51e2765",
            "name" : "origin/main"
          }
        ]
      },
      "remoteUrls" : [
        "http://159.27.226.4/pnc/multi_simulator.git"
      ],
      "scmName" : ""
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/rc_dev_dingrijing" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1027,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "39024fd74db91d92769b566da76dba1b652be305",
            "branch" : [
              {
                "SHA1" : "39024fd74db91d92769b566da76dba1b652be305",
                "name" : "origin/rc_dev_dingrijing"
              }
            ]
          },
          "revision" : {
            "SHA1" : "39024fd74db91d92769b566da76dba1b652be305",
            "branch" : [
              {
                "SHA1" : "39024fd74db91d92769b566da76dba1b652be305",
                "name" : "origin/rc_dev_dingrijing"
              }
            ]
          }
        },
        "origin/new_interface" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 565,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "91aae2ebf01a13679b0567a511cb58ac13402f71",
            "branch" : [
              {
                "SHA1" : "91aae2ebf01a13679b0567a511cb58ac13402f71",
                "name" : "origin/new_interface"
              }
            ]
          },
          "revision" : {
            "SHA1" : "91aae2ebf01a13679b0567a511cb58ac13402f71",
            "branch" : [
              {
                "SHA1" : "91aae2ebf01a13679b0567a511cb58ac13402f71",
                "name" : "origin/new_interface"
              }
            ]
          }
        },
        "origin/Test_GetJunctions" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 523,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "5d726a46c8fdd552e6c72c67916690ea90492a4c",
            "branch" : [
              {
                "SHA1" : "5d726a46c8fdd552e6c72c67916690ea90492a4c",
                "name" : "origin/Test_GetJunctions"
              }
            ]
          },
          "revision" : {
            "SHA1" : "5d726a46c8fdd552e6c72c67916690ea90492a4c",
            "branch" : [
              {
                "SHA1" : "5d726a46c8fdd552e6c72c67916690ea90492a4c",
                "name" : "origin/Test_GetJunctions"
              }
            ]
          }
        },
        "origin/feat_interface" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 547,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "dabb18e27edf8e16dce2ff51bdd387f2438f6247",
            "branch" : [
              {
                "SHA1" : "dabb18e27edf8e16dce2ff51bdd387f2438f6247",
                "name" : "origin/feat_interface"
              }
            ]
          },
          "revision" : {
            "SHA1" : "dabb18e27edf8e16dce2ff51bdd387f2438f6247",
            "branch" : [
              {
                "SHA1" : "dabb18e27edf8e16dce2ff51bdd387f2438f6247",
                "name" : "origin/feat_interface"
              }
            ]
          }
        },
        "origin/temp_interface" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 572,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "cd454059f302c9b2474e6609c1546a358ce6f72f",
            "branch" : [
              {
                "SHA1" : "cd454059f302c9b2474e6609c1546a358ce6f72f",
                "name" : "origin/temp_interface"
              }
            ]
          },
          "revision" : {
            "SHA1" : "cd454059f302c9b2474e6609c1546a358ce6f72f",
            "branch" : [
              {
                "SHA1" : "cd454059f302c9b2474e6609c1546a358ce6f72f",
                "name" : "origin/temp_interface"
              }
            ]
          }
        },
        "origin/rc_dev" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1028,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "baaa7dbe0743898225ca422520bae8e624a4d3e1",
            "branch" : [
              {
                "SHA1" : "baaa7dbe0743898225ca422520bae8e624a4d3e1",
                "name" : "origin/rc_dev"
              }
            ]
          },
          "revision" : {
            "SHA1" : "baaa7dbe0743898225ca422520bae8e624a4d3e1",
            "branch" : [
              {
                "SHA1" : "baaa7dbe0743898225ca422520bae8e624a4d3e1",
                "name" : "origin/rc_dev"
              }
            ]
          }
        },
        "origin/rc_dev_add_lane_name" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 876,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "be65f77d9d0f6a3ae20cc796e381889a03ce43ee",
            "branch" : [
              {
                "SHA1" : "be65f77d9d0f6a3ae20cc796e381889a03ce43ee",
                "name" : "origin/rc_dev_add_lane_name"
              }
            ]
          },
          "revision" : {
            "SHA1" : "be65f77d9d0f6a3ae20cc796e381889a03ce43ee",
            "branch" : [
              {
                "SHA1" : "be65f77d9d0f6a3ae20cc796e381889a03ce43ee",
                "name" : "origin/rc_dev_add_lane_name"
              }
            ]
          }
        },
        "origin/feat_fence" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 649,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "bfea094fbf5d6f1c5eca3dfaa2044894fec263f6",
            "branch" : [
              {
                "SHA1" : "bfea094fbf5d6f1c5eca3dfaa2044894fec263f6",
                "name" : "origin/feat_fence"
              }
            ]
          },
          "revision" : {
            "SHA1" : "bfea094fbf5d6f1c5eca3dfaa2044894fec263f6",
            "branch" : [
              {
                "SHA1" : "bfea094fbf5d6f1c5eca3dfaa2044894fec263f6",
                "name" : "origin/feat_fence"
              }
            ]
          }
        },
        "origin/dev" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 651,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "5c601c4e26b80b9924d9e2b39b999f7f1cd7cc8e",
            "branch" : [
              {
                "SHA1" : "5c601c4e26b80b9924d9e2b39b999f7f1cd7cc8e",
                "name" : "origin/dev"
              }
            ]
          },
          "revision" : {
            "SHA1" : "5c601c4e26b80b9924d9e2b39b999f7f1cd7cc8e",
            "branch" : [
              {
                "SHA1" : "5c601c4e26b80b9924d9e2b39b999f7f1cd7cc8e",
                "name" : "origin/dev"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "baaa7dbe0743898225ca422520bae8e624a4d3e1",
        "branch" : [
          {
            "SHA1" : "baaa7dbe0743898225ca422520bae8e624a4d3e1",
            "name" : "origin/rc_dev"
          }
        ]
      },
      "remoteUrls" : [
        "http://159.27.226.4/map/hdmap_interface.git"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    },
    {
      "_class" : "org.jenkinsci.plugins.pipeline.modeldefinition.actions.RestartDeclarativePipelineAction"
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.workflow.job.views.FlowGraphAction"
    },
    {
      
    },
    {
      
    },
    {
      
    }
  ],
  "artifacts" : [
    
  ],
  "building" : False,
  "description" : None,
  "displayName" : "#1028",
  "duration" : 227571,
  "estimatedDuration" : 2480857,
  "executor" : None,
  "fullDisplayName" : "module #1028",
  "id" : "1028",
  "keepLog" : False,
  "number" : 1028,
  "queueId" : 1401043,
  "result" : "FAILURE",
  "timestamp" : 1794472005454,
  "url" : "http://159.27.114.184:8080/jenkins/user/lufengwei/my-views/view/all/job/module/1028/",
  "changeSets" : [
    {
      "_class" : "hudson.plugins.git.GitChangeSetList",
      "items" : [
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "algorithm/wbca/wbca_manager.cpp",
            "Testing/wbca_smooth_continuity_test.cpp",
            "algorithm/wbca/imv_wbca_manager.hpp",
            "algorithm/wbca/imv_wbca_manager.cpp",
            "algorithm/wbca/wbca_manager.hpp"
          ],
          "commitId" : "3f676e2239704a72d8be0a0780f4a3907db2cb53",
          "timestamp" : 1788956922000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix(wbca): align IMV smooth planning with shared route logic\u000a",
          "date" : "2026-09-09 20:28:42 +0800",
          "id" : "3f676e2239704a72d8be0a0780f4a3907db2cb53",
          "msg" : "fix(wbca): align IMV smooth planning with shared route logic",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "algorithm/wbca/wbca_manager.hpp"
            },
            {
              "editType" : "edit",
              "file" : "algorithm/wbca/wbca_manager.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/wbca_smooth_continuity_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "algorithm/wbca/imv_wbca_manager.hpp"
            },
            {
              "editType" : "edit",
              "file" : "algorithm/wbca/imv_wbca_manager.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "CMakeLists.txt",
            "Testing/trailer_parking_safety_test.cpp",
            "data/ssep/trailer_parking_safety.cpp"
          ],
          "commitId" : "7b28a9cf19d4fe474fff3e76fed2eb528b46681d",
          "timestamp" : 1789467437000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "Fix SSEP straight-tail obstacle extent in tractor goal frame\u000a",
          "date" : "2026-09-15 18:17:17 +0800",
          "id" : "7b28a9cf19d4fe474fff3e76fed2eb528b46681d",
          "msg" : "Fix SSEP straight-tail obstacle extent in tractor goal frame",
          "paths" : [
            {
              "editType" : "add",
              "file" : "Testing/trailer_parking_safety_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/trailer_parking_safety.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/routing_transition_test.cpp",
            "data/map/pnc_map/routing_extension/routing_data.cpp"
          ],
          "commitId" : "a78b22ec362b64575bce78553b3664064f3b438c",
          "timestamp" : 1789637753000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix(routing): keep destination continuous across neighboring lanes\u000a\u000aProject same-section neighboring lane positions onto the destination lane instead of accumulating overlapping route entries. Cover the LS020 index transition, differing lane coordinates, and successor distances.\u000a\u000aValidation: 15 routing tests pass. Offline destination replay across all 635 LS020 snapshots reproduces the original distances exactly and removes the -204 m jump with the fix.\u000a",
          "date" : "2026-09-17 17:35:53 +0800",
          "id" : "a78b22ec362b64575bce78553b3664064f3b438c",
          "msg" : "fix(routing): keep destination continuous across neighboring lanes",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "Testing/routing_transition_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/map/pnc_map/routing_extension/routing_data.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/app/fsm/task_fsm/task_park_fsm/park_fsm_transition/bulk_transition.cpp",
            "replayer/scene_data/generated/compact_scene_descriptor.pb",
            "replayer/scene_data/remaining_plan_proto_codec.cpp",
            "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp",
            "data/app/fsm/motion_fsm/motion_move_fsm/motion_move_fsm.cpp",
            "plan/prepare/prepare_status.cpp",
            "data/app/fsm/task_fsm/task_align_fsm/task_align_fsm.cpp",
            "replayer/scene_data/generated/full_custom_cpp_member_inputs.json",
            "replayer/scene_data/compact_numeric_policy.yaml",
            "data/vehicle/vehicle_destination.hpp",
            "Testing/step_align_distance_source_test.cpp",
            "data/vehicle/vehicle_destination.cpp",
            "data/app/fsm/task_fsm/task_park_fsm/park_fsm_transition/park_transition.cpp",
            "replayer/scene_data/compact_numeric_leaf_contract.csv",
            "proto/map_data.proto",
            "plan/prepare/prepare_status.hpp",
            "replayer/scene_data/generated/plan_frame_encoder.cpp",
            "replayer/scene_data/generated/scene_replay_api_descriptor.pb",
            "Testing/CMakeLists.txt",
            "replayer/scene_data/generated/plan_frame_descriptor.pb"
          ],
          "commitId" : "9765986feb718c3dbdb57379e8120a4b455aae4d",
          "timestamp" : 1792144466000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/liuhongshuo",
            "fullName" : "liuhongshuo"
          },
          "authorEmail" : "liuhongshuo",
          "comment" : "feat: 统一步进对准地图选源并完善补偿与失效停车\u000a\u000aSTEP 执行期间使用地图距离计算相对进度，退出后清除步进补偿，避免精停来源切换和旧补偿污染 AA 反馈。\u000a\u000a完善地图失效及请求结束时的停车状态流转，补充回归用例与 Full/Compact 回放字段配套。\u000a\u000a验证：git diff --cached --check 通过；本次未运行编译和现场回放。\u000a",
          "date" : "2026-10-16 17:54:26 +0800",
          "id" : "9765986feb718c3dbdb57379e8120a4b455aae4d",
          "msg" : "feat: 统一步进对准地图选源并完善补偿与失效停车",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_status.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_encoder.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_leaf_contract.csv"
            },
            {
              "editType" : "edit",
              "file" : "proto/map_data.proto"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_status.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/vehicle/vehicle_destination.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/app/fsm/task_fsm/task_park_fsm/park_fsm_transition/park_transition.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_policy.yaml"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp"
            },
            {
              "editType" : "add",
              "file" : "Testing/step_align_distance_source_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "data/app/fsm/motion_fsm/motion_move_fsm/motion_move_fsm.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/app/fsm/task_fsm/task_park_fsm/park_fsm_transition/bulk_transition.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_scene_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/remaining_plan_proto_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/scene_replay_api_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "data/vehicle/vehicle_destination.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/app/fsm/task_fsm/task_align_fsm/task_align_fsm.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/CMakeLists.txt"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/ssep_path_corridor_test.cpp",
            "data/other/flow_control.cpp",
            "data/ssep/into_yard_junction_ec.cpp",
            "data/ssep/ssep_util.cpp",
            "Testing/low_bay_replan_gate_test.cpp",
            "Testing/CMakeLists.txt",
            "docs/ssep_search_lifecycle.md"
          ],
          "commitId" : "956b9b0aa1f57ba8278e2df0dbf6027a2f82dd04",
          "timestamp" : 1793004245000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复低贝位场桥误判及出口重搜截止\u000a\u000a以出口后实际通道与场桥实体框相交判定低贝位，避免缓存 SL 和 U 弯跨支路投影误触发。\u000a使用当前车辆投影与出口停止线判定截止，并在参考线生成前使用本帧已选地图路径。\u000a补充几何、出口截止和 U 弯重搜测试，修正通道过滤日志并整理搜索逻辑。\u000a\u000a验证：相关 26 项测试通过；clang-format 21.1.8 与 diff 检查通过。\u000a尚未覆盖整段 bag 连续回放及真实多段地图重建。\u000a",
          "date" : "2026-10-26 16:44:05 +0800",
          "id" : "956b9b0aa1f57ba8278e2df0dbf6027a2f82dd04",
          "msg" : "fix: 修复低贝位场桥误判及出口重搜截止",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/other/flow_control.cpp"
            },
            {
              "editType" : "add",
              "file" : "Testing/low_bay_replan_gate_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_util.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_path_corridor_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/into_yard_junction_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "docs/ssep_search_lifecycle.md"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/scenarios/tractor_trailer_short_distance_planner.h",
            "docs/ssep_search_lifecycle.md"
          ],
          "commitId" : "4e5e5eeb162b62bf1f3410716dddc2b792bf7ae0",
          "timestamp" : 1793004253000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 提高短距离入场优化约束以修复重搜失败\u000a\u000a将短距离规划器运动学和动态约束权重对齐进场精优化的 1e6，减少新窄通道下首段横移造成的运动学验收失败。\u000a保留原有碰撞、运动学校验及首次 LOW_BAY 历史初值策略，并记录问题和修复依据。\u000a\u000a验证：CPU 回放现场 3 次失败输入均成功，普通进场对照成功，实体阻挡案例正确拒绝，共 5 项验收通过；未进行 GPU 验证。\u000a",
          "date" : "2026-10-26 16:44:13 +0800",
          "id" : "4e5e5eeb162b62bf1f3410716dddc2b792bf7ae0",
          "msg" : "fix: 提高短距离入场优化约束以修复重搜失败",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "docs/ssep_search_lifecycle.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_short_distance_planner.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/ssep/ex_lane_change_ec.cpp",
            "Testing/search_decider_lifecycle_test.cpp"
          ],
          "commitId" : "4495cd25e56cfe13a49d8e5d91219e0cb324f190",
          "timestamp" : 1793005438000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 延长场桥变道搜索约束的前后范围\u000a\u000a仅对场桥将两路障碍纵向约束前后分别由 1 m 增至 2 m、0.5 m 增至 1.5 m。\u000a保留原始 SL 诊断数据、障碍筛选和其他类型的约束余量。\u000a\u000a验证：生产构造测试覆盖左右方向、曲率开关、类型对照和参考线末端；真实 CPU 场景重搜完成。\u000a",
          "date" : "2026-10-26 17:03:58 +0800",
          "id" : "4495cd25e56cfe13a49d8e5d91219e0cb324f190",
          "msg" : "fix: 延长场桥变道搜索约束的前后范围",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/ssep/ex_lane_change_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/search_decider_lifecycle_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/search_decider_lifecycle_test.cpp",
            "data/plan/switch_data.cpp"
          ],
          "commitId" : "43705c5739161f575c10650a25aa7c904dc64bd1",
          "timestamp" : 1793005451000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 限定堆场变道场桥使用原始障碍框校验\u000a\u000a在堆场多车道及直进、直出堆场多车道前置段，场桥在变道安全校验中取消额外障碍框膨胀。\u000a静态和动态分支保持一致，自车、其他障碍及其他区域的膨胀保持不变。\u000a\u000a验证：四项搜索构造及碰撞回归通过，覆盖六类区域和静动态分支。正式 CPU 复验中，T728 两帧障碍检查通过，截图帧完整安全检查通过。场景采用本机搜索配置和默认环境参数，属于独立帧验证。\u000a",
          "date" : "2026-10-26 17:04:11 +0800",
          "id" : "43705c5739161f575c10650a25aa7c904dc64bd1",
          "msg" : "fix: 限定堆场变道场桥使用原始障碍框校验",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/plan/switch_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/search_decider_lifecycle_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp",
            "Testing/front_vehicle_reverse_alarm_test.cpp",
            "replayer/scene_data/generated/full_custom_cpp_member_inputs.json",
            "replayer/scene_data/generated/plan_frame_decoder.cpp",
            "data/config/cfg_func_sw.hpp",
            "data/config/cfg_func_sw.cpp",
            "replayer/scene_data/generated/config_schema_inputs.json",
            "sink/ros_sink_chassis_ctrl.hpp",
            "replayer/scene_data/generated/plan_frame_encoder.cpp",
            "sink/ros_sink_chassis_ctrl.cpp",
            "replayer/scene_data/generated/compact_scene_descriptor.pb",
            "replayer/scene_data/generated/plan_frame_field_roles.json",
            "proto/pnc_scene/compact_plan_frame_fields.proto",
            "proto/config.proto",
            "replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml",
            "replayer/scene_data/config_proto_codec.cpp",
            "replayer/scene_data/generated/compact_typed_field_codec.cpp",
            "replayer/scene_data/compact_numeric_policy.yaml",
            "replayer/scene_data/generated/plan_frame_member_inputs.json",
            "tools/pnc_proto_mapper/generator.py",
            "replayer/scene_data/plan_frame_full_mapping.yaml",
            "data/plan_frame.hpp",
            "tasks/deciders/other_decider/alarm_decider.hpp",
            "replayer/scene_data/plan_frame_field_roles.csv",
            "proto/pnc_scene/full_plan_frame.proto",
            "data/plan_frame.cpp",
            "replayer/scene_data/generated/scene_replay_api_descriptor.pb",
            "Testing/CMakeLists.txt",
            "replayer/scene_data/generated/plan_frame_descriptor.pb",
            "tasks/deciders/other_decider/alarm_decider.cpp"
          ],
          "commitId" : "1f36e891812dd5cb5f2f81c262fa4f3c19e68509",
          "timestamp" : 1793007756000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/liuhongshuo",
            "fullName" : "liuhongshuo"
          },
          "authorEmail" : "liuhongshuo",
          "comment" : "feat: 前车倒退预警功能\u000a",
          "date" : "2026-10-26 17:42:36 +0800",
          "id" : "1f36e891812dd5cb5f2f81c262fa4f3c19e68509",
          "msg" : "feat: 前车倒退预警功能",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_field_roles.json"
            },
            {
              "editType" : "edit",
              "file" : "data/plan_frame.cpp"
            },
            {
              "editType" : "edit",
              "file" : "proto/config.proto"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/other_decider/alarm_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/other_decider/alarm_decider.hpp"
            },
            {
              "editType" : "edit",
              "file" : "proto/pnc_scene/compact_plan_frame_fields.proto"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/scene_replay_api_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "Testing/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.cpp"
            },
            {
              "editType" : "edit",
              "file" : "proto/pnc_scene/full_plan_frame.proto"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "sink/ros_sink_chassis_ctrl.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan_frame.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/config_proto_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/plan_frame_full_mapping.yaml"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_encoder.cpp"
            },
            {
              "editType" : "add",
              "file" : "Testing/front_vehicle_reverse_alarm_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "sink/ros_sink_chassis_ctrl.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tools/pnc_proto_mapper/generator.py"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_policy.yaml"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_decoder.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_scene_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/config_schema_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_typed_field_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/plan_frame_field_roles.csv"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "replayer/scene_data/generated/compact_scene_descriptor.pb",
            "replayer/scene_data/generated/plan_frame_field_roles.json",
            "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp",
            "data/obstacle/decision/obstacle_decision_test.cpp",
            "replayer/scene_data/generated/full_custom_cpp_member_inputs.json",
            "replayer/scene_data/compact_numeric_policy.yaml",
            "data/obstacle/decision/obstacle_decision.hpp",
            "docs/pnc_algorithm_replay/plan_frame_field_contract_notes.md",
            "replayer/scene_data/compact_numeric_leaf_contract.csv",
            "data/obstacle/decision/obstacle_decision.cpp",
            "replayer/scene_data/obstacle_proto_codec.cpp",
            "Testing/scene_replay_foundation_test.cpp",
            "data/obstacle/obstacle_decider_attr.cpp",
            "replayer/scene_data/plan_frame_field_roles.csv",
            "replayer/scene_data/generated/plan_frame_encoder.cpp",
            "data/obstacle/obstacle_decider_attr.hpp",
            "proto/obstacle.proto",
            "replayer/scene_data/generated/scene_replay_api_descriptor.pb",
            "tools/pnc_proto_mapper/generate_exact_numeric_codec.py",
            "replayer/scene_data/generated/plan_frame_descriptor.pb"
          ],
          "commitId" : "575f84c73cba6f4cc2f8721bd7fd6009b64aca1c",
          "timestamp" : 1793019964000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 按时间窗口确认障碍物静止状态\u000a\u000a使用固定 1.5 秒速度窗口和连续 1 秒静止确认，不新增配置参数。重复帧不累积，观测中断保留同一目标的已确认运动防护，身份变化清空证据。\u000a\u000a保存 Full、Compact 和 Candidate 跨帧计时状态，补充精度、旧数据默认行为与动静切换回归测试。\u000a",
          "date" : "2026-10-26 21:06:04 +0800",
          "id" : "575f84c73cba6f4cc2f8721bd7fd6009b64aca1c",
          "msg" : "fix: 按时间窗口确认障碍物静止状态",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "docs/pnc_algorithm_replay/plan_frame_field_contract_notes.md"
            },
            {
              "editType" : "edit",
              "file" : "proto/obstacle.proto"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/obstacle_proto_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tools/pnc_proto_mapper/generate_exact_numeric_codec.py"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_leaf_contract.csv"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/scene_replay_api_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_scene_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "Testing/scene_replay_foundation_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/obstacle_decider_attr.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/plan_frame_field_roles.csv"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_field_roles.json"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_encoder.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_policy.yaml"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/obstacle_decider_attr.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "hmi/common/obstacle_details.hpp",
            "hmi/common/pnc_graphics_view.cpp",
            "Testing/obstacle_detail_render_test.cpp"
          ],
          "commitId" : "da047adcda57d76b0ffc780da76c838433df7b1d",
          "timestamp" : 1793019964000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 显示障碍物静止确认和跟车等待秒数\u000a\u000a展示静止确认进度、跟车等待时长及现有超时阈值，明确旧快照缺失计时状态的显示。\u000a",
          "date" : "2026-10-26 21:06:04 +0800",
          "id" : "da047adcda57d76b0ffc780da76c838433df7b1d",
          "msg" : "feat: 显示障碍物静止确认和跟车等待秒数",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "hmi/common/obstacle_details.hpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/obstacle_detail_render_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/common/pnc_graphics_view.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/compact_driving_corridor_restore_test.cpp"
          ],
          "commitId" : "91e36e87767b87a45ac3a968281a5973f7ac3038",
          "timestamp" : 1793019964000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "test: 增加静止计时连续回放验收\u000a\u000a使用独立期望窗口校验等待开始期限、计时起点和逐帧计数，拒绝缺帧、计时重置及冻结。覆盖跨验收窗口起点的大缺口。\u000a\u000a验证汇总：808 项通过、12 项可选测试跳过；现场 bag 的 569 条快照验收通过。\u000a",
          "date" : "2026-10-26 21:06:04 +0800",
          "id" : "91e36e87767b87a45ac3a968281a5973f7ac3038",
          "msg" : "test: 增加静止计时连续回放验收",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "Testing/compact_driving_corridor_restore_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/vehicle/request_routing_data.cpp",
            "replayer/scene_data/generated/full_custom_cpp_member_inputs.json",
            "tasks/deciders/lat_decider/side_pass_decider.cpp",
            "CMakeLists.txt",
            "hmi/replayer_hmi.cpp",
            "hmi/widget/diagnose.cpp",
            "docs/pnc_algorithm_replay/plan_frame_field_contract_notes.md",
            "plan/scenarios/prepare_scenario.cpp",
            "plan/prepare/prepare_spreader.cpp",
            "plan/prepare/prepare_objs.cpp",
            "core/decision_async.cpp",
            "data/map/envelop/map_envelops.cpp",
            "plan/prepare/prepare_map_related.cpp",
            "plan/prepare/module.cpp",
            "replayer/scene_data/generated/compact_scene_descriptor.pb",
            "plan/prepare/prepare_ogm.cpp",
            "proto/pnc_scene/compact_plan_frame_fields.proto",
            "hmi/common/plan_timing_history.hpp",
            "proto/debug.proto",
            "replayer/scene_data/plan_timing_proto_codec.hpp",
            "proto/pnc_scene/compact_recorded_debug.proto",
            "tasks/deciders/long_decider/constrain_decider.cpp",
            "Testing/encoding_benchmark_test.cpp",
            "replayer/scene_data/compact_numeric_policy.yaml",
            "plan/prepare/prepare_lock_station.cpp",
            "Testing/plan_timing_render_test.cpp",
            "tasks/deciders/lat_decider/trailer_side_pass_decider.cpp",
            "plan/prepare/prepare_destination.cpp",
            "replayer/scene_data/encoding_benchmark.cpp",
            "replayer/scene_data/compact_numeric_leaf_contract.csv",
            "data/plan_timing.hpp",
            "replayer/scene_data/plan_frame_full_mapping.yaml",
            "core/node_runtime_timing.hpp",
            "data/plan_frame.hpp",
            "data/map/reference/center_line.cpp",
            "proto/pnc_scene/full_plan_frame.proto",
            "hmi/widget/perf_cost_detail.cpp",
            "replayer/scene_data/compact_proto_codec.cpp",
            "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp",
            "core/plan_runtime_watchdog.hpp",
            "plan/prepare/prepare_default.cpp",
            "plan/prepare/prepare_offset.cpp",
            "replayer/scene_data/generated/plan_frame_decoder.cpp",
            "tasks/deciders/other_decider/stop_decider.cpp",
            "scenarios/out_yead_junction_scenario/out_yard_junction_first_stage.cpp",
            "replayer/scene_data/plan_timing_proto_codec.cpp",
            "sink/ros_sink_snapshot_compact_scene.cpp",
            "node/logic.cpp",
            "Testing/scene_replay_foundation_test.cpp",
            "plan/prepare/prepare_his.cpp",
            "Testing/plan_timing_capture_test.cpp",
            "hmi/widget/diagnose.hpp",
            "replayer/scene_data/generated/plan_frame_encoder.cpp",
            "plan/prepare/prepare_priori_bay_info.cpp",
            "core/hmi_sync.cpp",
            "data/plan/center_line_info.cpp",
            "replayer/scene_data/generated/plan_frame_field_roles.json",
            "core/plan_async.cpp",
            "data/plan/switch_data.cpp",
            "replayer/scene_data/generated/compact_typed_field_codec.cpp",
            "plan/prepare/prepare_state.cpp",
            "scenarios/stage.cpp",
            "replayer/scene_data/generated/plan_frame_member_inputs.json",
            "tools/pnc_proto_mapper/generator.py",
            "data/obstacle/decision/obstacle_decision.cpp",
            "plan/prepare/prepare_lane_constrain.cpp",
            "hmi/widget/perf_cost_detail.hpp",
            "replayer/scene_data/plan_frame_field_roles.csv",
            "core/snapshot_async.cpp",
            "Testing/CMakeLists.txt",
            "replayer/scene_data/generated/scene_replay_api_descriptor.pb",
            "data/plan_frame.cpp",
            "replayer/scene_data/generated/plan_frame_descriptor.pb",
            "hmi/node_hmi.cpp"
          ],
          "commitId" : "ede65270ab0adee7356660caa2606072bc923d9e",
          "timestamp" : 1793022823000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 紧凑记录 PNC 节点模块耗时并复用原界面\u000a\u000a按固定编号记录单帧模块与任务耗时，使用执行位图和 0.1 ms 整数编码，\u000a替换 Proto 中重复保存的 50 帧历史及字符串耗时。异步模块携带独立来源帧\u000a和完成时间，watchdog 记录当前执行项；Boost 字段保持不增不删。\u000a\u000a原 HMI 本地维护历史平均并展示模块明细，区分实时与录制数据。\u000a规划帧超过 1 秒未更新时保留业务绘制保护，继续刷新实时耗时窗口。\u000a\u000a验证：生成与合同检查通过；Icecream 分布式编译 pnc_node、replayer\u000a及测试通过；测试汇总 825 项通过、12 项可选跳过。合成的 30 项模块与任务\u000a统计加 watchdog、5 个异步槽及 Proto 嵌套开销共 167 字节。\u000a",
          "date" : "2026-10-26 21:53:43 +0800",
          "id" : "ede65270ab0adee7356660caa2606072bc923d9e",
          "msg" : "feat: 紧凑记录 PNC 节点模块耗时并复用原界面",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "docs/pnc_algorithm_replay/plan_frame_field_contract_notes.md"
            },
            {
              "editType" : "edit",
              "file" : "Testing/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/scene_replay_api_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/lat_decider/side_pass_decider.cpp"
            },
            {
              "editType" : "add",
              "file" : "data/plan_timing.hpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_lane_constrain.cpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/module.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_encoder.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/center_line_info.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/map/reference/center_line.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_scene_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "hmi/replayer_hmi.cpp"
            },
            {
              "editType" : "edit",
              "file" : "proto/debug.proto"
            },
            {
              "editType" : "edit",
              "file" : "data/map/envelop/map_envelops.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/diagnose.cpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/scenarios/prepare_scenario.cpp"
            },
            {
              "editType" : "edit",
              "file" : "proto/pnc_scene/compact_recorded_debug.proto"
            },
            {
              "editType" : "add",
              "file" : "Testing/plan_timing_capture_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/long_decider/constrain_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan_frame.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/plan_frame_field_roles.csv"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_leaf_contract.csv"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_destination.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_field_roles.json"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/switch_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/encoding_benchmark_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_map_related.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_proto_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "core/snapshot_async.cpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_objs.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/plan_frame_full_mapping.yaml"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_state.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/node_hmi.cpp"
            },
            {
              "editType" : "edit",
              "file" : "sink/ros_sink_snapshot_compact_scene.cpp"
            },
            {
              "editType" : "add",
              "file" : "Testing/plan_timing_render_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_policy.yaml"
            },
            {
              "editType" : "edit",
              "file" : "core/plan_runtime_watchdog.hpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/scene_replay_foundation_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan_frame.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/vehicle/request_routing_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/perf_cost_detail.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tools/pnc_proto_mapper/generator.py"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_offset.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/encoding_benchmark.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/lat_decider/trailer_side_pass_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_priori_bay_info.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/diagnose.hpp"
            },
            {
              "editType" : "edit",
              "file" : "core/hmi_sync.cpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_lock_station.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/stage.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_typed_field_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "proto/pnc_scene/compact_plan_frame_fields.proto"
            },
            {
              "editType" : "add",
              "file" : "hmi/common/plan_timing_history.hpp"
            },
            {
              "editType" : "add",
              "file" : "replayer/scene_data/plan_timing_proto_codec.hpp"
            },
            {
              "editType" : "edit",
              "file" : "core/decision_async.cpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_his.cpp"
            },
            {
              "editType" : "edit",
              "file" : "node/logic.cpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_default.cpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_ogm.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/out_yead_junction_scenario/out_yard_junction_first_stage.cpp"
            },
            {
              "editType" : "edit",
              "file" : "proto/pnc_scene/full_plan_frame.proto"
            },
            {
              "editType" : "edit",
              "file" : "core/plan_async.cpp"
            },
            {
              "editType" : "add",
              "file" : "replayer/scene_data/plan_timing_proto_codec.cpp"
            },
            {
              "editType" : "add",
              "file" : "core/node_runtime_timing.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_decoder.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/other_decider/stop_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/perf_cost_detail.cpp"
            },
            {
              "editType" : "edit",
              "file" : "CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_spreader.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "replayer/scene_data/generated/compact_scene_descriptor.pb",
            "replayer/scene_data/generated/plan_frame_field_roles.json",
            "proto/plan_data.proto",
            "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp",
            "data/plan/ssep_data.hpp",
            "data/ssep/forward_ec.cpp",
            "replayer/scene_data/generated/full_custom_cpp_member_inputs.json",
            "replayer/scene_data/compact_numeric_policy.yaml",
            "Testing/parking_pass_progress_test.cpp",
            "data/other/parking_pass_progress.cpp",
            "replayer/scene_data/compact_custom_field_proto_codec.cpp",
            "Testing/scene_replay_foundation_test.cpp",
            "data/other/parking_pass_progress.hpp",
            "replayer/scene_data/generated/plan_frame_encoder.cpp",
            "replayer/scene_data/plan_frame_field_roles.csv",
            "replayer/scene_data/full_proto_custom_encoder.cpp",
            "replayer/scene_data/generated/scene_replay_api_descriptor.pb",
            "replayer/scene_data/generated/plan_frame_descriptor.pb",
            "Testing/ssep_scenario_config_lifecycle_test.cpp"
          ],
          "commitId" : "2540432575a6afd0326b72a4177a4fd48763eb8f",
          "timestamp" : 1793028657000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 保持末段精准倒车阶段并保存跨帧状态\u000a\u000a按当前最后分段的前进转倒车切换精准倒车，替代固定两段判断。\u000a将最终倒车阶段绑定任务签名，跨搜索重置和失败重试保留，取消或目标变化后失效。\u000a同步 Full、Compact、候选帧编码及字段合同，旧数据缺字段时默认为 false。\u000a补充任务生命周期、场景参数读取和序列化往返测试。\u000a\u000a验证：158 项相关回归通过；生成和 Proto breaking 检查通过；两例 CPU 参数对照完成。\u000a",
          "date" : "2026-10-26 23:30:57 +0800",
          "id" : "2540432575a6afd0326b72a4177a4fd48763eb8f",
          "msg" : "fix: 保持末段精准倒车阶段并保存跨帧状态",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/other/parking_pass_progress.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_scene_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_encoder.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/plan_frame_field_roles.csv"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_policy.yaml"
            },
            {
              "editType" : "edit",
              "file" : "data/other/parking_pass_progress.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/parking_pass_progress_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "proto/plan_data.proto"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_field_roles.json"
            },
            {
              "editType" : "edit",
              "file" : "Testing/scene_replay_foundation_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/ssep_data.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/full_proto_custom_encoder.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_scenario_config_lifecycle_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/scene_replay_api_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_custom_field_proto_codec.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/ssep_path_corridor_test.cpp",
            "scenarios/stage.cpp",
            "scenarios/task_condition_evaluator.hpp",
            "scenarios/task_condition_evaluator.cpp",
            "tasks/other_tasks/stitch_path_data_to_path.cpp"
          ],
          "commitId" : "1ba3a01ff6b3ede89c696953fb00b15fee9768d7",
          "timestamp" : 1793028669000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 最后段跳过 PJPO 后优先拼接新 SSEP 路径\u000a\u000a共用生产任务组选择逻辑，依据实际跳过 PJPO 的最后段组选择 SSEP 拼接，避免静态规划器可用位导致复用旧路径。\u000a将方向校验放入 SSEP 拼接函数；无可用搜索结果保留历史路径兜底，新结果可用后优先采用。\u000a覆盖正倒车、新旧路径区分、WAIT 优先、公共 PJPO、方向错误及历史兜底后恢复。\u000a\u000a验证：6 项拼接回归及 30 项既有选择器/等待回归通过，pnc_node 编译通过。\u000a",
          "date" : "2026-10-26 23:31:09 +0800",
          "id" : "1ba3a01ff6b3ede89c696953fb00b15fee9768d7",
          "msg" : "fix: 最后段跳过 PJPO 后优先拼接新 SSEP 路径",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "scenarios/task_condition_evaluator.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/task_condition_evaluator.hpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/stage.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_path_corridor_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/other_tasks/stitch_path_data_to_path.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "replayer/scene_data/generated/compact_scene_descriptor.pb",
            "replayer/scene_data/generated/plan_frame_field_roles.json",
            "proto/pnc_scene/compact_plan_frame_fields.proto",
            "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp",
            "proto/config.proto",
            "replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml",
            "Testing/front_vehicle_reverse_alarm_test.cpp",
            "replayer/scene_data/generated/full_custom_cpp_member_inputs.json",
            "replayer/scene_data/generated/plan_frame_decoder.cpp",
            "replayer/scene_data/config_proto_codec.cpp",
            "replayer/scene_data/generated/compact_typed_field_codec.cpp",
            "replayer/scene_data/compact_numeric_policy.yaml",
            "data/config/cfg_safe_const.hpp",
            "replayer/scene_data/generated/config_schema_inputs.json",
            "replayer/scene_data/compact_numeric_leaf_contract.csv",
            "data/config/cfg_safe_const.cpp",
            "replayer/scene_data/plan_frame_full_mapping.yaml",
            "replayer/scene_data/plan_frame_field_roles.csv",
            "replayer/scene_data/generated/plan_frame_encoder.cpp",
            "proto/pnc_scene/full_plan_frame.proto",
            "replayer/scene_data/generated/scene_replay_api_descriptor.pb",
            "tasks/deciders/other_decider/alarm_decider.cpp",
            "replayer/scene_data/generated/plan_frame_descriptor.pb"
          ],
          "commitId" : "b1002b6a3b41ba8a2c06afa119bb268a3702ae52",
          "timestamp" : 1793068851000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/liuhongshuo",
            "fullName" : "liuhongshuo"
          },
          "authorEmail" : "liuhongshuo",
          "comment" : "feat: 配置挂车报警范围并精简快照结果保存\u000a",
          "date" : "2026-10-27 10:40:51 +0800",
          "id" : "b1002b6a3b41ba8a2c06afa119bb268a3702ae52",
          "msg" : "feat: 配置挂车报警范围并精简快照结果保存",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/plan_frame_field_roles.csv"
            },
            {
              "editType" : "edit",
              "file" : "proto/config.proto"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "Testing/front_vehicle_reverse_alarm_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_safe_const.hpp"
            },
            {
              "editType" : "edit",
              "file" : "proto/pnc_scene/compact_plan_frame_fields.proto"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_policy.yaml"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_leaf_contract.csv"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_decoder.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_safe_const.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/scene_replay_api_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_encoder.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/plan_frame_full_mapping.yaml"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/config_schema_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/other_decider/alarm_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "proto/pnc_scene/full_plan_frame.proto"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/config_proto_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_typed_field_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_scene_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_field_roles.json"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/test/truck_parking_retry_test.cc",
            "ssep/scenarios/truck_accurate_reversing_planner.cc"
          ],
          "commitId" : "8d596476920b044ec8d28fdcd4826c67d8e1eb0d",
          "timestamp" : 1793079665000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 防止精准倒车预优化改变换向方向\u000a\u000a校验预优化后的几何运动方向与方向标签，异常时回退已验证的搜索初值。\u000a增加六米硬尾段场景回归，检查运动学和起终点约束。\u000a",
          "date" : "2026-10-27 13:41:05 +0800",
          "id" : "8d596476920b044ec8d28fdcd4826c67d8e1eb0d",
          "msg" : "fix: 防止精准倒车预优化改变换向方向",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/test/truck_parking_retry_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_accurate_reversing_planner.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/scenarios/stitching_replanner.h",
            "ssep/test/truck_parking_retry_test.cc",
            "ssep/scenarios/truck_accurate_reversing_planner.cc",
            "ssep/test/rigid_truck_parking_validation_test.cc",
            "ssep/ssep_planner.cc",
            "ssep/scenarios/truck_multi_segment_parking_planner.h",
            "ssep/scenarios/rigid_truck_parking_validation.h"
          ],
          "commitId" : "011024d861aea1f5abb8fffc2aed8e4dd0994ee6",
          "timestamp" : 1793079673000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 限制泊车换向段有效长度至少为1.5米\u000a\u000a搜索候选与优化结果统一检查换向段长度，最终停车段允许短距离对位。\u000a覆盖历史拼接、路径缓存与实际下发出口，拒绝优化压短或复用的短段路径。\u000a新增边界、重复点、方向标签兼容及候选拒绝测试；相关45项CPU测试通过。\u000a",
          "date" : "2026-10-27 13:41:13 +0800",
          "id" : "011024d861aea1f5abb8fffc2aed8e4dd0994ee6",
          "msg" : "fix: 限制泊车换向段有效长度至少为1.5米",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/stitching_replanner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/rigid_truck_parking_validation_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/truck_parking_retry_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_accurate_reversing_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_multi_segment_parking_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/ssep_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/rigid_truck_parking_validation.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/other/flow_control.cpp"
          ],
          "commitId" : "14c18c36c3fef3a7241cfa27c3e9b222b7b70e09",
          "timestamp" : 1793079678000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 收紧散货停车与远控的TTC碰撞豁免\u000a\u000a使用最终目标剩余距离判断停车豁免，避免中间换向短段提前忽略碰撞。\u000a远控专用豁免分支要求请求显式设置is_ignore_safe。\u000a",
          "date" : "2026-10-27 13:41:18 +0800",
          "id" : "14c18c36c3fef3a7241cfa27c3e9b222b7b70e09",
          "msg" : "fix: 收紧散货停车与远控的TTC碰撞豁免",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/other/flow_control.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/scenarios/stitching_replanner.h",
            "ssep/test/parking_history_collision_test.cc"
          ],
          "commitId" : "ddcdc24a24079387fad077e7016d45682cc5f92c",
          "timestamp" : 1793087080000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 增强泊车历史路径的碰撞优化重试\u000a\u000a历史路径在曲率通过但车身或前向净空不满足时继续增强碰撞罚项重试，避免复用碰撞初值。保留请求截止时间与最终完整验收，并覆盖超过换向点后的历史路径修复。\u000a",
          "date" : "2026-10-27 15:44:40 +0800",
          "id" : "ddcdc24a24079387fad077e7016d45682cc5f92c",
          "msg" : "fix: 增强泊车历史路径的碰撞优化重试",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/stitching_replanner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/parking_history_collision_test.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/test/rigid_truck_parking_validation_test.cc",
            "ssep/scenarios/rigid_truck_parking_validation.h"
          ],
          "commitId" : "5dcb35c17c561812fde8b2bdb3cee25c90c69b43",
          "timestamp" : 1793087080000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 按真实圆弧长度验收泊车换向段\u000a\u000a对严格满足圆弧几何的采样边恢复弧长，避免有效 1.5 米换向段因弦长略短被拒绝。一般折线仍保守取弦长，保持原长度阈值和容差，覆盖 UTM 与异常朝向边界。\u000a",
          "date" : "2026-10-27 15:44:40 +0800",
          "id" : "5dcb35c17c561812fde8b2bdb3cee25c90c69b43",
          "msg" : "fix: 按真实圆弧长度验收泊车换向段",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/test/rigid_truck_parking_validation_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/rigid_truck_parking_validation.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/scenarios/truck_accurate_reversing_planner.h",
            "ssep/coarse_search/searcher_builders/rigid_truck_general_searcher_builder.h",
            "ssep/coarse_search/multi_stage_hybrid_astar_search_engine.cc",
            "ssep/test/coarse_search_stop_clearance_test.cc",
            "ssep/test/truck_parking_retry_test.cc",
            "ssep/coarse_search/searcher_builders/rigid_truck_general_searcher_builder.cc",
            "ssep/scenarios/truck_accurate_reversing_planner.cc",
            "ssep/scenarios/truck_multi_segment_parking_planner.h",
            "ssep/test/rigid_truck_tail_connection_test.cc"
          ],
          "commitId" : "f42ac550d56adfde7577d0b89968e07325d7eb3e",
          "timestamp" : 1793087080000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 恢复狭窄泊车场景的搜索与调整重试\u000a\u000a跳过无改进节点以保留搜索预算，保留未延伸换向候选，并在共享截止时间内依次细化步长和补充中间曲率；已配置细步长也能进入曲率补救，复用 planner 时恢复原配置。\u000a\u000a双向重试允许另一侧继续展开，软途经参考不再阻挡调整兜底。兜底继承派生默认尾长，保留显式配置优先及粗路径任务换向标记，不伪造纯倒车任务进度。\u000a\u000a验证：相关 77 项 C++ 用例最终通过；原始 22 例回放成功，独立 0.25 米步长变体恢复成功。验证使用隔离源码快照，未纳入工作树并行 KEB 改动。\u000a",
          "date" : "2026-10-27 15:44:40 +0800",
          "id" : "f42ac550d56adfde7577d0b89968e07325d7eb3e",
          "msg" : "fix: 恢复狭窄泊车场景的搜索与调整重试",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/rigid_truck_general_searcher_builder.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/truck_parking_retry_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/coarse_search_stop_clearance_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/multi_stage_hybrid_astar_search_engine.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/rigid_truck_general_searcher_builder.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/rigid_truck_tail_connection_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_multi_segment_parking_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_accurate_reversing_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_accurate_reversing_planner.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/test/local_regression/rigid_parking_quality.py",
            "ssep/test/local_regression/rigid_parking_motion_quality.py",
            "ssep/test/local_regression/test_rigid_parking_motion_quality.py",
            "ssep/test/local_regression/test_weiqiao_rigid_parking_quality.py"
          ],
          "commitId" : "8e81fbaf65f9bfa662b94525eac04239aab0198b",
          "timestamp" : 1793087080000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 补齐泊车独立验收的换向段长检查\u000a\u000a独立按实际几何方向检查非末段至少 1.5 米，并对严格圆弧恢复弧长；保留末段和单向短路径豁免，输出逐段长度指标。\u000a\u000a仅在显式 allowed_direct_reverse 验收策略下接受无任务换向标记的纯倒车路径，不改变默认策略或在线任务进度。\u000a\u000a验证：30 项 Python 用例通过；原始 22 例及独立步长变体均通过完整几何检查。\u000a",
          "date" : "2026-10-27 15:44:40 +0800",
          "id" : "8e81fbaf65f9bfa662b94525eac04239aab0198b",
          "msg" : "fix: 补齐泊车独立验收的换向段长检查",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/rigid_parking_motion_quality.py"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/test_rigid_parking_motion_quality.py"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/rigid_parking_quality.py"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/test_weiqiao_rigid_parking_quality.py"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/search_decider_lifecycle_test.cpp",
            "data/plan/ssep_task_context.cpp",
            "docs/ssep_search_lifecycle.md"
          ],
          "commitId" : "4159bbadf81e896d2dcf662798fc6994cf5f58fa",
          "timestamp" : 1793103247000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 变道任务交接不因道路类型和目的地变化重搜\u000a\u000a移除变道复用的堆场区域限制、前后区域相等限制及任务目的地相等检查，保留变道连续性和目标车道覆盖旧完成点等校验。\u000a\u000a补充左右变道跨区域及目的地变化回归，并验证连续任务交接保留路径和搜索请求次数、手动重搜仍有效；同步更新生命周期说明。\u000a\u000a验证：clang-format 21.1.8；分布式编译通过；reference_line_replan_test 447 项通过、101 项跳过、0 失败。\u000a",
          "date" : "2026-10-27 20:14:07 +0800",
          "id" : "4159bbadf81e896d2dcf662798fc6994cf5f58fa",
          "msg" : "fix: 变道任务交接不因道路类型和目的地变化重搜",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "Testing/search_decider_lifecycle_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/ssep_task_context.cpp"
            },
            {
              "editType" : "edit",
              "file" : "docs/ssep_search_lifecycle.md"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/reference_line_replan_test.cpp",
            "data/plan/smooth_data.cpp",
            "data/map/reference/bends_decider/bends_decider.cpp"
          ],
          "commitId" : "9255010d2a0023cf25523e2a98ca92860322ad94",
          "timestamp" : 1793104586000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 防止弯道缓存覆盖当前路段并修正重搜判断\u000a\u000a弯道选线仅允许修改当前路段内的车道，阻止缓存首弯道跨路段覆盖定位索引，并记录不匹配信息。\u000a\u000a按旧车道映射到本帧后的索引与当前选线比较，避免索引重排误报并保留真实换线触发；修正历史地图有效性检查。\u000a\u000a新增旧弯道、未来弯道、连续帧、真实换线、同车道索引重排及直线路段保护回归。分布式编译通过，452 项测试通过、101 项跳过、0 失败；未执行现场 bag 算法回放，缓存异常来源仍待确认。\u000a",
          "date" : "2026-10-27 20:36:26 +0800",
          "id" : "9255010d2a0023cf25523e2a98ca92860322ad94",
          "msg" : "fix: 防止弯道缓存覆盖当前路段并修正重搜判断",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "Testing/reference_line_replan_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/smooth_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/map/reference/bends_decider/bends_decider.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/continuous_junction_replan_test.cpp",
            "tasks/deciders/other_decider/replan_decider.cpp"
          ],
          "commitId" : "7b277702d39c3c2f9e72ad5f92d3b1f82e469ea8",
          "timestamp" : 1793115188000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 避免弯中任务后续路线变化触发重搜\u000a\u000a弯中最近出口未变时结束出口比较，避免新任务截短远端路线触发 AFTER_BEND_CHANGE；保留直道前方目标检查，并修正历史地图有效性判断。\u000a\u000a新增普通路口和桥梁共 12 个回归用例。相关测试 464 个通过、101 个跳过；原始任务 82161 到 19613 生产决策链复现确认修复后不再重搜。\u000a",
          "date" : "2026-10-27 23:33:08 +0800",
          "id" : "7b277702d39c3c2f9e72ad5f92d3b1f82e469ea8",
          "msg" : "fix: 避免弯中任务后续路线变化触发重搜",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tasks/deciders/other_decider/replan_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/continuous_junction_replan_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/search_decider_lifecycle_test.cpp",
            "tasks/deciders/other_decider/replan_decider.cpp"
          ],
          "commitId" : "2476fe1a5fde3cbbe1666ab1fb2abe0ba876ac50",
          "timestamp" : 1793166336000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 限制精准停车换向重搜并校验接入偏差\u000a\u000a精准停车内部正常换向时，使用原始 SSEP 下一段检查横偏不超过 10 cm 且车身航向差不超过 1 度，满足双门限才跳过换向重搜。保留首次场景切换及其他重搜触发，拒绝无效和退化路径。\u000a\u000a补充生命周期、阈值边界、角度归一化及现场录制路径测试。\u000a",
          "date" : "2026-10-28 13:45:36 +0800",
          "id" : "2476fe1a5fde3cbbe1666ab1fb2abe0ba876ac50",
          "msg" : "fix: 限制精准停车换向重搜并校验接入偏差",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "Testing/search_decider_lifecycle_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/other_decider/replan_decider.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/ssep_path_corridor_test.cpp",
            "replayer/scene_data/generated/full_custom_cpp_member_inputs.json",
            "data/config/cfg_stage.cpp",
            "scenarios/task_condition_evaluator.hpp",
            "scenarios/task_condition_evaluator.cpp",
            "tasks/other_tasks/stitch_path_data_to_path.cpp",
            "data/config/cfg_stage.hpp"
          ],
          "commitId" : "0984a943991619dd7013d4c57b7c6c7db8138ee2",
          "timestamp" : 1793166345000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 支持场景配置选择精准停车原始搜索路径\u000a\u000a新增精准停车任务选择条件，由场景配置决定全部分段是否直接输出 SSEP。只有实际选中直出组且未执行其他横向规划器时启用，保留 WAIT 优先级；方向不一致或直出失败时清空输出并报错。\u000a\u000a补充配置解析与 codec 往返、Stage 调度及路径输出测试，更新配置成员审计指纹。分布式构建 pnc_node 和相关测试通过，相关测试合计 261 项通过、101 项按参数范围跳过。\u000a",
          "date" : "2026-10-28 13:45:45 +0800",
          "id" : "0984a943991619dd7013d4c57b7c6c7db8138ee2",
          "msg" : "feat: 支持场景配置选择精准停车原始搜索路径",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_stage.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/task_condition_evaluator.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/task_condition_evaluator.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/other_tasks/stitch_path_data_to_path.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_stage.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_path_corridor_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/scenarios/truck_accurate_reversing_planner.h",
            "ssep/keb_optimizer/rigid_truck_keb_optimizer.h",
            "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc",
            "data/ssep/forward_ec.cpp",
            "ssep/scenarios/truck_accurate_reversing_planner.cc",
            "ssep/keb_optimizer/keb_problem.h",
            "ssep/test/rigid_truck_parking_validation_test.cc",
            "Testing/ssep_scenario_config_lifecycle_test.cpp",
            "ssep/test/rigid_truck_tail_connection_test.cc",
            "ssep/keb_optimizer/keb_problem.cc"
          ],
          "commitId" : "a0200b8fa646a7ddcbc38d6ec2b3aaf8a2363424",
          "timestamp" : 1793174567000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 支持精准停车前进拉直余量及完整候选验收\u000a\u000a将实际 KEB 优化和硬约束纳入候选验收，失败后继续搜索。\u000a按场景配置尝试额外前进拉直，空间不足逐级缩短，保持完整碰撞与运动学校验及末端约束。\u000a验证：搜索测试 51 项、配置测试 43 项通过，8 个 CPU 现场场景回放成功。\u000a",
          "date" : "2026-10-28 16:02:47 +0800",
          "id" : "a0200b8fa646a7ddcbc38d6ec2b3aaf8a2363424",
          "msg" : "feat: 支持精准停车前进拉直余量及完整候选验收",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_accurate_reversing_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/rigid_truck_parking_validation_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/rigid_truck_tail_connection_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_scenario_config_lifecycle_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_accurate_reversing_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.h"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/rigid_truck_keb_optimizer.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/app/fsm/task_fsm/task_park_fsm/park_fsm_transition/bulk_transition.cpp",
            "Testing/reverse_pickup_lifecycle_test.cpp"
          ],
          "commitId" : "da7b1489ff8d91aef548efdd2f7e758a583682e2",
          "timestamp" : 1793174567000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 防止精准停车中间换向时误入锁定状态\u000a\u000a入锁前核对当前与历史帧为同任务同一有效末段，阻止等待重搜时完成。\u000a历史引导线失效时使用实际 SSEP 末点与已有距离阈值判定，保留反向取货及末段料堆分支。\u000a新增 9 项回归通过。\u000a",
          "date" : "2026-10-28 16:02:47 +0800",
          "id" : "da7b1489ff8d91aef548efdd2f7e758a583682e2",
          "msg" : "fix: 防止精准停车中间换向时误入锁定状态",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/app/fsm/task_fsm/task_park_fsm/park_fsm_transition/bulk_transition.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/reverse_pickup_lifecycle_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/path_pair_validation_test.cpp",
            "tasks/plan/reversing_truck_path_task.cpp"
          ],
          "commitId" : "037c8d0eba35271a0690acf379bf56039c969956",
          "timestamp" : 1793174567000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 拒绝非有限值及退化的 SSEP 路径\u000a\u000a在 WBCA 之前统一检查车头与挂车坐标、角度、曲率及路径长度，允许局部重复点。\u000a非法输入清理优化缓存并沿用历史路径回退；更新已失效的旧切线测试，保留无效几何拒绝断言。\u000a",
          "date" : "2026-10-28 16:02:47 +0800",
          "id" : "037c8d0eba35271a0690acf379bf56039c969956",
          "msg" : "fix: 拒绝非有限值及退化的 SSEP 路径",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tasks/plan/reversing_truck_path_task.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/path_pair_validation_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/routing_transition_test.cpp"
          ],
          "commitId" : "633f8b2ff847e3aa2c8eb8ed6ca4ebb6c808ed6b",
          "timestamp" : 1793174567000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "test: 补齐同任务搜索重置测试的历史任务标识\u000a\u000a使当前与历史任务 ID 一致，正确验证同任务保留搜索与任务变化清理搜索。\u000a完整 routing_transition 测试 117 项通过，生产 pnc_node 编译通过。\u000a",
          "date" : "2026-10-28 16:02:47 +0800",
          "id" : "633f8b2ff847e3aa2c8eb8ed6ca4ebb6c808ed6b",
          "msg" : "test: 补齐同任务搜索重置测试的历史任务标识",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "Testing/routing_transition_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "replayer/scene_data/generated/full_custom_cpp_member_inputs.json",
            "tasks/deciders/long_decider/constrain_decider.cpp",
            "data/lattice/longitudinal_comfort.hpp",
            "data/lattice/trajectory_evaluator.cpp"
          ],
          "commitId" : "8a8b6f78956d8d7a85f37e73c6e605f6051c2a67",
          "timestamp" : 1793186158000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/liuhongshuo",
            "fullName" : "liuhongshuo"
          },
          "authorEmail" : "liuhongshuo",
          "comment" : "feat: wbca接入lattice的速度考虑载重系数\u000a",
          "date" : "2026-10-28 19:15:58 +0800",
          "id" : "8a8b6f78956d8d7a85f37e73c6e605f6051c2a67",
          "msg" : "feat: wbca接入lattice的速度考虑载重系数",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tasks/deciders/long_decider/constrain_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/trajectory_evaluator.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/longitudinal_comfort.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/ssep_path_corridor_test.cpp",
            "tasks/deciders/search_decider/search_decider_lifecycle.cpp",
            "Testing/search_decider_lifecycle_test.cpp",
            "Testing/scenario_search_exit_test.cpp",
            "data/app/reaction/app_reaction.cpp",
            "tasks/deciders/other_decider/replan_decider.cpp"
          ],
          "commitId" : "6094ad89d685cfe28efb384fa96ac504b5906a44",
          "timestamp" : 1793189600000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 清理跨任务出库状态并限制出库点变化重搜\u000a\u000a补齐任务重置时的途经点标志和开放空间点清理，任务切换或取消时清除旧搜索输入，避免历史起点导致新任务提前退出出库。仅在同一有效任务内判断 BULK_OUT_POS_CHANGE，保留同任务重搜及路径复用行为。补充取消、任务切换、位移阈值和出库退出回归测试。\u000a",
          "date" : "2026-10-28 20:13:20 +0800",
          "id" : "6094ad89d685cfe28efb384fa96ac504b5906a44",
          "msg" : "fix: 清理跨任务出库状态并限制出库点变化重搜",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/app/reaction/app_reaction.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/other_decider/replan_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/search_decider/search_decider_lifecycle.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/search_decider_lifecycle_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/scenario_search_exit_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_path_corridor_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/app/cmd/cmd_set_target.cpp",
            "Testing/scenario_search_exit_test.cpp"
          ],
          "commitId" : "1ca86021a246a2354407e3fc858e57510c9884d8",
          "timestamp" : 1793189613000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 出库阶段拒绝普通新任务\u000a\u000a在 TRAVEL_OUT 阶段拒绝普通设置终点命令，覆盖搜索请求尚未发起的窗口，防止新任务替换正在执行的出库任务。保留取消任务和脱困命令例外，补充门禁、取消、正常行驶接收与脱困回归测试。\u000a",
          "date" : "2026-10-28 20:13:33 +0800",
          "id" : "1ca86021a246a2354407e3fc858e57510c9884d8",
          "msg" : "fix: 出库阶段拒绝普通新任务",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "Testing/scenario_search_exit_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/app/cmd/cmd_set_target.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/parking_pass_progress_test.cpp"
          ],
          "commitId" : "0925ba44a5874489d9209bda8423fc56fc8a776e",
          "timestamp" : 1793189624000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "test: 补齐 IMV 停车测试夹具车型子类型\u000a\u000a设置 IMV 车型时同步填写 Proto 子类型，避免配置解码因车型不一致失败，恢复停车进度测试覆盖。相关测试合计 699 通过、101 跳过、0 失败，pnc_node 编译通过。\u000a",
          "date" : "2026-10-28 20:13:44 +0800",
          "id" : "0925ba44a5874489d9209bda8423fc56fc8a776e",
          "msg" : "test: 补齐 IMV 停车测试夹具车型子类型",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "Testing/parking_pass_progress_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/test/truck_parking_retry_test.cc",
            "ssep/scenarios/truck_multi_segment_parking_planner.h"
          ],
          "commitId" : "04c09477538edbe70547a5a631db2cc7930b71d2",
          "timestamp" : 1793196268000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 调整卡车泊车搜索预算并保留细网格重试\u000a\u000a前向调整搜索按剩余总预算的三分之一分配时间，最多 4 秒，避免固定\u000a2 秒在短换向候选被拒绝后过早截断后续可修复连接。\u000a\u000a首次粗网格调整只使用一半剩余预算；阶段超时且总请求尚未超时时，\u000a继续已有的细位置网格重试。最终阶段使用剩余预算，保持总请求\u000a截止时间以及碰撞、换向长度、末端直线和运动学验收要求。\u000a\u000a新增真实不可达场景测试，覆盖阶段超时保留预算、最终总超时及\u000a已过期请求不得继续重试。25 项专项测试通过；魏桥分析包中原参数\u000a末端直线为 2 米的 4 例 CPU 回放全部成功。3–4 米约束下仍可能超时，\u000a不把缩短末端直线的诊断实验计入原参数回归成功。\u000a",
          "date" : "2026-10-28 22:04:28 +0800",
          "id" : "04c09477538edbe70547a5a631db2cc7930b71d2",
          "msg" : "fix: 调整卡车泊车搜索预算并保留细网格重试",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/test/truck_parking_retry_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_multi_segment_parking_planner.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/ssep/ssep_scenario_config_loader.cpp",
            "Testing/ssep_scenario_config_lifecycle_test.cpp",
            "docs/ssep_scenario_config_lifecycle.md"
          ],
          "commitId" : "6b52f31415f1bbe21684847b2de269833f181d9e",
          "timestamp" : 1793284560000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 支持场景位置条件的或匹配\u000a\u000a为 start/end 增加 any_of 和 Lane/YardArea 的 ids 简写，兼容原有单位置配置。\u000a加载阶段展开组合并保留规则优先级，不改变运行时匹配和快照合同。\u000a补充组合、优先级、非法配置测试及配置文档。\u000a\u000a验证：场景配置目标 130 项测试通过。\u000a",
          "date" : "2026-10-29 22:36:00 +0800",
          "id" : "6b52f31415f1bbe21684847b2de269833f181d9e",
          "msg" : "feat: 支持场景位置条件的或匹配",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_scenario_config_loader.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_scenario_config_lifecycle_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "docs/ssep_scenario_config_lifecycle.md"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/plan/ssep_data.cpp",
            "ssep/scenarios/head_straight_distance.h",
            "ssep/test/CMakeLists.txt",
            "ssep/keb_optimizer/rigid_truck_keb_optimizer.h",
            "ssep/scenarios/truck_bulk_yark_in_out_planner.cc",
            "ssep/scenarios/truck_bulk_yark_in_out_planner.h",
            "ssep/test/coarse_search_stop_clearance_test.cc",
            "ssep/data_structures/path_motion_segment.h",
            "ssep/keb_optimizer/keb_problem.cc",
            "ssep/maps/ogm_builder.cc",
            "ssep/test/keb_normal_extension_test.cc",
            "ssep/test/rigid_parking_collision_test.cc",
            "ssep/coarse_search/multi_stage_hybrid_astar_search_engine.h",
            "ssep/test/parking_collision_provenance_test.cc",
            "data/ssep/ssep_ec.cpp",
            "ssep/test/head_straight_distance_test.cc",
            "ssep/scenarios/rigid_parking_collision.h",
            "ssep/scenarios/first_segment_clearance_checker.h",
            "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc",
            "ssep/maps/ogm.h",
            "ssep/scenarios/scenario_planner_factory.h",
            "ssep/maps/ogm.cc",
            "docs/ssep_scenario_config_lifecycle.md",
            "ssep/test/truck_bulk_exit_fallback_test.cc",
            "Testing/parking_pass_progress_test.cpp",
            "ssep/test/forward_clearance_check_test.cc",
            "ssep/coarse_search/multi_stage_hybrid_astar_search_engine.cc",
            "ssep/maps/ogm_config_utils.cc",
            "ssep/keb_optimizer/keb_problem.h",
            "ssep/maps/ogm_builder.h",
            "ssep/ssep_planner.cc",
            "Testing/ssep_scenario_config_lifecycle_test.cpp"
          ],
          "commitId" : "51d60f87d931d70ebdb9d53081cc9b25ffd04dc2",
          "timestamp" : 1793284633000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 支持出库起始直线与按行驶段恢复障碍物\u000a\u000a新增 head_straight_distance，使用任务锚点及执行期完成锁存，重搜只补剩余直线。\u000a纯前进候选在搜索、优化或验收失败后尝试多段调整，保留固定直线和正确方向标记。\u000a抽象首末段豁免的恢复区间，换向公共点及起点豁免过期后的路径使用恢复障碍物。\u000a统一搜索状态、KEB 选图和连续车身/停车扩展验收，保留终点与出入口清障语义。\u000a恢复起点来源对应的普通和反向膨胀，不重复扩大原图已有障碍。\u000a\u000a验证：459 项测试通过；CPU 2 米、3 米及任务进度派生场景复验。\u000a3 米场景输出前进 3.000 米、倒车 2.123 米、前进 21.669 米。\u000a回绕派生输入按生产搜索起点方向构造后成功，旧输出驶入方向不作为新请求方向。\u000a",
          "date" : "2026-10-29 22:37:13 +0800",
          "id" : "51d60f87d931d70ebdb9d53081cc9b25ffd04dc2",
          "msg" : "feat: 支持出库起始直线与按行驶段恢复障碍物",
          "paths" : [
            {
              "editType" : "add",
              "file" : "ssep/data_structures/path_motion_segment.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/multi_stage_hybrid_astar_search_engine.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_bulk_yark_in_out_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/multi_stage_hybrid_astar_search_engine.h"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_scenario_config_lifecycle_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/coarse_search_stop_clearance_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "docs/ssep_scenario_config_lifecycle.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/parking_collision_provenance_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/maps/ogm_config_utils.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_bulk_yark_in_out_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/rigid_parking_collision_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/keb_normal_extension_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/ssep_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/ssep_data.cpp"
            },
            {
              "editType" : "add",
              "file" : "ssep/scenarios/head_straight_distance.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/rigid_parking_collision.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/head_straight_distance_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "Testing/parking_pass_progress_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "ssep/maps/ogm.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/maps/ogm.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/maps/ogm_builder.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/scenarios/first_segment_clearance_checker.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/truck_bulk_exit_fallback_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/forward_clearance_check_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/maps/ogm_builder.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/scenario_planner_factory.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/rigid_truck_keb_optimizer.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/plan/predict_path.cpp"
          ],
          "commitId" : "31d897c6fd90bb3e9aab51787e51ac7d919d63f6",
          "timestamp" : 1793287717000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复预测路径转向角平滑限速\u000a\u000a在 Truck 和 IMV 前后轮预测入口，将方向盘角速度按传动比换算为车轮弧度每秒，修复预测转角直接跳到控制目标的问题。统一增量限幅并处理非法速度和传动比，保留原函数声明。\u000a\u000a验证：通过项目分布式入口编译 pnc_node；12 个函数级数值测试通过，默认 0.05 秒步长下每步最大转角变化约 0.402 度。\u000a",
          "date" : "2026-10-29 23:28:37 +0800",
          "id" : "31d897c6fd90bb3e9aab51787e51ac7d919d63f6",
          "msg" : "fix: 修复预测路径转向角平滑限速",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/plan/predict_path.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/continuous_junction_replan_test.cpp",
            "tasks/deciders/other_decider/replan_decider.cpp"
          ],
          "commitId" : "350899fcd474265a40ef9470a357f0c87c212f1b",
          "timestamp" : 1793290945000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 按车道身份判断弯后出口变化\u000a\u000a将历史出口车道 ID 映射到当前帧车道索引后再比较，避免索引重排引起误重搜或真实换道漏重搜；缺失匹配证据时继续触发重搜。\u000a\u000a增加普通路口和桥梁的同车道重排、真实换道编号不变回归。已运行 clang-format 21.1.8 和 git diff --check，编译测试由合入分支统一执行。\u000a",
          "date" : "2026-10-30 00:22:25 +0800",
          "id" : "350899fcd474265a40ef9470a357f0c87c212f1b",
          "msg" : "fix: 按车道身份判断弯后出口变化",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "Testing/continuous_junction_replan_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/other_decider/replan_decider.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/continuous_junction_replan_test.cpp",
            "tasks/deciders/other_decider/replan_decider.cpp"
          ],
          "commitId" : "5609d7fd460d641821becc569742693e93fb6f9f",
          "timestamp" : 1793292748000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 仅凭明确出口变化触发重搜\u000a\u000a删除重复的车道匹配失败判断；校验出口决策索引与车道 ID 一致。旧车道缺失时，通过前后帧唯一的路口 ID 及紧邻完整出口确认目标变化，不再把地图裁剪或缺失决策直接当成换线。保持最近出口未知时的弯中检查范围。新增裁剪、缺失与越界目标、完整出口替换和重复路口身份回归。已完成 clang-format 21.1.8 与差异检查，编译测试由主代理统一执行。\u000a",
          "date" : "2026-10-30 00:52:28 +0800",
          "id" : "5609d7fd460d641821becc569742693e93fb6f9f",
          "msg" : "fix: 仅凭明确出口变化触发重搜",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tasks/deciders/other_decider/replan_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/continuous_junction_replan_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "replayer/scene_data/generated/compact_scene_descriptor.pb",
            "data/decide/decide_reaction.cpp",
            "replayer/scene_data/remaining_plan_proto_codec.cpp",
            "replayer/scene_data/generated/plan_frame_field_roles.json",
            "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp",
            "data/ssep/forward_ec.cpp",
            "replayer/scene_data/generated/full_custom_cpp_member_inputs.json",
            "replayer/scene_data/compact_numeric_policy.yaml",
            "data/decide/decide_reaction.hpp",
            "docs/ssep_scenario_config_lifecycle.md",
            "data/ssep/accurate_parking_switch_config.hpp",
            "Testing/search_decider_lifecycle_test.cpp",
            "tasks/deciders/other_decider/replan_decider.cpp",
            "replayer/scene_data/compact_numeric_leaf_contract.csv",
            "Testing/scene_replay_foundation_test.cpp",
            "replayer/scene_data/plan_frame_field_roles.csv",
            "replayer/scene_data/generated/plan_frame_encoder.cpp",
            "proto/decision.proto",
            "replayer/scene_data/generated/scene_replay_api_descriptor.pb",
            "replayer/scene_data/generated/plan_frame_descriptor.pb",
            "Testing/ssep_scenario_config_lifecycle_test.cpp"
          ],
          "commitId" : "9264d875d842aaa04e36dd2e0b3f080fbfc70144",
          "timestamp" : 1793329960000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 限制精准倒车换向追加调整并支持参数配置\u000a\u000a换向接入超差默认最多追加重规划 3 次，横偏和航向门限默认 0.10 米和 1 度，均按实际精准倒车场景配置。计数跨搜索继承，在任务取消、失效或目标变化时清零，无效路径不按次数放行。\u000a\u000a补齐多段泊车切入精准倒车时的参数传递，增加 Full/Compact Bootstrap 计数持久化及旧快照默认值，覆盖次数、误差边界、生命周期、配置切换和回放往返测试。\u000a\u000a验证：26 个精准倒车专项测试、131 个场景配置测试通过；回放基础测试 442 通过、9 个外部数据用例跳过；生成合同及兼容性检查通过。\u000a",
          "date" : "2026-10-30 11:12:40 +0800",
          "id" : "9264d875d842aaa04e36dd2e0b3f080fbfc70144",
          "msg" : "fix: 限制精准倒车换向追加调整并支持参数配置",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_scene_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "Testing/scene_replay_foundation_test.cpp"
            },
            {
              "editType" : "add",
              "file" : "data/ssep/accurate_parking_switch_config.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_policy.yaml"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/plan_frame_field_roles.csv"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_field_roles.json"
            },
            {
              "editType" : "edit",
              "file" : "Testing/search_decider_lifecycle_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/decide/decide_reaction.cpp"
            },
            {
              "editType" : "edit",
              "file" : "docs/ssep_scenario_config_lifecycle.md"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_scenario_config_lifecycle_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/remaining_plan_proto_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/scene_replay_api_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_encoder.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/decide/decide_reaction.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_leaf_contract.csv"
            },
            {
              "editType" : "edit",
              "file" : "proto/decision.proto"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/other_decider/replan_decider.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "replayer/scene_data/generated/full_custom_cpp_member_inputs.json",
            "data/ssep/base_stop_line_filter.cpp",
            "data/ssep/base_stop_line_filter.hpp",
            "Testing/pnc_map_overlap_test.cpp",
            "data/ssep/junction_exit_stop_line.hpp"
          ],
          "commitId" : "7ecda84517c5e50293523a0b9acbff6066e0cf7a",
          "timestamp" : 1793340287000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 补齐路口出口边界停止线并统一目标筛选\u000a\u000a对仅有入口停止线的路口，按已选参考线的直接后继拓扑和边界范围补配唯一出口线；拒绝短连接、下一路口邻近及多候选歧义。\u000a\u000a目标路口筛选与最终输出共用局部停止线对，修复越过 junction 边界但尚未越过出口时漏选路口的问题，保留原地图归属。\u000a\u000a增加精确大榭地图、出口前后、连续搜索和歧义拒绝测试，并刷新生成审计摘要。分布式编译及 165 项测试通过；完整 bag 搜索链仍受后续起始车姿构建限制。\u000a",
          "date" : "2026-10-30 14:04:47 +0800",
          "id" : "7ecda84517c5e50293523a0b9acbff6066e0cf7a",
          "msg" : "fix: 补齐路口出口边界停止线并统一目标筛选",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/ssep/base_stop_line_filter.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/base_stop_line_filter.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "Testing/pnc_map_overlap_test.cpp"
            },
            {
              "editType" : "add",
              "file" : "data/ssep/junction_exit_stop_line.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_safe_const.hpp",
            "replayer/scene_data/compact_numeric_leaf_contract.csv",
            "data/config/cfg_safe_const.cpp",
            "Testing/front_vehicle_reverse_alarm_test.cpp",
            "replayer/scene_data/compact_numeric_policy.yaml",
            "data/config/cfg_func_sw.hpp",
            "data/config/cfg_func_sw.cpp",
            "tasks/deciders/other_decider/alarm_decider.cpp"
          ],
          "commitId" : "e5667cae323b43dbb5392445a4183fdb31512a89",
          "timestamp" : 1793340608000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/liuhongshuo",
            "fullName" : "liuhongshuo"
          },
          "authorEmail" : "liuhongshuo",
          "comment" : "fix: 默认开启前车倒车报警并设为5米\u000a",
          "date" : "2026-10-30 14:10:08 +0800",
          "id" : "e5667cae323b43dbb5392445a4183fdb31512a89",
          "msg" : "fix: 默认开启前车倒车报警并设为5米",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_safe_const.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_safe_const.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_policy.yaml"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_leaf_contract.csv"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/other_decider/alarm_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/front_vehicle_reverse_alarm_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "replayer/scene_data/generated/config_schema_inputs.json",
            "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
          ],
          "commitId" : "ea4d671ee9f4073d13dc4d6f2b69132e187641c3",
          "timestamp" : 1793341140000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/liuhongshuo",
            "fullName" : "liuhongshuo"
          },
          "authorEmail" : "liuhongshuo",
          "comment" : "fix: 同步报警默认值修改后的Proto声明记录\u000a",
          "date" : "2026-10-30 14:19:00 +0800",
          "id" : "ea4d671ee9f4073d13dc4d6f2b69132e187641c3",
          "msg" : "fix: 同步报警默认值修改后的Proto声明记录",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/config_schema_inputs.json"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tools/pnc_proto_mapper/sync_config_schema.py",
            "tools/pnc_proto_mapper/test_config_schema_presence.py"
          ],
          "commitId" : "edb64c5b1bf910600ddafc429fdcc2f41bbca360",
          "timestamp" : 1793349964000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 防止配置 Proto 生成器复用保留字段\u000a\u000a支持显式分配跨分支字段号，并保留 reserved 声明。\u000a拒绝复用保留名称、单号和编号范围，补充生成稳定性与冲突回归。\u000a",
          "date" : "2026-10-30 16:46:04 +0800",
          "id" : "edb64c5b1bf910600ddafc429fdcc2f41bbca360",
          "msg" : "fix: 防止配置 Proto 生成器复用保留字段",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tools/pnc_proto_mapper/sync_config_schema.py"
            },
            {
              "editType" : "edit",
              "file" : "tools/pnc_proto_mapper/test_config_schema_presence.py"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "replayer/scene_data/generated/compact_scene_descriptor.pb",
            "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp",
            "replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml",
            "proto/config.proto",
            "data/vehicle/lock_station_data.cpp",
            "replayer/scene_data/config_proto_codec.cpp",
            "replayer/scene_data/generated/full_custom_cpp_member_inputs.json",
            "config/config_imv/plan.yaml",
            "replayer/scene_data/compact_numeric_policy.yaml",
            "Testing/routing_map_guard_test.cpp",
            "data/config/cfg_safe_const.hpp",
            "replayer/scene_data/generated/config_schema_inputs.json",
            "replayer/scene_data/compact_numeric_leaf_contract.csv",
            "data/config/cfg_safe_const.cpp",
            "Testing/scene_replay_foundation_test.cpp",
            "replayer/scene_data/generated/plan_frame_encoder.cpp",
            "replayer/scene_data/generated/scene_replay_api_descriptor.pb",
            "replayer/scene_data/generated/plan_frame_descriptor.pb"
          ],
          "commitId" : "f227e302e1039319e01082b425810d4229a9c86a",
          "timestamp" : 1793349983000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 支持配置缓冲点横向匹配距离\u000a\u000a将 UpdateBufferRange 横向阈值参数化，默认保持 3 米。\u000a配置加载及运行时对负数和非有限值回退默认值，保留零值语义。\u000a同步 Full/Compact 配置合同与旧数据缺省恢复，补充过滤及往返回归。\u000a",
          "date" : "2026-10-30 16:46:23 +0800",
          "id" : "f227e302e1039319e01082b425810d4229a9c86a",
          "msg" : "feat: 支持配置缓冲点横向匹配距离",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_safe_const.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_scene_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/config_schema_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml"
            },
            {
              "editType" : "edit",
              "file" : "config/config_imv/plan.yaml"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "Testing/scene_replay_foundation_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_policy.yaml"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/config_proto_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_safe_const.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/vehicle/lock_station_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/scene_replay_api_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_leaf_contract.csv"
            },
            {
              "editType" : "edit",
              "file" : "Testing/routing_map_guard_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "proto/config.proto"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_encoder.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/routing_map_guard_test.cpp",
            "data/app/fsm/motion_fsm/motion_fsm.cpp",
            "Testing/compact_driving_corridor_restore_test.cpp"
          ],
          "commitId" : "2ef00f120fe4f8a1a9dbbf4bebae84bf5b836a5f",
          "timestamp" : 1793349998000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 补齐双向 IMV 普通路由换向停车处理\u000a\u000a复用 SSEP 近换向线停稳处理，支持普通路由换向停车原因及解除前保持。\u000a保留安全停车优先级，并使普通路由不受遗留 SSEP 首段倒车状态限制。\u000a补充嵌套运动状态机回归及带 routing 初始化的可选 bag 验证入口。\u000a现场 bag 回放仍受备用参考线索引缺失阻断，未作为通过验收依据。\u000a",
          "date" : "2026-10-30 16:46:38 +0800",
          "id" : "2ef00f120fe4f8a1a9dbbf4bebae84bf5b836a5f",
          "msg" : "fix: 补齐双向 IMV 普通路由换向停车处理",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "Testing/compact_driving_corridor_restore_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/routing_map_guard_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/app/fsm/motion_fsm/motion_fsm.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/ssep/into_yard_junction_ec.cpp"
          ],
          "commitId" : "68d673201540f19e3c0dbfbec43c6a12f7e8974e",
          "timestamp" : 1793350024000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 调整中铁联集多车道进场末端直线距离\u000a\u000aIMV 目标车道数不超过两条时保持末端附加直线距离 20 米，\u000a超过两条时调整为 5 米。\u000a",
          "date" : "2026-10-30 16:47:04 +0800",
          "id" : "68d673201540f19e3c0dbfbec43c6a12f7e8974e",
          "msg" : "fix: 调整中铁联集多车道进场末端直线距离",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/ssep/into_yard_junction_ec.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/keb_optimizer/rigid_truck_keb_optimizer.h",
            "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc",
            "ssep/test/coarse_search_stop_clearance_test.cc",
            "ssep/test/gpu_collision_test.cc",
            "ssep/coarse_search/evaluator/forward_collision_check_lengths.h",
            "ssep/gpu/device_types.h",
            "ssep/test/keb_normal_extension_test.cc",
            "ssep/test/forward_clearance_check_test.cc",
            "ssep/coarse_search/gpu_context.cc",
            "ssep/scenarios/truck_accurate_reversing_planner.cc",
            "ssep/coarse_search/evaluator/collision_cost_computer.h",
            "ssep/coarse_search/gpu_context.h",
            "docs/ssep_stop_collision_extension.md",
            "ssep/scenarios/forward_clearance_check.h",
            "ssep/gpu/collision/collision_checker.cuh"
          ],
          "commitId" : "b14ea17bdfc87648c930c6c959699a203885539e",
          "timestamp" : 1793374487000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 按驶入方向检查准确倒车换向安全距离\u000a\u000a将搜索 stop 长度接入倒车停点包络，CPU 与 GPU 使用独立的后向停车圆盘，\u000a保留普通倒车的旧收缩行为及未配置时的默认值。\u000a\u000a准确倒车的前置和精细 KEB 使用配置的后向停车长度；最终硬验收按驶入\u000a方向检查车头或车尾额外区域，并恢复换向调整期间的终点清障线段。\u000a保留最终倒车入位语义，补充参数说明及方向、阈值和清障回归用例。\u000a\u000a验证：分布式构建通过，57 项相关 CPU 测试通过，魏桥 2026-10-30\u000a16:26:15 原场景 CPU 回放成功，两处换向点均满足纵向 0.5 米检查。\u000aGPU 代码和回归用例已同步；服务器 SSH 认证失败，尚未编译或实机运行。\u000a",
          "date" : "2026-10-30 23:34:47 +0800",
          "id" : "b14ea17bdfc87648c930c6c959699a203885539e",
          "msg" : "fix: 按驶入方向检查准确倒车换向安全距离",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/gpu/collision/collision_checker.cuh"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "docs/ssep_stop_collision_extension.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/forward_clearance_check_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/gpu_collision_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/gpu_context.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/gpu/device_types.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/forward_clearance_check.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/evaluator/collision_cost_computer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/rigid_truck_keb_optimizer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_accurate_reversing_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/keb_normal_extension_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/coarse_search_stop_clearance_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/evaluator/forward_collision_check_lengths.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/gpu_context.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/scenarios/truck_bulk_yark_in_out_planner.cc",
            "ssep/test/coarse_search_stop_clearance_test.cc",
            "ssep/test/keb_normal_extension_test.cc",
            "ssep/scenarios/imv_parking_validation.h",
            "ssep/keb_optimizer/tractor_trailer_keb_optimizer.h",
            "ssep/scenarios/forward_collision_check_params.h",
            "ssep/test/parking_collision_provenance_test.cc",
            "ssep/scenarios/scenario_planner_interface.h",
            "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h",
            "ssep/scenarios/truck_multi_segment_parking_planner.h",
            "ssep/scenarios/first_segment_clearance_checker.h",
            "ssep/scenarios/forward_clearance_check.h",
            "ssep/gpu/collision/collision_checker.cuh",
            "ssep/coarse_search/evaluator/evaluator.h",
            "ssep/coarse_search/evaluator/trailer_collision_cost_computer.h",
            "ssep/scenarios/legacy_planner.h",
            "ssep/keb_optimizer/imv_keb_optimizer.h",
            "ssep/keb_optimizer/imv_keb_optimizer.cc",
            "ssep/test/gpu_collision_test.cc",
            "ssep/coarse_search/evaluator/forward_collision_check_lengths.h",
            "ssep/gpu/device_types.h",
            "ssep/test/forward_clearance_check_test.cc",
            "ssep/coarse_search/gpu_context.cc",
            "ssep/maps/ogm_config_utils.cc",
            "ssep/test/forward_collision_check_params_test.cc",
            "ssep/scenarios/stitching_replanner.h",
            "ssep/scenarios/truck_accurate_reversing_planner.cc",
            "ssep/scenarios/tractor_trailer_reverse_priority_parking_planner.h",
            "ssep/ssep_planner.cc",
            "docs/ssep_stop_collision_extension.md"
          ],
          "commitId" : "7d5017e869db07dcdd69961f20b4c3c11b203a20",
          "timestamp" : 1793377361000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 统一全场景换向点前后安全距离检查\u000a\u000a将显式 stop 距离统一接入刚性车、IMV 和拖挂车搜索及 KEB，按驶入方向检查车头或车尾，并以搜索和优化距离的较大值验收最终分段换向点。\u000a\u000a复用公共换向几何检查，覆盖历史重优化和路径复用；保留普通行驶及末段入位策略，恢复换向区域被起终点清障移除的障碍来源。修正 CPU 挂车碰撞检查的有符号铰接点偏移，与 GPU 和最终验收坐标保持一致。\u000a\u000a验证：627 项非交互 C++ 测试通过，1 项既有 disabled；全量场景回归使用固定二进制并单独归档。GPU 服务器认证受阻，本次未完成 GPU 编译和运行验证。\u000a",
          "date" : "2026-10-31 00:22:41 +0800",
          "id" : "7d5017e869db07dcdd69961f20b4c3c11b203a20",
          "msg" : "fix: 统一全场景换向点前后安全距离检查",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/evaluator/evaluator.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/maps/ogm_config_utils.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/first_segment_clearance_checker.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/gpu/collision/collision_checker.cuh"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/forward_collision_check_params_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/imv_keb_optimizer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_multi_segment_parking_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "docs/ssep_stop_collision_extension.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_reverse_priority_parking_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/imv_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/stitching_replanner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/evaluator/trailer_collision_cost_computer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/forward_clearance_check_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/forward_collision_check_params.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/parking_collision_provenance_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/ssep_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/imv_parking_validation.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/forward_clearance_check.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/gpu_collision_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/tractor_trailer_keb_optimizer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_bulk_yark_in_out_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/coarse_search_stop_clearance_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/gpu_context.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/keb_normal_extension_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/legacy_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/gpu/device_types.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_accurate_reversing_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/scenario_planner_interface.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/evaluator/forward_collision_check_lengths.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/scenarios/forward_clearance_check.h",
            "ssep/test/forward_clearance_check_test.cc"
          ],
          "commitId" : "3b7ae0760720f85c98156ad358b477d458f92d9a",
          "timestamp" : 1793377853000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 允许换向校验路径无运动边端点方向未定\u000a\u000a多点路径的驶入首点和驶出末点不描述实际运动边，允许保留 kUndetermined，避免统一启用 stop 参数后误拒绝 IMV 搜索候选。实际运动边、单点停车、非法枚举和非有限几何仍严格校验。\u000a\u000a新增端点标签与倒车安全距离边界测试，629 项非交互 C++ 测试通过。使用新冻结程序重跑全部 377 例，保留补修前结果。\u000a",
          "date" : "2026-10-31 00:30:53 +0800",
          "id" : "3b7ae0760720f85c98156ad358b477d458f92d9a",
          "msg" : "fix: 允许换向校验路径无运动边端点方向未定",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/forward_clearance_check.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/forward_clearance_check_test.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/plan/lane_change_space_check.cpp",
            "Testing/routing_transition_test.cpp"
          ],
          "commitId" : "e727e3b3c278ea01b26b676aa9d10eb97693301c",
          "timestamp" : 1793464622000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 解除变道途经终点的完成位置硬限制\u000a\u000a允许候选变道完成点超过任务指定的变道途经终点，避免短窗口下执行检查持续拒绝并导致停车等待。保留起点、安全检查、有效候选及实际路由终点约束，不改变实时变道意图判断。\u000a\u000a补充 PARK_WAIT 恢复变道、当前候选复核和停车请求解除的回归，并验证路由终点不足时仍拒绝。统一格式化及 diff 检查通过，routing_transition_test 全部 122 项通过。\u000a\u000a(cherry picked from commit 6439b056085d3bcb01daebdc55c1e73ae3a124c6)\u000a",
          "date" : "2026-11-01 00:37:02 +0800",
          "id" : "e727e3b3c278ea01b26b676aa9d10eb97693301c",
          "msg" : "fix: 解除变道途经终点的完成位置硬限制",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/plan/lane_change_space_check.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/routing_transition_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/test/CMakeLists.txt",
            "ssep/keb_optimizer/rigid_truck_keb_optimizer.h",
            "ssep/test/local_regression/README.md",
            "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc",
            "ssep/test/local_regression/weiqiao_heading_20261101_manifest.tsv",
            "ssep/test/rigid_truck_parking_validation_test.cc",
            "ssep/offboard/scene_replay/CMakeLists.txt",
            "ssep/keb_optimizer/keb_problem.cc",
            "ssep/keb_optimizer/rigid_truck_continuous_model.h",
            "ssep/keb_optimizer/tractor_trailer_continuous_model.h",
            "ssep/keb_optimizer/cost_features/truck_kinematic_constraint.h",
            "ssep/scenarios/truck_accurate_reversing_planner.cc",
            "ssep/scenarios/truck_multi_segment_parking_planner.h",
            "ssep/test/truck_kinematic_constraint_test.cc",
            "ssep/scenarios/rigid_truck_parking_validation.h"
          ],
          "commitId" : "09a6bf4e031f3336348136d5bb51700fb48fff17",
          "timestamp" : 1793597824000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复刚体倒车路径几何航向与 KEB 姿态不一致\u000a\u000a统一刚体 KEB 代价与可行性验收的连续曲率积分，复用集卡车头传播模型，\u000a保留零曲率梯度，并隔离换向前后曲率及出发边 pinch 约束。\u000a\u000a停车优化为自由曲率设置机械硬边界，为几何软约束保留求解余量，\u000a固定实测起点仍按真实机械上限检查；补齐存储曲率验收并提高精细\u000a运动学权重，减少位置和航向软约束残差。\u000a\u000a补充数值积分、自动微分、换向和固定首曲率边界测试，登记魏桥\u000a7 个原始场景及 SHA256，记录几何角差从 1.12–1.60 度降至\u000a0.28–0.65 度的 CPU 回放结果。\u000a\u000a验证：目标 7 例、已有停车 21 例及普通刚体/堆场 2 例均通过；\u000a486 项单测通过，13 项缺数据跳过，1 项原有禁用。GPU 与实车闭环未覆盖。\u000a",
          "date" : "2026-11-02 13:37:04 +0800",
          "id" : "09a6bf4e031f3336348136d5bb51700fb48fff17",
          "msg" : "fix: 修复刚体倒车路径几何航向与 KEB 姿态不一致",
          "paths" : [
            {
              "editType" : "add",
              "file" : "ssep/test/truck_kinematic_constraint_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/cost_features/truck_kinematic_constraint.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/rigid_truck_parking_validation.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_multi_segment_parking_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/rigid_truck_parking_validation_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/README.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/tractor_trailer_continuous_model.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/CMakeLists.txt"
            },
            {
              "editType" : "add",
              "file" : "ssep/keb_optimizer/rigid_truck_continuous_model.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/weiqiao_heading_20261101_manifest.tsv"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/rigid_truck_keb_optimizer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_accurate_reversing_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/scene_replay/CMakeLists.txt"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/boundary/driving_corridor.cpp",
            "data/boundary/driving_corridor_test.cpp"
          ],
          "commitId" : "51bfad5b41f2686e9e62c6b67403fd4f303799a4",
          "timestamp" : 1793610553000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复切入保护误压走廊导致无路径停车\u000a\u000a校验断面车道边距，仅收回来源侧额外借道空间，保留道路生成约定的最小引导包络，同时不扩大原有窄通道。\u000a\u000a采样前检查搜索宽度、分辨率及索引上界；非法断面清除旧可行段和距离场，避免负数转无符号数造成分配异常。补充左右切入、恢复、窄通道和异常采样回归测试。\u000a\u000a验证：109 项相关单元测试通过；录制版本 43705c573 加本次生产补丁完成 30 个 CPU 横向快照回放案例，全部通过。第三段仍有路径截短，未验证完整纵向/FSM 及实车表现。\u000a",
          "date" : "2026-11-02 17:09:13 +0800",
          "id" : "51bfad5b41f2686e9e62c6b67403fd4f303799a4",
          "msg" : "fix: 修复切入保护误压走廊导致无路径停车",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/ssep/out_yard_junction_ec.hpp",
            "Testing/out_yard_bag_regression_test.cpp",
            "tasks/deciders/search_decider/search_decider_lifecycle.cpp",
            "Testing/continuous_junction_replan_test.cpp",
            "tasks/deciders/search_decider/out_yard_junction_search_decider.cpp",
            "data/app/fsm/motion_fsm/motion_move_fsm/motion_move_fsm.cpp",
            "tasks/deciders/search_decider/search_decider_lifecycle.hpp",
            "data/ssep/out_yard_junction_ec.cpp",
            "tasks/deciders/search_decider/seaside_junction_search_decider.cpp",
            "replayer/scene_data/generated/full_custom_cpp_member_inputs.json",
            "data/plan/start_point_data.hpp",
            "data/app/fsm/motion_fsm/motion_move_fsm/motion_move_fsm.hpp",
            "docs/ssep_search_lifecycle.md",
            "Testing/routing_map_guard_test.cpp",
            "data/plan/start_point_data.cpp",
            "Testing/search_decider_lifecycle_test.cpp",
            "tasks/deciders/search_decider/normal_junction_search_decider.cpp",
            "replayer/scene_data/generated/state_schema_inputs.json",
            "tasks/deciders/search_decider/into_yard_junction_search_decider.cpp",
            "tasks/deciders/search_decider/bridge_junction_search_decider.cpp"
          ],
          "commitId" : "35a883c55693a4f4381e9ba3d9db2c1d00c8d517",
          "timestamp" : 1793610749000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复路口搜索构建失败后的停车与恢复生命周期\u000a\u000a五类路口在环境构建失败时撤销等待搜索停止线，保留请求和重试上下文。\u000a补齐失败后的路口与 routing 失效核验，避免旧请求绕过停稳门禁。\u000a预构造按帧刷新出堆场连续搜索状态，防止区域漂移选错后继路口。\u000a撤销搜索等待后允许受约束的 FSM 行驶恢复，并保持有效拼接点速度和加速度连续。\u000a\u000a增加生命周期、双路口过滤、真实 FSM 和原 bag 连续回归。\u000a验证：500 项通过、134 项跳过，bag 43/43 帧通过；生成及 Proto 兼容检查通过。\u000a",
          "date" : "2026-11-02 17:12:29 +0800",
          "id" : "35a883c55693a4f4381e9ba3d9db2c1d00c8d517",
          "msg" : "fix: 修复路口搜索构建失败后的停车与恢复生命周期",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/ssep/out_yard_junction_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/out_yard_junction_ec.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/search_decider/search_decider_lifecycle.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/search_decider/into_yard_junction_search_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/start_point_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/search_decider/normal_junction_search_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "docs/ssep_search_lifecycle.md"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/search_decider/search_decider_lifecycle.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/state_schema_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/search_decider/seaside_junction_search_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/continuous_junction_replan_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/out_yard_bag_regression_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "Testing/search_decider_lifecycle_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/routing_map_guard_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/search_decider/bridge_junction_search_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/search_decider/out_yard_junction_search_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/app/fsm/motion_fsm/motion_move_fsm/motion_move_fsm.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/start_point_data.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/app/fsm/motion_fsm/motion_move_fsm/motion_move_fsm.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "plan/pilot/pilot_update.cpp",
            "data/obstacle/decision/obstacle_decision.hpp",
            "data/obstacle/decision/obstacle_decision_test.cpp",
            "docs/pnc_algorithm_replay/plan_frame_field_contract_notes.md",
            "data/obstacle/decision/obstacle_decision.cpp",
            "Testing/compact_driving_corridor_restore_test.cpp",
            "Testing/scene_replay_foundation_test.cpp"
          ],
          "commitId" : "0d51092de424d4a2224a3e301b606b96d593c9fb",
          "timestamp" : 1793668242000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 保留重发任务的绕行判断并校正切入几何证据\u000a\u000a取消和空闲期间保留连续静止目标的等待起点及标签确认进度，恢复任务后重新校验身份、运动和准入条件。使用真实车道边界、车辆轮廓与来源拓扑判定切入，覆盖曲线边界和方向确认。补充状态生命周期、几何及序列化回归测试。\u000a",
          "date" : "2026-11-03 09:10:42 +0800",
          "id" : "0d51092de424d4a2224a3e301b606b96d593c9fb",
          "msg" : "fix: 保留重发任务的绕行判断并校正切入几何证据",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/compact_driving_corridor_restore_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/scene_replay_foundation_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/pilot/pilot_update.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "docs/pnc_algorithm_replay/plan_frame_field_contract_notes.md"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/plan/side_pass_data.cpp",
            "replayer/replayer_data_process/replayer_data_process.cpp",
            "replayer/algorithm_replay/production_variant_runner.cpp",
            "replayer/algorithm_replay/production_variant_runner.hpp",
            "Testing/scene_replay_foundation_test.cpp",
            "replayer/replayer_data_process/replayer_computation_policy.hpp",
            "replayer/scene_data/generated/full_custom_cpp_member_inputs.json",
            "Testing/experiment_session_test.cpp",
            "data/plan/side_pass_data.hpp",
            "docs/pnc_algorithm_replay/dp_corridor_performance.md"
          ],
          "commitId" : "9b4538ca218b8796dfe5836cb25bec0ee1315f04",
          "timestamp" : 1793668255000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 连续回放按源时间维护绕行状态与历史有效期\u000a\u000a空闲帧继续维护真实观测并传递本次候选状态，不执行路径任务。绕行计时在单帧内冻结，仅随连续源时间推进；重复帧不累计，断档、倒退和任务取消清除失效动作。限制求解历史继承，避免录制结果与外部候选墙钟污染本次回放。补充连续历史、计时及空闲恢复测试和字段扫描产物。\u000a",
          "date" : "2026-11-03 09:10:55 +0800",
          "id" : "9b4538ca218b8796dfe5836cb25bec0ee1315f04",
          "msg" : "fix: 连续回放按源时间维护绕行状态与历史有效期",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/plan/side_pass_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/replayer_data_process/replayer_computation_policy.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/side_pass_data.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "Testing/scene_replay_foundation_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/algorithm_replay/production_variant_runner.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/experiment_session_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "docs/pnc_algorithm_replay/dp_corridor_performance.md"
            },
            {
              "editType" : "edit",
              "file" : "replayer/algorithm_replay/production_variant_runner.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/replayer_data_process/replayer_data_process.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "docs/pnc_algorithm_replay/usage.md",
            "replayer/scene_data/compact_replay_session.cpp",
            "Testing/compact_replay_session_test.cpp",
            "replayer/scene_data/compact_scene_archive_codec.cpp",
            "Testing/scene_replay_foundation_test.cpp"
          ],
          "commitId" : "eb0ae808400360c21407143543eef1482ada4df1",
          "timestamp" : 1793668267000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 支持逐帧归档以保留任务状态变化\u000a\u000a显式允许 chunk_frames=1，使取消与重发任务的每帧 Bootstrap 独立保存；默认分块与既有格式不变，仍拒绝其他非法块大小。补充随机读取、候选恢复和非法配置测试，说明旧 reader 兼容性及存储开销。归档测试 8 项通过，真实 bag 599 快照连续回放完成；截图及重发后路径几何通过，早期远端相交项仍未通过验收。\u000a",
          "date" : "2026-11-03 09:11:07 +0800",
          "id" : "eb0ae808400360c21407143543eef1482ada4df1",
          "msg" : "fix: 支持逐帧归档以保留任务状态变化",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "Testing/scene_replay_foundation_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_replay_session.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_scene_archive_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/compact_replay_session_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "docs/pnc_algorithm_replay/usage.md"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/keb_optimizer/control_space_path_adapter.cc",
            "ssep/keb_optimizer/control_space_path_adapter.h",
            "ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc",
            "ssep/test/tractor_trailer_kinematic_weight_test.cc",
            "ssep/keb_optimizer/tractor_trailer_keb_optimizer.h"
          ],
          "commitId" : "9c86ba303cb7982edf31448c905ed9130e8ac3be",
          "timestamp" : 1793677692000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 支持 KEB 严格几何一致性验收\u000a\u000a增加可配置的连续运动学位置残差阈值和绝对误差豁免，保持默认行为。\u000a严格场景支持无预热收尾优化，并向控制空间修正传递相同阈值。\u000a允许释放固定段时显式保留终点约束，补充侧移、非法参数及固定段回归。\u000a\u000a验证：65 项几何相关测试通过。\u000a",
          "date" : "2026-11-03 11:48:12 +0800",
          "id" : "9c86ba303cb7982edf31448c905ed9130e8ac3be",
          "msg" : "fix: 支持 KEB 严格几何一致性验收",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/tractor_trailer_keb_optimizer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/control_space_path_adapter.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/tractor_trailer_kinematic_weight_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/control_space_path_adapter.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/out_yard_bag_regression_test.cpp",
            "data/ssep/open_space_ec.cpp",
            "data/map/pnc_map/routing_extension/routing_data.cpp",
            "Testing/routing_transition_test.cpp"
          ],
          "commitId" : "0bdd9eb3d133ac600deb99ed6108b4fc79dfdcdd",
          "timestamp" : 1793677709000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 提前构造动态上码头搜索起点\u000a\u000a仅对存在有效同向邻居的码头连接提前至 70 m 进入及准备备用地图。\u000a上码头起点提前 42 m，并在路口和停止线选择后保留提前量及前视下限。\u000a强化 bag 回归基准、首次有效构造和最终起点断言，作用域恢复全局配置。\u000a\u000a验证：33 项路由测试及 2 项 bag 测试通过；196 帧重建成功，\u000a首次有效构造提前约 6.30 s，同帧起点提前 19.85 m。\u000a",
          "date" : "2026-11-03 11:48:29 +0800",
          "id" : "0bdd9eb3d133ac600deb99ed6108b4fc79dfdcdd",
          "msg" : "fix: 提前构造动态上码头搜索起点",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/map/pnc_map/routing_extension/routing_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/routing_transition_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/out_yard_bag_regression_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/open_space_ec.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/ssep/open_space_ec.cpp",
            "ssep/test/forward_precise_planner_test.cc",
            "data/ssep/open_space_ec.hpp",
            "data/ssep/ssep_ec.hpp",
            "replayer/scene_data/generated/full_custom_cpp_member_inputs.json",
            "ssep/scenarios/tractor_trailer_general_planner.h",
            "ssep/ssep_planner.cc",
            "Testing/ssep_scenario_config_lifecycle_test.cpp"
          ],
          "commitId" : "85176f4206daa062aed8ce6dbeb111fd91cd208b",
          "timestamp" : 1793677728000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 按场景配置验收上码头车身净距\u000a\u000a从场景 custom_params 读取 minimum_obstacle_clearance，贯穿起点守卫、\u000a粗搜索、优化及完整车身扫掠验收，禁止未经相同约束的历史路径复用。\u000a保留原起终点局部清障，框外仍检查净距，起点整车深陷继续拒绝。\u000a严格场景释放固定首尾段并保留终点约束，避免绕过几何验收。\u000a更新源成员审计摘要，未修改 Proto 字段合同。\u000a\u000a验证：61 项配置、清障及规划器测试通过；现场 CPU 场景回放成功。\u000a",
          "date" : "2026-11-03 11:48:48 +0800",
          "id" : "85176f4206daa062aed8ce6dbeb111fd91cd208b",
          "msg" : "fix: 按场景配置验收上码头车身净距",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/test/forward_precise_planner_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_ec.hpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/ssep_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_scenario_config_lifecycle_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/open_space_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/open_space_ec.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_general_planner.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/scenarios/tractor_trailer_parking_collision.h",
            "ssep/offboard/ssep_planner_wrapper.cc",
            "ssep/maps/ogm.h",
            "ssep/ssep_planner.h",
            "ssep/maps/ogm_builder.cc",
            "ssep/coarse_search/searcher_builders/tractor_trailer_multi_segment_parking_bidirectional_searcher_builder.cc",
            "ssep/maps/ogm_config_utils.cc",
            "ssep/maps/ogm_builder.h",
            "ssep/test/parking_collision_provenance_test.cc",
            "ssep/test/scene_replay_obstacle_inputs_test.cc",
            "ssep/ssep_planner.cc",
            "ssep/maps/ogm_config_utils.h",
            "ssep/offboard/main_test/main_ssep_input.cc",
            "data/ssep/ssep_activation.cpp",
            "docs/ssep_stop_collision_extension.md"
          ],
          "commitId" : "e9ff87baa59edeefdef653f3a67f93fd8d7e2220",
          "timestamp" : 1793694944000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 支持末端直线清障并限定首末段豁免\u000a\u000a新增 terminal_collision_ignore_distance，默认关闭并限制在末端拉直距离内。\u000a统一生产与 PB 回放建图参数，裁剪终点直线区域实体来源，保留区外障碍和道路约束。\u000a取消粗搜索按整个拉直长度无条件跳过碰撞的行为。\u000a\u000a复用公共运动分段规则：起点清障仅首段有效，终点清障仅末段有效，\u000a中间段和共享换向点恢复原始来源、派生线与膨胀占用并检查连续头挂扫掠。\u000a同步优化碰撞约束，并在抽稀分段后合并完整输出再次验收。\u000a\u000a验证：clang-format 21.1.8、diff 检查、分布式生产及回放编译通过；\u000a91 项分段回归及 97 项共享调用方测试通过。\u000a威海录制 CPU 回放默认配置碰撞拒绝，显式 3 米和 8 米各输出 84 点；未执行 GPU 验证。\u000a",
          "date" : "2026-11-03 16:35:44 +0800",
          "id" : "e9ff87baa59edeefdef653f3a67f93fd8d7e2220",
          "msg" : "feat: 支持末端直线清障并限定首末段豁免",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/maps/ogm_config_utils.h"
            },
            {
              "editType" : "edit",
              "file" : "docs/ssep_stop_collision_extension.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/main_test/main_ssep_input.cc"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_activation.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/ssep_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/maps/ogm_builder.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/ssep_planner_wrapper.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_parking_collision.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/parking_collision_provenance_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/maps/ogm_config_utils.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/ssep_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/maps/ogm.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/scene_replay_obstacle_inputs_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/tractor_trailer_multi_segment_parking_bidirectional_searcher_builder.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/maps/ogm_builder.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "replayer/scene_data/generated/full_custom_cpp_member_inputs.json",
            "data/ssep/open_space_ec.cpp",
            "data/ssep/ssep_util.hpp",
            "data/map/pnc_map/routing_extension/routing_data.cpp",
            "Testing/routing_transition_test.cpp",
            "data/ssep/ssep_util.cpp"
          ],
          "commitId" : "bc4b7564ad07e4879569912a6bc0e204e849fec5",
          "timestamp" : 1793706832000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 限定指定途经点的上码头提前策略\u000a\u000a仅对 UTM (308844.028240, 2181447.135336) 半径 1 米内的有效途经点启用提前。\u000a场景进入和备用地图准备保留多车道码头条件，搜索起点明确限定 UP_SEASIDE。\u000a其他途经点恢复原场景距离和起点选择，避免直角上码头等场景过早进入搜索。\u000a\u000a补充位置范围、距离边界、上下码头及起点对照回归，并刷新头文件生成校验指纹。\u000a验证：分布式编译、121 项回归测试和生成文件/Proto 兼容性检查通过。\u000a",
          "date" : "2026-11-03 19:53:52 +0800",
          "id" : "bc4b7564ad07e4879569912a6bc0e204e849fec5",
          "msg" : "fix: 限定指定途经点的上码头提前策略",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "Testing/routing_transition_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/open_space_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_util.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_util.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/map/pnc_map/routing_extension/routing_data.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/routing_transition_test.cpp",
            "data/ssep/open_space_ec.cpp"
          ],
          "commitId" : "c6c7a9156f303e695a8188cfa01a5687b90b4012",
          "timestamp" : 1793706841000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 保留直角上码头的路由终点搜索起点\u000a\u000a普通直角上码头成功投影当前路由段终点后，禁止后续场内停止线覆盖起点选择。\u000a指定途经点的特殊提前逻辑及其他场景的停止线规则保持原行为。\u000a\u000a新增真实参考线、路口和成对停止线回归，覆盖 YARD/STACKER 共 12 组选择条件。\u000a验证：分布式编译及全部 122 项回归测试通过；新 bag 与日志确认录制使用停止线起点。\u000a未执行该 bag 的完整闭环搜索回放。\u000a",
          "date" : "2026-11-03 19:54:01 +0800",
          "id" : "c6c7a9156f303e695a8188cfa01a5687b90b4012",
          "msg" : "fix: 保留直角上码头的路由终点搜索起点",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/ssep/open_space_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/routing_transition_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "replayer/scene_data/compact_proto_codec.cpp",
            "replayer/scene_data/remaining_plan_proto_codec.cpp",
            "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp",
            "proto/plan_data.proto",
            "replayer/scene_replay/scene_replay_service.cpp",
            "replayer/scene_data/generated/full_custom_cpp_member_inputs.json",
            "data/config/cfg_env_const.cpp",
            "replayer/scene_data/compact_scene_archive_codec.cpp",
            "Testing/lane_change_space_check_test.cpp",
            "Testing/routing_transition_test.cpp",
            "data/obstacle/cluster_lane_change_safety_test.cpp",
            "Testing/scene_replay_foundation_test.cpp",
            "data/plan/lane_change_preview.cpp",
            "replayer/scene_data/generated/plan_frame_encoder.cpp",
            "replayer/scene_data/full_proto_custom_encoder.cpp",
            "data/plan/lane_change_preview.hpp",
            "replayer/algorithm_replay/profile_collectors.cpp",
            "data/plan/switch_data.hpp",
            "replayer/scene_data/generated/compact_scene_descriptor.pb",
            "replayer/scene_data/generated/plan_frame_field_roles.json",
            "proto/config.proto",
            "replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml",
            "data/plan/lane_change_junction_wait.cpp",
            "data/plan/switch_data.cpp",
            "replayer/scene_data/config_proto_codec.cpp",
            "replayer/scene_data/compact_numeric_policy.yaml",
            "tasks/deciders/long_decider/constrain_decider.cpp",
            "Testing/lane_change_junction_geometry_test.cpp",
            "scenarios/stage.cpp",
            "replayer/scene_data/config_proto_codec.hpp",
            "replayer/scene_data/compact_numeric_leaf_contract.csv",
            "data/plan/lane_change_space_check.hpp",
            "replayer/scene_data/generated/state_schema_inputs.json",
            "replayer/scene_data/plan_frame_field_roles.csv",
            "data/map/reference/center_line.cpp",
            "data/plan/lane_change_space_check.cpp",
            "replayer/scene_data/generated/scene_replay_api_descriptor.pb",
            "replayer/scene_data/generated/plan_frame_descriptor.pb"
          ],
          "commitId" : "53a03fe0698e8ea7d0709fd967e5db0e4189c34e",
          "timestamp" : 1793762630000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 完善途经点变道提前执行与停车等待\u000a\u000a按等待距离预算扩展显式途经点变道的提前条件，检查普通路由提前候选的跨线边界；提前积累准备与安全确认，保留经验证的等待资格并校验候选回退后的授权。\u000a\u000a增加已加载路段的途经点预识别、减速和等待交接，保存目标车道及原始点对身份，处理连续缺图、任务变更和目标完成；忽略已确认无效的点对并记录原因。\u000a\u000a同步 Full/Compact 状态合同和生成产物，补齐 27 个等待相关配置与来源版本检查，保留旧 Compact 重编码的配置缺口，增加变道诊断字段与组件回归。\u000a\u000a验证：分布式编译 6 个目标成功；166 项组件测试通过；生成检查及 Proto 兼容性检查通过。\u000a\u000a已知问题按本次审查决定保留：多个点对下原目标暂缺图可能被其他有效预览解除等待；Legacy Boost 导入可能将缺失等待配置标记为完整。本次验证不代表障碍场景闭环变道通过。\u000a",
          "date" : "2026-11-04 11:23:50 +0800",
          "id" : "53a03fe0698e8ea7d0709fd967e5db0e4189c34e",
          "msg" : "feat: 完善途经点变道提前执行与停车等待",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "proto/config.proto"
            },
            {
              "editType" : "edit",
              "file" : "replayer/algorithm_replay/profile_collectors.cpp"
            },
            {
              "editType" : "add",
              "file" : "data/plan/lane_change_preview.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/lane_change_space_check.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_policy.yaml"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_field_roles.json"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/plan_frame_field_roles.csv"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_proto_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_scene_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_replay/scene_replay_service.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/stage.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/long_decider/constrain_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/switch_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/scene_replay_foundation_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_encoder.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/lane_change_junction_geometry_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/state_schema_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/cluster_lane_change_safety_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/config_proto_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/config_proto_codec.hpp"
            },
            {
              "editType" : "add",
              "file" : "data/plan/lane_change_preview.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/remaining_plan_proto_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/lane_change_junction_wait.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_scene_archive_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/scene_replay_api_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/switch_data.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_leaf_contract.csv"
            },
            {
              "editType" : "edit",
              "file" : "Testing/lane_change_space_check_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/map/reference/center_line.cpp"
            },
            {
              "editType" : "edit",
              "file" : "proto/plan_data.proto"
            },
            {
              "editType" : "edit",
              "file" : "Testing/routing_transition_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/lane_change_space_check.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/full_proto_custom_encoder.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_descriptor.pb"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/routing_transition_test.cpp",
            "data/map/pnc_map/routing_extension/routing_data.cpp"
          ],
          "commitId" : "4ef682261f5cfef3202714bdbb52fd089f55585b",
          "timestamp" : 1793958562000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 按实际车道航向判断上码头连接形状\u000a\u000a前后车道已知且目标为码头车道时，比较连接处实际航向，避免港口岸线配置将同向或反向平行连接误判为直角上码头。保留纵向道路分类和配置兜底。\u000a\u000a新增旋转、正反向、30 度和 150 度邻近边界及潍坊错误岸线配置回归。分布式编译完成，当前工作区 129 项路由相关测试通过；未执行完整搜索回放。\u000a",
          "date" : "2026-11-06 17:49:22 +0800",
          "id" : "4ef682261f5cfef3202714bdbb52fd089f55585b",
          "msg" : "fix: 按实际车道航向判断上码头连接形状",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "Testing/routing_transition_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/map/pnc_map/routing_extension/routing_data.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/routing_transition_test.cpp",
            "data/config/cfg_func_sw.cpp"
          ],
          "commitId" : "7b4342f85e049949a16d79a38c6fbeebc5b35322",
          "timestamp" : 1793958575000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 按潍坊 4552 车道校正默认岸线航向\u000a\u000a将潍坊默认岸线航向由 2.346 rad 调整为地图 4552_0_3 轴线的 3.9150972784460487 rad，供缺少前车道等分支使用；保留显式 ROS 参数覆盖。\u000a\u000a补充缺前车道时的同向、反向、跨 2π 和垂直方向测试，覆盖横向道路与码头道路。clang-format 21 格式化及分布式编译通过，129 项路由相关测试全部通过。\u000a",
          "date" : "2026-11-06 17:49:35 +0800",
          "id" : "7b4342f85e049949a16d79a38c6fbeebc5b35322",
          "msg" : "fix: 按潍坊 4552 车道校正默认岸线航向",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "Testing/routing_transition_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/data_structures/path_validation.h",
            "ssep/test/forward_clearance_check_test.cc",
            "ssep/scenarios/truck_bulk_yark_in_out_planner.cc",
            "ssep/coarse_search/multi_stage_hybrid_astar_search_engine.cc",
            "ssep/test/imv_enter_station_candidate_test.cc",
            "ssep/scenarios/truck_bulk_yark_in_out_planner.h",
            "ssep/scenarios/imv_enter_station_candidate.h",
            "ssep/coarse_search/multi_stage_hybrid_astar_search_engine.h",
            "ssep/ssep_planner.cc",
            "ssep/scenarios/forward_clearance_check.h",
            "ssep/scenarios/first_segment_clearance_checker.h",
            "ssep/test/truck_bulk_exit_fallback_test.cc"
          ],
          "commitId" : "92b48add30ec766584605be2418097cf6d503a9a",
          "timestamp" : 1793983424000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 优化堆场出库搜索并补齐候选路径验收\u000a\u000a对带固定前进头段的双向兜底搜索降低保守圆盘软罚权重，使用真实车身连续碰撞检查约束可行性，避免短距离调整被长距离绕行挤掉。\u000a\u000a按新增运动基元检查首段清障与换向接缝，空占用区域快速跳过；最后一个搜索器的候选经过优化和完整验收后才返回，失败继续原队列。统一规划时限，补齐优化后的障碍、约束图与分段自相交验收，并完善自交诊断。\u000a\u000a验证：相关 113 项测试通过；魏桥原始场景及另一出库场景通过；现有同类型回归集 1 例基础验收通过；青岛 372 原始输入 21 例 CPU 回放中 16 例基础验收通过，5 例达到搜索节点上限，未完成修改前后对照，不宣称全量无回归。\u000a",
          "date" : "2026-11-07 00:43:44 +0800",
          "id" : "92b48add30ec766584605be2418097cf6d503a9a",
          "msg" : "fix: 优化堆场出库搜索并补齐候选路径验收",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_bulk_yark_in_out_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_bulk_yark_in_out_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/forward_clearance_check_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/truck_bulk_exit_fallback_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/multi_stage_hybrid_astar_search_engine.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/imv_enter_station_candidate_test.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/data_structures/path_validation.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/imv_enter_station_candidate.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/forward_clearance_check.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/ssep_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/multi_stage_hybrid_astar_search_engine.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/first_segment_clearance_checker.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "replayer/scene_data/generated/compact_scene_descriptor.pb",
            "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp",
            "replayer/scene_data/full_custom_codec_exclusions.yaml",
            "replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml",
            "proto/config.proto",
            "Testing/disable_stop_regression_test.cpp",
            "replayer/scene_data/config_proto_codec.cpp",
            "replayer/scene_data/generated/full_custom_cpp_member_inputs.json",
            "replayer/scene_data/compact_numeric_policy.yaml",
            "data/config/cfg_func_sw.hpp",
            "data/config/cfg_func_sw.cpp",
            "data/constrain/disable_stop_range.cpp",
            "replayer/scene_data/generated/config_schema_inputs.json",
            "Testing/scene_replay_foundation_test.cpp",
            "replayer/scene_data/generated/plan_frame_encoder.cpp",
            "replayer/scene_data/generated/scene_replay_api_descriptor.pb",
            "replayer/scene_data/generated/plan_frame_descriptor.pb"
          ],
          "commitId" : "b53a46f85c8dfac191f4007dd24181b3fe3e4034",
          "timestamp" : 1794073087000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 增加直行出堆场弯道禁停独立开关\u000a\u000a新增 use_func_straight_out_yard_park，默认启用；按路口通行方向单独过滤直行出堆场禁停，保留原出堆场总开关及转弯、穿场行为。\u000a\u000a补齐 Full 和 Compact ReplayInput 的反向布尔编码，旧快照缺字段默认启用；新增行为与回放兼容测试。\u000a",
          "date" : "2026-11-08 01:38:07 +0800",
          "id" : "b53a46f85c8dfac191f4007dd24181b3fe3e4034",
          "msg" : "feat: 增加直行出堆场弯道禁停独立开关",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_scene_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/full_custom_codec_exclusions.yaml"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/scene_replay_api_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/config_schema_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_encoder.cpp"
            },
            {
              "editType" : "edit",
              "file" : "proto/config.proto"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.hpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/disable_stop_regression_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_policy.yaml"
            },
            {
              "editType" : "edit",
              "file" : "Testing/scene_replay_foundation_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/constrain/disable_stop_range.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/config_proto_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/routing_transition_test.cpp",
            "data/map/pnc_map/routing_extension/routing_data.cpp",
            "Testing/hmi_collision_render_test.cpp"
          ],
          "commitId" : "ae2163483da602ea6cd0ee66626ed3fcab28fd67",
          "timestamp" : 1794074671000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 拒绝包含非连续车道链的任务路由\u000a\u000a在路由扩展前校验所有 passage 的地图车道和 successor 关系，\u000a避免将上游错误的跨车道连接直接拼为中心线。多路径接收失败时\u000a清空部分结果，由现有路径解析失败流程拒绝新任务并保留原任务。\u000a\u000a补充异常路由、合法换道和接收失败生命周期测试，以及 IGV03\u000a原始任务字段专项验证。旧分支不支持整帧 encoding v10，专项仅\u000a通过已核对兼容的 context 和 exact_numeric 解码恢复任务路由。\u000a\u000a验证：130 项路由回归通过；现场 115 帧正常任务接收、329 帧异常\u000a任务拒绝，15 帧无任务单列。clang-format 21.1.8 及 diff 检查通过。\u000a",
          "date" : "2026-11-08 02:04:31 +0800",
          "id" : "ae2163483da602ea6cd0ee66626ed3fcab28fd67",
          "msg" : "fix: 拒绝包含非连续车道链的任务路由",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/map/pnc_map/routing_extension/routing_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/routing_transition_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/hmi_collision_render_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/plan/ssep_data.cpp",
            "replayer/scene_data/compact_proto_codec.cpp",
            "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp",
            "proto/plan_data.proto",
            "data/plan/ssep_data.hpp",
            "replayer/scene_data/generated/full_custom_cpp_member_inputs.json",
            "data/other/head_straight_progress.hpp",
            "replayer/scene_data/compact_custom_field_proto_codec.cpp",
            "data/other/head_straight_progress.cpp",
            "Testing/scene_replay_foundation_test.cpp",
            "replayer/scene_data/full_proto_custom_encoder.cpp",
            "replayer/scene_data/generated/plan_frame_encoder.cpp",
            "data/plan/ssep_task_context.cpp",
            "data/ssep/ssep_ec.cpp",
            "replayer/scene_data/generated/compact_scene_descriptor.pb",
            "replayer/scene_data/generated/plan_frame_field_roles.json",
            "proto/pnc_scene/compact_replay_input.proto",
            "data/plan/ssep_task_context.hpp",
            "replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml",
            "replayer/scene_data/compact_numeric_policy.yaml",
            "docs/ssep_search_lifecycle.md",
            "Testing/routing_map_guard_test.cpp",
            "plan/prepare/prepare_state.cpp",
            "Testing/parking_pass_progress_test.cpp",
            "replayer/scene_data/compact_numeric_leaf_contract.csv",
            "replayer/scene_data/plan_frame_full_mapping.yaml",
            "replayer/scene_data/plan_frame_field_roles.csv",
            "replayer/scene_data/generated/scene_replay_api_descriptor.pb",
            "Testing/ssep_scenario_config_lifecycle_test.cpp",
            "data/other/task_progress.hpp",
            "replayer/scene_data/generated/plan_frame_descriptor.pb"
          ],
          "commitId" : "18f980d13dac11b925a60f7d862e59c6d26d5f05",
          "timestamp" : 1794151419000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 统一搜索任务进度并保留跨场景初始直行状态\u000a\u000a抽取公共任务签名和进度失效清理，供初始直行与脱挂车出库倒车复用。\u000a将初始直行锚点和完成状态独立保存在 SsepData，依据实际车辆位置更新，避免场景切换后重搜再次要求直行 2.5 米。\u000a补齐旧请求迁移、Full/Compact 编解码和生命周期回归测试。\u000a\u000a验证：pnc_node 构建及 Proto 合同检查通过；1066 项测试通过，14 项可选数据测试跳过。尚未执行原始 bag 连续回放。\u000a",
          "date" : "2026-11-08 23:23:39 +0800",
          "id" : "18f980d13dac11b925a60f7d862e59c6d26d5f05",
          "msg" : "fix: 统一搜索任务进度并保留跨场景初始直行状态",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "Testing/parking_pass_progress_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_policy.yaml"
            },
            {
              "editType" : "edit",
              "file" : "Testing/scene_replay_foundation_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/ssep_data.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_scene_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_scenario_config_lifecycle_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_custom_field_proto_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/plan_frame_field_roles.csv"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/full_proto_custom_encoder.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_encoder.cpp"
            },
            {
              "editType" : "edit",
              "file" : "docs/ssep_search_lifecycle.md"
            },
            {
              "editType" : "edit",
              "file" : "Testing/routing_map_guard_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/plan_frame_full_mapping.yaml"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_field_roles.json"
            },
            {
              "editType" : "edit",
              "file" : "proto/pnc_scene/compact_replay_input.proto"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_state.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/ssep_task_context.cpp"
            },
            {
              "editType" : "add",
              "file" : "data/other/head_straight_progress.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/scene_replay_api_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/ssep_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/ssep_task_context.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_proto_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_ec.cpp"
            },
            {
              "editType" : "add",
              "file" : "data/other/head_straight_progress.cpp"
            },
            {
              "editType" : "add",
              "file" : "data/other/task_progress.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_leaf_contract.csv"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "proto/plan_data.proto"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/scenarios/truck_accurate_reversing_planner.cc"
          ],
          "commitId" : "09e90baa4f94b732f1dabfba5e5535f9b36e5217",
          "timestamp" : 1794152936000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 避免精准倒车候选优化被搜索子阶段时限截断\u000a\u000a节点展开继续使用子阶段截止时间，已生成候选的净空检查、优化和延伸\u000a改用本次调整请求的剩余总预算，避免仍有时间的有效候选被提前丢弃。\u000a保留总时限、外层细网格重试预留以及碰撞和运动学硬约束。\u000a\u000a验证：相关单元测试 30/30、已有刚性停车回归 21/21 通过。\u000a现场 10 例在显式 1.5 米拉直实验下全部通过独立验收，最后两例复测通过；\u000a保留 2 米、仅修预算的代表对照为 2/3 通过。未修改默认拉直距离或任务点。\u000a",
          "date" : "2026-11-08 23:48:56 +0800",
          "id" : "09e90baa4f94b732f1dabfba5e5535f9b36e5217",
          "msg" : "fix: 避免精准倒车候选优化被搜索子阶段时限截断",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_accurate_reversing_planner.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/ssep/forward_ec.cpp",
            "Testing/parking_pass_progress_test.cpp"
          ],
          "commitId" : "60c1d9379949c885c603ce98f0325c0acc240701",
          "timestamp" : 1794203208000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 保留牵引车重规划时未完成的任务途经点\u000a\u000a牵引车多段泊车拉直重规划复用任务途经点构造，避免以终点延伸的合成点覆盖尚未完成的任务点。保留任务点完成后及未配置任务点时的显式拉直行为。\u000a\u000a增加威海现场坐标回归，覆盖重复重规划和任务点生命周期。分布式编译通过，相关 224 项测试全部通过；尚未验证完整泊车搜索。\u000a",
          "date" : "2026-11-09 13:46:48 +0800",
          "id" : "60c1d9379949c885c603ce98f0325c0acc240701",
          "msg" : "fix: 保留牵引车重规划时未完成的任务途经点",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "Testing/parking_pass_progress_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "replayer/scene_data/generated/compact_scene_descriptor.pb",
            "replayer/scene_data/generated/plan_frame_field_roles.json",
            "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp",
            "proto/config.proto",
            "replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml",
            "replayer/scene_data/generated/full_custom_cpp_member_inputs.json",
            "replayer/scene_data/config_proto_codec.cpp",
            "replayer/scene_data/compact_numeric_policy.yaml",
            "data/dp_poly_path/dp_road_graph.cpp",
            "data/plan/start_point_data.cpp",
            "data/plan/predict_path.cpp",
            "data/config/cfg_dynamic.hpp",
            "replayer/scene_data/compact_numeric_leaf_contract.csv",
            "data/config/cfg_dynamic.cpp",
            "Testing/scene_replay_foundation_test.cpp",
            "replayer/scene_data/generated/plan_frame_encoder.cpp",
            "replayer/scene_data/plan_frame_field_roles.csv",
            "algorithm/decision/semantic_set_transformation_2.cpp",
            "replayer/scene_data/generated/scene_replay_api_descriptor.pb",
            "data/plan_frame.cpp",
            "replayer/scene_data/generated/plan_frame_descriptor.pb"
          ],
          "commitId" : "8623bcf5e4ec5086aafd1b04cac7432238486fdb",
          "timestamp" : 1794279951000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/liuhongshuo",
            "fullName" : "liuhongshuo"
          },
          "authorEmail" : "liuhongshuo",
          "comment" : "feat: 解耦与底盘约定的最大角度值和keb规定的最大角度值\u000a",
          "date" : "2026-11-10 11:05:51 +0800",
          "id" : "8623bcf5e4ec5086aafd1b04cac7432238486fdb",
          "msg" : "feat: 解耦与底盘约定的最大角度值和keb规定的最大角度值",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "Testing/scene_replay_foundation_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_encoder.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/start_point_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_scene_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/scene_replay_api_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_leaf_contract.csv"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan_frame.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_dynamic.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/plan_frame_field_roles.csv"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_field_roles.json"
            },
            {
              "editType" : "edit",
              "file" : "proto/config.proto"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_dynamic.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_policy.yaml"
            },
            {
              "editType" : "edit",
              "file" : "algorithm/decision/semantic_set_transformation_2.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/predict_path.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/dp_road_graph.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/config_proto_codec.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/disable_stop_regression_test.cpp",
            "data/constrain/disable_stop_range.cpp"
          ],
          "commitId" : "62885152c75772075c26f3f7e9f4e2c21b3670ae",
          "timestamp" : 1794282867000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 复用直行出堆场开关控制入堆场弯道禁停\u000a\u000a直行入堆场与出堆场共用 use_func_straight_out_yard_park 参数，保留各自总开关及转弯、穿堆场策略。\u000a\u000a扩展回归覆盖入场、出场、穿场、转弯及开关恢复；修改已在 feat_daxie_proto 完成分布式编译，17 项禁停相关测试通过。\u000a",
          "date" : "2026-11-10 11:54:27 +0800",
          "id" : "62885152c75772075c26f3f7e9f4e2c21b3670ae",
          "msg" : "fix: 复用直行出堆场开关控制入堆场弯道禁停",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/constrain/disable_stop_range.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/disable_stop_regression_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/map/pnc_map/routing_extension/routing_data.cpp",
            "tasks/deciders/long_decider/constrain_decider.cpp",
            "Testing/routing_transition_test.cpp",
            "Testing/bulk_speed_limit_test.cpp"
          ],
          "commitId" : "f86e45c7294f184fa67775f6d80a65bc9771dc45",
          "timestamp" : 1794282867000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 补齐普通路由非末段终点停车防护\u000a\u000a普通 routing 在非 bulk in 场景使用当前段终点距离创建停止线，避免同向\u000a分段路由索引未切换时丢失终点停车约束；保留 bulk in、SSEP 和混合\u000a路径的末段判断，并过滤无效终点距离。越过终点后继续保留停车约束。\u000a\u000a接收任务时对换向途经点连接同向路由记录错误日志，不改变任务、\u000a操作方向或停车策略。补充录制负距离、连续重规划、真实换向、\u000abulk in 切换及无效数据回归，并修正双向 IMV 测试的车型子类型配置。\u000a",
          "date" : "2026-11-10 11:54:27 +0800",
          "id" : "f86e45c7294f184fa67775f6d80a65bc9771dc45",
          "msg" : "fix: 补齐普通路由非末段终点停车防护",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/map/pnc_map/routing_extension/routing_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/long_decider/constrain_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/routing_transition_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/bulk_speed_limit_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/compact_driving_corridor_restore_test.cpp",
            "data/obstacle/cluster_lane_change_safety_test.cpp",
            "data/obstacle/cluster_motion_tracker.cpp"
          ],
          "commitId" : "3f75b855094641c5d375307be7180a5ab3050ef7",
          "timestamp" : 1794282867000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复 cluster 速度滤波残值误触发变道临停\u000a\u000a动静确认改用当前有效刚体位移测量的速度累计证据，避免单次位移的\u000a滤波残值在后续零位移测量中重复计为运动证据。预测与关联继续使用\u000a滤波速度，并保留原有动静确认阈值及静止迟滞。\u000a\u000a补充单次跳动后静止、持续运动目标仍触发碰撞风险的回归测试，\u000a为连续 bag 回放增加 cluster 风险、轮廓和独立停车 Range 诊断。\u000a\u000a验证：相关 100 项测试通过；津西 bag 使用指纹一致的 1.0.15 地图，\u000a460 帧 CPU 子链连续回放中，修复前重现录制的 12 帧临停，修复后为 0。\u000a验证覆盖跟踪、风险评估和 Range 创建，不包含完整车辆闭环。\u000a",
          "date" : "2026-11-10 11:54:27 +0800",
          "id" : "3f75b855094641c5d375307be7180a5ab3050ef7",
          "msg" : "fix: 修复 cluster 速度滤波残值误触发变道临停",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "Testing/compact_driving_corridor_restore_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/cluster_lane_change_safety_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/cluster_motion_tracker.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/test/ssep_planner_test.cc",
            "ssep/test/forward_clearance_check_test.cc",
            "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h",
            "ssep/scenarios/forward_clearance_check.h"
          ],
          "commitId" : "4bad66115966ad2e0f52c11bb72fb96e162c05c6",
          "timestamp" : 1794282867000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 减少拖挂多段搜索的重复碰撞验收耗时\u000a\u000a为单次静态地图搜索构建碰撞线段空间索引，并按完整边几何缓存\u000anormal 扩展检查结果；缓存有容量上限，超时不缓存，stop 仍独立验收。\u000a\u000a窄换向偏好阶段没有有效候选且再次命中同一精确碰撞边时，提前转入\u000a已有任务区域兜底，保留总请求时限、最终碰撞检查和换向区域上限。\u000a增加索引等价性、缓存生命周期、超时及阶段切换测试。\u000a\u000a验证：105 项相关单测通过，1 项原有禁用；Orin 两个现场场景共 6 次\u000a实际 GPU 回放成功，独立碰撞检查为零。拖挂回归执行 37 条真实 GPU\u000a测试，9 条原规则失败在修复前同样失败；另有途经点走向不符合业务\u000a要求但被旧规则判过的案例，两版 273 个路径状态完全一致，仍待修复。\u000a",
          "date" : "2026-11-10 11:54:27 +0800",
          "id" : "4bad66115966ad2e0f52c11bb72fb96e162c05c6",
          "msg" : "fix: 减少拖挂多段搜索的重复碰撞验收耗时",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/test/forward_clearance_check_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/forward_clearance_check.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/ssep_planner_test.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/plan/ssep_data.cpp",
            "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp",
            "proto/plan_data.proto",
            "data/plan/ssep_data.hpp",
            "data/ssep/parking_task_params.hpp",
            "replayer/scene_data/generated/full_custom_cpp_member_inputs.json",
            "tasks/plan/ssep_task.cpp",
            "data/ssep/ssep_scenario_config_loader.cpp",
            "data/other/parking_pass_progress.cpp",
            "replayer/scene_data/compact_custom_field_proto_codec.cpp",
            "Testing/scene_replay_foundation_test.cpp",
            "replayer/scene_data/generated/plan_frame_encoder.cpp",
            "replayer/scene_data/full_proto_custom_encoder.cpp",
            "data/ssep/ssep_ec.cpp",
            "replayer/scene_data/generated/compact_scene_descriptor.pb",
            "replayer/scene_data/generated/plan_frame_field_roles.json",
            "replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml",
            "replayer/scene_data/compact_numeric_policy.yaml",
            "plan/prepare/prepare_state.cpp",
            "replayer/scene_data/compact_numeric_leaf_contract.csv",
            "replayer/scene_data/plan_frame_full_mapping.yaml",
            "replayer/scene_data/plan_frame_field_roles.csv",
            "replayer/scene_data/generated/scene_replay_api_descriptor.pb",
            "replayer/scene_data/generated/plan_frame_descriptor.pb",
            "Testing/ssep_scenario_config_lifecycle_test.cpp"
          ],
          "commitId" : "9c065453895757fcf39346e2aa6265d24a24ccd1",
          "timestamp" : 1794283124000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 同一停车任务沿用起点规则选定的曲率参数\u000a\u000a通过 task_persistent_params 显式选择完整的三项停车曲率参数，\u000a在实际提交搜索后绑定，同任务跨位置、途经点完成和倒车重搜保留。\u000a任务身份或终点变化、取消、结束时清除，仅向停车规划器恢复参数。\u000a\u000a补齐跨帧继承、Full/Compact/Candidate 类型化状态与缺字段兼容，\u000a增加配置校验、生命周期及实际任务身份回放测试。\u000a\u000a验证：146 项场景配置测试、46 项状态与配置回放测试通过；\u000a生成文件、字段覆盖及 Proto breaking 检查通过。\u000a",
          "date" : "2026-11-10 11:58:44 +0800",
          "id" : "9c065453895757fcf39346e2aa6265d24a24ccd1",
          "msg" : "feat: 同一停车任务沿用起点规则选定的曲率参数",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_leaf_contract.csv"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_scenario_config_lifecycle_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_scene_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/ssep_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/other/parking_pass_progress.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/scene_replay_api_descriptor.pb"
            },
            {
              "editType" : "add",
              "file" : "data/ssep/parking_task_params.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_field_roles.json"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_scenario_config_loader.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_encoder.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/full_proto_custom_encoder.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/plan_frame_field_roles.csv"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/ssep_data.hpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/scene_replay_foundation_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_custom_field_proto_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/plan_frame_full_mapping.yaml"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_state.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_policy.yaml"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/ssep_task.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml"
            },
            {
              "editType" : "edit",
              "file" : "proto/plan_data.proto"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/ssep_path_corridor_test.cpp",
            "data/ssep/ssep_ec.cpp"
          ],
          "commitId" : "41636368c43329dddd33897cdeeb1da138d9a5f9",
          "timestamp" : 1794283124000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 保留 IMV 禁止翻头时的起始操作头身份\u000a\u000aIMVGeneral 禁止起点翻头时保留当前操作模式，避免首次同点搜索丢失换向信息。补充首次搜索、换向和停稳重搜的输入及场景导出回归用例，并更新起点偏移任务退出后的预期。\u000a",
          "date" : "2026-11-10 11:58:44 +0800",
          "id" : "41636368c43329dddd33897cdeeb1da138d9a5f9",
          "msg" : "fix: 保留 IMV 禁止翻头时的起始操作头身份",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_path_corridor_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "hmi/widget/diagnose.cpp",
            "scenarios/scenario.cpp",
            "scenarios/stage.cpp"
          ],
          "commitId" : "5c25d678b02ef79a686dade0330785c3a26bbda4",
          "timestamp" : 1794295830000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 诊断窗口显示实际执行的横向规划器\u000a\u000a按任务实际执行情况记录规划器，逐帧清除历史记录；SSEP 原始路径直出时显示无横向规划器。\u000a",
          "date" : "2026-11-10 15:30:30 +0800",
          "id" : "5c25d678b02ef79a686dade0330785c3a26bbda4",
          "msg" : "fix: 诊断窗口显示实际执行的横向规划器",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "scenarios/scenario.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/stage.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/diagnose.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp",
            "replayer/scene_data/generated/full_custom_cpp_member_inputs.json",
            "scenarios/task_condition_evaluator.hpp",
            "data/ssep/ssep_scenario_config_loader.cpp",
            "scenarios/bulkload_scenario/bulkload_ssep_forward_stage.cpp",
            "scenarios/task_condition_evaluator.cpp",
            "Testing/cfg_scenarios_proto_codec_test.cpp",
            "ssep/scenarios/imv_general_planner.h",
            "data/ssep/offline_obstacles_loader.cpp",
            "docs/pnc_algorithm_replay/plan_frame_field_contract_notes.md",
            "data/other/head_straight_progress.cpp",
            "Testing/scene_replay_foundation_test.cpp",
            "replayer/scene_data/generated/plan_frame_encoder.cpp",
            "ssep/test/head_straight_distance_test.cc",
            "data/ssep/ssep_ec.cpp",
            "tasks/other_tasks/stitch_path_data_to_path.cpp",
            "Testing/ssep_path_corridor_test.cpp",
            "replayer/scene_data/generated/compact_scene_descriptor.pb",
            "Testing/reverse_pickup_stage_selector_test.cpp",
            "replayer/scene_data/generated/plan_frame_field_roles.json",
            "replayer/scene_data/cfg_scenarios_proto_codec.cpp",
            "proto/config.proto",
            "data/ssep/location_condition.hpp",
            "ssep/scenarios/scenario_planner_factory.h",
            "data/config/cfg_stage.cpp",
            "replayer/scene_data/compact_numeric_policy.yaml",
            "data/ssep/location_condition.cpp",
            "tools/pnc_proto_mapper/test_exact_numeric_codegen.py",
            "data/ssep/offline_obstacles_loader.hpp",
            "data/config/cfg_stage.hpp",
            "Testing/parking_pass_progress_test.cpp",
            "replayer/scene_data/compact_numeric_leaf_contract.csv",
            "replayer/scene_data/plan_frame_field_roles.csv",
            "replayer/scene_data/generated/scene_replay_api_descriptor.pb",
            "replayer/scene_data/generated/plan_frame_descriptor.pb",
            "tools/pnc_proto_mapper/generate_exact_numeric_codec.py"
          ],
          "commitId" : "c466a901055983a21871cb475392d8a6ef514795",
          "timestamp" : 1794295845000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 支持场景组合条件与 IMV 出库固定直行\u000a\u000a兼容原有 OR 条件列表，增加 all/any、库区位置及 SSEP 首末中段条件，同步 Full/Compact 配置合同。\u000a\u000a支持指定分段直接使用 SSEP 路径及 BulkOut 末段选择 KEB；IMV 沿物理车头直行并在重搜时保留剩余距离，两段式搜索不重复施加首段约束。\u000a\u000a验证：foundation 541 项、routing 138 项、corridor 237 项通过；SSEP 相关 29 项通过，foundation 13 项可选测试跳过。\u000a",
          "date" : "2026-11-10 15:30:45 +0800",
          "id" : "c466a901055983a21871cb475392d8a6ef514795",
          "msg" : "feat: 支持场景组合条件与 IMV 出库固定直行",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_field_roles.json"
            },
            {
              "editType" : "edit",
              "file" : "tools/pnc_proto_mapper/test_exact_numeric_codegen.py"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/head_straight_distance_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "data/other/head_straight_progress.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/cfg_scenarios_proto_codec_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/scenario_planner_factory.h"
            },
            {
              "editType" : "edit",
              "file" : "tools/pnc_proto_mapper/generate_exact_numeric_codec.py"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/cfg_scenarios_proto_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_scenario_config_loader.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/scene_replay_api_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_encoder.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_stage.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_leaf_contract.csv"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_scene_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/plan_frame_field_roles.csv"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/imv_general_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/task_condition_evaluator.hpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/reverse_pickup_stage_selector_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            },
            {
              "editType" : "add",
              "file" : "data/ssep/location_condition.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_path_corridor_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "docs/pnc_algorithm_replay/plan_frame_field_contract_notes.md"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_policy.yaml"
            },
            {
              "editType" : "edit",
              "file" : "proto/config.proto"
            },
            {
              "editType" : "add",
              "file" : "data/ssep/location_condition.hpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/bulkload_scenario/bulkload_ssep_forward_stage.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/other_tasks/stitch_path_data_to_path.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/task_condition_evaluator.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/parking_pass_progress_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_stage.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/offline_obstacles_loader.hpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/scene_replay_foundation_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/offline_obstacles_loader.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/boundary/road_boundary.cpp"
          ],
          "commitId" : "dccb10f976ff8a4e11c758ec1d710d0cf8d99b3a",
          "timestamp" : 1794300031000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix(map): 修正禁偏移区域从车道坐标到引导线坐标的转换\u000a",
          "date" : "2026-11-10 16:40:31 +0800",
          "id" : "dccb10f976ff8a4e11c758ec1d710d0cf8d99b3a",
          "msg" : "fix(map): 修正禁偏移区域从车道坐标到引导线坐标的转换",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/boundary/road_boundary.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/obstacle/decision/obstacle_decision.cpp",
            "data/obstacle/obstacle.cpp"
          ],
          "commitId" : "8e72ae7d875c12311da5e7732d260d8c24bf91ee",
          "timestamp" : 1794301306000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat(sidepass): 允许绕行合格静止机动车旁的居中两轮车\u000a\u000a- 按静止状态、跟踪成熟度、邻接距离及预测运动判断绕行资格\u000a- 先确定机动车策略，避免两轮车准入依赖障碍物遍历顺序\u000a- 保留横穿解除迟滞及条件失效后的绕行承诺撤销\u000a- 保留静止两轮车预测，支持运动风险检查\u000a",
          "date" : "2026-11-10 17:01:46 +0800",
          "id" : "8e72ae7d875c12311da5e7732d260d8c24bf91ee",
          "msg" : "feat(sidepass): 允许绕行合格静止机动车旁的居中两轮车",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/obstacle.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/boundary/road_boundary.cpp"
          ],
          "commitId" : "6c0824c216a0f1640de2398a81eb76966667099b",
          "timestamp" : 1794301306000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix(map): 过滤路口出入口连续共线边，避免道路边界异常收窄\u000a\u000a路径穿过多边形边时，同时过滤两侧连续共线邻边，\u000a避免入口被多个顶点拆段后残留边参与道路边界求交。\u000a\u000a复用现有平行及共线判断，支持闭合首尾并跳过零长度边；\u000a遇到转角停止扩展，不改变合并包络生成逻辑。\u000a",
          "date" : "2026-11-10 17:01:46 +0800",
          "id" : "6c0824c216a0f1640de2398a81eb76966667099b",
          "msg" : "fix(map): 过滤路口出入口连续共线边，避免道路边界异常收窄",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/boundary/road_boundary.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "replayer/scene_data/generated/compact_scene_descriptor.pb",
            "data/constrain/block_data.cpp",
            "replayer/scene_data/generated/plan_frame_field_roles.json",
            "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp",
            "proto/config.proto",
            "replayer/scene_data/generated/full_custom_cpp_member_inputs.json",
            "replayer/scene_data/compact_numeric_policy.yaml",
            "data/constrain/disable_stop_range.cpp",
            "data/constrain/disable_stop_range.hpp",
            "replayer/scene_data/compact_numeric_leaf_contract.csv",
            "replayer/scene_data/compact_custom_field_proto_codec.cpp",
            "Testing/scene_replay_foundation_test.cpp",
            "replayer/scene_data/plan_frame_field_roles.csv",
            "replayer/scene_data/generated/plan_frame_encoder.cpp",
            "proto/decision.proto",
            "data/constrain/block_data.hpp",
            "replayer/scene_data/generated/scene_replay_api_descriptor.pb",
            "replayer/scene_data/generated/plan_frame_descriptor.pb"
          ],
          "commitId" : "260f1110c6038c9cbd1498a2535be0fefc9b3f00",
          "timestamp" : 1794301964000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix(traffic-light): 修正路口通行耗时计算并保持近线红转绿放行\u000a\u000a按当前速度、额定加减速度和路口限速计算通行时间。\u000a保持已生效的停车要求，避免减速末段因制动距离豁免撤销停车。\u000a原始停止线一米内经历红转绿后允许放行，不再要求车辆静止。\u000a同步停车保持和放行状态的 Full/Compact 编解码及字段合同。\u000a",
          "date" : "2026-11-10 17:12:44 +0800",
          "id" : "260f1110c6038c9cbd1498a2535be0fefc9b3f00",
          "msg" : "fix(traffic-light): 修正路口通行耗时计算并保持近线红转绿放行",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_scene_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "data/constrain/disable_stop_range.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/plan_frame_field_roles.csv"
            },
            {
              "editType" : "edit",
              "file" : "data/constrain/block_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_field_roles.json"
            },
            {
              "editType" : "edit",
              "file" : "Testing/scene_replay_foundation_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/constrain/disable_stop_range.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_policy.yaml"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/scene_replay_api_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "proto/config.proto"
            },
            {
              "editType" : "edit",
              "file" : "proto/decision.proto"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_custom_field_proto_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/constrain/block_data.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_encoder.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_leaf_contract.csv"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/obstacle/decision/obstacle_decision.cpp",
            "data/obstacle/decision/obstacle_decision_test.cpp"
          ],
          "commitId" : "95a60bf56ca2cdd45d5a0a78b4366ee817697ad6",
          "timestamp" : 1794302457000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix(sidepass): 补全两轮车预测运动检查与承诺退出条件\u000a\u000a检查原始预测的全部分支，避免零初速 C2V 和非优选运动预测被忽略。未靠边目标仅在本帧满足相邻静止例外时豁免承诺硬退出，不以通用 ALLOW 代替安全判定。\u000a\u000a适配两阶段决策与现有取消任务后机动车标签恢复流程，补充正常静止例外、两类预测运动和类型策略关闭时边界缺失的回归。\u000a",
          "date" : "2026-11-10 17:20:57 +0800",
          "id" : "95a60bf56ca2cdd45d5a0a78b4366ee817697ad6",
          "msg" : "fix(sidepass): 补全两轮车预测运动检查与承诺退出条件",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/plan/ssep_data.cpp",
            "Testing/ssep_path_curvature_test.cpp",
            "data/ssep/ssep_ec.cpp",
            "data/ssep/ssep_util.cpp"
          ],
          "commitId" : "3dcd53eb0eb9d4786209096a235efda466d0dd3b",
          "timestamp" : 1794319795000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修正 SSEP 曲率方向与控制转向约定\u000a\u000a按路径点序计算左正右负的有符号曲率，消除旧叉积阈值导致的方向反转和采样间距依赖，避免左转路径原地打轮时先向右打。\u000a\u000a在倒车分段和挂车参考路径转换处显式转为车头方向曲率，保持与控制原地转向及 MPC 前馈公式一致。重复点返回零曲率，不足五点时清理旧曲率，防止重复计算翻转缓存。\u000a\u000a补充魏桥现场样本、左右转、前后换向、不同采样间距、退化点、短路径重复计算及挂车参考方向回归。\u000a\u000a验证：clang-format 21.1.8；Icecream 分布式构建成功；pnc_ssep_path_corridor_test 共 244 项通过。\u000a",
          "date" : "2026-11-10 22:09:55 +0800",
          "id" : "3dcd53eb0eb9d4786209096a235efda466d0dd3b",
          "msg" : "fix: 修正 SSEP 曲率方向与控制转向约定",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_util.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/ssep_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_path_curvature_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_ec.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/CMakeLists.txt",
            "Testing/bulk_speed_limit_test.cpp",
            "tasks/deciders/long_decider/constrain_decider.cpp"
          ],
          "commitId" : "5d58b8d53e668e7395fb0a3b03e5ed975d12ed95",
          "timestamp" : 1794369300000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复多段路由换向点停车原因冲突\u000a\u000a先建立本帧操作头换向停车约束，仅在该约束匹配有效且距离有限时，\u000a抑制普通路由非末段重复的绝对终点停车线，避免 ABSOLUTE_SIGN_STOP\u000a抢占停因后阻止路由释放当前段。保留末段、同向和换向投影失败时的\u000a终点停车防护，并修正操作头数组的边界判断。\u000a\u000a新增换向停因及路由释放、模式进入持续退出、无效路由、投影失败恢复\u000a和约束匹配失效的回归；测试只隔离外部地图查询，执行生产约束和停因逻辑。\u000a\u000a验证：分布式编译通过，38 项单测通过，clang-format 21 修改范围检查通过。\u000a东方特钢 309 bag 使用精确地图加载成功，但输入恢复报\u000astandby_index_seed_missing，未执行到修复逻辑，现场回放验收尚未完成。\u000a",
          "date" : "2026-11-11 11:55:00 +0800",
          "id" : "5d58b8d53e668e7395fb0a3b03e5ed975d12ed95",
          "msg" : "fix: 修复多段路由换向点停车原因冲突",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "Testing/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/long_decider/constrain_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/bulk_speed_limit_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "replayer/scene_data/generated/compact_scene_descriptor.pb",
            "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp",
            "replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml",
            "proto/config.proto",
            "plan/prepare/prepare_status.cpp",
            "replayer/scene_data/config_proto_codec.cpp",
            "replayer/scene_data/generated/full_custom_cpp_member_inputs.json",
            "replayer/scene_data/compact_numeric_policy.yaml",
            "data/config/cfg_func_sw.hpp",
            "data/config/cfg_func_sw.cpp",
            "Testing/step_align_distance_source_test.cpp",
            "replayer/scene_data/generated/config_schema_inputs.json",
            "replayer/scene_data/generated/plan_frame_encoder.cpp",
            "replayer/scene_data/generated/scene_replay_api_descriptor.pb",
            "replayer/scene_data/generated/plan_frame_descriptor.pb"
          ],
          "commitId" : "3b6c1b5c369cde9c6051551df5f90c0cf4318c09",
          "timestamp" : 1794388502000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/liuhongshuo",
            "fullName" : "liuhongshuo"
          },
          "authorEmail" : "liuhongshuo",
          "comment" : "feat: 对准受阻检测功能增加开关 增加静止防抖\u000a",
          "date" : "2026-11-11 17:15:02 +0800",
          "id" : "3b6c1b5c369cde9c6051551df5f90c0cf4318c09",
          "msg" : "feat: 对准受阻检测功能增加开关 增加静止防抖",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_encoder.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_policy.yaml"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/config_schema_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/scene_replay_api_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/config_proto_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.cpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_status.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "proto/config.proto"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_scene_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/step_align_distance_source_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.hpp"
            }
          ]
        }
      ],
      "kind" : "git"
    }
  ],
  "culprits" : [
    {
      "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
      "fullName" : "wuyanjun110"
    },
    {
      "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
      "fullName" : "chenran"
    },
    {
      "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/liuhongshuo",
      "fullName" : "liuhongshuo"
    }
  ],
  "nextBuild" : {
    "number" : 1029,
    "url" : "http://159.27.114.184:8080/jenkins/user/lufengwei/my-views/view/all/job/module/1029/"
  },
  "previousBuild" : {
    "number" : 1027,
    "url" : "http://159.27.114.184:8080/jenkins/user/lufengwei/my-views/view/all/job/module/1027/"
  }
}