{
  "_class" : "org.jenkinsci.plugins.workflow.job.WorkflowRun",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "org.jenkinsci.plugins.workflow.support.steps.build.BuildUpstreamCause",
          "shortDescription" : "Started by upstream project \"orin-module-slave32\" build number 5,492",
          "upstreamBuild" : 5492,
          "upstreamProject" : "orin-module-slave32",
          "upstreamUrl" : "job/orin-module-slave32/"
        }
      ]
    },
    {
      
    },
    {
      "_class" : "hudson.model.ParametersAction",
      "parameters" : [
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "msgBranch",
          "value" : "rc_dev_wuhanzhongtielianji"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "pncBranch",
          "value" : "feat_daxie_proto"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "hdmapBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "hdmapInterfaceBranch",
          "value" : "rc_dev"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "notes",
          "value" : "pncreplayer更新"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "info",
          "value" : "orin-module-slave32: #5492"
        }
      ]
    },
    {
      "_class" : "org.jenkinsci.plugins.workflow.libs.LibrariesAction"
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2222,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "be37692c70b87cd081ecb3bbecd2a746b2d38daa",
            "branch" : [
              {
                "SHA1" : "be37692c70b87cd081ecb3bbecd2a746b2d38daa",
                "name" : "master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "be37692c70b87cd081ecb3bbecd2a746b2d38daa",
            "branch" : [
              {
                "SHA1" : "be37692c70b87cd081ecb3bbecd2a746b2d38daa",
                "name" : "master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "be37692c70b87cd081ecb3bbecd2a746b2d38daa",
        "branch" : [
          {
            "SHA1" : "be37692c70b87cd081ecb3bbecd2a746b2d38daa",
            "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" : 2222,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "eead393e3b5357b3b3aaf9ae39db06e714029e55",
            "branch" : [
              {
                "SHA1" : "eead393e3b5357b3b3aaf9ae39db06e714029e55",
                "name" : "refs/remotes/origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "eead393e3b5357b3b3aaf9ae39db06e714029e55",
            "branch" : [
              {
                "SHA1" : "eead393e3b5357b3b3aaf9ae39db06e714029e55",
                "name" : "refs/remotes/origin/master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "eead393e3b5357b3b3aaf9ae39db06e714029e55",
        "branch" : [
          {
            "SHA1" : "eead393e3b5357b3b3aaf9ae39db06e714029e55",
            "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/rc_dev_d0713c" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 514,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "d0713c65fd86b2ac53ed036ec66b90521c2ef97c",
            "branch" : [
              {
                "SHA1" : "d0713c65fd86b2ac53ed036ec66b90521c2ef97c",
                "name" : "origin/rc_dev_d0713c"
              }
            ]
          },
          "revision" : {
            "SHA1" : "d0713c65fd86b2ac53ed036ec66b90521c2ef97c",
            "branch" : [
              {
                "SHA1" : "d0713c65fd86b2ac53ed036ec66b90521c2ef97c",
                "name" : "origin/rc_dev_d0713c"
              }
            ]
          }
        },
        "origin/rc_dev_xinjiang_kaiwo" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1244,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "6858447f1f5c9e880a747d653217350f3c4ea0a0",
            "branch" : [
              {
                "SHA1" : "6858447f1f5c9e880a747d653217350f3c4ea0a0",
                "name" : "origin/rc_dev_xinjiang_kaiwo"
              }
            ]
          },
          "revision" : {
            "SHA1" : "6858447f1f5c9e880a747d653217350f3c4ea0a0",
            "branch" : [
              {
                "SHA1" : "6858447f1f5c9e880a747d653217350f3c4ea0a0",
                "name" : "origin/rc_dev_xinjiang_kaiwo"
              }
            ]
          }
        },
        "origin/feat_multiple_path" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 104,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "d54cf8742b0d6a6d1d6ad06beb448f37152ca1d8",
            "branch" : [
              {
                "SHA1" : "d54cf8742b0d6a6d1d6ad06beb448f37152ca1d8",
                "name" : "origin/feat_multiple_path"
              }
            ]
          },
          "revision" : {
            "SHA1" : "d54cf8742b0d6a6d1d6ad06beb448f37152ca1d8",
            "branch" : [
              {
                "SHA1" : "d54cf8742b0d6a6d1d6ad06beb448f37152ca1d8",
                "name" : "origin/feat_multiple_path"
              }
            ]
          }
        },
        "origin/feat-peripheral_qiangang" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 405,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "47370a9f329d90e5e5d59e53f6173a21ad880678",
            "branch" : [
              {
                "SHA1" : "47370a9f329d90e5e5d59e53f6173a21ad880678",
                "name" : "origin/feat-peripheral_qiangang"
              }
            ]
          },
          "revision" : {
            "SHA1" : "47370a9f329d90e5e5d59e53f6173a21ad880678",
            "branch" : [
              {
                "SHA1" : "47370a9f329d90e5e5d59e53f6173a21ad880678",
                "name" : "origin/feat-peripheral_qiangang"
              }
            ]
          }
        },
        "origin/feat_tc_v2_weihai" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1910,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "db51c891fddcf73babce98115f7526d2860bd6c4",
            "branch" : [
              {
                "SHA1" : "db51c891fddcf73babce98115f7526d2860bd6c4",
                "name" : "origin/feat_tc_v2_weihai"
              }
            ]
          },
          "revision" : {
            "SHA1" : "db51c891fddcf73babce98115f7526d2860bd6c4",
            "branch" : [
              {
                "SHA1" : "db51c891fddcf73babce98115f7526d2860bd6c4",
                "name" : "origin/feat_tc_v2_weihai"
              }
            ]
          }
        },
        "origin/youyiguan_add_trailer_info" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1294,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "062de51109603913f092d421e259df68b3b57f8f",
            "branch" : [
              {
                "SHA1" : "062de51109603913f092d421e259df68b3b57f8f",
                "name" : "origin/youyiguan_add_trailer_info"
              }
            ]
          },
          "revision" : {
            "SHA1" : "062de51109603913f092d421e259df68b3b57f8f",
            "branch" : [
              {
                "SHA1" : "062de51109603913f092d421e259df68b3b57f8f",
                "name" : "origin/youyiguan_add_trailer_info"
              }
            ]
          }
        },
        "origin/rcdev_0a13c34" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 231,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "0a13c3462eee863b32a43ea2e82612f649af702a",
            "branch" : [
              {
                "SHA1" : "0a13c3462eee863b32a43ea2e82612f649af702a",
                "name" : "origin/rcdev_0a13c34"
              }
            ]
          },
          "revision" : {
            "SHA1" : "0a13c3462eee863b32a43ea2e82612f649af702a",
            "branch" : [
              {
                "SHA1" : "0a13c3462eee863b32a43ea2e82612f649af702a",
                "name" : "origin/rcdev_0a13c34"
              }
            ]
          }
        },
        "origin/rc_dev" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2006,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "7d594c755e96741c20d32b84dec169d35b599e9c",
            "branch" : [
              {
                "SHA1" : "7d594c755e96741c20d32b84dec169d35b599e9c",
                "name" : "origin/rc_dev"
              }
            ]
          },
          "revision" : {
            "SHA1" : "7d594c755e96741c20d32b84dec169d35b599e9c",
            "branch" : [
              {
                "SHA1" : "7d594c755e96741c20d32b84dec169d35b599e9c",
                "name" : "origin/rc_dev"
              }
            ]
          }
        },
        "origin/feat_v2x" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 97,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "818081a723d83abf39efe236cb6ab488aef53bba",
            "branch" : [
              {
                "SHA1" : "818081a723d83abf39efe236cb6ab488aef53bba",
                "name" : "origin/feat_v2x"
              }
            ]
          },
          "revision" : {
            "SHA1" : "818081a723d83abf39efe236cb6ab488aef53bba",
            "branch" : [
              {
                "SHA1" : "818081a723d83abf39efe236cb6ab488aef53bba",
                "name" : "origin/feat_v2x"
              }
            ]
          }
        },
        "origin/rc_dev_qiangang" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1897,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "1f1b50411fbad43ef0d16e173acf889b3a413854",
            "branch" : [
              {
                "SHA1" : "1f1b50411fbad43ef0d16e173acf889b3a413854",
                "name" : "origin/rc_dev_qiangang"
              }
            ]
          },
          "revision" : {
            "SHA1" : "1f1b50411fbad43ef0d16e173acf889b3a413854",
            "branch" : [
              {
                "SHA1" : "1f1b50411fbad43ef0d16e173acf889b3a413854",
                "name" : "origin/rc_dev_qiangang"
              }
            ]
          }
        },
        "origin/feat_xiamen_patch" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1606,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "5edde714fd5009dce8a08067bfa73d09adf298d6",
            "branch" : [
              {
                "SHA1" : "5edde714fd5009dce8a08067bfa73d09adf298d6",
                "name" : "origin/feat_xiamen_patch"
              }
            ]
          },
          "revision" : {
            "SHA1" : "5edde714fd5009dce8a08067bfa73d09adf298d6",
            "branch" : [
              {
                "SHA1" : "5edde714fd5009dce8a08067bfa73d09adf298d6",
                "name" : "origin/feat_xiamen_patch"
              }
            ]
          }
        },
        "origin/rc_dev_taiyang" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1547,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "7b898979876c3089d42c8ecbfbeef3da821c694b",
            "branch" : [
              {
                "SHA1" : "7b898979876c3089d42c8ecbfbeef3da821c694b",
                "name" : "origin/rc_dev_taiyang"
              }
            ]
          },
          "revision" : {
            "SHA1" : "7b898979876c3089d42c8ecbfbeef3da821c694b",
            "branch" : [
              {
                "SHA1" : "7b898979876c3089d42c8ecbfbeef3da821c694b",
                "name" : "origin/rc_dev_taiyang"
              }
            ]
          }
        },
        "origin/feat-peripheral_op_state" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 239,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "f0a5167416f0fec86262fc7b9f86b98b8c9f1580",
            "branch" : [
              {
                "SHA1" : "f0a5167416f0fec86262fc7b9f86b98b8c9f1580",
                "name" : "origin/feat-peripheral_op_state"
              }
            ]
          },
          "revision" : {
            "SHA1" : "f0a5167416f0fec86262fc7b9f86b98b8c9f1580",
            "branch" : [
              {
                "SHA1" : "f0a5167416f0fec86262fc7b9f86b98b8c9f1580",
                "name" : "origin/feat-peripheral_op_state"
              }
            ]
          }
        },
        "origin/feat_mandula_udp" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 830,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "d261c50491fbc8a11349b8ab65a8076d75ebdc08",
            "branch" : [
              {
                "SHA1" : "d261c50491fbc8a11349b8ab65a8076d75ebdc08",
                "name" : "origin/feat_mandula_udp"
              }
            ]
          },
          "revision" : {
            "SHA1" : "d261c50491fbc8a11349b8ab65a8076d75ebdc08",
            "branch" : [
              {
                "SHA1" : "d261c50491fbc8a11349b8ab65a8076d75ebdc08",
                "name" : "origin/feat_mandula_udp"
              }
            ]
          }
        },
        "origin/feat-peripheral_op_state-chassis_err" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 377,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "3fed282b426dddc8539eed2eac1b7bc368431e71",
            "branch" : [
              {
                "SHA1" : "3fed282b426dddc8539eed2eac1b7bc368431e71",
                "name" : "origin/feat-peripheral_op_state-chassis_err"
              }
            ]
          },
          "revision" : {
            "SHA1" : "3fed282b426dddc8539eed2eac1b7bc368431e71",
            "branch" : [
              {
                "SHA1" : "3fed282b426dddc8539eed2eac1b7bc368431e71",
                "name" : "origin/feat-peripheral_op_state-chassis_err"
              }
            ]
          }
        },
        "origin/rc_dev_shanqihuanwei" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1589,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "f5a740650e27555efc2c844e135111515679ba9d",
            "branch" : [
              {
                "SHA1" : "f5a740650e27555efc2c844e135111515679ba9d",
                "name" : "origin/rc_dev_shanqihuanwei"
              }
            ]
          },
          "revision" : {
            "SHA1" : "f5a740650e27555efc2c844e135111515679ba9d",
            "branch" : [
              {
                "SHA1" : "f5a740650e27555efc2c844e135111515679ba9d",
                "name" : "origin/rc_dev_shanqihuanwei"
              }
            ]
          }
        },
        "origin/feat_tc_v2_yantai" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1862,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "bdb5ae48b5cbb4cf8ba76eba652e4f20aeff253d",
            "branch" : [
              {
                "SHA1" : "bdb5ae48b5cbb4cf8ba76eba652e4f20aeff253d",
                "name" : "origin/feat_tc_v2_yantai"
              }
            ]
          },
          "revision" : {
            "SHA1" : "bdb5ae48b5cbb4cf8ba76eba652e4f20aeff253d",
            "branch" : [
              {
                "SHA1" : "bdb5ae48b5cbb4cf8ba76eba652e4f20aeff253d",
                "name" : "origin/feat_tc_v2_yantai"
              }
            ]
          }
        },
        "origin/rc_dev_e53243" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 651,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "e53243a23acd89640afd41301882167071c14022",
            "branch" : [
              {
                "SHA1" : "e53243a23acd89640afd41301882167071c14022",
                "name" : "origin/rc_dev_e53243"
              }
            ]
          },
          "revision" : {
            "SHA1" : "e53243a23acd89640afd41301882167071c14022",
            "branch" : [
              {
                "SHA1" : "e53243a23acd89640afd41301882167071c14022",
                "name" : "origin/rc_dev_e53243"
              }
            ]
          }
        },
        "origin/rc_dev_zhoushan" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1472,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "96ed1f1aae62978d865c3acf62e16756e9530773",
            "branch" : [
              {
                "SHA1" : "96ed1f1aae62978d865c3acf62e16756e9530773",
                "name" : "origin/rc_dev_zhoushan"
              }
            ]
          },
          "revision" : {
            "SHA1" : "96ed1f1aae62978d865c3acf62e16756e9530773",
            "branch" : [
              {
                "SHA1" : "96ed1f1aae62978d865c3acf62e16756e9530773",
                "name" : "origin/rc_dev_zhoushan"
              }
            ]
          }
        },
        "origin/feat_tc_v2_daxie" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1815,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "aed54f80025d95dc2fa58fadb5f26bd1c46d4b0d",
            "branch" : [
              {
                "SHA1" : "aed54f80025d95dc2fa58fadb5f26bd1c46d4b0d",
                "name" : "origin/feat_tc_v2_daxie"
              }
            ]
          },
          "revision" : {
            "SHA1" : "aed54f80025d95dc2fa58fadb5f26bd1c46d4b0d",
            "branch" : [
              {
                "SHA1" : "aed54f80025d95dc2fa58fadb5f26bd1c46d4b0d",
                "name" : "origin/feat_tc_v2_daxie"
              }
            ]
          }
        },
        "origin/rc_dev_dongfen" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1702,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "6858447f1f5c9e880a747d653217350f3c4ea0a0",
            "branch" : [
              {
                "SHA1" : "6858447f1f5c9e880a747d653217350f3c4ea0a0",
                "name" : "origin/rc_dev_dongfen"
              }
            ]
          },
          "revision" : {
            "SHA1" : "6858447f1f5c9e880a747d653217350f3c4ea0a0",
            "branch" : [
              {
                "SHA1" : "6858447f1f5c9e880a747d653217350f3c4ea0a0",
                "name" : "origin/rc_dev_dongfen"
              }
            ]
          }
        },
        "origin/feat_daxie_patch" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1246,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "762ac69a8087af8a7d2988094ab4943f538e8a04",
            "branch" : [
              {
                "SHA1" : "762ac69a8087af8a7d2988094ab4943f538e8a04",
                "name" : "origin/feat_daxie_patch"
              }
            ]
          },
          "revision" : {
            "SHA1" : "762ac69a8087af8a7d2988094ab4943f538e8a04",
            "branch" : [
              {
                "SHA1" : "762ac69a8087af8a7d2988094ab4943f538e8a04",
                "name" : "origin/feat_daxie_patch"
              }
            ]
          }
        },
        "origin/feat_speed_lmt" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 433,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "510f3a0d45ae6290a9448ecf012dfe501b504a15",
            "branch" : [
              {
                "SHA1" : "510f3a0d45ae6290a9448ecf012dfe501b504a15",
                "name" : "origin/feat_speed_lmt"
              }
            ]
          },
          "revision" : {
            "SHA1" : "510f3a0d45ae6290a9448ecf012dfe501b504a15",
            "branch" : [
              {
                "SHA1" : "510f3a0d45ae6290a9448ecf012dfe501b504a15",
                "name" : "origin/feat_speed_lmt"
              }
            ]
          }
        },
        "origin/feat_tc_v2_yangpu" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1804,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "549daf0fc4e7c8f469ba1807acf334525ddb939b",
            "branch" : [
              {
                "SHA1" : "549daf0fc4e7c8f469ba1807acf334525ddb939b",
                "name" : "origin/feat_tc_v2_yangpu"
              }
            ]
          },
          "revision" : {
            "SHA1" : "549daf0fc4e7c8f469ba1807acf334525ddb939b",
            "branch" : [
              {
                "SHA1" : "549daf0fc4e7c8f469ba1807acf334525ddb939b",
                "name" : "origin/feat_tc_v2_yangpu"
              }
            ]
          }
        },
        "origin/rc_dev_xiasha" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2076,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "fca3a20dd978a00f0568bbb02a49aff6fc1ffeb1",
            "branch" : [
              {
                "SHA1" : "fca3a20dd978a00f0568bbb02a49aff6fc1ffeb1",
                "name" : "origin/rc_dev_xiasha"
              }
            ]
          },
          "revision" : {
            "SHA1" : "fca3a20dd978a00f0568bbb02a49aff6fc1ffeb1",
            "branch" : [
              {
                "SHA1" : "fca3a20dd978a00f0568bbb02a49aff6fc1ffeb1",
                "name" : "origin/rc_dev_xiasha"
              }
            ]
          }
        },
        "origin/feat_yard_lane_change" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 525,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "9c5267888fbed74808f7b7c3fa5beff157057207",
            "branch" : [
              {
                "SHA1" : "9c5267888fbed74808f7b7c3fa5beff157057207",
                "name" : "origin/feat_yard_lane_change"
              }
            ]
          },
          "revision" : {
            "SHA1" : "9c5267888fbed74808f7b7c3fa5beff157057207",
            "branch" : [
              {
                "SHA1" : "9c5267888fbed74808f7b7c3fa5beff157057207",
                "name" : "origin/feat_yard_lane_change"
              }
            ]
          }
        },
        "origin/feat_tc_v2_xiamen" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2188,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "df329f0b0fe1fb2f0213fc2c6e790f48c58253e5",
            "branch" : [
              {
                "SHA1" : "df329f0b0fe1fb2f0213fc2c6e790f48c58253e5",
                "name" : "origin/feat_tc_v2_xiamen"
              }
            ]
          },
          "revision" : {
            "SHA1" : "df329f0b0fe1fb2f0213fc2c6e790f48c58253e5",
            "branch" : [
              {
                "SHA1" : "df329f0b0fe1fb2f0213fc2c6e790f48c58253e5",
                "name" : "origin/feat_tc_v2_xiamen"
              }
            ]
          }
        },
        "origin/rcdev_c9969b7" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 289,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "24a5a27ac09f5c6d866b65ecdc9fee463be597cf",
            "branch" : [
              {
                "SHA1" : "24a5a27ac09f5c6d866b65ecdc9fee463be597cf",
                "name" : "origin/rcdev_c9969b7"
              }
            ]
          },
          "revision" : {
            "SHA1" : "24a5a27ac09f5c6d866b65ecdc9fee463be597cf",
            "branch" : [
              {
                "SHA1" : "24a5a27ac09f5c6d866b65ecdc9fee463be597cf",
                "name" : "origin/rcdev_c9969b7"
              }
            ]
          }
        },
        "origin/rc_dev_suxi" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2212,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "19e0f13735cd065dc0507a9516ad10727decfb29",
            "branch" : [
              {
                "SHA1" : "19e0f13735cd065dc0507a9516ad10727decfb29",
                "name" : "origin/rc_dev_suxi"
              }
            ]
          },
          "revision" : {
            "SHA1" : "19e0f13735cd065dc0507a9516ad10727decfb29",
            "branch" : [
              {
                "SHA1" : "19e0f13735cd065dc0507a9516ad10727decfb29",
                "name" : "origin/rc_dev_suxi"
              }
            ]
          }
        },
        "origin/rc_dev_taiyang_ctrl" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1771,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "4ba1d6d39371013ba90023bb6ab4d337e8aa18a2",
            "branch" : [
              {
                "SHA1" : "4ba1d6d39371013ba90023bb6ab4d337e8aa18a2",
                "name" : "origin/rc_dev_taiyang_ctrl"
              }
            ]
          },
          "revision" : {
            "SHA1" : "4ba1d6d39371013ba90023bb6ab4d337e8aa18a2",
            "branch" : [
              {
                "SHA1" : "4ba1d6d39371013ba90023bb6ab4d337e8aa18a2",
                "name" : "origin/rc_dev_taiyang_ctrl"
              }
            ]
          }
        },
        "origin/rc_dev_qingdaodagang" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1260,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "6858447f1f5c9e880a747d653217350f3c4ea0a0",
            "branch" : [
              {
                "SHA1" : "6858447f1f5c9e880a747d653217350f3c4ea0a0",
                "name" : "origin/rc_dev_qingdaodagang"
              }
            ]
          },
          "revision" : {
            "SHA1" : "6858447f1f5c9e880a747d653217350f3c4ea0a0",
            "branch" : [
              {
                "SHA1" : "6858447f1f5c9e880a747d653217350f3c4ea0a0",
                "name" : "origin/rc_dev_qingdaodagang"
              }
            ]
          }
        },
        "origin/rc_dev_baoshishun" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2130,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "b080c3140afa34324a990cf86e60f3a92affb918",
            "branch" : [
              {
                "SHA1" : "b080c3140afa34324a990cf86e60f3a92affb918",
                "name" : "origin/rc_dev_baoshishun"
              }
            ]
          },
          "revision" : {
            "SHA1" : "b080c3140afa34324a990cf86e60f3a92affb918",
            "branch" : [
              {
                "SHA1" : "b080c3140afa34324a990cf86e60f3a92affb918",
                "name" : "origin/rc_dev_baoshishun"
              }
            ]
          }
        },
        "origin/feat-xilian" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 381,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "95f15a0454380530b0bf028c6917a34abaa43378",
            "branch" : [
              {
                "SHA1" : "95f15a0454380530b0bf028c6917a34abaa43378",
                "name" : "origin/feat-xilian"
              }
            ]
          },
          "revision" : {
            "SHA1" : "95f15a0454380530b0bf028c6917a34abaa43378",
            "branch" : [
              {
                "SHA1" : "95f15a0454380530b0bf028c6917a34abaa43378",
                "name" : "origin/feat-xilian"
              }
            ]
          }
        },
        "origin/rc_dev_youyiguan" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2214,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "1be039cfa092298ec02479636537b6550f1b9152",
            "branch" : [
              {
                "SHA1" : "1be039cfa092298ec02479636537b6550f1b9152",
                "name" : "origin/rc_dev_youyiguan"
              }
            ]
          },
          "revision" : {
            "SHA1" : "1be039cfa092298ec02479636537b6550f1b9152",
            "branch" : [
              {
                "SHA1" : "1be039cfa092298ec02479636537b6550f1b9152",
                "name" : "origin/rc_dev_youyiguan"
              }
            ]
          }
        },
        "origin/rc_dev_tangshanjinxi" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2196,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "1b306566b5e66a524235d5f2635d6ef234fcc6a8",
            "branch" : [
              {
                "SHA1" : "1b306566b5e66a524235d5f2635d6ef234fcc6a8",
                "name" : "origin/rc_dev_tangshanjinxi"
              }
            ]
          },
          "revision" : {
            "SHA1" : "1b306566b5e66a524235d5f2635d6ef234fcc6a8",
            "branch" : [
              {
                "SHA1" : "1b306566b5e66a524235d5f2635d6ef234fcc6a8",
                "name" : "origin/rc_dev_tangshanjinxi"
              }
            ]
          }
        },
        "origin/rc_dev_xiamen" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1840,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "483fabd931605b5fe19a49de9f1cbbb1097f497b",
            "branch" : [
              {
                "SHA1" : "483fabd931605b5fe19a49de9f1cbbb1097f497b",
                "name" : "origin/rc_dev_xiamen"
              }
            ]
          },
          "revision" : {
            "SHA1" : "483fabd931605b5fe19a49de9f1cbbb1097f497b",
            "branch" : [
              {
                "SHA1" : "483fabd931605b5fe19a49de9f1cbbb1097f497b",
                "name" : "origin/rc_dev_xiamen"
              }
            ]
          }
        },
        "origin/rc_dev_weiqiao" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2221,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "936114fc0e26f0334ee239ed0170c506b904f4a3",
            "branch" : [
              {
                "SHA1" : "936114fc0e26f0334ee239ed0170c506b904f4a3",
                "name" : "origin/rc_dev_weiqiao"
              }
            ]
          },
          "revision" : {
            "SHA1" : "936114fc0e26f0334ee239ed0170c506b904f4a3",
            "branch" : [
              {
                "SHA1" : "936114fc0e26f0334ee239ed0170c506b904f4a3",
                "name" : "origin/rc_dev_weiqiao"
              }
            ]
          }
        },
        "origin/rc_dev_xilian" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2102,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "f820c4ad43107c56f407831e44f6bc87cbbfff7f",
            "branch" : [
              {
                "SHA1" : "f820c4ad43107c56f407831e44f6bc87cbbfff7f",
                "name" : "origin/rc_dev_xilian"
              }
            ]
          },
          "revision" : {
            "SHA1" : "f820c4ad43107c56f407831e44f6bc87cbbfff7f",
            "branch" : [
              {
                "SHA1" : "f820c4ad43107c56f407831e44f6bc87cbbfff7f",
                "name" : "origin/rc_dev_xilian"
              }
            ]
          }
        },
        "origin/feat_monitor_frame" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 331,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "ca7c2a8369584e2797d47ddc5bcee2e7bc94013a",
            "branch" : [
              {
                "SHA1" : "ca7c2a8369584e2797d47ddc5bcee2e7bc94013a",
                "name" : "origin/feat_monitor_frame"
              }
            ]
          },
          "revision" : {
            "SHA1" : "ca7c2a8369584e2797d47ddc5bcee2e7bc94013a",
            "branch" : [
              {
                "SHA1" : "ca7c2a8369584e2797d47ddc5bcee2e7bc94013a",
                "name" : "origin/feat_monitor_frame"
              }
            ]
          }
        },
        "origin/rc_dev_yantaigunzhuang" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2220,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "45405ae4f7f78b275cc6e9dd8f36cc2a220f9e37",
            "branch" : [
              {
                "SHA1" : "45405ae4f7f78b275cc6e9dd8f36cc2a220f9e37",
                "name" : "origin/rc_dev_yantaigunzhuang"
              }
            ]
          },
          "revision" : {
            "SHA1" : "45405ae4f7f78b275cc6e9dd8f36cc2a220f9e37",
            "branch" : [
              {
                "SHA1" : "45405ae4f7f78b275cc6e9dd8f36cc2a220f9e37",
                "name" : "origin/rc_dev_yantaigunzhuang"
              }
            ]
          }
        },
        "origin/rc_dev_wuhanzhongtielianji" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2222,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "548659540c3568147388dbcf79627429cb5288eb",
            "branch" : [
              {
                "SHA1" : "548659540c3568147388dbcf79627429cb5288eb",
                "name" : "origin/rc_dev_wuhanzhongtielianji"
              }
            ]
          },
          "revision" : {
            "SHA1" : "548659540c3568147388dbcf79627429cb5288eb",
            "branch" : [
              {
                "SHA1" : "548659540c3568147388dbcf79627429cb5288eb",
                "name" : "origin/rc_dev_wuhanzhongtielianji"
              }
            ]
          }
        },
        "origin/rc_dev_weihai" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2144,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "40c221ec332fa1e028f30da761372becdb391501",
            "branch" : [
              {
                "SHA1" : "40c221ec332fa1e028f30da761372becdb391501",
                "name" : "origin/rc_dev_weihai"
              }
            ]
          },
          "revision" : {
            "SHA1" : "40c221ec332fa1e028f30da761372becdb391501",
            "branch" : [
              {
                "SHA1" : "40c221ec332fa1e028f30da761372becdb391501",
                "name" : "origin/rc_dev_weihai"
              }
            ]
          }
        },
        "origin/rc_dev_mandula" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1348,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "fe3fc1534c53f91f596b9458776afd6d2364f0a2",
            "branch" : [
              {
                "SHA1" : "fe3fc1534c53f91f596b9458776afd6d2364f0a2",
                "name" : "origin/rc_dev_mandula"
              }
            ]
          },
          "revision" : {
            "SHA1" : "fe3fc1534c53f91f596b9458776afd6d2364f0a2",
            "branch" : [
              {
                "SHA1" : "fe3fc1534c53f91f596b9458776afd6d2364f0a2",
                "name" : "origin/rc_dev_mandula"
              }
            ]
          }
        },
        "origin/feat_suxi_oldtmp" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2037,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "69d9a06f8c7221ce10c5d955a81fc9684aa206c3",
            "branch" : [
              {
                "SHA1" : "69d9a06f8c7221ce10c5d955a81fc9684aa206c3",
                "name" : "origin/feat_suxi_oldtmp"
              }
            ]
          },
          "revision" : {
            "SHA1" : "69d9a06f8c7221ce10c5d955a81fc9684aa206c3",
            "branch" : [
              {
                "SHA1" : "69d9a06f8c7221ce10c5d955a81fc9684aa206c3",
                "name" : "origin/feat_suxi_oldtmp"
              }
            ]
          }
        },
        "origin/rc_dev_daxie" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2219,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "5b4fc8786cda625874e52841a77c7984f7ec0e70",
            "branch" : [
              {
                "SHA1" : "5b4fc8786cda625874e52841a77c7984f7ec0e70",
                "name" : "origin/rc_dev_daxie"
              }
            ]
          },
          "revision" : {
            "SHA1" : "5b4fc8786cda625874e52841a77c7984f7ec0e70",
            "branch" : [
              {
                "SHA1" : "5b4fc8786cda625874e52841a77c7984f7ec0e70",
                "name" : "origin/rc_dev_daxie"
              }
            ]
          }
        },
        "origin/feat_qiangang" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1184,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "289cda308241280b261706930b818b90420fcb5f",
            "branch" : [
              {
                "SHA1" : "289cda308241280b261706930b818b90420fcb5f",
                "name" : "origin/feat_qiangang"
              }
            ]
          },
          "revision" : {
            "SHA1" : "289cda308241280b261706930b818b90420fcb5f",
            "branch" : [
              {
                "SHA1" : "289cda308241280b261706930b818b90420fcb5f",
                "name" : "origin/feat_qiangang"
              }
            ]
          }
        },
        "origin/feat-peripheral_op_state_aee7704c" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 109,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "aee7704cc51112ff34a8ad6cd572c220a21952d0",
            "branch" : [
              {
                "SHA1" : "aee7704cc51112ff34a8ad6cd572c220a21952d0",
                "name" : "origin/feat-peripheral_op_state_aee7704c"
              }
            ]
          },
          "revision" : {
            "SHA1" : "aee7704cc51112ff34a8ad6cd572c220a21952d0",
            "branch" : [
              {
                "SHA1" : "aee7704cc51112ff34a8ad6cd572c220a21952d0",
                "name" : "origin/feat-peripheral_op_state_aee7704c"
              }
            ]
          }
        },
        "origin/rc_dev_93cc60" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 385,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "93cc602576f9f342ff85e9cc672a683b99db923b",
            "branch" : [
              {
                "SHA1" : "93cc602576f9f342ff85e9cc672a683b99db923b",
                "name" : "origin/rc_dev_93cc60"
              }
            ]
          },
          "revision" : {
            "SHA1" : "93cc602576f9f342ff85e9cc672a683b99db923b",
            "branch" : [
              {
                "SHA1" : "93cc602576f9f342ff85e9cc672a683b99db923b",
                "name" : "origin/rc_dev_93cc60"
              }
            ]
          }
        },
        "origin/feat_mandula" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 742,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "da90fef6f7663bb03c4bdfcf266c45b4ec60499a",
            "branch" : [
              {
                "SHA1" : "da90fef6f7663bb03c4bdfcf266c45b4ec60499a",
                "name" : "origin/feat_mandula"
              }
            ]
          },
          "revision" : {
            "SHA1" : "da90fef6f7663bb03c4bdfcf266c45b4ec60499a",
            "branch" : [
              {
                "SHA1" : "da90fef6f7663bb03c4bdfcf266c45b4ec60499a",
                "name" : "origin/feat_mandula"
              }
            ]
          }
        },
        "origin/feat_suxi_patch" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 985,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "762ac69a8087af8a7d2988094ab4943f538e8a04",
            "branch" : [
              {
                "SHA1" : "762ac69a8087af8a7d2988094ab4943f538e8a04",
                "name" : "origin/feat_suxi_patch"
              }
            ]
          },
          "revision" : {
            "SHA1" : "762ac69a8087af8a7d2988094ab4943f538e8a04",
            "branch" : [
              {
                "SHA1" : "762ac69a8087af8a7d2988094ab4943f538e8a04",
                "name" : "origin/feat_suxi_patch"
              }
            ]
          }
        },
        "origin/feat_tc_v2_qiangang" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1793,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "bcbc5de637a9a70f2d4a3f32247a71a67dbfd4a0",
            "branch" : [
              {
                "SHA1" : "bcbc5de637a9a70f2d4a3f32247a71a67dbfd4a0",
                "name" : "origin/feat_tc_v2_qiangang"
              }
            ]
          },
          "revision" : {
            "SHA1" : "bcbc5de637a9a70f2d4a3f32247a71a67dbfd4a0",
            "branch" : [
              {
                "SHA1" : "bcbc5de637a9a70f2d4a3f32247a71a67dbfd4a0",
                "name" : "origin/feat_tc_v2_qiangang"
              }
            ]
          }
        },
        "origin/feat_tc_v2_suxi" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1812,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "eadbbf60c2f42f9cc816ea239eb5310f19bef058",
            "branch" : [
              {
                "SHA1" : "eadbbf60c2f42f9cc816ea239eb5310f19bef058",
                "name" : "origin/feat_tc_v2_suxi"
              }
            ]
          },
          "revision" : {
            "SHA1" : "eadbbf60c2f42f9cc816ea239eb5310f19bef058",
            "branch" : [
              {
                "SHA1" : "eadbbf60c2f42f9cc816ea239eb5310f19bef058",
                "name" : "origin/feat_tc_v2_suxi"
              }
            ]
          }
        },
        "origin/rc_dev_jiningliangshangang" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2190,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "531313779621ea1cd882137e13ebc7f5f5e007e2",
            "branch" : [
              {
                "SHA1" : "531313779621ea1cd882137e13ebc7f5f5e007e2",
                "name" : "origin/rc_dev_jiningliangshangang"
              }
            ]
          },
          "revision" : {
            "SHA1" : "531313779621ea1cd882137e13ebc7f5f5e007e2",
            "branch" : [
              {
                "SHA1" : "531313779621ea1cd882137e13ebc7f5f5e007e2",
                "name" : "origin/rc_dev_jiningliangshangang"
              }
            ]
          }
        },
        "origin/feat-peripheral_qiangang_d5b225" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 327,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "d5b2257a0fb952d19ad035f23b88df52bd27e9ff",
            "branch" : [
              {
                "SHA1" : "d5b2257a0fb952d19ad035f23b88df52bd27e9ff",
                "name" : "origin/feat-peripheral_qiangang_d5b225"
              }
            ]
          },
          "revision" : {
            "SHA1" : "d5b2257a0fb952d19ad035f23b88df52bd27e9ff",
            "branch" : [
              {
                "SHA1" : "d5b2257a0fb952d19ad035f23b88df52bd27e9ff",
                "name" : "origin/feat-peripheral_qiangang_d5b225"
              }
            ]
          }
        },
        "origin/rc_dev_shenqi" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1450,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "31f70a912caef9f3c2e3745c0e9b19467b7ca967",
            "branch" : [
              {
                "SHA1" : "31f70a912caef9f3c2e3745c0e9b19467b7ca967",
                "name" : "origin/rc_dev_shenqi"
              }
            ]
          },
          "revision" : {
            "SHA1" : "31f70a912caef9f3c2e3745c0e9b19467b7ca967",
            "branch" : [
              {
                "SHA1" : "31f70a912caef9f3c2e3745c0e9b19467b7ca967",
                "name" : "origin/rc_dev_shenqi"
              }
            ]
          }
        },
        "origin/feat_youyiguan_pnc_status" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1630,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "b338fbf811a4f2c0c39e71ee62f18c35757f0b1d",
            "branch" : [
              {
                "SHA1" : "b338fbf811a4f2c0c39e71ee62f18c35757f0b1d",
                "name" : "origin/feat_youyiguan_pnc_status"
              }
            ]
          },
          "revision" : {
            "SHA1" : "b338fbf811a4f2c0c39e71ee62f18c35757f0b1d",
            "branch" : [
              {
                "SHA1" : "b338fbf811a4f2c0c39e71ee62f18c35757f0b1d",
                "name" : "origin/feat_youyiguan_pnc_status"
              }
            ]
          }
        },
        "origin/dev_ros2" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2198,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "09e25f72706b8350a7a15258d8e2613a6e2d1a2b",
            "branch" : [
              {
                "SHA1" : "09e25f72706b8350a7a15258d8e2613a6e2d1a2b",
                "name" : "origin/dev_ros2"
              }
            ]
          },
          "revision" : {
            "SHA1" : "09e25f72706b8350a7a15258d8e2613a6e2d1a2b",
            "branch" : [
              {
                "SHA1" : "09e25f72706b8350a7a15258d8e2613a6e2d1a2b",
                "name" : "origin/dev_ros2"
              }
            ]
          }
        },
        "origin/rc_dev_youyiguan_test" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1220,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "f62c9602eebae4706b4494e12452559212efb66a",
            "branch" : [
              {
                "SHA1" : "f62c9602eebae4706b4494e12452559212efb66a",
                "name" : "origin/rc_dev_youyiguan_test"
              }
            ]
          },
          "revision" : {
            "SHA1" : "f62c9602eebae4706b4494e12452559212efb66a",
            "branch" : [
              {
                "SHA1" : "f62c9602eebae4706b4494e12452559212efb66a",
                "name" : "origin/rc_dev_youyiguan_test"
              }
            ]
          }
        },
        "origin/feat_xilian_patch" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1477,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "1e6c6aa34911755a34f4cc4acec03c6c30a2e604",
            "branch" : [
              {
                "SHA1" : "1e6c6aa34911755a34f4cc4acec03c6c30a2e604",
                "name" : "origin/feat_xilian_patch"
              }
            ]
          },
          "revision" : {
            "SHA1" : "1e6c6aa34911755a34f4cc4acec03c6c30a2e604",
            "branch" : [
              {
                "SHA1" : "1e6c6aa34911755a34f4cc4acec03c6c30a2e604",
                "name" : "origin/feat_xilian_patch"
              }
            ]
          }
        },
        "origin/rc_dev_184937" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 876,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "184937840d35a83cb9158067f5fc65458db35e7a",
            "branch" : [
              {
                "SHA1" : "184937840d35a83cb9158067f5fc65458db35e7a",
                "name" : "origin/rc_dev_184937"
              }
            ]
          },
          "revision" : {
            "SHA1" : "184937840d35a83cb9158067f5fc65458db35e7a",
            "branch" : [
              {
                "SHA1" : "184937840d35a83cb9158067f5fc65458db35e7a",
                "name" : "origin/rc_dev_184937"
              }
            ]
          }
        },
        "origin/rc_dev_yangpu" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2215,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "542b54142a97e21788a87fd638595d7b8f85e37f",
            "branch" : [
              {
                "SHA1" : "542b54142a97e21788a87fd638595d7b8f85e37f",
                "name" : "origin/rc_dev_yangpu"
              }
            ]
          },
          "revision" : {
            "SHA1" : "542b54142a97e21788a87fd638595d7b8f85e37f",
            "branch" : [
              {
                "SHA1" : "542b54142a97e21788a87fd638595d7b8f85e37f",
                "name" : "origin/rc_dev_yangpu"
              }
            ]
          }
        },
        "origin/feat_tc_v2" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1938,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "b34e00e37e0d3a5818ba0ebb75422c11ae3b6b28",
            "branch" : [
              {
                "SHA1" : "b34e00e37e0d3a5818ba0ebb75422c11ae3b6b28",
                "name" : "origin/feat_tc_v2"
              }
            ]
          },
          "revision" : {
            "SHA1" : "b34e00e37e0d3a5818ba0ebb75422c11ae3b6b28",
            "branch" : [
              {
                "SHA1" : "b34e00e37e0d3a5818ba0ebb75422c11ae3b6b28",
                "name" : "origin/feat_tc_v2"
              }
            ]
          }
        },
        "origin/rc_dev_weifang_container" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2199,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "ad3e734633c8736db7b6aa8494edd34f5a1b80d2",
            "branch" : [
              {
                "SHA1" : "ad3e734633c8736db7b6aa8494edd34f5a1b80d2",
                "name" : "origin/rc_dev_weifang_container"
              }
            ]
          },
          "revision" : {
            "SHA1" : "ad3e734633c8736db7b6aa8494edd34f5a1b80d2",
            "branch" : [
              {
                "SHA1" : "ad3e734633c8736db7b6aa8494edd34f5a1b80d2",
                "name" : "origin/rc_dev_weifang_container"
              }
            ]
          }
        },
        "origin/rc_dev_qiangang_config" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2200,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "45ef1220ae218999449b078d0af2c8c9d4ea57bc",
            "branch" : [
              {
                "SHA1" : "45ef1220ae218999449b078d0af2c8c9d4ea57bc",
                "name" : "origin/rc_dev_qiangang_config"
              }
            ]
          },
          "revision" : {
            "SHA1" : "45ef1220ae218999449b078d0af2c8c9d4ea57bc",
            "branch" : [
              {
                "SHA1" : "45ef1220ae218999449b078d0af2c8c9d4ea57bc",
                "name" : "origin/rc_dev_qiangang_config"
              }
            ]
          }
        },
        "origin/rc_dev_luojing" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2022,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "32334d000675a8e9faa66ac5b3334a4eb573a3fb",
            "branch" : [
              {
                "SHA1" : "32334d000675a8e9faa66ac5b3334a4eb573a3fb",
                "name" : "origin/rc_dev_luojing"
              }
            ]
          },
          "revision" : {
            "SHA1" : "32334d000675a8e9faa66ac5b3334a4eb573a3fb",
            "branch" : [
              {
                "SHA1" : "32334d000675a8e9faa66ac5b3334a4eb573a3fb",
                "name" : "origin/rc_dev_luojing"
              }
            ]
          }
        },
        "origin/feat_qiangang_side_pass" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1676,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "0daa1f7f08156df5a55cf90342da631b318e2d3d",
            "branch" : [
              {
                "SHA1" : "0daa1f7f08156df5a55cf90342da631b318e2d3d",
                "name" : "origin/feat_qiangang_side_pass"
              }
            ]
          },
          "revision" : {
            "SHA1" : "0daa1f7f08156df5a55cf90342da631b318e2d3d",
            "branch" : [
              {
                "SHA1" : "0daa1f7f08156df5a55cf90342da631b318e2d3d",
                "name" : "origin/feat_qiangang_side_pass"
              }
            ]
          }
        },
        "origin/rc_dev_jiaxingdongfangtegang" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2217,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "f81898909167f9f8c7dee4f7367c611c2268d138",
            "branch" : [
              {
                "SHA1" : "f81898909167f9f8c7dee4f7367c611c2268d138",
                "name" : "origin/rc_dev_jiaxingdongfangtegang"
              }
            ]
          },
          "revision" : {
            "SHA1" : "f81898909167f9f8c7dee4f7367c611c2268d138",
            "branch" : [
              {
                "SHA1" : "f81898909167f9f8c7dee4f7367c611c2268d138",
                "name" : "origin/rc_dev_jiaxingdongfangtegang"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "548659540c3568147388dbcf79627429cb5288eb",
        "branch" : [
          {
            "SHA1" : "548659540c3568147388dbcf79627429cb5288eb",
            "name" : "origin/rc_dev_wuhanzhongtielianji"
          }
        ]
      },
      "remoteUrls" : [
        "http://159.27.226.4/shared/shared_msgs.git"
      ],
      "scmName" : ""
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/feat_truck_reverse_old" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 649,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "c3c62c1259448726e4fed5ee5e7696969b460623",
            "branch" : [
              {
                "SHA1" : "c3c62c1259448726e4fed5ee5e7696969b460623",
                "name" : "origin/feat_truck_reverse_old"
              }
            ]
          },
          "revision" : {
            "SHA1" : "c3c62c1259448726e4fed5ee5e7696969b460623",
            "branch" : [
              {
                "SHA1" : "c3c62c1259448726e4fed5ee5e7696969b460623",
                "name" : "origin/feat_truck_reverse_old"
              }
            ]
          }
        },
        "origin/test_chongqing" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2098,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "67db1a9a49b520b3867908ded72f67324ab3d22f",
            "branch" : [
              {
                "SHA1" : "67db1a9a49b520b3867908ded72f67324ab3d22f",
                "name" : "origin/test_chongqing"
              }
            ]
          },
          "revision" : {
            "SHA1" : "67db1a9a49b520b3867908ded72f67324ab3d22f",
            "branch" : [
              {
                "SHA1" : "67db1a9a49b520b3867908ded72f67324ab3d22f",
                "name" : "origin/test_chongqing"
              }
            ]
          }
        },
        "origin/feat_safety_check_xl" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 517,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "eba85868178acebed483c2d7c3fcfcc2836073d4",
            "branch" : [
              {
                "SHA1" : "eba85868178acebed483c2d7c3fcfcc2836073d4",
                "name" : "origin/feat_safety_check_xl"
              }
            ]
          },
          "revision" : {
            "SHA1" : "eba85868178acebed483c2d7c3fcfcc2836073d4",
            "branch" : [
              {
                "SHA1" : "eba85868178acebed483c2d7c3fcfcc2836073d4",
                "name" : "origin/feat_safety_check_xl"
              }
            ]
          }
        },
        "origin/dev_log" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 92,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "7dfda59c1971723325dedb18473b9707099fc64f",
            "branch" : [
              {
                "SHA1" : "7dfda59c1971723325dedb18473b9707099fc64f",
                "name" : "origin/dev_log"
              }
            ]
          },
          "revision" : {
            "SHA1" : "7dfda59c1971723325dedb18473b9707099fc64f",
            "branch" : [
              {
                "SHA1" : "7dfda59c1971723325dedb18473b9707099fc64f",
                "name" : "origin/dev_log"
              }
            ]
          }
        },
        "origin/remote_control" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 106,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "f2659e2c7ebfe5acd5ce2af20af2985c13183208",
            "branch" : [
              {
                "SHA1" : "f2659e2c7ebfe5acd5ce2af20af2985c13183208",
                "name" : "origin/remote_control"
              }
            ]
          },
          "revision" : {
            "SHA1" : "f2659e2c7ebfe5acd5ce2af20af2985c13183208",
            "branch" : [
              {
                "SHA1" : "f2659e2c7ebfe5acd5ce2af20af2985c13183208",
                "name" : "origin/remote_control"
              }
            ]
          }
        },
        "origin/feat_xl_park" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 190,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "b328ff7f08dfeea96983be75d14da25ce62380b5",
            "branch" : [
              {
                "SHA1" : "b328ff7f08dfeea96983be75d14da25ce62380b5",
                "name" : "origin/feat_xl_park"
              }
            ]
          },
          "revision" : {
            "SHA1" : "b328ff7f08dfeea96983be75d14da25ce62380b5",
            "branch" : [
              {
                "SHA1" : "b328ff7f08dfeea96983be75d14da25ce62380b5",
                "name" : "origin/feat_xl_park"
              }
            ]
          }
        },
        "origin/dev" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 888,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "bd6730672469a4c0ff0d9e2de8c3e7dffec58f45",
            "branch" : [
              {
                "SHA1" : "bd6730672469a4c0ff0d9e2de8c3e7dffec58f45",
                "name" : "origin/dev"
              }
            ]
          },
          "revision" : {
            "SHA1" : "bd6730672469a4c0ff0d9e2de8c3e7dffec58f45",
            "branch" : [
              {
                "SHA1" : "bd6730672469a4c0ff0d9e2de8c3e7dffec58f45",
                "name" : "origin/dev"
              }
            ]
          }
        },
        "origin/feat_cargo_width" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1323,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "f0087f099cc51505e90abfe5eadc282c256aeb3d",
            "branch" : [
              {
                "SHA1" : "f0087f099cc51505e90abfe5eadc282c256aeb3d",
                "name" : "origin/feat_cargo_width"
              }
            ]
          },
          "revision" : {
            "SHA1" : "f0087f099cc51505e90abfe5eadc282c256aeb3d",
            "branch" : [
              {
                "SHA1" : "f0087f099cc51505e90abfe5eadc282c256aeb3d",
                "name" : "origin/feat_cargo_width"
              }
            ]
          }
        },
        "origin/feat-path" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 337,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "a9ed65d4cecf986ce0901c28f2bb2ade49e25316",
            "branch" : [
              {
                "SHA1" : "a9ed65d4cecf986ce0901c28f2bb2ade49e25316",
                "name" : "origin/feat-path"
              }
            ]
          },
          "revision" : {
            "SHA1" : "a9ed65d4cecf986ce0901c28f2bb2ade49e25316",
            "branch" : [
              {
                "SHA1" : "a9ed65d4cecf986ce0901c28f2bb2ade49e25316",
                "name" : "origin/feat-path"
              }
            ]
          }
        },
        "origin/tmp" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 364,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "343e9a939958ff74a579dbb08fa1f3dda8b14480",
            "branch" : [
              {
                "SHA1" : "343e9a939958ff74a579dbb08fa1f3dda8b14480",
                "name" : "origin/tmp"
              }
            ]
          },
          "revision" : {
            "SHA1" : "343e9a939958ff74a579dbb08fa1f3dda8b14480",
            "branch" : [
              {
                "SHA1" : "343e9a939958ff74a579dbb08fa1f3dda8b14480",
                "name" : "origin/tmp"
              }
            ]
          }
        },
        "origin/temp_hfsm" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 103,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "ddee85ec821243f9bd15fd2307b5e74763b61f78",
            "branch" : [
              {
                "SHA1" : "ddee85ec821243f9bd15fd2307b5e74763b61f78",
                "name" : "origin/temp_hfsm"
              }
            ]
          },
          "revision" : {
            "SHA1" : "ddee85ec821243f9bd15fd2307b5e74763b61f78",
            "branch" : [
              {
                "SHA1" : "ddee85ec821243f9bd15fd2307b5e74763b61f78",
                "name" : "origin/temp_hfsm"
              }
            ]
          }
        },
        "origin/feat_daxie_1" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1114,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "3ad7410fd050bad1ba844127c2ac1869c3b9e96e",
            "branch" : [
              {
                "SHA1" : "3ad7410fd050bad1ba844127c2ac1869c3b9e96e",
                "name" : "origin/feat_daxie_1"
              }
            ]
          },
          "revision" : {
            "SHA1" : "3ad7410fd050bad1ba844127c2ac1869c3b9e96e",
            "branch" : [
              {
                "SHA1" : "3ad7410fd050bad1ba844127c2ac1869c3b9e96e",
                "name" : "origin/feat_daxie_1"
              }
            ]
          }
        },
        "origin/feat_keb_offboard_html" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2130,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "f2008e75ef78e35e6a63d1c338ecb00f141d2769",
            "branch" : [
              {
                "SHA1" : "f2008e75ef78e35e6a63d1c338ecb00f141d2769",
                "name" : "origin/feat_keb_offboard_html"
              }
            ]
          },
          "revision" : {
            "SHA1" : "f2008e75ef78e35e6a63d1c338ecb00f141d2769",
            "branch" : [
              {
                "SHA1" : "f2008e75ef78e35e6a63d1c338ecb00f141d2769",
                "name" : "origin/feat_keb_offboard_html"
              }
            ]
          }
        },
        "origin/daxie_lane_change" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 705,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "c38300b97f751a000c01dac554ddc08079b115a5",
            "branch" : [
              {
                "SHA1" : "c38300b97f751a000c01dac554ddc08079b115a5",
                "name" : "origin/daxie_lane_change"
              }
            ]
          },
          "revision" : {
            "SHA1" : "c38300b97f751a000c01dac554ddc08079b115a5",
            "branch" : [
              {
                "SHA1" : "c38300b97f751a000c01dac554ddc08079b115a5",
                "name" : "origin/daxie_lane_change"
              }
            ]
          }
        },
        "origin/feat_qg_ssep" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 615,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "f6a4cff1ffa71f8fcb152307b12550b9beb14457",
            "branch" : [
              {
                "SHA1" : "f6a4cff1ffa71f8fcb152307b12550b9beb14457",
                "name" : "origin/feat_qg_ssep"
              }
            ]
          },
          "revision" : {
            "SHA1" : "f6a4cff1ffa71f8fcb152307b12550b9beb14457",
            "branch" : [
              {
                "SHA1" : "f6a4cff1ffa71f8fcb152307b12550b9beb14457",
                "name" : "origin/feat_qg_ssep"
              }
            ]
          }
        },
        "origin/feat_yp_LD" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1464,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "5096ef765bd12a34104c0eaface2ed4771e89c42",
            "branch" : [
              {
                "SHA1" : "5096ef765bd12a34104c0eaface2ed4771e89c42",
                "name" : "origin/feat_yp_LD"
              }
            ]
          },
          "revision" : {
            "SHA1" : "5096ef765bd12a34104c0eaface2ed4771e89c42",
            "branch" : [
              {
                "SHA1" : "5096ef765bd12a34104c0eaface2ed4771e89c42",
                "name" : "origin/feat_yp_LD"
              }
            ]
          }
        },
        "origin/feat_xilian_speed_limit" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 328,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "0880da9730cce8b9668b50ca9ea83254e6342878",
            "branch" : [
              {
                "SHA1" : "0880da9730cce8b9668b50ca9ea83254e6342878",
                "name" : "origin/feat_xilian_speed_limit"
              }
            ]
          },
          "revision" : {
            "SHA1" : "0880da9730cce8b9668b50ca9ea83254e6342878",
            "branch" : [
              {
                "SHA1" : "0880da9730cce8b9668b50ca9ea83254e6342878",
                "name" : "origin/feat_xilian_speed_limit"
              }
            ]
          }
        },
        "origin/test_movestep_safe" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1957,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "a9e7e536dc43036d73cdf31b265021a8721d55b6",
            "branch" : [
              {
                "SHA1" : "a9e7e536dc43036d73cdf31b265021a8721d55b6",
                "name" : "origin/test_movestep_safe"
              }
            ]
          },
          "revision" : {
            "SHA1" : "a9e7e536dc43036d73cdf31b265021a8721d55b6",
            "branch" : [
              {
                "SHA1" : "a9e7e536dc43036d73cdf31b265021a8721d55b6",
                "name" : "origin/test_movestep_safe"
              }
            ]
          }
        },
        "origin/feat_hdmap_dynamic_sidepass" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 387,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "42ac720f59648f1626e92b9897cf793e3f34f893",
            "branch" : [
              {
                "SHA1" : "42ac720f59648f1626e92b9897cf793e3f34f893",
                "name" : "origin/feat_hdmap_dynamic_sidepass"
              }
            ]
          },
          "revision" : {
            "SHA1" : "42ac720f59648f1626e92b9897cf793e3f34f893",
            "branch" : [
              {
                "SHA1" : "42ac720f59648f1626e92b9897cf793e3f34f893",
                "name" : "origin/feat_hdmap_dynamic_sidepass"
              }
            ]
          }
        },
        "origin/feat_seaside" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 855,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "32572e0a5cf080be0a5f9b0166321401a2c65b60",
            "branch" : [
              {
                "SHA1" : "32572e0a5cf080be0a5f9b0166321401a2c65b60",
                "name" : "origin/feat_seaside"
              }
            ]
          },
          "revision" : {
            "SHA1" : "32572e0a5cf080be0a5f9b0166321401a2c65b60",
            "branch" : [
              {
                "SHA1" : "32572e0a5cf080be0a5f9b0166321401a2c65b60",
                "name" : "origin/feat_seaside"
              }
            ]
          }
        },
        "origin/feat_remote" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1257,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "82b6c62336e681fa911b2f8b86cb34bbcf29642f",
            "branch" : [
              {
                "SHA1" : "82b6c62336e681fa911b2f8b86cb34bbcf29642f",
                "name" : "origin/feat_remote"
              }
            ]
          },
          "revision" : {
            "SHA1" : "82b6c62336e681fa911b2f8b86cb34bbcf29642f",
            "branch" : [
              {
                "SHA1" : "82b6c62336e681fa911b2f8b86cb34bbcf29642f",
                "name" : "origin/feat_remote"
              }
            ]
          }
        },
        "origin/feat_destination_type" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 135,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "b51cc7e3e3d9d3aa46f780b17d3a38e68a9d43b5",
            "branch" : [
              {
                "SHA1" : "b51cc7e3e3d9d3aa46f780b17d3a38e68a9d43b5",
                "name" : "origin/feat_destination_type"
              }
            ]
          },
          "revision" : {
            "SHA1" : "b51cc7e3e3d9d3aa46f780b17d3a38e68a9d43b5",
            "branch" : [
              {
                "SHA1" : "b51cc7e3e3d9d3aa46f780b17d3a38e68a9d43b5",
                "name" : "origin/feat_destination_type"
              }
            ]
          }
        },
        "origin/feat_new_lka" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 725,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "a5ddf2bf4bb5d3d6c0645f5dc27979824425bfbf",
            "branch" : [
              {
                "SHA1" : "a5ddf2bf4bb5d3d6c0645f5dc27979824425bfbf",
                "name" : "origin/feat_new_lka"
              }
            ]
          },
          "revision" : {
            "SHA1" : "a5ddf2bf4bb5d3d6c0645f5dc27979824425bfbf",
            "branch" : [
              {
                "SHA1" : "a5ddf2bf4bb5d3d6c0645f5dc27979824425bfbf",
                "name" : "origin/feat_new_lka"
              }
            ]
          }
        },
        "origin/feat_chassis_err" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 257,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "1b3a0efd43c6f5750340d80aad3f191373ddf48f",
            "branch" : [
              {
                "SHA1" : "1b3a0efd43c6f5750340d80aad3f191373ddf48f",
                "name" : "origin/feat_chassis_err"
              }
            ]
          },
          "revision" : {
            "SHA1" : "1b3a0efd43c6f5750340d80aad3f191373ddf48f",
            "branch" : [
              {
                "SHA1" : "1b3a0efd43c6f5750340d80aad3f191373ddf48f",
                "name" : "origin/feat_chassis_err"
              }
            ]
          }
        },
        "origin/feat_entrance" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1211,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "c7d55549d1fa29cc760a8efdb29a40e01d6d9147",
            "branch" : [
              {
                "SHA1" : "c7d55549d1fa29cc760a8efdb29a40e01d6d9147",
                "name" : "origin/feat_entrance"
              }
            ]
          },
          "revision" : {
            "SHA1" : "c7d55549d1fa29cc760a8efdb29a40e01d6d9147",
            "branch" : [
              {
                "SHA1" : "c7d55549d1fa29cc760a8efdb29a40e01d6d9147",
                "name" : "origin/feat_entrance"
              }
            ]
          }
        },
        "origin/feat_yangpu1" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1852,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "fcb1fdf1c53233f194b8e9f1689ec363d96b4305",
            "branch" : [
              {
                "SHA1" : "fcb1fdf1c53233f194b8e9f1689ec363d96b4305",
                "name" : "origin/feat_yangpu1"
              }
            ]
          },
          "revision" : {
            "SHA1" : "fcb1fdf1c53233f194b8e9f1689ec363d96b4305",
            "branch" : [
              {
                "SHA1" : "fcb1fdf1c53233f194b8e9f1689ec363d96b4305",
                "name" : "origin/feat_yangpu1"
              }
            ]
          }
        },
        "origin/cl_action_type" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 239,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "e6a438b106a2477add9de57f4f989471f7f9cbc3",
            "branch" : [
              {
                "SHA1" : "e6a438b106a2477add9de57f4f989471f7f9cbc3",
                "name" : "origin/cl_action_type"
              }
            ]
          },
          "revision" : {
            "SHA1" : "e6a438b106a2477add9de57f4f989471f7f9cbc3",
            "branch" : [
              {
                "SHA1" : "e6a438b106a2477add9de57f4f989471f7f9cbc3",
                "name" : "origin/cl_action_type"
              }
            ]
          }
        },
        "origin/feat_qg_LD" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1074,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "e57fe3ca793b6a61fc10de0c24e2ccf524d99813",
            "branch" : [
              {
                "SHA1" : "e57fe3ca793b6a61fc10de0c24e2ccf524d99813",
                "name" : "origin/feat_qg_LD"
              }
            ]
          },
          "revision" : {
            "SHA1" : "e57fe3ca793b6a61fc10de0c24e2ccf524d99813",
            "branch" : [
              {
                "SHA1" : "e57fe3ca793b6a61fc10de0c24e2ccf524d99813",
                "name" : "origin/feat_qg_LD"
              }
            ]
          }
        },
        "origin/feat_bulk_target" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 380,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "0c20e4b451ce1fc8c5e1601a83aa468afcc7c3d0",
            "branch" : [
              {
                "SHA1" : "0c20e4b451ce1fc8c5e1601a83aa468afcc7c3d0",
                "name" : "origin/feat_bulk_target"
              }
            ]
          },
          "revision" : {
            "SHA1" : "0c20e4b451ce1fc8c5e1601a83aa468afcc7c3d0",
            "branch" : [
              {
                "SHA1" : "0c20e4b451ce1fc8c5e1601a83aa468afcc7c3d0",
                "name" : "origin/feat_bulk_target"
              }
            ]
          }
        },
        "origin/feat_truck_reverse_tmp" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 711,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "a1c5943493421474ff3e42146b128ba57c28b486",
            "branch" : [
              {
                "SHA1" : "a1c5943493421474ff3e42146b128ba57c28b486",
                "name" : "origin/feat_truck_reverse_tmp"
              }
            ]
          },
          "revision" : {
            "SHA1" : "a1c5943493421474ff3e42146b128ba57c28b486",
            "branch" : [
              {
                "SHA1" : "a1c5943493421474ff3e42146b128ba57c28b486",
                "name" : "origin/feat_truck_reverse_tmp"
              }
            ]
          }
        },
        "origin/feat_pnc_target" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 672,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "1a53d5a00fd45c684e78b66d519f642beee50fb7",
            "branch" : [
              {
                "SHA1" : "1a53d5a00fd45c684e78b66d519f642beee50fb7",
                "name" : "origin/feat_pnc_target"
              }
            ]
          },
          "revision" : {
            "SHA1" : "1a53d5a00fd45c684e78b66d519f642beee50fb7",
            "branch" : [
              {
                "SHA1" : "1a53d5a00fd45c684e78b66d519f642beee50fb7",
                "name" : "origin/feat_pnc_target"
              }
            ]
          }
        },
        "origin/feat_task" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2030,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "dbfe05f83bac1eb0159e06d9a0382522d3afa3d0",
            "branch" : [
              {
                "SHA1" : "dbfe05f83bac1eb0159e06d9a0382522d3afa3d0",
                "name" : "origin/feat_task"
              }
            ]
          },
          "revision" : {
            "SHA1" : "dbfe05f83bac1eb0159e06d9a0382522d3afa3d0",
            "branch" : [
              {
                "SHA1" : "dbfe05f83bac1eb0159e06d9a0382522d3afa3d0",
                "name" : "origin/feat_task"
              }
            ]
          }
        },
        "origin/feat_ssep_wbca_2" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 869,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "031678cb50ea58b10b2d14e027c86a97487b8a20",
            "branch" : [
              {
                "SHA1" : "031678cb50ea58b10b2d14e027c86a97487b8a20",
                "name" : "origin/feat_ssep_wbca_2"
              }
            ]
          },
          "revision" : {
            "SHA1" : "031678cb50ea58b10b2d14e027c86a97487b8a20",
            "branch" : [
              {
                "SHA1" : "031678cb50ea58b10b2d14e027c86a97487b8a20",
                "name" : "origin/feat_ssep_wbca_2"
              }
            ]
          }
        },
        "origin/feat_target" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 812,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "a713ad7789ccfa7445b4d39ed2eea3948aa5cd31",
            "branch" : [
              {
                "SHA1" : "a713ad7789ccfa7445b4d39ed2eea3948aa5cd31",
                "name" : "origin/feat_target"
              }
            ]
          },
          "revision" : {
            "SHA1" : "a713ad7789ccfa7445b4d39ed2eea3948aa5cd31",
            "branch" : [
              {
                "SHA1" : "a713ad7789ccfa7445b4d39ed2eea3948aa5cd31",
                "name" : "origin/feat_target"
              }
            ]
          }
        },
        "origin/feat_qianggang_refactor_base" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1347,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "85b0e015f22a97ba8a1152c12fed667f3f594ac4",
            "branch" : [
              {
                "SHA1" : "85b0e015f22a97ba8a1152c12fed667f3f594ac4",
                "name" : "origin/feat_qianggang_refactor_base"
              }
            ]
          },
          "revision" : {
            "SHA1" : "85b0e015f22a97ba8a1152c12fed667f3f594ac4",
            "branch" : [
              {
                "SHA1" : "85b0e015f22a97ba8a1152c12fed667f3f594ac4",
                "name" : "origin/feat_qianggang_refactor_base"
              }
            ]
          }
        },
        "origin/feat_align" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 424,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "ebbef1a1b30c3bae3cbffdcfbdf64dc7fe22a736",
            "branch" : [
              {
                "SHA1" : "ebbef1a1b30c3bae3cbffdcfbdf64dc7fe22a736",
                "name" : "origin/feat_align"
              }
            ]
          },
          "revision" : {
            "SHA1" : "ebbef1a1b30c3bae3cbffdcfbdf64dc7fe22a736",
            "branch" : [
              {
                "SHA1" : "ebbef1a1b30c3bae3cbffdcfbdf64dc7fe22a736",
                "name" : "origin/feat_align"
              }
            ]
          }
        },
        "origin/feat_below_plane_test" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 801,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "5c08d2adecb053192a885f7a03148f9254fe0db9",
            "branch" : [
              {
                "SHA1" : "5c08d2adecb053192a885f7a03148f9254fe0db9",
                "name" : "origin/feat_below_plane_test"
              }
            ]
          },
          "revision" : {
            "SHA1" : "5c08d2adecb053192a885f7a03148f9254fe0db9",
            "branch" : [
              {
                "SHA1" : "5c08d2adecb053192a885f7a03148f9254fe0db9",
                "name" : "origin/feat_below_plane_test"
              }
            ]
          }
        },
        "origin/feat_trajectory" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2011,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "779b6d5d34b3277c91752798ba87f7f422e9db60",
            "branch" : [
              {
                "SHA1" : "779b6d5d34b3277c91752798ba87f7f422e9db60",
                "name" : "origin/feat_trajectory"
              }
            ]
          },
          "revision" : {
            "SHA1" : "779b6d5d34b3277c91752798ba87f7f422e9db60",
            "branch" : [
              {
                "SHA1" : "779b6d5d34b3277c91752798ba87f7f422e9db60",
                "name" : "origin/feat_trajectory"
              }
            ]
          }
        },
        "origin/feat_below_plane" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 821,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "4b71eab7a509abe41326ffcf34f7fa8b9c6e5171",
            "branch" : [
              {
                "SHA1" : "4b71eab7a509abe41326ffcf34f7fa8b9c6e5171",
                "name" : "origin/feat_below_plane"
              }
            ]
          },
          "revision" : {
            "SHA1" : "4b71eab7a509abe41326ffcf34f7fa8b9c6e5171",
            "branch" : [
              {
                "SHA1" : "4b71eab7a509abe41326ffcf34f7fa8b9c6e5171",
                "name" : "origin/feat_below_plane"
              }
            ]
          }
        },
        "origin/feat_ros2_raw" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2069,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "d5c2906f9643bbd187a340e0c7d97ab36c06f008",
            "branch" : [
              {
                "SHA1" : "d5c2906f9643bbd187a340e0c7d97ab36c06f008",
                "name" : "origin/feat_ros2_raw"
              }
            ]
          },
          "revision" : {
            "SHA1" : "d5c2906f9643bbd187a340e0c7d97ab36c06f008",
            "branch" : [
              {
                "SHA1" : "d5c2906f9643bbd187a340e0c7d97ab36c06f008",
                "name" : "origin/feat_ros2_raw"
              }
            ]
          }
        },
        "origin/feat_error_2" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1702,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "dc5ce83a9372df1190690218ce64fd1058bcc3f3",
            "branch" : [
              {
                "SHA1" : "dc5ce83a9372df1190690218ce64fd1058bcc3f3",
                "name" : "origin/feat_error_2"
              }
            ]
          },
          "revision" : {
            "SHA1" : "dc5ce83a9372df1190690218ce64fd1058bcc3f3",
            "branch" : [
              {
                "SHA1" : "dc5ce83a9372df1190690218ce64fd1058bcc3f3",
                "name" : "origin/feat_error_2"
              }
            ]
          }
        },
        "origin/feat_RVM_expanding" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 57,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "6c5ba460a973c6efb925c1b8ac0c0c66ae67382d",
            "branch" : [
              {
                "SHA1" : "6c5ba460a973c6efb925c1b8ac0c0c66ae67382d",
                "name" : "origin/feat_RVM_expanding"
              }
            ]
          },
          "revision" : {
            "SHA1" : "6c5ba460a973c6efb925c1b8ac0c0c66ae67382d",
            "branch" : [
              {
                "SHA1" : "6c5ba460a973c6efb925c1b8ac0c0c66ae67382d",
                "name" : "origin/feat_RVM_expanding"
              }
            ]
          }
        },
        "origin/feat_xilian" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1786,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "d97fcd10176d05afcd939eb6c9b52410b911ec04",
            "branch" : [
              {
                "SHA1" : "d97fcd10176d05afcd939eb6c9b52410b911ec04",
                "name" : "origin/feat_xilian"
              }
            ]
          },
          "revision" : {
            "SHA1" : "d97fcd10176d05afcd939eb6c9b52410b911ec04",
            "branch" : [
              {
                "SHA1" : "d97fcd10176d05afcd939eb6c9b52410b911ec04",
                "name" : "origin/feat_xilian"
              }
            ]
          }
        },
        "origin/feat_remote_open_space" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1223,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "890fc6e47593fa42eabdbfd10df1090d3e21670d",
            "branch" : [
              {
                "SHA1" : "890fc6e47593fa42eabdbfd10df1090d3e21670d",
                "name" : "origin/feat_remote_open_space"
              }
            ]
          },
          "revision" : {
            "SHA1" : "890fc6e47593fa42eabdbfd10df1090d3e21670d",
            "branch" : [
              {
                "SHA1" : "890fc6e47593fa42eabdbfd10df1090d3e21670d",
                "name" : "origin/feat_remote_open_space"
              }
            ]
          }
        },
        "origin/fix_creep" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 298,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "40037b22796a0a57a1a9532f8dee6f81a1dea48c",
            "branch" : [
              {
                "SHA1" : "40037b22796a0a57a1a9532f8dee6f81a1dea48c",
                "name" : "origin/fix_creep"
              }
            ]
          },
          "revision" : {
            "SHA1" : "40037b22796a0a57a1a9532f8dee6f81a1dea48c",
            "branch" : [
              {
                "SHA1" : "40037b22796a0a57a1a9532f8dee6f81a1dea48c",
                "name" : "origin/fix_creep"
              }
            ]
          }
        },
        "origin/devel_ex_obj" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 161,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "784da86120c574a6c6eadaf2a1363b0bdd7ddd85",
            "branch" : [
              {
                "SHA1" : "784da86120c574a6c6eadaf2a1363b0bdd7ddd85",
                "name" : "origin/devel_ex_obj"
              }
            ]
          },
          "revision" : {
            "SHA1" : "784da86120c574a6c6eadaf2a1363b0bdd7ddd85",
            "branch" : [
              {
                "SHA1" : "784da86120c574a6c6eadaf2a1363b0bdd7ddd85",
                "name" : "origin/devel_ex_obj"
              }
            ]
          }
        },
        "origin/feat_trajectory_daxie" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1726,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "97510c1a0394a537514724012f825fff6cf0f49e",
            "branch" : [
              {
                "SHA1" : "97510c1a0394a537514724012f825fff6cf0f49e",
                "name" : "origin/feat_trajectory_daxie"
              }
            ]
          },
          "revision" : {
            "SHA1" : "97510c1a0394a537514724012f825fff6cf0f49e",
            "branch" : [
              {
                "SHA1" : "97510c1a0394a537514724012f825fff6cf0f49e",
                "name" : "origin/feat_trajectory_daxie"
              }
            ]
          }
        },
        "origin/feat_wbca_qp_search" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 664,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "a4f845451bbc421516777aa6574936377cfe8d52",
            "branch" : [
              {
                "SHA1" : "a4f845451bbc421516777aa6574936377cfe8d52",
                "name" : "origin/feat_wbca_qp_search"
              }
            ]
          },
          "revision" : {
            "SHA1" : "a4f845451bbc421516777aa6574936377cfe8d52",
            "branch" : [
              {
                "SHA1" : "a4f845451bbc421516777aa6574936377cfe8d52",
                "name" : "origin/feat_wbca_qp_search"
              }
            ]
          }
        },
        "origin/feat_new_lka_v2" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 798,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "72c21aeb73707ea3f17e9ad2a4180f5b6643bfdc",
            "branch" : [
              {
                "SHA1" : "72c21aeb73707ea3f17e9ad2a4180f5b6643bfdc",
                "name" : "origin/feat_new_lka_v2"
              }
            ]
          },
          "revision" : {
            "SHA1" : "72c21aeb73707ea3f17e9ad2a4180f5b6643bfdc",
            "branch" : [
              {
                "SHA1" : "72c21aeb73707ea3f17e9ad2a4180f5b6643bfdc",
                "name" : "origin/feat_new_lka_v2"
              }
            ]
          }
        },
        "origin/feat_youyiguan" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1397,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "110f4bfd572e283acf213ad889de68e09a12e780",
            "branch" : [
              {
                "SHA1" : "110f4bfd572e283acf213ad889de68e09a12e780",
                "name" : "origin/feat_youyiguan"
              }
            ]
          },
          "revision" : {
            "SHA1" : "110f4bfd572e283acf213ad889de68e09a12e780",
            "branch" : [
              {
                "SHA1" : "110f4bfd572e283acf213ad889de68e09a12e780",
                "name" : "origin/feat_youyiguan"
              }
            ]
          }
        },
        "origin/feat_daxie_proto" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2222,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "d4013a8e5940de224a881a679d0ed1389e75b1a7",
            "branch" : [
              {
                "SHA1" : "d4013a8e5940de224a881a679d0ed1389e75b1a7",
                "name" : "origin/feat_daxie_proto"
              }
            ]
          },
          "revision" : {
            "SHA1" : "d4013a8e5940de224a881a679d0ed1389e75b1a7",
            "branch" : [
              {
                "SHA1" : "d4013a8e5940de224a881a679d0ed1389e75b1a7",
                "name" : "origin/feat_daxie_proto"
              }
            ]
          }
        },
        "origin/tmp_LD4_snapshot" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 124,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "726604b957bcad12703a6eee4ae7a0acbf96ae28",
            "branch" : [
              {
                "SHA1" : "726604b957bcad12703a6eee4ae7a0acbf96ae28",
                "name" : "origin/tmp_LD4_snapshot"
              }
            ]
          },
          "revision" : {
            "SHA1" : "726604b957bcad12703a6eee4ae7a0acbf96ae28",
            "branch" : [
              {
                "SHA1" : "726604b957bcad12703a6eee4ae7a0acbf96ae28",
                "name" : "origin/tmp_LD4_snapshot"
              }
            ]
          }
        },
        "origin/test_pedestrian_alarm" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1909,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "79cd4db36725f9448b1958bbd064348b81c5045b",
            "branch" : [
              {
                "SHA1" : "79cd4db36725f9448b1958bbd064348b81c5045b",
                "name" : "origin/test_pedestrian_alarm"
              }
            ]
          },
          "revision" : {
            "SHA1" : "79cd4db36725f9448b1958bbd064348b81c5045b",
            "branch" : [
              {
                "SHA1" : "79cd4db36725f9448b1958bbd064348b81c5045b",
                "name" : "origin/test_pedestrian_alarm"
              }
            ]
          }
        },
        "origin/feat_sq_LD" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1450,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "f5b7dfe8a9ee3b369eca07ed87fafb8f866ec2a4",
            "branch" : [
              {
                "SHA1" : "f5b7dfe8a9ee3b369eca07ed87fafb8f866ec2a4",
                "name" : "origin/feat_sq_LD"
              }
            ]
          },
          "revision" : {
            "SHA1" : "f5b7dfe8a9ee3b369eca07ed87fafb8f866ec2a4",
            "branch" : [
              {
                "SHA1" : "f5b7dfe8a9ee3b369eca07ed87fafb8f866ec2a4",
                "name" : "origin/feat_sq_LD"
              }
            ]
          }
        },
        "origin/feat_sidepass_decider" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2092,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "5e850185f8ec461f7475603e6a0859aeb500a014",
            "branch" : [
              {
                "SHA1" : "5e850185f8ec461f7475603e6a0859aeb500a014",
                "name" : "origin/feat_sidepass_decider"
              }
            ]
          },
          "revision" : {
            "SHA1" : "5e850185f8ec461f7475603e6a0859aeb500a014",
            "branch" : [
              {
                "SHA1" : "5e850185f8ec461f7475603e6a0859aeb500a014",
                "name" : "origin/feat_sidepass_decider"
              }
            ]
          }
        },
        "origin/feat_block" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 331,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "2bd196c123c11d415e32023df4f795f28a62e2db",
            "branch" : [
              {
                "SHA1" : "2bd196c123c11d415e32023df4f795f28a62e2db",
                "name" : "origin/feat_block"
              }
            ]
          },
          "revision" : {
            "SHA1" : "2bd196c123c11d415e32023df4f795f28a62e2db",
            "branch" : [
              {
                "SHA1" : "2bd196c123c11d415e32023df4f795f28a62e2db",
                "name" : "origin/feat_block"
              }
            ]
          }
        },
        "origin/feat_bend_decider" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 150,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "a723f7f5bcc15bc8b355c7460f5023308b438b98",
            "branch" : [
              {
                "SHA1" : "a723f7f5bcc15bc8b355c7460f5023308b438b98",
                "name" : "origin/feat_bend_decider"
              }
            ]
          },
          "revision" : {
            "SHA1" : "a723f7f5bcc15bc8b355c7460f5023308b438b98",
            "branch" : [
              {
                "SHA1" : "a723f7f5bcc15bc8b355c7460f5023308b438b98",
                "name" : "origin/feat_bend_decider"
              }
            ]
          }
        },
        "origin/feat_lattice_ref_speed" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2214,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "fa74f4a64331610962fd2e977d19997a919b46a8",
            "branch" : [
              {
                "SHA1" : "fa74f4a64331610962fd2e977d19997a919b46a8",
                "name" : "origin/feat_lattice_ref_speed"
              }
            ]
          },
          "revision" : {
            "SHA1" : "fa74f4a64331610962fd2e977d19997a919b46a8",
            "branch" : [
              {
                "SHA1" : "fa74f4a64331610962fd2e977d19997a919b46a8",
                "name" : "origin/feat_lattice_ref_speed"
              }
            ]
          }
        },
        "origin/feat_wbca" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 826,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "54df14224af0595694e9cbb8bf44e084f28e8a3f",
            "branch" : [
              {
                "SHA1" : "54df14224af0595694e9cbb8bf44e084f28e8a3f",
                "name" : "origin/feat_wbca"
              }
            ]
          },
          "revision" : {
            "SHA1" : "54df14224af0595694e9cbb8bf44e084f28e8a3f",
            "branch" : [
              {
                "SHA1" : "54df14224af0595694e9cbb8bf44e084f28e8a3f",
                "name" : "origin/feat_wbca"
              }
            ]
          }
        },
        "origin/feat_qg_speed_up" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1253,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "b0b5b8e15daf690eea56c5e9ca9ffcbf663c5868",
            "branch" : [
              {
                "SHA1" : "b0b5b8e15daf690eea56c5e9ca9ffcbf663c5868",
                "name" : "origin/feat_qg_speed_up"
              }
            ]
          },
          "revision" : {
            "SHA1" : "b0b5b8e15daf690eea56c5e9ca9ffcbf663c5868",
            "branch" : [
              {
                "SHA1" : "b0b5b8e15daf690eea56c5e9ca9ffcbf663c5868",
                "name" : "origin/feat_qg_speed_up"
              }
            ]
          }
        },
        "origin/feat_hfsm_direction" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 126,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "b868d7ee8d7704e71abb1bdcb62055b3c100abca",
            "branch" : [
              {
                "SHA1" : "b868d7ee8d7704e71abb1bdcb62055b3c100abca",
                "name" : "origin/feat_hfsm_direction"
              }
            ]
          },
          "revision" : {
            "SHA1" : "b868d7ee8d7704e71abb1bdcb62055b3c100abca",
            "branch" : [
              {
                "SHA1" : "b868d7ee8d7704e71abb1bdcb62055b3c100abca",
                "name" : "origin/feat_hfsm_direction"
              }
            ]
          }
        },
        "origin/feat_trajectory_qiangang" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1832,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "3c014a88a977f1fa72e9a25de08998423c6d4633",
            "branch" : [
              {
                "SHA1" : "3c014a88a977f1fa72e9a25de08998423c6d4633",
                "name" : "origin/feat_trajectory_qiangang"
              }
            ]
          },
          "revision" : {
            "SHA1" : "3c014a88a977f1fa72e9a25de08998423c6d4633",
            "branch" : [
              {
                "SHA1" : "3c014a88a977f1fa72e9a25de08998423c6d4633",
                "name" : "origin/feat_trajectory_qiangang"
              }
            ]
          }
        },
        "origin/fix_action_type" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 260,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "2a0f28492aeed5bc862a8d6f6c02f7b07e5d4248",
            "branch" : [
              {
                "SHA1" : "2a0f28492aeed5bc862a8d6f6c02f7b07e5d4248",
                "name" : "origin/fix_action_type"
              }
            ]
          },
          "revision" : {
            "SHA1" : "2a0f28492aeed5bc862a8d6f6c02f7b07e5d4248",
            "branch" : [
              {
                "SHA1" : "2a0f28492aeed5bc862a8d6f6c02f7b07e5d4248",
                "name" : "origin/fix_action_type"
              }
            ]
          }
        },
        "origin/feat_ssep_imv_enter_station" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1122,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "2282c6f06407cbfb5d8ef37f429013e6637ef2d4",
            "branch" : [
              {
                "SHA1" : "2282c6f06407cbfb5d8ef37f429013e6637ef2d4",
                "name" : "origin/feat_ssep_imv_enter_station"
              }
            ]
          },
          "revision" : {
            "SHA1" : "2282c6f06407cbfb5d8ef37f429013e6637ef2d4",
            "branch" : [
              {
                "SHA1" : "2282c6f06407cbfb5d8ef37f429013e6637ef2d4",
                "name" : "origin/feat_ssep_imv_enter_station"
              }
            ]
          }
        },
        "origin/feat_boundary_type" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 326,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "1a4a5729ae509db04578d9bae14c96c86988bd04",
            "branch" : [
              {
                "SHA1" : "1a4a5729ae509db04578d9bae14c96c86988bd04",
                "name" : "origin/feat_boundary_type"
              }
            ]
          },
          "revision" : {
            "SHA1" : "1a4a5729ae509db04578d9bae14c96c86988bd04",
            "branch" : [
              {
                "SHA1" : "1a4a5729ae509db04578d9bae14c96c86988bd04",
                "name" : "origin/feat_boundary_type"
              }
            ]
          }
        },
        "origin/feat_wbca_truck_dp" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 594,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "2a2a8d71f190459fe1ad30bef5c2cce424ed05b6",
            "branch" : [
              {
                "SHA1" : "2a2a8d71f190459fe1ad30bef5c2cce424ed05b6",
                "name" : "origin/feat_wbca_truck_dp"
              }
            ]
          },
          "revision" : {
            "SHA1" : "2a2a8d71f190459fe1ad30bef5c2cce424ed05b6",
            "branch" : [
              {
                "SHA1" : "2a2a8d71f190459fe1ad30bef5c2cce424ed05b6",
                "name" : "origin/feat_wbca_truck_dp"
              }
            ]
          }
        },
        "origin/feat_taiyang" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1771,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "2481bf3bbb2d9ac0e03d6e3360bf006b8eee72c5",
            "branch" : [
              {
                "SHA1" : "2481bf3bbb2d9ac0e03d6e3360bf006b8eee72c5",
                "name" : "origin/feat_taiyang"
              }
            ]
          },
          "revision" : {
            "SHA1" : "2481bf3bbb2d9ac0e03d6e3360bf006b8eee72c5",
            "branch" : [
              {
                "SHA1" : "2481bf3bbb2d9ac0e03d6e3360bf006b8eee72c5",
                "name" : "origin/feat_taiyang"
              }
            ]
          }
        },
        "origin/feat_clear_area" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1561,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "ec60685af092a1b9c7e92fccd81fa260c92c5fa3",
            "branch" : [
              {
                "SHA1" : "ec60685af092a1b9c7e92fccd81fa260c92c5fa3",
                "name" : "origin/feat_clear_area"
              }
            ]
          },
          "revision" : {
            "SHA1" : "ec60685af092a1b9c7e92fccd81fa260c92c5fa3",
            "branch" : [
              {
                "SHA1" : "ec60685af092a1b9c7e92fccd81fa260c92c5fa3",
                "name" : "origin/feat_clear_area"
              }
            ]
          }
        },
        "origin/feat_daxie_proto_old" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2221,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "b14ea17bdfc87648c930c6c959699a203885539e",
            "branch" : [
              {
                "SHA1" : "b14ea17bdfc87648c930c6c959699a203885539e",
                "name" : "origin/feat_daxie_proto_old"
              }
            ]
          },
          "revision" : {
            "SHA1" : "b14ea17bdfc87648c930c6c959699a203885539e",
            "branch" : [
              {
                "SHA1" : "b14ea17bdfc87648c930c6c959699a203885539e",
                "name" : "origin/feat_daxie_proto_old"
              }
            ]
          }
        },
        "origin/feat_block_data" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1258,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "e4b53590f63add07d6ac719a8faa70eafb610f6c",
            "branch" : [
              {
                "SHA1" : "e4b53590f63add07d6ac719a8faa70eafb610f6c",
                "name" : "origin/feat_block_data"
              }
            ]
          },
          "revision" : {
            "SHA1" : "e4b53590f63add07d6ac719a8faa70eafb610f6c",
            "branch" : [
              {
                "SHA1" : "e4b53590f63add07d6ac719a8faa70eafb610f6c",
                "name" : "origin/feat_block_data"
              }
            ]
          }
        },
        "origin/feat_hairun" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1962,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "d72976ffcf1198dc889eebc4158ede7ff7a4b7e3",
            "branch" : [
              {
                "SHA1" : "d72976ffcf1198dc889eebc4158ede7ff7a4b7e3",
                "name" : "origin/feat_hairun"
              }
            ]
          },
          "revision" : {
            "SHA1" : "d72976ffcf1198dc889eebc4158ede7ff7a4b7e3",
            "branch" : [
              {
                "SHA1" : "d72976ffcf1198dc889eebc4158ede7ff7a4b7e3",
                "name" : "origin/feat_hairun"
              }
            ]
          }
        },
        "origin/feat_dynamic_hd_map" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 382,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "d979069f193b3278b4bf5456cb737987424a7075",
            "branch" : [
              {
                "SHA1" : "d979069f193b3278b4bf5456cb737987424a7075",
                "name" : "origin/feat_dynamic_hd_map"
              }
            ]
          },
          "revision" : {
            "SHA1" : "d979069f193b3278b4bf5456cb737987424a7075",
            "branch" : [
              {
                "SHA1" : "d979069f193b3278b4bf5456cb737987424a7075",
                "name" : "origin/feat_dynamic_hd_map"
              }
            ]
          }
        },
        "origin/feat_qiangang" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1756,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "aecf87a4b918714c30dc044500750f6fa06503db",
            "branch" : [
              {
                "SHA1" : "aecf87a4b918714c30dc044500750f6fa06503db",
                "name" : "origin/feat_qiangang"
              }
            ]
          },
          "revision" : {
            "SHA1" : "aecf87a4b918714c30dc044500750f6fa06503db",
            "branch" : [
              {
                "SHA1" : "aecf87a4b918714c30dc044500750f6fa06503db",
                "name" : "origin/feat_qiangang"
              }
            ]
          }
        },
        "origin/feat_straddle_v2" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1951,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "aa5f11053bb9e7f5934ae5fc73f0c52f703b4583",
            "branch" : [
              {
                "SHA1" : "aa5f11053bb9e7f5934ae5fc73f0c52f703b4583",
                "name" : "origin/feat_straddle_v2"
              }
            ]
          },
          "revision" : {
            "SHA1" : "aa5f11053bb9e7f5934ae5fc73f0c52f703b4583",
            "branch" : [
              {
                "SHA1" : "aa5f11053bb9e7f5934ae5fc73f0c52f703b4583",
                "name" : "origin/feat_straddle_v2"
              }
            ]
          }
        },
        "refs/remotes/origin/tangwenqing/ssep-improve-latency" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 738,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "520fbf85a0b49395abf72d0cbe1c7457c23e0743",
            "branch" : [
              {
                "SHA1" : "520fbf85a0b49395abf72d0cbe1c7457c23e0743",
                "name" : "refs/remotes/origin/tangwenqing/ssep-improve-latency"
              }
            ]
          },
          "revision" : {
            "SHA1" : "520fbf85a0b49395abf72d0cbe1c7457c23e0743",
            "branch" : [
              {
                "SHA1" : "520fbf85a0b49395abf72d0cbe1c7457c23e0743",
                "name" : "refs/remotes/origin/tangwenqing/ssep-improve-latency"
              }
            ]
          }
        },
        "origin/feat_traffic" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1348,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "65d8f7ddfa0eeffffdbfc3fd27e9651adf92796c",
            "branch" : [
              {
                "SHA1" : "65d8f7ddfa0eeffffdbfc3fd27e9651adf92796c",
                "name" : "origin/feat_traffic"
              }
            ]
          },
          "revision" : {
            "SHA1" : "65d8f7ddfa0eeffffdbfc3fd27e9651adf92796c",
            "branch" : [
              {
                "SHA1" : "65d8f7ddfa0eeffffdbfc3fd27e9651adf92796c",
                "name" : "origin/feat_traffic"
              }
            ]
          }
        },
        "origin/fix_deadlock_restart" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1925,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "587046e144b1050a05158d807de24b47911d0e60",
            "branch" : [
              {
                "SHA1" : "587046e144b1050a05158d807de24b47911d0e60",
                "name" : "origin/fix_deadlock_restart"
              }
            ]
          },
          "revision" : {
            "SHA1" : "587046e144b1050a05158d807de24b47911d0e60",
            "branch" : [
              {
                "SHA1" : "587046e144b1050a05158d807de24b47911d0e60",
                "name" : "origin/fix_deadlock_restart"
              }
            ]
          }
        },
        "origin/feat_truck_bulk" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 667,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "e6f4362ba18bbaa85f57f5aa474137f7dc879165",
            "branch" : [
              {
                "SHA1" : "e6f4362ba18bbaa85f57f5aa474137f7dc879165",
                "name" : "origin/feat_truck_bulk"
              }
            ]
          },
          "revision" : {
            "SHA1" : "e6f4362ba18bbaa85f57f5aa474137f7dc879165",
            "branch" : [
              {
                "SHA1" : "e6f4362ba18bbaa85f57f5aa474137f7dc879165",
                "name" : "origin/feat_truck_bulk"
              }
            ]
          }
        },
        "origin/feat_qiangang_refactor" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1369,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "34ae0342b5807fc123efc3c6f60c40051b4c790b",
            "branch" : [
              {
                "SHA1" : "34ae0342b5807fc123efc3c6f60c40051b4c790b",
                "name" : "origin/feat_qiangang_refactor"
              }
            ]
          },
          "revision" : {
            "SHA1" : "34ae0342b5807fc123efc3c6f60c40051b4c790b",
            "branch" : [
              {
                "SHA1" : "34ae0342b5807fc123efc3c6f60c40051b4c790b",
                "name" : "origin/feat_qiangang_refactor"
              }
            ]
          }
        },
        "origin/feat_sq_LD_test" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1514,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "6255cb9d52b61dded26f200866c3300e49fd5424",
            "branch" : [
              {
                "SHA1" : "6255cb9d52b61dded26f200866c3300e49fd5424",
                "name" : "origin/feat_sq_LD_test"
              }
            ]
          },
          "revision" : {
            "SHA1" : "6255cb9d52b61dded26f200866c3300e49fd5424",
            "branch" : [
              {
                "SHA1" : "6255cb9d52b61dded26f200866c3300e49fd5424",
                "name" : "origin/feat_sq_LD_test"
              }
            ]
          }
        },
        "origin/feat_guide_line_lane_change" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 747,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "06bac4dbce1e7b82a7efc46cc23444dd23328d1d",
            "branch" : [
              {
                "SHA1" : "06bac4dbce1e7b82a7efc46cc23444dd23328d1d",
                "name" : "origin/feat_guide_line_lane_change"
              }
            ]
          },
          "revision" : {
            "SHA1" : "06bac4dbce1e7b82a7efc46cc23444dd23328d1d",
            "branch" : [
              {
                "SHA1" : "06bac4dbce1e7b82a7efc46cc23444dd23328d1d",
                "name" : "origin/feat_guide_line_lane_change"
              }
            ]
          }
        },
        "origin/feat_wh_trailer" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2061,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "84f69b576855adcc7054f1dbe0b4cb63279f60c6",
            "branch" : [
              {
                "SHA1" : "84f69b576855adcc7054f1dbe0b4cb63279f60c6",
                "name" : "origin/feat_wh_trailer"
              }
            ]
          },
          "revision" : {
            "SHA1" : "84f69b576855adcc7054f1dbe0b4cb63279f60c6",
            "branch" : [
              {
                "SHA1" : "84f69b576855adcc7054f1dbe0b4cb63279f60c6",
                "name" : "origin/feat_wh_trailer"
              }
            ]
          }
        },
        "origin/feat_trajectory_weihai" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1882,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "0be2c6867114557a6eacfb0078192153c83c83a5",
            "branch" : [
              {
                "SHA1" : "0be2c6867114557a6eacfb0078192153c83c83a5",
                "name" : "origin/feat_trajectory_weihai"
              }
            ]
          },
          "revision" : {
            "SHA1" : "0be2c6867114557a6eacfb0078192153c83c83a5",
            "branch" : [
              {
                "SHA1" : "0be2c6867114557a6eacfb0078192153c83c83a5",
                "name" : "origin/feat_trajectory_weihai"
              }
            ]
          }
        },
        "origin/feat_proto_jinxi" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2139,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "a9134bdaec29e5e572101316101ffe33eb3ab13a",
            "branch" : [
              {
                "SHA1" : "a9134bdaec29e5e572101316101ffe33eb3ab13a",
                "name" : "origin/feat_proto_jinxi"
              }
            ]
          },
          "revision" : {
            "SHA1" : "a9134bdaec29e5e572101316101ffe33eb3ab13a",
            "branch" : [
              {
                "SHA1" : "a9134bdaec29e5e572101316101ffe33eb3ab13a",
                "name" : "origin/feat_proto_jinxi"
              }
            ]
          }
        },
        "origin/feat_weifang_aacreep" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2207,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "f8251325d689e6f390ebf004bdc8475a80c88235",
            "branch" : [
              {
                "SHA1" : "f8251325d689e6f390ebf004bdc8475a80c88235",
                "name" : "origin/feat_weifang_aacreep"
              }
            ]
          },
          "revision" : {
            "SHA1" : "f8251325d689e6f390ebf004bdc8475a80c88235",
            "branch" : [
              {
                "SHA1" : "f8251325d689e6f390ebf004bdc8475a80c88235",
                "name" : "origin/feat_weifang_aacreep"
              }
            ]
          }
        },
        "origin/feat_ros2_platoon_mpc" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2084,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "0d27b36cc302441a7459936d3fbfd470973ec750",
            "branch" : [
              {
                "SHA1" : "0d27b36cc302441a7459936d3fbfd470973ec750",
                "name" : "origin/feat_ros2_platoon_mpc"
              }
            ]
          },
          "revision" : {
            "SHA1" : "0d27b36cc302441a7459936d3fbfd470973ec750",
            "branch" : [
              {
                "SHA1" : "0d27b36cc302441a7459936d3fbfd470973ec750",
                "name" : "origin/feat_ros2_platoon_mpc"
              }
            ]
          }
        },
        "origin/feat_seg_search" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 982,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "468bc74cb13dfad5a2e4aba6998983e2b3a9c202",
            "branch" : [
              {
                "SHA1" : "468bc74cb13dfad5a2e4aba6998983e2b3a9c202",
                "name" : "origin/feat_seg_search"
              }
            ]
          },
          "revision" : {
            "SHA1" : "468bc74cb13dfad5a2e4aba6998983e2b3a9c202",
            "branch" : [
              {
                "SHA1" : "468bc74cb13dfad5a2e4aba6998983e2b3a9c202",
                "name" : "origin/feat_seg_search"
              }
            ]
          }
        },
        "origin/feat_proto_jinxi_2" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2150,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "6efb8024714d3063693e857288df97d676d9991b",
            "branch" : [
              {
                "SHA1" : "6efb8024714d3063693e857288df97d676d9991b",
                "name" : "origin/feat_proto_jinxi_2"
              }
            ]
          },
          "revision" : {
            "SHA1" : "6efb8024714d3063693e857288df97d676d9991b",
            "branch" : [
              {
                "SHA1" : "6efb8024714d3063693e857288df97d676d9991b",
                "name" : "origin/feat_proto_jinxi_2"
              }
            ]
          }
        },
        "origin/feat_wbca_backup" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 480,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "f479f95d1e31bfc01963fe22cb3ab6efcc3b23d1",
            "branch" : [
              {
                "SHA1" : "f479f95d1e31bfc01963fe22cb3ab6efcc3b23d1",
                "name" : "origin/feat_wbca_backup"
              }
            ]
          },
          "revision" : {
            "SHA1" : "f479f95d1e31bfc01963fe22cb3ab6efcc3b23d1",
            "branch" : [
              {
                "SHA1" : "f479f95d1e31bfc01963fe22cb3ab6efcc3b23d1",
                "name" : "origin/feat_wbca_backup"
              }
            ]
          }
        },
        "origin/feat_sc_v2_old" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1694,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "39340b8d50e9c4bfa92967b6eea2d93ef9b617ad",
            "branch" : [
              {
                "SHA1" : "39340b8d50e9c4bfa92967b6eea2d93ef9b617ad",
                "name" : "origin/feat_sc_v2_old"
              }
            ]
          },
          "revision" : {
            "SHA1" : "39340b8d50e9c4bfa92967b6eea2d93ef9b617ad",
            "branch" : [
              {
                "SHA1" : "39340b8d50e9c4bfa92967b6eea2d93ef9b617ad",
                "name" : "origin/feat_sc_v2_old"
              }
            ]
          }
        },
        "origin/feat_trajectory_hairun" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1883,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "335cb0c3d0d91a66a22e0ac78648d592ecc58b56",
            "branch" : [
              {
                "SHA1" : "335cb0c3d0d91a66a22e0ac78648d592ecc58b56",
                "name" : "origin/feat_trajectory_hairun"
              }
            ]
          },
          "revision" : {
            "SHA1" : "335cb0c3d0d91a66a22e0ac78648d592ecc58b56",
            "branch" : [
              {
                "SHA1" : "335cb0c3d0d91a66a22e0ac78648d592ecc58b56",
                "name" : "origin/feat_trajectory_hairun"
              }
            ]
          }
        },
        "origin/feat-hdmap" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 363,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "211888f1f4e81f87514411e3bd1e3dc23a4ae046",
            "branch" : [
              {
                "SHA1" : "211888f1f4e81f87514411e3bd1e3dc23a4ae046",
                "name" : "origin/feat-hdmap"
              }
            ]
          },
          "revision" : {
            "SHA1" : "211888f1f4e81f87514411e3bd1e3dc23a4ae046",
            "branch" : [
              {
                "SHA1" : "211888f1f4e81f87514411e3bd1e3dc23a4ae046",
                "name" : "origin/feat-hdmap"
              }
            ]
          }
        },
        "origin/feat_keb_path_opt_task" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1572,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "03b3cf39f7b16511a2dbe122e5ad34392670a516",
            "branch" : [
              {
                "SHA1" : "03b3cf39f7b16511a2dbe122e5ad34392670a516",
                "name" : "origin/feat_keb_path_opt_task"
              }
            ]
          },
          "revision" : {
            "SHA1" : "03b3cf39f7b16511a2dbe122e5ad34392670a516",
            "branch" : [
              {
                "SHA1" : "03b3cf39f7b16511a2dbe122e5ad34392670a516",
                "name" : "origin/feat_keb_path_opt_task"
              }
            ]
          }
        },
        "origin/rc_dev" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1267,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "1f83b21901518f710c4d73ce9d08d6571ce026d0",
            "branch" : [
              {
                "SHA1" : "1f83b21901518f710c4d73ce9d08d6571ce026d0",
                "name" : "origin/rc_dev"
              }
            ]
          },
          "revision" : {
            "SHA1" : "1f83b21901518f710c4d73ce9d08d6571ce026d0",
            "branch" : [
              {
                "SHA1" : "1f83b21901518f710c4d73ce9d08d6571ce026d0",
                "name" : "origin/rc_dev"
              }
            ]
          }
        },
        "origin/tmp_djk_ssep" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 447,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "f03ed133cbf84976d6cf099761bf25345c7e8945",
            "branch" : [
              {
                "SHA1" : "f03ed133cbf84976d6cf099761bf25345c7e8945",
                "name" : "origin/tmp_djk_ssep"
              }
            ]
          },
          "revision" : {
            "SHA1" : "f03ed133cbf84976d6cf099761bf25345c7e8945",
            "branch" : [
              {
                "SHA1" : "f03ed133cbf84976d6cf099761bf25345c7e8945",
                "name" : "origin/tmp_djk_ssep"
              }
            ]
          }
        },
        "origin/feat_wbca_truck_dp_dev" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 766,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "fbcec908efd6c586d1a9ac07492d1916c2761543",
            "branch" : [
              {
                "SHA1" : "fbcec908efd6c586d1a9ac07492d1916c2761543",
                "name" : "origin/feat_wbca_truck_dp_dev"
              }
            ]
          },
          "revision" : {
            "SHA1" : "fbcec908efd6c586d1a9ac07492d1916c2761543",
            "branch" : [
              {
                "SHA1" : "fbcec908efd6c586d1a9ac07492d1916c2761543",
                "name" : "origin/feat_wbca_truck_dp_dev"
              }
            ]
          }
        },
        "origin/test_hr" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 787,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "1e10c9b364546121e29573c0300e3c48b67611a4",
            "branch" : [
              {
                "SHA1" : "1e10c9b364546121e29573c0300e3c48b67611a4",
                "name" : "origin/test_hr"
              }
            ]
          },
          "revision" : {
            "SHA1" : "1e10c9b364546121e29573c0300e3c48b67611a4",
            "branch" : [
              {
                "SHA1" : "1e10c9b364546121e29573c0300e3c48b67611a4",
                "name" : "origin/test_hr"
              }
            ]
          }
        },
        "origin/feat_side_pass" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 483,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "b20d7c381eeb7f624660868c8ef35a9e5c80b0b7",
            "branch" : [
              {
                "SHA1" : "b20d7c381eeb7f624660868c8ef35a9e5c80b0b7",
                "name" : "origin/feat_side_pass"
              }
            ]
          },
          "revision" : {
            "SHA1" : "b20d7c381eeb7f624660868c8ef35a9e5c80b0b7",
            "branch" : [
              {
                "SHA1" : "b20d7c381eeb7f624660868c8ef35a9e5c80b0b7",
                "name" : "origin/feat_side_pass"
              }
            ]
          }
        },
        "origin/ssep-improve-latency" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 779,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "efaa88b8102251d8b12cc172176c6965ba05c41f",
            "branch" : [
              {
                "SHA1" : "efaa88b8102251d8b12cc172176c6965ba05c41f",
                "name" : "origin/ssep-improve-latency"
              }
            ]
          },
          "revision" : {
            "SHA1" : "efaa88b8102251d8b12cc172176c6965ba05c41f",
            "branch" : [
              {
                "SHA1" : "efaa88b8102251d8b12cc172176c6965ba05c41f",
                "name" : "origin/ssep-improve-latency"
              }
            ]
          }
        },
        "origin/feat_LS_deviation" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 910,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "561b9666baea1c45219fec16ec74d0d0c62bd819",
            "branch" : [
              {
                "SHA1" : "561b9666baea1c45219fec16ec74d0d0c62bd819",
                "name" : "origin/feat_LS_deviation"
              }
            ]
          },
          "revision" : {
            "SHA1" : "561b9666baea1c45219fec16ec74d0d0c62bd819",
            "branch" : [
              {
                "SHA1" : "561b9666baea1c45219fec16ec74d0d0c62bd819",
                "name" : "origin/feat_LS_deviation"
              }
            ]
          }
        },
        "origin/feat_wbca_truck" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 515,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "aba8c06c86955a34d5d6debb8e114385f0259633",
            "branch" : [
              {
                "SHA1" : "aba8c06c86955a34d5d6debb8e114385f0259633",
                "name" : "origin/feat_wbca_truck"
              }
            ]
          },
          "revision" : {
            "SHA1" : "aba8c06c86955a34d5d6debb8e114385f0259633",
            "branch" : [
              {
                "SHA1" : "aba8c06c86955a34d5d6debb8e114385f0259633",
                "name" : "origin/feat_wbca_truck"
              }
            ]
          }
        },
        "origin/feat_imv_pull_over" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1266,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "47dd1e17e3b7a1cacfa8af95d3a50e451c387dc1",
            "branch" : [
              {
                "SHA1" : "47dd1e17e3b7a1cacfa8af95d3a50e451c387dc1",
                "name" : "origin/feat_imv_pull_over"
              }
            ]
          },
          "revision" : {
            "SHA1" : "47dd1e17e3b7a1cacfa8af95d3a50e451c387dc1",
            "branch" : [
              {
                "SHA1" : "47dd1e17e3b7a1cacfa8af95d3a50e451c387dc1",
                "name" : "origin/feat_imv_pull_over"
              }
            ]
          }
        },
        "origin/feat_sqjb" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1119,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "3527a793f3ade81518ceb5c982fa3e1c89b02711",
            "branch" : [
              {
                "SHA1" : "3527a793f3ade81518ceb5c982fa3e1c89b02711",
                "name" : "origin/feat_sqjb"
              }
            ]
          },
          "revision" : {
            "SHA1" : "3527a793f3ade81518ceb5c982fa3e1c89b02711",
            "branch" : [
              {
                "SHA1" : "3527a793f3ade81518ceb5c982fa3e1c89b02711",
                "name" : "origin/feat_sqjb"
              }
            ]
          }
        },
        "origin/feat_qiangang_ssep_heatnet" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1284,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "043c59ce1faa06b6a3ab6e6ea7887783b567751e",
            "branch" : [
              {
                "SHA1" : "043c59ce1faa06b6a3ab6e6ea7887783b567751e",
                "name" : "origin/feat_qiangang_ssep_heatnet"
              }
            ]
          },
          "revision" : {
            "SHA1" : "043c59ce1faa06b6a3ab6e6ea7887783b567751e",
            "branch" : [
              {
                "SHA1" : "043c59ce1faa06b6a3ab6e6ea7887783b567751e",
                "name" : "origin/feat_qiangang_ssep_heatnet"
              }
            ]
          }
        },
        "origin/rebase_jinxi2_keb_html" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2166,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "39f8e722a5af1d53d54bdf136357b3235457c2a4",
            "branch" : [
              {
                "SHA1" : "39f8e722a5af1d53d54bdf136357b3235457c2a4",
                "name" : "origin/rebase_jinxi2_keb_html"
              }
            ]
          },
          "revision" : {
            "SHA1" : "39f8e722a5af1d53d54bdf136357b3235457c2a4",
            "branch" : [
              {
                "SHA1" : "39f8e722a5af1d53d54bdf136357b3235457c2a4",
                "name" : "origin/rebase_jinxi2_keb_html"
              }
            ]
          }
        },
        "origin/feat_truck_reverse" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 853,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "2527849cf681e0804ef5561c1b564dd434a5fe20",
            "branch" : [
              {
                "SHA1" : "2527849cf681e0804ef5561c1b564dd434a5fe20",
                "name" : "origin/feat_truck_reverse"
              }
            ]
          },
          "revision" : {
            "SHA1" : "2527849cf681e0804ef5561c1b564dd434a5fe20",
            "branch" : [
              {
                "SHA1" : "2527849cf681e0804ef5561c1b564dd434a5fe20",
                "name" : "origin/feat_truck_reverse"
              }
            ]
          }
        },
        "origin/feat_sink_snapshot" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 270,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "396ad3472e9618a78105fe71a4271cbec91ddd2f",
            "branch" : [
              {
                "SHA1" : "396ad3472e9618a78105fe71a4271cbec91ddd2f",
                "name" : "origin/feat_sink_snapshot"
              }
            ]
          },
          "revision" : {
            "SHA1" : "396ad3472e9618a78105fe71a4271cbec91ddd2f",
            "branch" : [
              {
                "SHA1" : "396ad3472e9618a78105fe71a4271cbec91ddd2f",
                "name" : "origin/feat_sink_snapshot"
              }
            ]
          }
        },
        "origin/feat_stacker" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 488,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "f93b3e4bf900c1582854ede8fb00b1d43f66cf12",
            "branch" : [
              {
                "SHA1" : "f93b3e4bf900c1582854ede8fb00b1d43f66cf12",
                "name" : "origin/feat_stacker"
              }
            ]
          },
          "revision" : {
            "SHA1" : "f93b3e4bf900c1582854ede8fb00b1d43f66cf12",
            "branch" : [
              {
                "SHA1" : "f93b3e4bf900c1582854ede8fb00b1d43f66cf12",
                "name" : "origin/feat_stacker"
              }
            ]
          }
        },
        "origin/feat_daxie" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1643,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "730037190ab095ff3004718347429c4e827549c3",
            "branch" : [
              {
                "SHA1" : "730037190ab095ff3004718347429c4e827549c3",
                "name" : "origin/feat_daxie"
              }
            ]
          },
          "revision" : {
            "SHA1" : "730037190ab095ff3004718347429c4e827549c3",
            "branch" : [
              {
                "SHA1" : "730037190ab095ff3004718347429c4e827549c3",
                "name" : "origin/feat_daxie"
              }
            ]
          }
        },
        "origin/feat_change_1" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 306,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "2b9b5a487bfbd20ca64e0ba010e5657d4ab2bbef",
            "branch" : [
              {
                "SHA1" : "2b9b5a487bfbd20ca64e0ba010e5657d4ab2bbef",
                "name" : "origin/feat_change_1"
              }
            ]
          },
          "revision" : {
            "SHA1" : "2b9b5a487bfbd20ca64e0ba010e5657d4ab2bbef",
            "branch" : [
              {
                "SHA1" : "2b9b5a487bfbd20ca64e0ba010e5657d4ab2bbef",
                "name" : "origin/feat_change_1"
              }
            ]
          }
        },
        "origin/feat_yangpu" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2215,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "a178dd5a20687e663ce5670e0d4267d5b8509309",
            "branch" : [
              {
                "SHA1" : "a178dd5a20687e663ce5670e0d4267d5b8509309",
                "name" : "origin/feat_yangpu"
              }
            ]
          },
          "revision" : {
            "SHA1" : "a178dd5a20687e663ce5670e0d4267d5b8509309",
            "branch" : [
              {
                "SHA1" : "a178dd5a20687e663ce5670e0d4267d5b8509309",
                "name" : "origin/feat_yangpu"
              }
            ]
          }
        },
        "origin/feat_block_data_switch" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 980,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "671f8b9fb2418043687a2820a1a575a98cf71312",
            "branch" : [
              {
                "SHA1" : "671f8b9fb2418043687a2820a1a575a98cf71312",
                "name" : "origin/feat_block_data_switch"
              }
            ]
          },
          "revision" : {
            "SHA1" : "671f8b9fb2418043687a2820a1a575a98cf71312",
            "branch" : [
              {
                "SHA1" : "671f8b9fb2418043687a2820a1a575a98cf71312",
                "name" : "origin/feat_block_data_switch"
              }
            ]
          }
        },
        "origin/ssep-geometric-searcher-test" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 894,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "a3962d2cff5ec8603a3373cd7ac2c8ac6e52196c",
            "branch" : [
              {
                "SHA1" : "a3962d2cff5ec8603a3373cd7ac2c8ac6e52196c",
                "name" : "origin/ssep-geometric-searcher-test"
              }
            ]
          },
          "revision" : {
            "SHA1" : "a3962d2cff5ec8603a3373cd7ac2c8ac6e52196c",
            "branch" : [
              {
                "SHA1" : "a3962d2cff5ec8603a3373cd7ac2c8ac6e52196c",
                "name" : "origin/ssep-geometric-searcher-test"
              }
            ]
          }
        },
        "origin/feat_sidepass_lattice" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2095,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "7b28a9cf19d4fe474fff3e76fed2eb528b46681d",
            "branch" : [
              {
                "SHA1" : "7b28a9cf19d4fe474fff3e76fed2eb528b46681d",
                "name" : "origin/feat_sidepass_lattice"
              }
            ]
          },
          "revision" : {
            "SHA1" : "7b28a9cf19d4fe474fff3e76fed2eb528b46681d",
            "branch" : [
              {
                "SHA1" : "7b28a9cf19d4fe474fff3e76fed2eb528b46681d",
                "name" : "origin/feat_sidepass_lattice"
              }
            ]
          }
        },
        "origin/feat_yard_name" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1072,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "fb3eb46878509f760b66cb36617be19d9d610c79",
            "branch" : [
              {
                "SHA1" : "fb3eb46878509f760b66cb36617be19d9d610c79",
                "name" : "origin/feat_yard_name"
              }
            ]
          },
          "revision" : {
            "SHA1" : "fb3eb46878509f760b66cb36617be19d9d610c79",
            "branch" : [
              {
                "SHA1" : "fb3eb46878509f760b66cb36617be19d9d610c79",
                "name" : "origin/feat_yard_name"
              }
            ]
          }
        },
        "origin/tmp_lon_decision_4" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 96,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "71e064bede15f180450ac4b5db9d91c14b212d4c",
            "branch" : [
              {
                "SHA1" : "71e064bede15f180450ac4b5db9d91c14b212d4c",
                "name" : "origin/tmp_lon_decision_4"
              }
            ]
          },
          "revision" : {
            "SHA1" : "71e064bede15f180450ac4b5db9d91c14b212d4c",
            "branch" : [
              {
                "SHA1" : "71e064bede15f180450ac4b5db9d91c14b212d4c",
                "name" : "origin/tmp_lon_decision_4"
              }
            ]
          }
        },
        "origin/tmp_lon_decision_3" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 70,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "3369d60699427ed500ebc0fe4212e0198acbcfa3",
            "branch" : [
              {
                "SHA1" : "3369d60699427ed500ebc0fe4212e0198acbcfa3",
                "name" : "origin/tmp_lon_decision_3"
              }
            ]
          },
          "revision" : {
            "SHA1" : "3369d60699427ed500ebc0fe4212e0198acbcfa3",
            "branch" : [
              {
                "SHA1" : "3369d60699427ed500ebc0fe4212e0198acbcfa3",
                "name" : "origin/tmp_lon_decision_3"
              }
            ]
          }
        },
        "origin/test_lon_decision" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 688,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "d975905da5fa9e032aca5e5548151f50dca472f5",
            "branch" : [
              {
                "SHA1" : "d975905da5fa9e032aca5e5548151f50dca472f5",
                "name" : "origin/test_lon_decision"
              }
            ]
          },
          "revision" : {
            "SHA1" : "d975905da5fa9e032aca5e5548151f50dca472f5",
            "branch" : [
              {
                "SHA1" : "d975905da5fa9e032aca5e5548151f50dca472f5",
                "name" : "origin/test_lon_decision"
              }
            ]
          }
        },
        "origin/feat_baoshishun" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1763,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "bd980a9f7945cff4fe8ab5e4c52a872b9928a648",
            "branch" : [
              {
                "SHA1" : "bd980a9f7945cff4fe8ab5e4c52a872b9928a648",
                "name" : "origin/feat_baoshishun"
              }
            ]
          },
          "revision" : {
            "SHA1" : "bd980a9f7945cff4fe8ab5e4c52a872b9928a648",
            "branch" : [
              {
                "SHA1" : "bd980a9f7945cff4fe8ab5e4c52a872b9928a648",
                "name" : "origin/feat_baoshishun"
              }
            ]
          }
        },
        "origin/feat_trajectory_suxi" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1812,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "0195fa8bcb664f03f392909747fde1257aa0c480",
            "branch" : [
              {
                "SHA1" : "0195fa8bcb664f03f392909747fde1257aa0c480",
                "name" : "origin/feat_trajectory_suxi"
              }
            ]
          },
          "revision" : {
            "SHA1" : "0195fa8bcb664f03f392909747fde1257aa0c480",
            "branch" : [
              {
                "SHA1" : "0195fa8bcb664f03f392909747fde1257aa0c480",
                "name" : "origin/feat_trajectory_suxi"
              }
            ]
          }
        },
        "origin/feat_straddle" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1292,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "4fda3dd5ddbb3047e946022e8b4517405439390d",
            "branch" : [
              {
                "SHA1" : "4fda3dd5ddbb3047e946022e8b4517405439390d",
                "name" : "origin/feat_straddle"
              }
            ]
          },
          "revision" : {
            "SHA1" : "4fda3dd5ddbb3047e946022e8b4517405439390d",
            "branch" : [
              {
                "SHA1" : "4fda3dd5ddbb3047e946022e8b4517405439390d",
                "name" : "origin/feat_straddle"
              }
            ]
          }
        },
        "origin/tmp_reversing_truck" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 437,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "fabd257bdea6f4c65211f0552d027c2d48d67ff1",
            "branch" : [
              {
                "SHA1" : "fabd257bdea6f4c65211f0552d027c2d48d67ff1",
                "name" : "origin/tmp_reversing_truck"
              }
            ]
          },
          "revision" : {
            "SHA1" : "fabd257bdea6f4c65211f0552d027c2d48d67ff1",
            "branch" : [
              {
                "SHA1" : "fabd257bdea6f4c65211f0552d027c2d48d67ff1",
                "name" : "origin/tmp_reversing_truck"
              }
            ]
          }
        },
        "origin/lower_safe_thr_region" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 254,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "63e3449599733e81768584360442037f700bd130",
            "branch" : [
              {
                "SHA1" : "63e3449599733e81768584360442037f700bd130",
                "name" : "origin/lower_safe_thr_region"
              }
            ]
          },
          "revision" : {
            "SHA1" : "63e3449599733e81768584360442037f700bd130",
            "branch" : [
              {
                "SHA1" : "63e3449599733e81768584360442037f700bd130",
                "name" : "origin/lower_safe_thr_region"
              }
            ]
          }
        },
        "origin/feat_reverse_lane" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 197,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "6806fd45934e755534dbaa5e7ab1c0c26c03c41c",
            "branch" : [
              {
                "SHA1" : "6806fd45934e755534dbaa5e7ab1c0c26c03c41c",
                "name" : "origin/feat_reverse_lane"
              }
            ]
          },
          "revision" : {
            "SHA1" : "6806fd45934e755534dbaa5e7ab1c0c26c03c41c",
            "branch" : [
              {
                "SHA1" : "6806fd45934e755534dbaa5e7ab1c0c26c03c41c",
                "name" : "origin/feat_reverse_lane"
              }
            ]
          }
        },
        "origin/feat_yard_decider" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 451,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "ceaec1a86e5cc4dfd017f0ec608a229ad757c437",
            "branch" : [
              {
                "SHA1" : "ceaec1a86e5cc4dfd017f0ec608a229ad757c437",
                "name" : "origin/feat_yard_decider"
              }
            ]
          },
          "revision" : {
            "SHA1" : "ceaec1a86e5cc4dfd017f0ec608a229ad757c437",
            "branch" : [
              {
                "SHA1" : "ceaec1a86e5cc4dfd017f0ec608a229ad757c437",
                "name" : "origin/feat_yard_decider"
              }
            ]
          }
        },
        "origin/feat_safety_check" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 504,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "f13057435427785612a0be829f74facb9b66884f",
            "branch" : [
              {
                "SHA1" : "f13057435427785612a0be829f74facb9b66884f",
                "name" : "origin/feat_safety_check"
              }
            ]
          },
          "revision" : {
            "SHA1" : "f13057435427785612a0be829f74facb9b66884f",
            "branch" : [
              {
                "SHA1" : "f13057435427785612a0be829f74facb9b66884f",
                "name" : "origin/feat_safety_check"
              }
            ]
          }
        },
        "origin/feat_sc_mpc" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2220,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "7954c80ce793a1fb4cff809ecea3aa0fe642def1",
            "branch" : [
              {
                "SHA1" : "7954c80ce793a1fb4cff809ecea3aa0fe642def1",
                "name" : "origin/feat_sc_mpc"
              }
            ]
          },
          "revision" : {
            "SHA1" : "7954c80ce793a1fb4cff809ecea3aa0fe642def1",
            "branch" : [
              {
                "SHA1" : "7954c80ce793a1fb4cff809ecea3aa0fe642def1",
                "name" : "origin/feat_sc_mpc"
              }
            ]
          }
        },
        "origin/feat_motion_recover" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 726,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "ba1dab660729e472f5dcc5e8d37358ad42f034e8",
            "branch" : [
              {
                "SHA1" : "ba1dab660729e472f5dcc5e8d37358ad42f034e8",
                "name" : "origin/feat_motion_recover"
              }
            ]
          },
          "revision" : {
            "SHA1" : "ba1dab660729e472f5dcc5e8d37358ad42f034e8",
            "branch" : [
              {
                "SHA1" : "ba1dab660729e472f5dcc5e8d37358ad42f034e8",
                "name" : "origin/feat_motion_recover"
              }
            ]
          }
        },
        "origin/feat_wh_trailer_cpu" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1947,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "22442cbd365130db54193a6fff806c3569c410b3",
            "branch" : [
              {
                "SHA1" : "22442cbd365130db54193a6fff806c3569c410b3",
                "name" : "origin/feat_wh_trailer_cpu"
              }
            ]
          },
          "revision" : {
            "SHA1" : "22442cbd365130db54193a6fff806c3569c410b3",
            "branch" : [
              {
                "SHA1" : "22442cbd365130db54193a6fff806c3569c410b3",
                "name" : "origin/feat_wh_trailer_cpu"
              }
            ]
          }
        },
        "origin/feat_change" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 287,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "79b13f045e397ecfd25eef421479015c3bd736ba",
            "branch" : [
              {
                "SHA1" : "79b13f045e397ecfd25eef421479015c3bd736ba",
                "name" : "origin/feat_change"
              }
            ]
          },
          "revision" : {
            "SHA1" : "79b13f045e397ecfd25eef421479015c3bd736ba",
            "branch" : [
              {
                "SHA1" : "79b13f045e397ecfd25eef421479015c3bd736ba",
                "name" : "origin/feat_change"
              }
            ]
          }
        },
        "origin/feat_error_pnc_status" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1669,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "7488347a486bc1348df9d3f239f9f43ce79ba4d4",
            "branch" : [
              {
                "SHA1" : "7488347a486bc1348df9d3f239f9f43ce79ba4d4",
                "name" : "origin/feat_error_pnc_status"
              }
            ]
          },
          "revision" : {
            "SHA1" : "7488347a486bc1348df9d3f239f9f43ce79ba4d4",
            "branch" : [
              {
                "SHA1" : "7488347a486bc1348df9d3f239f9f43ce79ba4d4",
                "name" : "origin/feat_error_pnc_status"
              }
            ]
          }
        },
        "origin/feat-ssep-add-hd-map" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1295,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "fb03da3117413c1798e25a770b131d40e8eae298",
            "branch" : [
              {
                "SHA1" : "fb03da3117413c1798e25a770b131d40e8eae298",
                "name" : "origin/feat-ssep-add-hd-map"
              }
            ]
          },
          "revision" : {
            "SHA1" : "fb03da3117413c1798e25a770b131d40e8eae298",
            "branch" : [
              {
                "SHA1" : "fb03da3117413c1798e25a770b131d40e8eae298",
                "name" : "origin/feat-ssep-add-hd-map"
              }
            ]
          }
        },
        "origin/feat_trajectory_fix" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2055,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "01d91db117eb92069cdd33846ea3c62e855b5490",
            "branch" : [
              {
                "SHA1" : "01d91db117eb92069cdd33846ea3c62e855b5490",
                "name" : "origin/feat_trajectory_fix"
              }
            ]
          },
          "revision" : {
            "SHA1" : "01d91db117eb92069cdd33846ea3c62e855b5490",
            "branch" : [
              {
                "SHA1" : "01d91db117eb92069cdd33846ea3c62e855b5490",
                "name" : "origin/feat_trajectory_fix"
              }
            ]
          }
        },
        "origin/feat_park" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1410,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "4dfeb34832881570e72ec9f03d43527093b6deb4",
            "branch" : [
              {
                "SHA1" : "4dfeb34832881570e72ec9f03d43527093b6deb4",
                "name" : "origin/feat_park"
              }
            ]
          },
          "revision" : {
            "SHA1" : "4dfeb34832881570e72ec9f03d43527093b6deb4",
            "branch" : [
              {
                "SHA1" : "4dfeb34832881570e72ec9f03d43527093b6deb4",
                "name" : "origin/feat_park"
              }
            ]
          }
        },
        "origin/fix_ssep" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 985,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "bf45235b3482b4e4d6859874aef9655e1aa5b77d",
            "branch" : [
              {
                "SHA1" : "bf45235b3482b4e4d6859874aef9655e1aa5b77d",
                "name" : "origin/fix_ssep"
              }
            ]
          },
          "revision" : {
            "SHA1" : "bf45235b3482b4e4d6859874aef9655e1aa5b77d",
            "branch" : [
              {
                "SHA1" : "bf45235b3482b4e4d6859874aef9655e1aa5b77d",
                "name" : "origin/fix_ssep"
              }
            ]
          }
        },
        "origin/feat_traffit_light_stop" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1589,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "351fd37ab1e4baf8eff9dc6fdd67d2ba27e8b431",
            "branch" : [
              {
                "SHA1" : "351fd37ab1e4baf8eff9dc6fdd67d2ba27e8b431",
                "name" : "origin/feat_traffit_light_stop"
              }
            ]
          },
          "revision" : {
            "SHA1" : "351fd37ab1e4baf8eff9dc6fdd67d2ba27e8b431",
            "branch" : [
              {
                "SHA1" : "351fd37ab1e4baf8eff9dc6fdd67d2ba27e8b431",
                "name" : "origin/feat_traffit_light_stop"
              }
            ]
          }
        },
        "origin/feat_trajectory_daxie_1" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1725,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "523d6e9237b447f388f4b65aeea122da2f3acaad",
            "branch" : [
              {
                "SHA1" : "523d6e9237b447f388f4b65aeea122da2f3acaad",
                "name" : "origin/feat_trajectory_daxie_1"
              }
            ]
          },
          "revision" : {
            "SHA1" : "523d6e9237b447f388f4b65aeea122da2f3acaad",
            "branch" : [
              {
                "SHA1" : "523d6e9237b447f388f4b65aeea122da2f3acaad",
                "name" : "origin/feat_trajectory_daxie_1"
              }
            ]
          }
        },
        "origin/feat_xl_cargo" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 288,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "bca854785ba4ef0247def145cf821b9b569704f5",
            "branch" : [
              {
                "SHA1" : "bca854785ba4ef0247def145cf821b9b569704f5",
                "name" : "origin/feat_xl_cargo"
              }
            ]
          },
          "revision" : {
            "SHA1" : "bca854785ba4ef0247def145cf821b9b569704f5",
            "branch" : [
              {
                "SHA1" : "bca854785ba4ef0247def145cf821b9b569704f5",
                "name" : "origin/feat_xl_cargo"
              }
            ]
          }
        },
        "origin/feat_mandula" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 742,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "3f32a3ec07f7e4ff70920060bc1768a64a93a6d5",
            "branch" : [
              {
                "SHA1" : "3f32a3ec07f7e4ff70920060bc1768a64a93a6d5",
                "name" : "origin/feat_mandula"
              }
            ]
          },
          "revision" : {
            "SHA1" : "3f32a3ec07f7e4ff70920060bc1768a64a93a6d5",
            "branch" : [
              {
                "SHA1" : "3f32a3ec07f7e4ff70920060bc1768a64a93a6d5",
                "name" : "origin/feat_mandula"
              }
            ]
          }
        },
        "origin/feat_wbca_st" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 523,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "bc5a22cc8a3360d942c9ebf93a4c840dfe50b8c8",
            "branch" : [
              {
                "SHA1" : "bc5a22cc8a3360d942c9ebf93a4c840dfe50b8c8",
                "name" : "origin/feat_wbca_st"
              }
            ]
          },
          "revision" : {
            "SHA1" : "bc5a22cc8a3360d942c9ebf93a4c840dfe50b8c8",
            "branch" : [
              {
                "SHA1" : "bc5a22cc8a3360d942c9ebf93a4c840dfe50b8c8",
                "name" : "origin/feat_wbca_st"
              }
            ]
          }
        },
        "origin/feat_seg_search_pjpo" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1011,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "5dd7c817bb063c786843dedaea1e09fdb044e148",
            "branch" : [
              {
                "SHA1" : "5dd7c817bb063c786843dedaea1e09fdb044e148",
                "name" : "origin/feat_seg_search_pjpo"
              }
            ]
          },
          "revision" : {
            "SHA1" : "5dd7c817bb063c786843dedaea1e09fdb044e148",
            "branch" : [
              {
                "SHA1" : "5dd7c817bb063c786843dedaea1e09fdb044e148",
                "name" : "origin/feat_seg_search_pjpo"
              }
            ]
          }
        },
        "origin/feat_base" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1315,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "35c890fe6d108738379774a7a1d377d88550f0e2",
            "branch" : [
              {
                "SHA1" : "35c890fe6d108738379774a7a1d377d88550f0e2",
                "name" : "origin/feat_base"
              }
            ]
          },
          "revision" : {
            "SHA1" : "35c890fe6d108738379774a7a1d377d88550f0e2",
            "branch" : [
              {
                "SHA1" : "35c890fe6d108738379774a7a1d377d88550f0e2",
                "name" : "origin/feat_base"
              }
            ]
          }
        },
        "origin/feat_smooth_mode" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1834,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "4e529beda6281c89daa913f798b557c92d0a3df5",
            "branch" : [
              {
                "SHA1" : "4e529beda6281c89daa913f798b557c92d0a3df5",
                "name" : "origin/feat_smooth_mode"
              }
            ]
          },
          "revision" : {
            "SHA1" : "4e529beda6281c89daa913f798b557c92d0a3df5",
            "branch" : [
              {
                "SHA1" : "4e529beda6281c89daa913f798b557c92d0a3df5",
                "name" : "origin/feat_smooth_mode"
              }
            ]
          }
        },
        "origin/feat_ros2_platoon" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2198,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "8c81438d3dbff516d8697ce8ae7ac70b4bd0eed5",
            "branch" : [
              {
                "SHA1" : "8c81438d3dbff516d8697ce8ae7ac70b4bd0eed5",
                "name" : "origin/feat_ros2_platoon"
              }
            ]
          },
          "revision" : {
            "SHA1" : "8c81438d3dbff516d8697ce8ae7ac70b4bd0eed5",
            "branch" : [
              {
                "SHA1" : "8c81438d3dbff516d8697ce8ae7ac70b4bd0eed5",
                "name" : "origin/feat_ros2_platoon"
              }
            ]
          }
        },
        "origin/feat_hfsm" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 170,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "f282a44a806a2a82b27bdcb7a898fc8d8aad5411",
            "branch" : [
              {
                "SHA1" : "f282a44a806a2a82b27bdcb7a898fc8d8aad5411",
                "name" : "origin/feat_hfsm"
              }
            ]
          },
          "revision" : {
            "SHA1" : "f282a44a806a2a82b27bdcb7a898fc8d8aad5411",
            "branch" : [
              {
                "SHA1" : "f282a44a806a2a82b27bdcb7a898fc8d8aad5411",
                "name" : "origin/feat_hfsm"
              }
            ]
          }
        },
        "origin/feat_error" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1453,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "dc27b02eaf204e5b86844dff5a6fd5a9ba4b011e",
            "branch" : [
              {
                "SHA1" : "dc27b02eaf204e5b86844dff5a6fd5a9ba4b011e",
                "name" : "origin/feat_error"
              }
            ]
          },
          "revision" : {
            "SHA1" : "dc27b02eaf204e5b86844dff5a6fd5a9ba4b011e",
            "branch" : [
              {
                "SHA1" : "dc27b02eaf204e5b86844dff5a6fd5a9ba4b011e",
                "name" : "origin/feat_error"
              }
            ]
          }
        },
        "origin/feat_suxi" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1551,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "cc92bd150d538bd5b38022ce5093ffda871c951e",
            "branch" : [
              {
                "SHA1" : "cc92bd150d538bd5b38022ce5093ffda871c951e",
                "name" : "origin/feat_suxi"
              }
            ]
          },
          "revision" : {
            "SHA1" : "cc92bd150d538bd5b38022ce5093ffda871c951e",
            "branch" : [
              {
                "SHA1" : "cc92bd150d538bd5b38022ce5093ffda871c951e",
                "name" : "origin/feat_suxi"
              }
            ]
          }
        },
        "origin/feat_guide_line" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 661,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "d85529c9182f6b17004349c502ce183121f325de",
            "branch" : [
              {
                "SHA1" : "d85529c9182f6b17004349c502ce183121f325de",
                "name" : "origin/feat_guide_line"
              }
            ]
          },
          "revision" : {
            "SHA1" : "d85529c9182f6b17004349c502ce183121f325de",
            "branch" : [
              {
                "SHA1" : "d85529c9182f6b17004349c502ce183121f325de",
                "name" : "origin/feat_guide_line"
              }
            ]
          }
        },
        "origin/feat-speed-limit" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 304,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "a7e98a4a02cf06b6a1379db0412864459bea384e",
            "branch" : [
              {
                "SHA1" : "a7e98a4a02cf06b6a1379db0412864459bea384e",
                "name" : "origin/feat-speed-limit"
              }
            ]
          },
          "revision" : {
            "SHA1" : "a7e98a4a02cf06b6a1379db0412864459bea384e",
            "branch" : [
              {
                "SHA1" : "a7e98a4a02cf06b6a1379db0412864459bea384e",
                "name" : "origin/feat-speed-limit"
              }
            ]
          }
        },
        "origin/feat_wh" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1528,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "166219f79a22689fa52cdc391abdea6433d4ae37",
            "branch" : [
              {
                "SHA1" : "166219f79a22689fa52cdc391abdea6433d4ae37",
                "name" : "origin/feat_wh"
              }
            ]
          },
          "revision" : {
            "SHA1" : "166219f79a22689fa52cdc391abdea6433d4ae37",
            "branch" : [
              {
                "SHA1" : "166219f79a22689fa52cdc391abdea6433d4ae37",
                "name" : "origin/feat_wh"
              }
            ]
          }
        },
        "origin/feat_xilian_lane_change" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 710,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "7db10a51bb61d31a6dacddddef02b49f38ceab58",
            "branch" : [
              {
                "SHA1" : "7db10a51bb61d31a6dacddddef02b49f38ceab58",
                "name" : "origin/feat_xilian_lane_change"
              }
            ]
          },
          "revision" : {
            "SHA1" : "7db10a51bb61d31a6dacddddef02b49f38ceab58",
            "branch" : [
              {
                "SHA1" : "7db10a51bb61d31a6dacddddef02b49f38ceab58",
                "name" : "origin/feat_xilian_lane_change"
              }
            ]
          }
        },
        "origin/rc_dev_wf" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 231,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "ee9fa7a02bb35ee685cee883124da9f669ab6e75",
            "branch" : [
              {
                "SHA1" : "ee9fa7a02bb35ee685cee883124da9f669ab6e75",
                "name" : "origin/rc_dev_wf"
              }
            ]
          },
          "revision" : {
            "SHA1" : "ee9fa7a02bb35ee685cee883124da9f669ab6e75",
            "branch" : [
              {
                "SHA1" : "ee9fa7a02bb35ee685cee883124da9f669ab6e75",
                "name" : "origin/rc_dev_wf"
              }
            ]
          }
        },
        "origin/feat_lock_station" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 987,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "3e483224ec848dfc40cc51b8fccf47d1f3716d3d",
            "branch" : [
              {
                "SHA1" : "3e483224ec848dfc40cc51b8fccf47d1f3716d3d",
                "name" : "origin/feat_lock_station"
              }
            ]
          },
          "revision" : {
            "SHA1" : "3e483224ec848dfc40cc51b8fccf47d1f3716d3d",
            "branch" : [
              {
                "SHA1" : "3e483224ec848dfc40cc51b8fccf47d1f3716d3d",
                "name" : "origin/feat_lock_station"
              }
            ]
          }
        },
        "origin/feat_og" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 513,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "17cf5ba4d4c3a3a18a2a6c039346d12deed329bb",
            "branch" : [
              {
                "SHA1" : "17cf5ba4d4c3a3a18a2a6c039346d12deed329bb",
                "name" : "origin/feat_og"
              }
            ]
          },
          "revision" : {
            "SHA1" : "17cf5ba4d4c3a3a18a2a6c039346d12deed329bb",
            "branch" : [
              {
                "SHA1" : "17cf5ba4d4c3a3a18a2a6c039346d12deed329bb",
                "name" : "origin/feat_og"
              }
            ]
          }
        },
        "origin/feat_pnc_scene_replay_web" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2111,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "a64dd4a6b8729a84db4812a0740662b1d14f2fa4",
            "branch" : [
              {
                "SHA1" : "a64dd4a6b8729a84db4812a0740662b1d14f2fa4",
                "name" : "origin/feat_pnc_scene_replay_web"
              }
            ]
          },
          "revision" : {
            "SHA1" : "a64dd4a6b8729a84db4812a0740662b1d14f2fa4",
            "branch" : [
              {
                "SHA1" : "a64dd4a6b8729a84db4812a0740662b1d14f2fa4",
                "name" : "origin/feat_pnc_scene_replay_web"
              }
            ]
          }
        },
        "origin/feat_escape" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1231,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "07da24972be561730ba0607d76f6a479db4b96a9",
            "branch" : [
              {
                "SHA1" : "07da24972be561730ba0607d76f6a479db4b96a9",
                "name" : "origin/feat_escape"
              }
            ]
          },
          "revision" : {
            "SHA1" : "07da24972be561730ba0607d76f6a479db4b96a9",
            "branch" : [
              {
                "SHA1" : "07da24972be561730ba0607d76f6a479db4b96a9",
                "name" : "origin/feat_escape"
              }
            ]
          }
        },
        "origin/feat_proto_xiamen" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2188,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "448691cdc5f8d57eb25c22f034f7790b0e275b6c",
            "branch" : [
              {
                "SHA1" : "448691cdc5f8d57eb25c22f034f7790b0e275b6c",
                "name" : "origin/feat_proto_xiamen"
              }
            ]
          },
          "revision" : {
            "SHA1" : "448691cdc5f8d57eb25c22f034f7790b0e275b6c",
            "branch" : [
              {
                "SHA1" : "448691cdc5f8d57eb25c22f034f7790b0e275b6c",
                "name" : "origin/feat_proto_xiamen"
              }
            ]
          }
        },
        "origin/feat_dev" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 755,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "f6a5b6ebde79a0d1f93b43f0da4a847743bc28b3",
            "branch" : [
              {
                "SHA1" : "f6a5b6ebde79a0d1f93b43f0da4a847743bc28b3",
                "name" : "origin/feat_dev"
              }
            ]
          },
          "revision" : {
            "SHA1" : "f6a5b6ebde79a0d1f93b43f0da4a847743bc28b3",
            "branch" : [
              {
                "SHA1" : "f6a5b6ebde79a0d1f93b43f0da4a847743bc28b3",
                "name" : "origin/feat_dev"
              }
            ]
          }
        },
        "origin/feat_pnc_status" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1640,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "a0e27a4547573c85a1e22a137a9413f6591bd994",
            "branch" : [
              {
                "SHA1" : "a0e27a4547573c85a1e22a137a9413f6591bd994",
                "name" : "origin/feat_pnc_status"
              }
            ]
          },
          "revision" : {
            "SHA1" : "a0e27a4547573c85a1e22a137a9413f6591bd994",
            "branch" : [
              {
                "SHA1" : "a0e27a4547573c85a1e22a137a9413f6591bd994",
                "name" : "origin/feat_pnc_status"
              }
            ]
          }
        },
        "origin/modify_lane_change_new" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 84,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "c1443c21419c749982e38d885282592a971fdcf7",
            "branch" : [
              {
                "SHA1" : "c1443c21419c749982e38d885282592a971fdcf7",
                "name" : "origin/modify_lane_change_new"
              }
            ]
          },
          "revision" : {
            "SHA1" : "c1443c21419c749982e38d885282592a971fdcf7",
            "branch" : [
              {
                "SHA1" : "c1443c21419c749982e38d885282592a971fdcf7",
                "name" : "origin/modify_lane_change_new"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "d4013a8e5940de224a881a679d0ed1389e75b1a7",
        "branch" : [
          {
            "SHA1" : "d4013a8e5940de224a881a679d0ed1389e75b1a7",
            "name" : "origin/feat_daxie_proto"
          }
        ]
      },
      "remoteUrls" : [
        "http://159.27.226.4/pnc/pnc.git"
      ],
      "scmName" : ""
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/ros2" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2198,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "1336438603254bb01a9125eabd6d531597c243cc",
            "branch" : [
              {
                "SHA1" : "1336438603254bb01a9125eabd6d531597c243cc",
                "name" : "origin/ros2"
              }
            ]
          },
          "revision" : {
            "SHA1" : "1336438603254bb01a9125eabd6d531597c243cc",
            "branch" : [
              {
                "SHA1" : "1336438603254bb01a9125eabd6d531597c243cc",
                "name" : "origin/ros2"
              }
            ]
          }
        },
        "origin/feat_hypsographic_map" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1705,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "7edae3e34281e5446eb04da3b4093217e61f2337",
            "branch" : [
              {
                "SHA1" : "7edae3e34281e5446eb04da3b4093217e61f2337",
                "name" : "origin/feat_hypsographic_map"
              }
            ]
          },
          "revision" : {
            "SHA1" : "7edae3e34281e5446eb04da3b4093217e61f2337",
            "branch" : [
              {
                "SHA1" : "7edae3e34281e5446eb04da3b4093217e61f2337",
                "name" : "origin/feat_hypsographic_map"
              }
            ]
          }
        },
        "origin/temp_interface" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 387,
          "buildResult" : null,
          "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" : 2222,
          "buildResult" : null,
          "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" : 1462,
          "buildResult" : null,
          "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" : 594,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "bfea094fbf5d6f1c5eca3dfaa2044894fec263f6",
            "branch" : [
              {
                "SHA1" : "bfea094fbf5d6f1c5eca3dfaa2044894fec263f6",
                "name" : "origin/feat_fence"
              }
            ]
          },
          "revision" : {
            "SHA1" : "bfea094fbf5d6f1c5eca3dfaa2044894fec263f6",
            "branch" : [
              {
                "SHA1" : "bfea094fbf5d6f1c5eca3dfaa2044894fec263f6",
                "name" : "origin/feat_fence"
              }
            ]
          }
        }
      },
      "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" : null,
  "displayName" : "#2222",
  "duration" : 2227015,
  "estimatedDuration" : 2070911,
  "executor" : null,
  "fullDisplayName" : "module-pnc_replayer #2222",
  "id" : "2222",
  "keepLog" : false,
  "number" : 2222,
  "queueId" : 1374558,
  "result" : "SUCCESS",
  "timestamp" : 1793409379348,
  "url" : "http://159.27.114.184:8080/jenkins/job/module-pnc_replayer/2222/",
  "changeSets" : [
    {
      "_class" : "hudson.plugins.git.GitChangeSetList",
      "items" : [
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/plan/start_point_data.cpp",
            "tasks/plan/pjpo_task.cpp",
            "data/ssep/into_yard_junction_ec.cpp",
            "Testing/ssep_scenario_config_lifecycle_test.cpp"
          ],
          "commitId" : "6efb8024714d3063693e857288df97d676d9991b",
          "timestamp" : 1791621545000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/liuhongshuo",
            "fullName" : "liuhongshuo"
          },
          "authorEmail" : "liuhongshuo",
          "comment" : "feat: 低贝位ec建立防抖  && truck起步曲率强制为0取消 并适配pjpo\u000a",
          "date" : "2026-10-10 16:39:05 +0800",
          "id" : "6efb8024714d3063693e857288df97d676d9991b",
          "msg" : "feat: 低贝位ec建立防抖  && truck起步曲率强制为0取消 并适配pjpo",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tasks/plan/pjpo_task.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/start_point_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/into_yard_junction_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_scenario_config_lifecycle_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/keb_optimizer/cost_features/disk_collision_cost.h",
            "tasks/plan/keb_lane_follow_path_task.cpp",
            "ssep/keb_optimizer/rigid_truck_keb_optimizer.h",
            "tasks/plan/keb_path_optimize_task.cpp",
            "ssep/param_loader/param.h",
            "ssep/keb_optimizer/cost_features/softmin_disk_collision_cost.h",
            "data/ssep/ssep_scenario_config_loader.cpp",
            "ssep/keb_optimizer/keb_problem.cc",
            "ssep/keb_optimizer/configuration_fields.h",
            "data/config/cfg_lat_plan.hpp",
            "ssep/keb_optimizer/recorded_profile.h",
            "ssep/keb_optimizer/planning_profile.h",
            "ssep/scenarios/imv_enter_yard_planner.h",
            "data/config/cfg_lat_plan.cpp",
            "ssep/keb_optimizer/tractor_trailer_keb_optimizer.h",
            "algorithm/plan/keb_optimizer.cpp",
            "ssep/keb_optimizer/cost_features/physical_sides.h",
            "data/ssep/ssep_ec.hpp",
            "data/ssep/ssep_ec.cpp",
            "ssep/keb_optimizer/segment_step_validation.h",
            "ssep/keb_optimizer/keb_configuration.h",
            "ssep/keb_optimizer/configuration_yaml.h",
            "ssep/protos/params.proto",
            "ssep/keb_optimizer/collision_cost_semantics.h",
            "ssep/keb_optimizer/collision_footprint.h",
            "data/config/cfg_ssep.cpp",
            "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc",
            "ssep/keb_optimizer/imv_keb_optimizer.cc",
            "ssep/keb_optimizer/imv_keb_optimizer.h",
            "ssep/scenarios/scenario_planner_factory.h",
            "ssep/keb_optimizer/cost_features/dual_side_disk_collision_cost.h",
            "ssep/common/utils/path_utils.cc",
            "ssep/keb_optimizer/configuration_ros.h",
            "tasks/plan/keb_utils.cpp",
            "ssep/common/utils/path_utils.h",
            "ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc",
            "ssep/keb_optimizer/imv_collision_model.h",
            "data/ssep/into_yard_junction_ec.cpp",
            "tasks/plan/keb_utils.hpp",
            "ssep/common/utils/adaptive_collision_checker.h",
            "ssep/scenarios/stitching_replanner.h",
            "ssep/keb_optimizer/keb_problem.h",
            "tasks/plan/keb_path_optimize_task.hpp",
            "ssep/ssep_planner.cc",
            "tasks/plan/keb_lane_follow_path_task.hpp",
            "ssep/scenarios/tractor_trailer_single_segment_parking_planner.h"
          ],
          "commitId" : "01aa6249f258a338fb3c8dbda3685a7cde9a2bac",
          "timestamp" : 1791627063000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/liuhongshuo",
            "fullName" : "liuhongshuo"
          },
          "authorEmail" : "liuhongshuo",
          "comment" : "feat(keb): apply planning profiles to online algorithms\u000a",
          "date" : "2026-10-10 18:11:03 +0800",
          "id" : "01aa6249f258a338fb3c8dbda3685a7cde9a2bac",
          "msg" : "feat(keb): apply planning profiles to online algorithms",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/scenario_planner_factory.h"
            },
            {
              "editType" : "edit",
              "file" : "algorithm/plan/keb_optimizer.cpp"
            },
            {
              "editType" : "add",
              "file" : "ssep/keb_optimizer/configuration_yaml.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/keb_optimizer/configuration_ros.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/cost_features/dual_side_disk_collision_cost.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/imv_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/common/utils/path_utils.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/param_loader/param.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/keb_optimizer/collision_footprint.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/tractor_trailer_keb_optimizer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/rigid_truck_keb_optimizer.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/keb_optimizer/segment_step_validation.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/keb_optimizer/imv_collision_model.h"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/into_yard_junction_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_single_segment_parking_planner.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/keb_optimizer/keb_configuration.h"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_lane_follow_path_task.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_path_optimize_task.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_plan.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_utils.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/stitching_replanner.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/keb_optimizer/cost_features/physical_sides.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/common/utils/adaptive_collision_checker.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/cost_features/disk_collision_cost.h"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_utils.hpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/imv_enter_yard_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/ssep_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_lane_follow_path_task.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_ec.hpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/protos/params.proto"
            },
            {
              "editType" : "edit",
              "file" : "ssep/common/utils/path_utils.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/imv_keb_optimizer.h"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_plan.cpp"
            },
            {
              "editType" : "add",
              "file" : "ssep/keb_optimizer/cost_features/softmin_disk_collision_cost.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/keb_optimizer/recorded_profile.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.h"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_path_optimize_task.hpp"
            },
            {
              "editType" : "add",
              "file" : "ssep/keb_optimizer/configuration_fields.h"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_ssep.cpp"
            },
            {
              "editType" : "add",
              "file" : "ssep/keb_optimizer/collision_cost_semantics.h"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_scenario_config_loader.cpp"
            },
            {
              "editType" : "add",
              "file" : "ssep/keb_optimizer/planning_profile.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/offboard/diagnostic/search_experience.js",
            "ssep/offboard/diagnostic/optimization_acceptance.js",
            "ssep/coarse_search/motion_primitive_sampler/trailer_heading_motion_primitive_decorator.h",
            "ssep/test/keb_softmin_collision_test.cc",
            "ssep/data_structures/ssep_input.cc",
            "ssep/coarse_search/motion_primitive_sampler/arc_path_motion_primitive_sampler.h",
            "ssep/keb_optimizer/keb_problem.cc",
            "offboard/keb_path_opt_cli/closed_loop_utils.cc",
            "offboard/bag_to_keb_scene/bag_reader.hpp",
            "ssep/coarse_search/disk_collision_checker.h",
            "offboard/bag_to_keb_scene/bag_reader.cc",
            "ssep/test/parking_collision_provenance_test.cc",
            "ssep/offboard/diagnostic/optimization_collision.js",
            "Testing/ssep_path_corridor_test.cpp",
            "offboard/keb_path_opt_cli/restore_recorded_history.py",
            "ssep/coarse_search/batched_priority_queue.h",
            "ssep/coarse_search/evaluator/trailer_collision_cost_computer.h",
            "tools/pnc_proto_mapper/sync_config_schema.py",
            "proto/keb_scene.proto",
            "ssep/scenarios/tractor_trailer_parking_collision.h",
            "offboard/bag_to_keb_scene/README.md",
            "ssep/coarse_search/motion_primitive_sampler/multi_curvature_motion_primitive_sampler.h",
            "ssep/coarse_search/motion_primitive_sampler/gpu_multi_curvature_sampler.h",
            "tasks/plan/keb_utils.cpp",
            "tasks/plan/keb_utils_core.hpp",
            "ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc",
            "ssep/coarse_search/bidirectional_hybrid_astar_search_engine.cc",
            "ssep/common/utils/adaptive_collision_checker.h",
            "ssep/offboard/diagnostic/search_inspector.js",
            "ssep/offboard/diagnostic/search_heuristic.js",
            "ssep/coarse_search/motion_primitive_sampler/quintic_polynomial_motion_primitive_sampler.cc",
            "ssep/coarse_search/bounded_priority_queue.h",
            "ssep/offboard/scene_frame_provider.cc",
            "offboard/keb_vis_server/foxglove/README.md",
            "ssep/test/CMakeLists.txt",
            "offboard/keb_path_opt_cli/keb_run_options.cc",
            "ssep/coarse_search/motion_primitive_sampler/dubins_path_motion_primitive_sampler.h",
            "offboard/bag_to_keb_scene/bag_to_keb_scene.cc",
            "ssep/offboard/diagnostic/README.md",
            "ssep/offboard/diagnostic/optimization_diagnostics.js",
            "ssep/coarse_search/indexed_priority_queue.h",
            "ssep/offboard/diagnostic/optimization_clearance.js",
            "ssep/coarse_search/evaluator/kinematic_heuristic_computer.h",
            "offboard/keb_path_opt_cli/keb_cli_sources.cmake",
            "ssep/offboard/diagnostic/optimization_identity.js",
            "ssep/offboard/diagnostic/kinematic_validation.h",
            "ssep/offboard/diagnostic/ogm_snapshot.h",
            "ssep/coarse_search/evaluator/heuristic_feature_computer.h",
            "ssep/offboard/diagnostic/report.h",
            "ssep/coarse_search/motion_primitive_sampler/straight_line_motion_primitive_sampler.h",
            "offboard/keb_path_opt_cli/CMakeLists.txt",
            "ssep/coarse_search/evaluator/ref_line_heuristic_computer.h",
            "ssep/keb_optimizer/planning_profile_yaml.h",
            "ssep/offboard/diagnostic/collision_validation.h",
            "ssep/coarse_search/evaluator/trailer_shortest_path_heur_computer.h",
            "offboard/keb_path_opt_cli/keb_simulator.cc",
            "ssep/coarse_search/motion_primitive_sampler/motion_primitive_sampler.h",
            "ssep/keb_optimizer/PLANNING_PROFILES.md",
            "ssep/coarse_search/evaluator/evaluator.h",
            "replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml",
            "offboard/keb_path_opt_cli/keb_simulator.hpp",
            "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc",
            "ssep/keb_optimizer/imv_keb_optimizer.cc",
            "ssep/test/keb_physical_sides_test.cc",
            "ssep/offboard/scene_replay/replay_scene_frame_cli.cc",
            "ssep/coarse_search/motion_primitive_sampler/const_pinch_motion_primitive_sampler.h",
            "ssep/offboard/diagnostic/node_index.h",
            "replayer/scene_data/generated/plan_frame_member_inputs.json",
            "ssep/coarse_search/multi_stage_hybrid_astar_search_engine.cc",
            "ssep/offboard/diagnostic/report_template.html",
            "tasks/plan/keb_utils.hpp",
            "ssep/offboard/diagnostic/optimization.h",
            "ssep/offboard/diagnostic/sampling.h",
            "ssep/coarse_search/motion_primitive_sampler/const_curvature_motion_primitive_sampler.h",
            "ssep/coarse_search/motion_primitive_sampler/dubins_path_motion_primitive_sampler.cc",
            "ssep/offboard/diagnostic/segment_step_validation.h",
            "ssep/offboard/diagnostic/optimization_multimeasure.js",
            "offboard/keb_vis_server/foxglove/keb_single_frame_layout.json",
            "ssep/coarse_search/motion_primitive_sampler/reeds_shepp_path.h",
            "ssep/offboard/diagnostic/roadside_validation.h",
            "ssep/offboard/diagnostic/optimizer_parameters.h",
            "ssep/offboard/diagnostic/optimization_viapoints.js",
            "ssep/coarse_search/evaluator/collision_cost_computer.h",
            "ssep/coarse_search/evaluator/bidirectional_kinematic_heuristic_computer.h",
            "Testing/keb_roadside_footprint_test.cpp",
            "ssep/test/online_merge_retention_test.cc",
            "ssep/offboard/diagnostic/search_display.js",
            "ssep/test/acceptance_browser_test.py",
            "ssep/test/diagnostic_geometry_test.js",
            "replayer/scene_data/config_proto_codec.cpp",
            "replayer/replayer_data_process/replayer_data_extraction.cpp",
            "ssep/common/utils/path_utils.cc",
            "README.md",
            "ssep/offboard/diagnostic/json.h",
            "offboard/keb_path_opt_cli/local_regression/run_keb_regression.py",
            "ssep/coarse_search/evaluator/composite_heuristic_computer.h",
            "offboard/keb_path_opt_cli/keb_scene_converter.hpp",
            "ssep/coarse_search/motion_primitive_sampler/rs_path_motion_primitive_sampler.h",
            "offboard/keb_path_opt_cli/README.md",
            "ssep/offboard/diagnostic/report_template.h.in",
            "ssep/offboard/diagnostic/optimization_workspace.js",
            "offboard/keb_path_opt_cli/keb_path_opt_cli.cc",
            "ssep/offboard/diagnostic/heuristic.h",
            "ssep/offboard/diagnostic/disk_probe.h",
            "ssep/coarse_search/disk_collision_checker.cc",
            "offboard/keb_path_opt_cli/keb_single_frame_cli.cc",
            "ssep/offboard/diagnostic/optimization_plotworkspace.js",
            "offboard/keb_vis_server/foxglove/keb_to_mcap.py",
            "offboard/keb_path_opt_cli/keb_scene_converter.cc",
            ".gitignore",
            "ssep/coarse_search/motion_primitive_sampler/reeds_shepp_path.cc",
            "tasks/plan/keb_utils_core.cpp",
            "ssep/common/offline_diagnostic.h",
            "ssep/offboard/scene_frame_provider.h",
            "ssep/coarse_search/motion_primitive_sampler/reverse_primitive_decorator.h",
            "ssep/offboard/diagnostic/optimization_inspector.js",
            "ssep/offboard/diagnostic/optimization_profiles.js",
            "ssep/test/keb_sum_collision_test.cc",
            "ssep/offboard/diagnostic/trace.h",
            "Testing/scene_replay_foundation_test.cpp",
            "algorithm/plan/keb_optimizer.cpp",
            "tools/pnc_proto_mapper/audit_full_custom_codecs.py",
            "ssep/offboard/diagnostic/optimization_overview.js",
            "tools/pnc_proto_mapper/sync_state_schema.py",
            "ssep/coarse_search/motion_primitive_sampler/dir_change_path_extention_decorator.h",
            "ssep/coarse_search/motion_primitive_sampler/arc_path_motion_primitive_sampler.cc",
            "ssep/coarse_search/evaluator/shortest_path_heur_table.h",
            "ssep/coarse_search/motion_primitive_sampler/quintic_polynomial_motion_primitive_sampler.h",
            "ssep/coarse_search/motion_primitive_sampler/diagnal_motion_primitive_sampler.h",
            "proto/config.proto",
            "ssep/coarse_search/motion_primitive_sampler/composed_motion_primitive_sampler.h",
            "Testing/keb_gate_filter_test.cpp",
            "ssep/offboard/scene_replay/CMakeLists.txt",
            "offboard/keb_path_opt_cli/SINGLE_FRAME.md",
            "ssep/test/ssep_planner_test.cc",
            "ssep/offboard/diagnostic/parking_validation.h",
            "ssep/offboard/servers/CMakeLists.txt",
            "offboard/keb_path_opt_cli/keb_run_options.hpp",
            "ssep/offboard/diagnostic/optimization_help.js",
            "ssep/offboard/diagnostic/collision_geometry.h",
            "Testing/ssep_scenario_config_lifecycle_test.cpp",
            "offboard/keb_path_opt_cli/keb_file_identity.hpp",
            "offboard/bag_to_keb_scene/CMakeLists.txt",
            "ssep/coarse_search/motion_primitive_sampler/rs_path_motion_primitive_sampler.cc"
          ],
          "commitId" : "76c7d56da4e2ac2c5e3e6725902c09f22b978d89",
          "timestamp" : 1791627137000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/liuhongshuo",
            "fullName" : "liuhongshuo"
          },
          "authorEmail" : "liuhongshuo",
          "comment" : "feat(keb): add offboard replay and HTML diagnostics\u000a",
          "date" : "2026-10-10 18:12:17 +0800",
          "id" : "76c7d56da4e2ac2c5e3e6725902c09f22b978d89",
          "msg" : "feat(keb): add offboard replay and HTML diagnostics",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/common/utils/path_utils.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/optimization_viapoints.js"
            },
            {
              "editType" : "edit",
              "file" : "offboard/keb_path_opt_cli/keb_path_opt_cli.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/optimization_help.js"
            },
            {
              "editType" : "edit",
              "file" : "offboard/bag_to_keb_scene/README.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/motion_primitive_sampler/arc_path_motion_primitive_sampler.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/data_structures/ssep_input.cc"
            },
            {
              "editType" : "edit",
              "file" : "offboard/keb_path_opt_cli/closed_loop_utils.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/optimization_workspace.js"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/optimization_profiles.js"
            },
            {
              "editType" : "add",
              "file" : "offboard/keb_path_opt_cli/keb_run_options.hpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/motion_primitive_sampler/const_pinch_motion_primitive_sampler.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/roadside_validation.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/motion_primitive_sampler/dir_change_path_extention_decorator.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/keb_optimizer/planning_profile_yaml.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/report_template.html"
            },
            {
              "editType" : "edit",
              "file" : "algorithm/plan/keb_optimizer.cpp"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/optimization_multimeasure.js"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/keb_softmin_collision_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "offboard/keb_path_opt_cli/keb_scene_converter.cc"
            },
            {
              "editType" : "add",
              "file" : "offboard/keb_path_opt_cli/keb_cli_sources.cmake"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/disk_collision_checker.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/motion_primitive_sampler/reeds_shepp_path.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/search_experience.js"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/multi_stage_hybrid_astar_search_engine.cc"
            },
            {
              "editType" : "edit",
              "file" : "offboard/bag_to_keb_scene/bag_to_keb_scene.cc"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_utils.hpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_scenario_config_lifecycle_test.cpp"
            },
            {
              "editType" : "add",
              "file" : "ssep/common/offline_diagnostic.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/online_merge_retention_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "offboard/keb_path_opt_cli/local_regression/run_keb_regression.py"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/scene_replay/replay_scene_frame_cli.cc"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_utils_core.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/batched_priority_queue.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/evaluator/shortest_path_heur_table.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/acceptance_browser_test.py"
            },
            {
              "editType" : "edit",
              "file" : "Testing/keb_gate_filter_test.cpp"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/heuristic.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/disk_collision_checker.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/scene_replay/CMakeLists.txt"
            },
            {
              "editType" : "add",
              "file" : "offboard/keb_path_opt_cli/keb_file_identity.hpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_path_corridor_test.cpp"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/node_index.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/evaluator/collision_cost_computer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/scene_frame_provider.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/keb_optimizer/PLANNING_PROFILES.md"
            },
            {
              "editType" : "edit",
              "file" : ".gitignore"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/README.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/motion_primitive_sampler/gpu_multi_curvature_sampler.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/report.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/report_template.h.in"
            },
            {
              "editType" : "edit",
              "file" : "offboard/keb_path_opt_cli/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/motion_primitive_sampler/rs_path_motion_primitive_sampler.h"
            },
            {
              "editType" : "edit",
              "file" : "tools/pnc_proto_mapper/audit_full_custom_codecs.py"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/imv_keb_optimizer.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/optimization_inspector.js"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/motion_primitive_sampler/reverse_primitive_decorator.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/motion_primitive_sampler/straight_line_motion_primitive_sampler.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/motion_primitive_sampler/reeds_shepp_path.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/collision_geometry.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/diagnostic_geometry_test.js"
            },
            {
              "editType" : "edit",
              "file" : "proto/config.proto"
            },
            {
              "editType" : "edit",
              "file" : "ssep/common/utils/adaptive_collision_checker.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/search_inspector.js"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/motion_primitive_sampler/quintic_polynomial_motion_primitive_sampler.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/segment_step_validation.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/evaluator/trailer_collision_cost_computer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/evaluator/composite_heuristic_computer.h"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/disk_probe.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/indexed_priority_queue.h"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_utils.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/evaluator/ref_line_heuristic_computer.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/json.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/keb_physical_sides_test.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/optimization_clearance.js"
            },
            {
              "editType" : "edit",
              "file" : "offboard/keb_path_opt_cli/keb_simulator.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/sampling.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/motion_primitive_sampler/const_curvature_motion_primitive_sampler.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/motion_primitive_sampler/multi_curvature_motion_primitive_sampler.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/motion_primitive_sampler/composed_motion_primitive_sampler.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/motion_primitive_sampler/trailer_heading_motion_primitive_decorator.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/ssep_planner_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "offboard/bag_to_keb_scene/bag_reader.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/optimization_acceptance.js"
            },
            {
              "editType" : "add",
              "file" : "offboard/keb_path_opt_cli/keb_single_frame_cli.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/optimization_collision.js"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/config_proto_codec.cpp"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/ogm_snapshot.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/search_heuristic.js"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/optimization_identity.js"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/trace.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/motion_primitive_sampler/rs_path_motion_primitive_sampler.cc"
            },
            {
              "editType" : "edit",
              "file" : "offboard/keb_vis_server/foxglove/README.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/motion_primitive_sampler/motion_primitive_sampler.h"
            },
            {
              "editType" : "edit",
              "file" : "Testing/keb_roadside_footprint_test.cpp"
            },
            {
              "editType" : "add",
              "file" : "offboard/keb_path_opt_cli/restore_recorded_history.py"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/search_display.js"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/optimization.h"
            },
            {
              "editType" : "add",
              "file" : "offboard/keb_vis_server/foxglove/keb_single_frame_layout.json"
            },
            {
              "editType" : "edit",
              "file" : "tools/pnc_proto_mapper/sync_config_schema.py"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/motion_primitive_sampler/dubins_path_motion_primitive_sampler.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/optimization_plotworkspace.js"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/scene_frame_provider.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/keb_sum_collision_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/motion_primitive_sampler/arc_path_motion_primitive_sampler.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/motion_primitive_sampler/dubins_path_motion_primitive_sampler.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.cc"
            },
            {
              "editType" : "edit",
              "file" : "proto/keb_scene.proto"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/motion_primitive_sampler/quintic_polynomial_motion_primitive_sampler.cc"
            },
            {
              "editType" : "add",
              "file" : "offboard/keb_path_opt_cli/SINGLE_FRAME.md"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/collision_validation.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/bounded_priority_queue.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/optimization_overview.js"
            },
            {
              "editType" : "edit",
              "file" : "README.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/evaluator/trailer_shortest_path_heur_computer.h"
            },
            {
              "editType" : "edit",
              "file" : "offboard/bag_to_keb_scene/CMakeLists.txt"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/parking_validation.h"
            },
            {
              "editType" : "edit",
              "file" : "tools/pnc_proto_mapper/sync_state_schema.py"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/servers/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_parking_collision.h"
            },
            {
              "editType" : "edit",
              "file" : "offboard/keb_path_opt_cli/keb_simulator.hpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/bidirectional_hybrid_astar_search_engine.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/optimizer_parameters.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/evaluator/evaluator.h"
            },
            {
              "editType" : "edit",
              "file" : "offboard/keb_vis_server/foxglove/keb_to_mcap.py"
            },
            {
              "editType" : "add",
              "file" : "offboard/keb_path_opt_cli/keb_run_options.cc"
            },
            {
              "editType" : "edit",
              "file" : "replayer/replayer_data_process/replayer_data_extraction.cpp"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/optimization_diagnostics.js"
            },
            {
              "editType" : "edit",
              "file" : "Testing/scene_replay_foundation_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_utils_core.hpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/evaluator/bidirectional_kinematic_heuristic_computer.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/kinematic_validation.h"
            },
            {
              "editType" : "edit",
              "file" : "offboard/keb_path_opt_cli/README.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/parking_collision_provenance_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/evaluator/kinematic_heuristic_computer.h"
            },
            {
              "editType" : "edit",
              "file" : "offboard/bag_to_keb_scene/bag_reader.hpp"
            },
            {
              "editType" : "edit",
              "file" : "offboard/keb_path_opt_cli/keb_scene_converter.hpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/motion_primitive_sampler/diagnal_motion_primitive_sampler.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/evaluator/heuristic_feature_computer.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tasks/plan/keb_lane_follow_path_task.cpp",
            "data/config/cfg_ssep.cpp",
            "tasks/plan/keb_path_optimize_task.cpp",
            "ssep/common/utils/path_utils.cc",
            "data/ssep/into_yard_junction_ec.hpp",
            "ssep/keb_optimizer/configuration_ros.h",
            "data/config/cfg_lat_plan.cpp",
            "ssep/scenarios/imv_enter_yard_planner.h",
            "tasks/plan/keb_utils.hpp",
            "data/ssep/into_yard_junction_ec.cpp",
            "ssep/scenarios/stitching_replanner.h",
            "data/ssep/ssep_ec.hpp",
            "ssep/ssep_planner.cc",
            "data/ssep/ssep_ec.cpp"
          ],
          "commitId" : "9421de081c5bd359a197a67e03b846619e6a4d53",
          "timestamp" : 1791627153000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/liuhongshuo",
            "fullName" : "liuhongshuo"
          },
          "authorEmail" : "liuhongshuo",
          "comment" : "feat:去除不必要的trhow机制\u000a",
          "date" : "2026-10-10 18:12:33 +0800",
          "id" : "9421de081c5bd359a197a67e03b846619e6a4d53",
          "msg" : "feat:去除不必要的trhow机制",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_plan.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/stitching_replanner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/imv_enter_yard_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_lane_follow_path_task.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/into_yard_junction_ec.hpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/ssep_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_ssep.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_ec.hpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/common/utils/path_utils.cc"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_path_optimize_task.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_utils.hpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/configuration_ros.h"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/into_yard_junction_ec.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/protos/params.proto",
            "ssep/keb_optimizer/planning_profile.h",
            "config/config_truck/ssep_port_scenarios_jinxi.yaml",
            "ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc",
            "ssep/keb_optimizer/imv_collision_model.h",
            "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc",
            "ssep/keb_optimizer/imv_keb_optimizer.cc",
            "ssep/keb_optimizer/keb_problem.h",
            "ssep/test/keb_softmin_collision_test.cc",
            "ssep/keb_optimizer/keb_problem.cc",
            "config/config_imv/ssep_port_scenarios_zhenshi.yaml",
            "ssep/keb_optimizer/configuration_fields.h"
          ],
          "commitId" : "fec9b7ac2fc8c1245997638bc48d4443c5a5fabb",
          "timestamp" : 1791627178000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/liuhongshuo",
            "fullName" : "liuhongshuo"
          },
          "authorEmail" : "liuhongshuo",
          "comment" : "feat: KEB对换向点运动放向增加额外包络圆\u000a",
          "date" : "2026-10-10 18:12:58 +0800",
          "id" : "fec9b7ac2fc8c1245997638bc48d4443c5a5fabb",
          "msg" : "feat: KEB对换向点运动放向增加额外包络圆",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/planning_profile.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/protos/params.proto"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/imv_collision_model.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "config/config_truck/ssep_port_scenarios_jinxi.yaml"
            },
            {
              "editType" : "edit",
              "file" : "config/config_imv/ssep_port_scenarios_zhenshi.yaml"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/imv_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/configuration_fields.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/keb_softmin_collision_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/keb_optimizer/PLANNING_PROFILES.md",
            "ssep/keb_optimizer/rigid_truck_keb_optimizer.h",
            "ssep/scenarios/truck_bulk_yark_in_out_planner.cc",
            "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc",
            "ssep/scenarios/tractor_trailer_enter_yard_planner.h",
            "ssep/test/keb_softmin_collision_test.cc",
            "ssep/offboard/scene_replay/replay_scene_frame_cli.cc",
            "ssep/offboard/diagnostic/optimizer_parameters.h",
            "ssep/keb_optimizer/configuration_fields.h",
            "ssep/scenarios/truck_general_planner.h",
            "ssep/scenarios/straddle_carrier_general_planner.h",
            "ssep/keb_optimizer/planning_profile.h",
            "ssep/offboard/diagnostic/report_template.html",
            "ssep/keb_optimizer/tractor_trailer_keb_optimizer.h",
            "ssep/scenarios/truck_accurate_reversing_planner.cc",
            "ssep/scenarios/truck_multi_segment_parking_planner.h"
          ],
          "commitId" : "cb36399d4d50601abe76477dcdf4bebd77285072",
          "timestamp" : 1791627208000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/liuhongshuo",
            "fullName" : "liuhongshuo"
          },
          "authorEmail" : "liuhongshuo",
          "comment" : "feat: 二次优化的planner配置对应的参数\u000a",
          "date" : "2026-10-10 18:13:28 +0800",
          "id" : "cb36399d4d50601abe76477dcdf4bebd77285072",
          "msg" : "feat: 二次优化的planner配置对应的参数",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/rigid_truck_keb_optimizer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_general_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/straddle_carrier_general_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_multi_segment_parking_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_bulk_yark_in_out_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/keb_softmin_collision_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/tractor_trailer_keb_optimizer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/diagnostic/report_template.html"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_accurate_reversing_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/scene_replay/replay_scene_frame_cli.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/PLANNING_PROFILES.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/diagnostic/optimizer_parameters.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/configuration_fields.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/planning_profile.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_enter_yard_planner.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/scenarios/truck_multi_seg_general_planner.h",
            "ssep/test/keb_softmin_collision_test.cc",
            "ssep/data_structures/ssep_input.cc",
            "ssep/scenarios/imv_exit_parking_spot_planner.h",
            "ssep/keb_optimizer/keb_problem.cc",
            "ssep/keb_optimizer/configuration_fields.h",
            "ssep/keb_optimizer/parameters_proto_codec.h",
            "ssep/keb_optimizer/planning_profile.h",
            "data/config/cfg_lat_plan.cpp",
            "ssep/scenarios/imv_enter_yard_planner.h",
            "data/ssep/ssep_ec.cpp",
            "ssep/keb_optimizer/keb_configuration.h",
            "ssep/keb_optimizer/configuration_yaml.h",
            "replayer/scene_data/generated/compact_scene_descriptor.pb",
            "ssep/protos/params.proto",
            "proto/keb_scene.proto",
            "tools/pnc_proto_mapper/sync_config_schema.py",
            "ssep/keb_optimizer/imv_keb_optimizer.h",
            "ssep/keb_optimizer/recorded_stage_defaults.h",
            "ssep/protos/scene.proto",
            "tasks/plan/keb_utils.cpp",
            "ssep/scenarios/truck_general_planner.h",
            "ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc",
            "ssep/keb_optimizer/scenario_optimizer_defaults.h",
            "docs/pnc_algorithm_replay/plan_frame_field_workflow.md",
            "ssep/keb_optimizer/keb_problem.h",
            "ssep/scenarios/straddle_carrier_pick_vehicle_planner.h",
            "replayer/scene_data/compact_proto_codec.cpp",
            "offboard/keb_path_opt_cli/keb_run_options.cc",
            "ssep/keb_optimizer/rigid_truck_keb_optimizer.h",
            "ssep/offboard/ssep_planner_wrapper.cc",
            "ssep/keb_optimizer/parameters.h",
            "tasks/plan/keb_path_optimize_task.cpp",
            "ssep/scenarios/two_stage_planner_composer.h",
            "data/config/cfg_lat_plan.hpp",
            "ssep/keb_optimizer/recorded_profile.h",
            "ssep/scenarios/imv_enter_station_planner.h",
            "ssep/scenarios/tractor_trailer_enter_parking_spot_planner.h",
            "ssep/keb_optimizer/planning_profile_yaml.h",
            "offboard/keb_path_opt_cli/keb_simulator.cc",
            "ssep/keb_optimizer/PLANNING_PROFILES.md",
            "replayer/scene_data/generated/plan_frame_field_roles.json",
            "replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml",
            "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc",
            "ssep/scenarios/tractor_trailer_enter_yard_planner.h",
            "ssep/scenarios/truck_fuzzy_reversing_planner.h",
            "ssep/keb_optimizer/imv_keb_optimizer.cc",
            "ssep/offboard/scene_replay/replay_scene_frame_cli.cc",
            "data/config/cfg_ssep.hpp",
            "ssep/scenarios/straddle_carrier_general_planner.h",
            "ssep/keb_optimizer/imv_collision_model.h",
            "tasks/plan/keb_utils.hpp",
            "ssep/offboard/diagnostic/report_template.html",
            "ssep/scenarios/stitching_replanner.h",
            "ssep/data_structures/ssep_input.hpp",
            "tasks/plan/keb_path_optimize_task.hpp",
            "Testing/CMakeLists.txt",
            "replayer/scene_data/generated/plan_frame_descriptor.pb",
            "ssep/scenarios/truck_bulk_yark_in_out_planner.cc",
            "Testing/keb_parameters_config_test.cpp",
            "replayer/scene_data/generated/full_custom_cpp_member_inputs.json",
            "ssep/scenarios/truck_remote_guided_escape_planner.h",
            "ssep/param_loader/param.h",
            "data/ssep/ssep_scenario_config_loader.cpp",
            "ssep/offboard/diagnostic/optimizer_parameters.h",
            "tools/pnc_proto_mapper/test_config_schema_presence.py",
            "replayer/scene_data/compact_custom_field_proto_codec.cpp",
            "ssep/scenarios/scenario_planner_interface.h",
            "Testing/keb_roadside_footprint_test.cpp",
            "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h",
            "data/ssep/ssep_activation.cpp",
            "proto/pnc_scene/compact_replay_input.proto",
            "ssep/scenarios/legacy_planner.h",
            "ssep/test/diagnostic_geometry_test.js",
            "replayer/replayer_data_process/replayer_data_extraction.cpp",
            "replayer/scene_data/config_proto_codec.cpp",
            "ssep/ssep_planner.h",
            "README.md",
            "ssep/keb_optimizer/configuration_ros.h",
            "data/ssep/into_yard_junction_ec.cpp",
            "ssep/scenarios/truck_accurate_reversing_planner.cc",
            "ssep/scenarios/tractor_trailer_reverse_priority_parking_planner.h",
            "offboard/keb_path_opt_cli/keb_single_frame_cli.cc",
            "ssep/ssep_planner.cc",
            "ssep/scenarios/imv_pullover_planner.h",
            "tasks/plan/keb_lane_follow_path_task.cpp",
            "proto/plan_data.proto",
            "offboard/keb_path_opt_cli/keb_scene_converter.cc",
            "replayer/scene_data/full_custom_codec_exclusions.yaml",
            "ssep/keb_optimizer/optimizer_parameters.h",
            "ssep/scenarios/tractor_trailer_exit_parking_spot_planner.h",
            "ssep/scenarios/imv_general_planner.h",
            "replayer/scene_data/generated/config_schema_inputs.json",
            "ssep/scenarios/truck_u_turn_planner.h",
            "ssep/keb_optimizer/tractor_trailer_keb_optimizer.h",
            "Testing/scene_replay_foundation_test.cpp",
            "algorithm/plan/keb_optimizer.cpp",
            "ssep/offboard/diagnostic/optimization_overview.js",
            "ssep/scenarios/imv_multi_segment_parking_planner.h",
            "replayer/scene_data/generated/plan_frame_encoder.cpp",
            "replayer/scene_data/full_proto_custom_encoder.cpp",
            "ssep/scenarios/truck_multi_segment_parking_planner.h",
            "proto/config.proto",
            "ssep/scenarios/tractor_trailer_general_planner.h",
            "ssep/scenarios/scenario_planner_factory.h",
            "ssep/scenarios/tractor_trailer_short_distance_planner.h",
            "ssep/scenarios/tractor_trailer_lane_change_planner.h",
            "offboard/keb_path_opt_cli/keb_run_options.hpp",
            "replayer/scene_data/plan_frame_field_roles.csv",
            "ssep/keb_optimizer/optimizer_defaults.h",
            "replayer/scene_data/generated/scene_replay_api_descriptor.pb",
            "Testing/ssep_scenario_config_lifecycle_test.cpp",
            "tasks/plan/keb_lane_follow_path_task.hpp",
            "ssep/scenarios/tractor_trailer_single_segment_parking_planner.h"
          ],
          "commitId" : "f32984cb6816801a1c2b492cdf6b8add76fd4ffd",
          "timestamp" : 1791628330000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/liuhongshuo",
            "fullName" : "liuhongshuo"
          },
          "authorEmail" : "liuhongshuo",
          "comment" : "fix: Protobuf map普通序列化顺序不稳定导致快照校验失败的问题   keb配置参数方案重构\u000a",
          "date" : "2026-10-10 18:32:10 +0800",
          "id" : "f32984cb6816801a1c2b492cdf6b8add76fd4ffd",
          "msg" : "fix: Protobuf map普通序列化顺序不稳定导致快照校验失败的问题   keb配置参数方案重构",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/test/keb_softmin_collision_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_remote_guided_escape_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.cc"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_encoder.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_multi_segment_parking_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/tractor_trailer_keb_optimizer.h"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_plan.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "ssep/param_loader/param.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/scenario_planner_factory.h"
            },
            {
              "editType" : "edit",
              "file" : "replayer/replayer_data_process/replayer_data_extraction.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_proto_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/imv_pullover_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/imv_multi_segment_parking_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "docs/pnc_algorithm_replay/plan_frame_field_workflow.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/ssep_planner_wrapper.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/PLANNING_PROFILES.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/ssep_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/scene_replay/replay_scene_frame_cli.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_multi_seg_general_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/imv_enter_yard_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/full_proto_custom_encoder.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/imv_general_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/data_structures/ssep_input.hpp"
            },
            {
              "editType" : "delete",
              "file" : "ssep/keb_optimizer/recorded_profile.h"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_path_optimize_task.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/into_yard_junction_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/configuration_yaml.h"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_field_roles.json"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_bulk_yark_in_out_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "offboard/keb_path_opt_cli/keb_single_frame_cli.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/keb_optimizer/parameters_proto_codec.h"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_custom_field_proto_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/imv_keb_optimizer.h"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/config_proto_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_plan.hpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/imv_collision_model.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/scenario_planner_interface.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/imv_exit_parking_spot_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_general_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_single_segment_parking_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc"
            },
            {
              "editType" : "delete",
              "file" : "ssep/keb_optimizer/planning_profile_yaml.h"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/plan_frame_field_roles.csv"
            },
            {
              "editType" : "edit",
              "file" : "tools/pnc_proto_mapper/test_config_schema_presence.py"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_enter_yard_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_lane_change_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/two_stage_planner_composer.h"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_scene_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "ssep/protos/params.proto"
            },
            {
              "editType" : "delete",
              "file" : "ssep/keb_optimizer/configuration_ros.h"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_scenario_config_lifecycle_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "proto/keb_scene.proto"
            },
            {
              "editType" : "add",
              "file" : "Testing/keb_parameters_config_test.cpp"
            },
            {
              "editType" : "add",
              "file" : "ssep/keb_optimizer/optimizer_parameters.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/diagnostic_geometry_test.js"
            },
            {
              "editType" : "edit",
              "file" : "ssep/protos/scene.proto"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/config_schema_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_scenario_config_loader.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_activation.cpp"
            },
            {
              "editType" : "edit",
              "file" : "offboard/keb_path_opt_cli/keb_run_options.cc"
            },
            {
              "editType" : "edit",
              "file" : "Testing/keb_roadside_footprint_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "offboard/keb_path_opt_cli/keb_run_options.hpp"
            },
            {
              "editType" : "add",
              "file" : "ssep/keb_optimizer/scenario_optimizer_defaults.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/configuration_fields.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_short_distance_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml"
            },
            {
              "editType" : "edit",
              "file" : "proto/plan_data.proto"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/legacy_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_enter_parking_spot_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_lane_follow_path_task.cpp"
            },
            {
              "editType" : "add",
              "file" : "ssep/keb_optimizer/recorded_stage_defaults.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_exit_parking_spot_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_path_optimize_task.hpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_general_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_ssep.hpp"
            },
            {
              "editType" : "edit",
              "file" : "README.md"
            },
            {
              "editType" : "edit",
              "file" : "proto/pnc_scene/compact_replay_input.proto"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/straddle_carrier_pick_vehicle_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_utils.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_lane_follow_path_task.hpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/diagnostic/optimizer_parameters.h"
            },
            {
              "editType" : "edit",
              "file" : "offboard/keb_path_opt_cli/keb_simulator.cc"
            },
            {
              "editType" : "edit",
              "file" : "proto/config.proto"
            },
            {
              "editType" : "add",
              "file" : "ssep/keb_optimizer/parameters.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/imv_enter_station_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_utils.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tools/pnc_proto_mapper/sync_config_schema.py"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/diagnostic/report_template.html"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/straddle_carrier_general_planner.h"
            },
            {
              "editType" : "delete",
              "file" : "ssep/keb_optimizer/planning_profile.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_u_turn_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/imv_keb_optimizer.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/keb_optimizer/optimizer_defaults.h"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_fuzzy_reversing_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "Testing/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_configuration.h"
            },
            {
              "editType" : "edit",
              "file" : "Testing/scene_replay_foundation_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/rigid_truck_keb_optimizer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_reverse_priority_parking_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/data_structures/ssep_input.cc"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/scene_replay_api_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_accurate_reversing_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/ssep_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "offboard/keb_path_opt_cli/keb_scene_converter.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/stitching_replanner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/diagnostic/optimization_overview.js"
            },
            {
              "editType" : "edit",
              "file" : "algorithm/plan/keb_optimizer.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/full_custom_codec_exclusions.yaml"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/keb_optimizer/optimizer_parameters.h"
          ],
          "commitId" : "c221323461d1def91bae8a0aad4fa0ff5ed2b130",
          "timestamp" : 1791628342000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/liuhongshuo",
            "fullName" : "liuhongshuo"
          },
          "authorEmail" : "liuhongshuo",
          "comment" : "feat: IMV默认包络统一\u000a",
          "date" : "2026-10-10 18:32:22 +0800",
          "id" : "c221323461d1def91bae8a0aad4fa0ff5ed2b130",
          "msg" : "feat: IMV默认包络统一",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/optimizer_parameters.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/offboard/scene_frame_provider.cc",
            "ssep/test/CMakeLists.txt",
            "ssep/offboard/diagnostic/search_experience.js",
            "ssep/test/local_regression/run_tt_single_parking_case.py",
            "ssep/offboard/diagnostic/README.md",
            "ssep/test/local_regression/run_ssep_regression.py",
            "ssep/test/search_process_test.js",
            "ssep/offboard/diagnostic/planning_attempt.h",
            "ssep/offboard/cli/README.md",
            "ssep/test/light_search_test.cc",
            "ssep/offboard/diagnostic/report.h",
            "ssep/offboard/diagnostic/trace.h",
            "ssep/offboard/cli/analysis_options.h",
            "docs/reverse_pickup_search.md",
            "ssep/offboard/scene_replay/README.md",
            "ssep/keb_optimizer/PLANNING_PROFILES.md",
            "ssep/coarse_search/topology_analysis/yard_entry_reference_path_generator.cc",
            "ssep/scenarios/tractor_trailer_enter_yard_planner.h",
            "ssep/test/analysis_options_test.cc",
            "ssep/test/analysis_completion_test.bash",
            "ssep/offboard/scene_replay/replay_scene_frame_cli.cc",
            "offboard/keb_path_opt_cli/SINGLE_FRAME.md",
            "ssep/offboard/scene_replay/CMakeLists.txt",
            "README.md",
            "ssep/offboard/diagnostic/report_template.html",
            "ssep/offboard/cli/analysis_completion.bash",
            "ssep/offboard/diagnostic/optimization.h",
            "ssep/offboard/diagnostic/light_search.h",
            "ssep/offboard/diagnostic/search_process.js",
            "offboard/keb_path_opt_cli/keb_single_frame_cli.cc",
            "offboard/keb_vis_server/foxglove/keb_to_mcap.py"
          ],
          "commitId" : "f90d048be708b49817d18ae3f31fa817d6d7d352",
          "timestamp" : 1791628342000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/liuhongshuo",
            "fullName" : "liuhongshuo"
          },
          "authorEmail" : "liuhongshuo",
          "comment" : "feat: html分析工具增加路径几何\u000a",
          "date" : "2026-10-10 18:32:22 +0800",
          "id" : "f90d048be708b49817d18ae3f31fa817d6d7d352",
          "msg" : "feat: html分析工具增加路径几何",
          "paths" : [
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/light_search.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/scene_replay/README.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/scene_replay/replay_scene_frame_cli.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/diagnostic/README.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/diagnostic/report_template.html"
            },
            {
              "editType" : "edit",
              "file" : "README.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/PLANNING_PROFILES.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/diagnostic/trace.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/light_search_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "docs/reverse_pickup_search.md"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/search_process.js"
            },
            {
              "editType" : "edit",
              "file" : "offboard/keb_vis_server/foxglove/keb_to_mcap.py"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/cli/README.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/CMakeLists.txt"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/cli/analysis_options.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_enter_yard_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "offboard/keb_path_opt_cli/SINGLE_FRAME.md"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/analysis_completion_test.bash"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/search_process_test.js"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/diagnostic/search_experience.js"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/planning_attempt.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/analysis_options_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "offboard/keb_path_opt_cli/keb_single_frame_cli.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/run_ssep_regression.py"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/diagnostic/optimization.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/diagnostic/report.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/run_tt_single_parking_case.py"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/scene_frame_provider.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/topology_analysis/yard_entry_reference_path_generator.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/cli/analysis_completion.bash"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/scene_replay/CMakeLists.txt"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/ssep/out_yard_junction_ec.hpp",
            "algorithm/plan/keb_optimizer.hpp",
            "replayer/scene_data/generated/full_custom_cpp_member_inputs.json",
            "ssep/test/keb_softmin_collision_test.cc",
            "data/ssep/ssep_scenario_config_loader.cpp",
            "ssep/offboard/diagnostic/optimizer_parameters.h",
            "ssep/keb_optimizer/keb_problem.cc",
            "ssep/keb_optimizer/configuration_fields.h",
            "ssep/offboard/cli/README.md",
            "ssep/keb_optimizer/parameters_proto_codec.h",
            "ssep/test/keb_normal_extension_test.cc",
            "offboard/bag_to_keb_scene/bag_reader.hpp",
            "config/config_truck/ssep_port_scenarios_jinxi.yaml",
            "data/config/cfg_lat_plan.cpp",
            "offboard/bag_to_keb_scene/bag_reader.cc",
            "ssep/test/parking_collision_provenance_test.cc",
            "ssep/offboard/cli/analysis_options.h",
            "ssep/test/online_merge_retention_test.cc",
            "data/ssep/ssep_ec.cpp",
            "ssep/keb_optimizer/configuration_yaml.h",
            "replayer/scene_data/generated/compact_scene_descriptor.pb",
            "ssep/protos/params.proto",
            "proto/keb_scene.proto",
            "data/ssep/forward_ec.cpp",
            "data/ssep/bridge_junction_ec.cpp",
            "data/ssep/normal_junction_ec.hpp",
            "replayer/replayer_data_process/replayer_data_extraction.cpp",
            "replayer/scene_data/config_proto_codec.cpp",
            "offboard/bag_to_keb_scene/README.md",
            "ssep/keb_optimizer/recorded_stage_defaults.h",
            "README.md",
            "tasks/plan/keb_utils_core.hpp",
            "ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc",
            "data/ssep/into_yard_junction_ec.cpp",
            "ssep/coarse_search/bidirectional_hybrid_astar_search_engine.cc",
            "offboard/keb_path_opt_cli/keb_replay_input.hpp",
            "docs/pnc_algorithm_replay/plan_frame_field_workflow.md",
            "data/ssep/ssep_scenario_config.cpp",
            "ssep/keb_optimizer/keb_problem.h",
            "ssep/scenarios/tractor_trailer_reverse_priority_parking_planner.h",
            "offboard/keb_path_opt_cli/keb_single_frame_cli.cc",
            "ssep/scenarios/imv_pullover_planner.h",
            "data/ssep/reverse_ec.hpp",
            "tasks/plan/keb_lane_follow_path_task.cpp",
            "ssep/coarse_search/evaluator/trailer_shortest_path_heur_computer.cc",
            "ssep/test/CMakeLists.txt",
            "replayer/scene_data/full_custom_codec_exclusions.yaml",
            "data/ssep/ex_lane_change_ec.cpp",
            "data/ssep/field_junction_ec.cpp",
            "ssep/keb_optimizer/parameters.h",
            "ssep/keb_optimizer/optimizer_parameters.h",
            "tasks/plan/keb_path_optimize_task.cpp",
            "offboard/bag_to_keb_scene/bag_to_keb_scene.cc",
            "data/ssep/out_yard_junction_ec.cpp",
            "tasks/plan/keb_utils_core.cpp",
            "ssep/offboard/diagnostic/optimization_identity.js",
            "data/ssep/seaside_junction_ec.cpp",
            "ssep/test/keb_parameter_unification_test.cc",
            "data/ssep/open_space_ec.cpp",
            "Testing/search_decider_lifecycle_test.cpp",
            "ssep/offboard/diagnostic/report.h",
            "Testing/scene_replay_foundation_test.cpp",
            "algorithm/plan/keb_optimizer.cpp",
            "data/ssep/ssep_ec.hpp",
            "ssep/coarse_search/evaluator/trailer_shortest_path_heur_computer.h",
            "replayer/scene_data/generated/plan_frame_encoder.cpp",
            "offboard/keb_path_opt_cli/keb_simulator.cc",
            "ssep/keb_optimizer/PLANNING_PROFILES.md",
            "ssep/common/utils/tunnel_geometry.h",
            "proto/config.proto",
            "data/ssep/reverse_ec.cpp",
            "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc",
            "data/ssep/normal_junction_ec.cpp",
            "ssep/keb_optimizer/imv_keb_optimizer.cc",
            "Testing/keb_replay_input_test.cpp",
            "ssep/offboard/scene_replay/replay_scene_frame_cli.cc",
            "offboard/keb_path_opt_cli/SINGLE_FRAME.md",
            "ssep/offboard/scene_replay/CMakeLists.txt",
            "config/config_imv/ssep_port_scenarios_zhenshi.yaml",
            "ssep/test/ssep_planner_test.cc",
            "replayer/replayer_data_process/replayer_data_extraction.hpp",
            "ssep/offboard/diagnostic/report_template.html",
            "ssep/keb_optimizer/imv_collision_model.h",
            "ssep/keb_optimizer/optimizer_defaults.h",
            "replayer/scene_data/generated/scene_replay_api_descriptor.pb",
            "Testing/CMakeLists.txt",
            "replayer/scene_data/generated/plan_frame_descriptor.pb",
            "Testing/ssep_scenario_config_lifecycle_test.cpp",
            "offboard/bag_to_keb_scene/CMakeLists.txt",
            "data/ssep/ssep_scenario_config.hpp"
          ],
          "commitId" : "853fb8ef2ab112c3633fa1c63a4ac9dd8d762351",
          "timestamp" : 1791858041000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/liuhongshuo",
            "fullName" : "liuhongshuo"
          },
          "authorEmail" : "liuhongshuo",
          "comment" : "feat: rebase后配置参数的调整、冗余代码合并、通道构造全场景配置\u000a",
          "date" : "2026-10-13 10:20:41 +0800",
          "id" : "853fb8ef2ab112c3633fa1c63a4ac9dd8d762351",
          "msg" : "feat: rebase后配置参数的调整、冗余代码合并、通道构造全场景配置",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/ssep/field_junction_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/scene_replay_api_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_reverse_priority_parking_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/open_space_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "offboard/keb_path_opt_cli/SINGLE_FRAME.md"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/cli/README.md"
            },
            {
              "editType" : "edit",
              "file" : "offboard/bag_to_keb_scene/bag_reader.hpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_scenario_config_lifecycle_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "config/config_imv/ssep_port_scenarios_zhenshi.yaml"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/imv_pullover_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "offboard/bag_to_keb_scene/bag_reader.cc"
            },
            {
              "editType" : "edit",
              "file" : "replayer/replayer_data_process/replayer_data_extraction.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/evaluator/trailer_shortest_path_heur_computer.cc"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_scenario_config_loader.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/into_yard_junction_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/keb_softmin_collision_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/seaside_junction_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.h"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/normal_junction_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/scene_replay_foundation_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "offboard/keb_path_opt_cli/keb_simulator.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/ssep_planner_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/bridge_junction_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/imv_keb_optimizer.cc"
            },
            {
              "editType" : "add",
              "file" : "Testing/keb_replay_input_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "offboard/bag_to_keb_scene/README.md"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/reverse_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_utils_core.cpp"
            },
            {
              "editType" : "add",
              "file" : "offboard/keb_path_opt_cli/keb_replay_input.hpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/optimizer_defaults.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/recorded_stage_defaults.h"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_plan.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_scene_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/diagnostic/report_template.html"
            },
            {
              "editType" : "edit",
              "file" : "Testing/search_decider_lifecycle_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "algorithm/plan/keb_optimizer.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_path_optimize_task.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_lane_follow_path_task.cpp"
            },
            {
              "editType" : "add",
              "file" : "ssep/common/utils/tunnel_geometry.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/imv_collision_model.h"
            },
            {
              "editType" : "edit",
              "file" : "config/config_truck/ssep_port_scenarios_jinxi.yaml"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/parameters.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/diagnostic/optimizer_parameters.h"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/config_proto_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/diagnostic/optimization_identity.js"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/diagnostic/report.h"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_scenario_config.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_scenario_config.hpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/protos/params.proto"
            },
            {
              "editType" : "edit",
              "file" : "proto/config.proto"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/evaluator/trailer_shortest_path_heur_computer.h"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/reverse_ec.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/out_yard_junction_ec.hpp"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/keb_parameter_unification_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "proto/keb_scene.proto"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/configuration_yaml.h"
            },
            {
              "editType" : "edit",
              "file" : "offboard/bag_to_keb_scene/bag_to_keb_scene.cc"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_utils_core.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/full_custom_codec_exclusions.yaml"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_encoder.cpp"
            },
            {
              "editType" : "edit",
              "file" : "docs/pnc_algorithm_replay/plan_frame_field_workflow.md"
            },
            {
              "editType" : "edit",
              "file" : "offboard/bag_to_keb_scene/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "offboard/keb_path_opt_cli/keb_single_frame_cli.cc"
            },
            {
              "editType" : "edit",
              "file" : "algorithm/plan/keb_optimizer.hpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/cli/analysis_options.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/parameters_proto_codec.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/PLANNING_PROFILES.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/bidirectional_hybrid_astar_search_engine.cc"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/normal_junction_ec.hpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/optimizer_parameters.h"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_ec.hpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/keb_normal_extension_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ex_lane_change_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "README.md"
            },
            {
              "editType" : "edit",
              "file" : "replayer/replayer_data_process/replayer_data_extraction.hpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/scene_replay/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/scene_replay/replay_scene_frame_cli.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/parking_collision_provenance_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/out_yard_junction_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/configuration_fields.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/online_merge_retention_test.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/offboard/diagnostic/optimization_multimeasure.js",
            "offboard/keb_path_opt_cli/keb_run_options.cc",
            "ssep/offboard/diagnostic/optimization_acceptance.js",
            "ssep/test/output_provenance_test.cc",
            "ssep/keb_optimizer/parameters.h",
            "ssep/offboard/diagnostic/optimization_provenance.js",
            "ssep/offboard/diagnostic/output_provenance.h",
            "ssep/offboard/diagnostic/README.md",
            "ssep/offboard/diagnostic/optimization_diagnostics.js",
            "ssep/test/keb_softmin_collision_test.cc",
            "ssep/scenarios/truck_remote_guided_escape_planner.h",
            "ssep/scenarios/tractor_trailer_exit_parking_spot_planner.h",
            "ssep/offboard/diagnostic/kinematic_validation.h",
            "ssep/test/keb_parameter_unification_test.cc",
            "ssep/keb_optimizer/configuration_fields.h",
            "ssep/keb_optimizer/keb_problem.cc",
            "ssep/offboard/cli/README.md",
            "ssep/offboard/diagnostic/report.h",
            "ssep/offboard/diagnostic/trace.h",
            "ssep/keb_optimizer/tractor_trailer_keb_optimizer.h",
            "ssep/offboard/diagnostic/optimization_overview.js",
            "ssep/scenarios/imv_multi_segment_parking_planner.h",
            "ssep/keb_optimizer/control_space_refiner.cc",
            "offboard/keb_path_opt_cli/keb_simulator.cc",
            "ssep/keb_optimizer/PLANNING_PROFILES.md",
            "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc",
            "ssep/test/acceptance_workspace_test.js",
            "ssep/keb_optimizer/imv_keb_optimizer.cc",
            "ssep/test/output_provenance_test.js",
            "ssep/offboard/scene_replay/CMakeLists.txt",
            "offboard/keb_path_opt_cli/keb_run_options.hpp",
            "ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc",
            "ssep/offboard/diagnostic/report_template.html",
            "ssep/offboard/diagnostic/optimization.h",
            "ssep/offboard/diagnostic/optimization_workspace.js",
            "ssep/scenarios/stitching_replanner.h",
            "offboard/keb_path_opt_cli/keb_single_frame_cli.cc",
            "ssep/ssep_planner.cc",
            "ssep/offboard/diagnostic/optimization_plotworkspace.js",
            "ssep/scenarios/tractor_trailer_single_segment_parking_planner.h"
          ],
          "commitId" : "67aa198da18d78b95749de4c6dba4002f87f65cd",
          "timestamp" : 1791957687000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/liuhongshuo",
            "fullName" : "liuhongshuo"
          },
          "authorEmail" : "liuhongshuo",
          "comment" : "调整 KEB 参数与配置生效，完善离线回放及诊断\u000a\u000a1. 调整牵引车 KEB 场景默认参数\u000a2. 修复碰撞硬缓冲配置的实际生效\u000a3. 让停车历史路径优化正确接收显式配置\u000a4. 修复离线回放终点容差被默认值覆盖\u000a5. 新增最终路径的来源追踪\u000a6. 改进 HTML 优化与验收诊断\u000a",
          "date" : "2026-10-14 14:01:27 +0800",
          "id" : "67aa198da18d78b95749de4c6dba4002f87f65cd",
          "msg" : "调整 KEB 参数与配置生效，完善离线回放及诊断",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "offboard/keb_path_opt_cli/keb_single_frame_cli.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/diagnostic/optimization_multimeasure.js"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/diagnostic/report_template.html"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/diagnostic/trace.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/PLANNING_PROFILES.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/keb_parameter_unification_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "offboard/keb_path_opt_cli/keb_run_options.hpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/diagnostic/optimization.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/imv_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/ssep_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/stitching_replanner.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/output_provenance.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/cli/README.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/diagnostic/optimization_acceptance.js"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/scene_replay/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/diagnostic/kinematic_validation.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/diagnostic/optimization_plotworkspace.js"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/diagnostic/report.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/keb_softmin_collision_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/diagnostic/README.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/parameters.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_remote_guided_escape_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/diagnostic/optimization_overview.js"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/diagnostic/optimization_diagnostics.js"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_single_segment_parking_planner.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/acceptance_workspace_test.js"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_exit_parking_spot_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/tractor_trailer_keb_optimizer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/configuration_fields.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/output_provenance_test.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/output_provenance_test.js"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/control_space_refiner.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/optimization_provenance.js"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/diagnostic/optimization_workspace.js"
            },
            {
              "editType" : "edit",
              "file" : "offboard/keb_path_opt_cli/keb_run_options.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/imv_multi_segment_parking_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "offboard/keb_path_opt_cli/keb_simulator.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/keb_optimizer/PLANNING_PROFILES.md",
            "ssep/keb_optimizer/scenario_optimizer_defaults.h",
            "ssep/scenarios/stitching_replanner.h",
            "ssep/test/keb_softmin_collision_test.cc",
            "ssep/keb_optimizer/recorded_stage_defaults.h",
            "ssep/keb_optimizer/keb_problem.cc",
            "ssep/test/keb_parameter_unification_test.cc",
            "ssep/keb_optimizer/configuration_fields.h"
          ],
          "commitId" : "ae751fcc65bdb3eb7f44e70f22fe4e1b74814109",
          "timestamp" : 1792027982000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/liuhongshuo",
            "fullName" : "liuhongshuo"
          },
          "authorEmail" : "liuhongshuo",
          "comment" : "feat: 1.keb固定权重细化不依赖预热调度，始终读取当前倍率 2.适配调整后的keb参数默认值\u000a",
          "date" : "2026-10-15 09:33:02 +0800",
          "id" : "ae751fcc65bdb3eb7f44e70f22fe4e1b74814109",
          "msg" : "feat: 1.keb固定权重细化不依赖预热调度，始终读取当前倍率 2.适配调整后的keb参数默认值",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/test/keb_softmin_collision_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/recorded_stage_defaults.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/keb_parameter_unification_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/PLANNING_PROFILES.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/configuration_fields.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/scenario_optimizer_defaults.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/stitching_replanner.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp",
            "Testing/keb_roadside_config_test.cpp",
            "ssep/keb_optimizer/parameters.h",
            "Testing/keb_parameters_config_test.cpp",
            "ssep/offboard/diagnostic/optimization_diagnostics.js",
            "ssep/test/keb_softmin_collision_test.cc",
            "ssep/keb_optimizer/cost_features/softmin_disk_collision_cost.h",
            "ssep/offboard/diagnostic/optimizer_parameters.h",
            "ssep/test/keb_parameter_unification_test.cc",
            "ssep/keb_optimizer/keb_problem.cc",
            "ssep/keb_optimizer/configuration_fields.h",
            "ssep/keb_optimizer/parameters_proto_codec.h",
            "docs/pnc_algorithm_replay/plan_frame_field_contract_notes.md",
            "Testing/scene_replay_foundation_test.cpp",
            "replayer/scene_data/generated/plan_frame_encoder.cpp",
            "Testing/keb_roadside_footprint_test.cpp",
            "ssep/keb_optimizer/PLANNING_PROFILES.md",
            "ssep/protos/params.proto",
            "replayer/scene_data/generated/compact_scene_descriptor.pb",
            "ssep/test/keb_collision_weight_test.cc",
            "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc",
            "ssep/keb_optimizer/imv_keb_optimizer.cc",
            "replayer/scene_data/compact_numeric_policy.yaml",
            "ssep/coarse_search/multi_stage_hybrid_astar_search_engine.cc",
            "ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc",
            "replayer/scene_data/compact_numeric_leaf_contract.csv",
            "ssep/keb_optimizer/keb_problem.h",
            "replayer/scene_data/generated/scene_replay_api_descriptor.pb",
            "replayer/scene_data/generated/plan_frame_descriptor.pb"
          ],
          "commitId" : "39f8e722a5af1d53d54bdf136357b3235457c2a4",
          "timestamp" : 1792044221000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/liuhongshuo",
            "fullName" : "liuhongshuo"
          },
          "authorEmail" : "liuhongshuo",
          "comment" : "feat:1. soft-min对实际入侵的参差乘倍率 2.删除冗余的gtest测试单远\u000a",
          "date" : "2026-10-15 14:03:41 +0800",
          "id" : "39f8e722a5af1d53d54bdf136357b3235457c2a4",
          "msg" : "feat:1. soft-min对实际入侵的参差乘倍率 2.删除冗余的gtest测试单远",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_encoder.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/imv_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/diagnostic/optimization_diagnostics.js"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_policy.yaml"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/keb_softmin_collision_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/diagnostic/optimizer_parameters.h"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/parameters.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/protos/params.proto"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/keb_parameter_unification_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/scene_replay_api_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/multi_stage_hybrid_astar_search_engine.cc"
            },
            {
              "editType" : "edit",
              "file" : "docs/pnc_algorithm_replay/plan_frame_field_contract_notes.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/PLANNING_PROFILES.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_scene_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/parameters_proto_codec.h"
            },
            {
              "editType" : "edit",
              "file" : "Testing/keb_roadside_footprint_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/keb_roadside_config_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.h"
            },
            {
              "editType" : "edit",
              "file" : "Testing/scene_replay_foundation_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "Testing/keb_parameters_config_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/cost_features/softmin_disk_collision_cost.h"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_leaf_contract.csv"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/keb_collision_weight_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/configuration_fields.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/offboard/diagnostic/optimization_provenance.js",
            "ssep/offboard/diagnostic/optimization_workspace.js"
          ],
          "commitId" : "f1a1af7f81ed9eecc27a34b4cdd2f70918c1761a",
          "timestamp" : 1792051428000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/liuhongshuo",
            "fullName" : "liuhongshuo"
          },
          "authorEmail" : "liuhongshuo",
          "comment" : "feat: keb中的QP展示优化\u000a",
          "date" : "2026-10-15 16:03:48 +0800",
          "id" : "f1a1af7f81ed9eecc27a34b4cdd2f70918c1761a",
          "msg" : "feat: keb中的QP展示优化",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/offboard/diagnostic/optimization_workspace.js"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/diagnostic/optimization_provenance.js"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/test/keb_softmin_collision_test.cc",
            "ssep/common/utils/path_utils.cc",
            "ssep/keb_optimizer/scenario_optimizer_defaults.h",
            "ssep/test/keb_parameter_unification_test.cc",
            "ssep/common/utils/adaptive_collision_checker.h"
          ],
          "commitId" : "ede242139c9c5b88fd60195125ea0bf085c0a115",
          "timestamp" : 1792141154000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/liuhongshuo",
            "fullName" : "liuhongshuo"
          },
          "authorEmail" : "liuhongshuo",
          "comment" : "feat: 调整拖挂车终检包络并提高入堆场参考线权重\u000a\u000a- 最终碰撞校验保留有符号余量，恢复默认 -0.3 m 净距阈值\u000a- 挂车终检取消挂接偏移，前后各缩短 1 m 并保留几何中心\u000a- 普通入堆场两阶段参考线权重从 1 提高到 10，低贝位保持原值\u000a- 更新包络边界、负余量及场景默认参数单测，固定头段保持不变\u000a\u000a验证：正式 CLI 分布式编译通过，相关 45 项单测通过。\u000a同等 2 m 校验的隔离版本完成 578 例回归：555 成功、23 失败，\u000a相对 3 m 基线零退化，杨浦现场原成功 415 例全部保留。\u000a",
          "date" : "2026-10-16 16:59:14 +0800",
          "id" : "ede242139c9c5b88fd60195125ea0bf085c0a115",
          "msg" : "feat: 调整拖挂车终检包络并提高入堆场参考线权重",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/scenario_optimizer_defaults.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/keb_parameter_unification_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/keb_softmin_collision_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/common/utils/adaptive_collision_checker.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/common/utils/path_utils.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/app/fsm/task_fsm/task_park_fsm/park_fsm_transition/bulk_transition.cpp",
            "replayer/scene_data/remaining_plan_proto_codec.cpp",
            "replayer/scene_data/generated/compact_scene_descriptor.pb",
            "data/app/fsm/motion_fsm/motion_move_fsm/motion_move_fsm.cpp",
            "replayer/scene_data/generated/compact_exact_numeric_visitor.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/app/fsm/task_fsm/task_park_fsm/park_fsm_transition/park_transition.cpp",
            "data/vehicle/vehicle_destination.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",
            "Testing/CMakeLists.txt",
            "replayer/scene_data/generated/scene_replay_api_descriptor.pb",
            "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" : "replayer/scene_data/remaining_plan_proto_codec.cpp"
            },
            {
              "editType" : "add",
              "file" : "Testing/step_align_distance_source_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_leaf_contract.csv"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_status.hpp"
            },
            {
              "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" : "Testing/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "data/app/fsm/task_fsm/task_park_fsm/park_fsm_transition/bulk_transition.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/app/fsm/task_fsm/task_park_fsm/park_fsm_transition/park_transition.cpp"
            },
            {
              "editType" : "edit",
              "file" : "proto/map_data.proto"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_status.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/app/fsm/motion_fsm/motion_move_fsm/motion_move_fsm.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_policy.yaml"
            },
            {
              "editType" : "edit",
              "file" : "data/vehicle/vehicle_destination.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/vehicle/vehicle_destination.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_encoder.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/scene_replay_api_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "data/app/fsm/task_fsm/task_align_fsm/task_align_fsm.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/test/CMakeLists.txt",
            "ssep/test/coarse_search_stop_clearance_test.cc",
            "ssep/test/keb_softmin_collision_test.cc",
            "ssep/keb_optimizer/cost_features/softmin_disk_collision_cost.h",
            "ssep/keb_optimizer/keb_problem.cc",
            "ssep/test/keb_stop_collision_test.cc",
            "ssep/test/keb_sum_collision_test.cc",
            "ssep/offboard/diagnostic/collision_validation.h",
            "ssep/keb_optimizer/cost_features/soft_trailer_disk_collision_cost.h",
            "ssep/coarse_search/evaluator/evaluator.h",
            "ssep/coarse_search/evaluator/trailer_collision_cost_computer.h",
            "ssep/scenarios/tractor_trailer_general_planner.h",
            "ssep/common/utils/path_utils.cc",
            "ssep/offboard/scene_replay/CMakeLists.txt",
            "ssep/scenarios/tractor_trailer_lane_change_planner.h",
            "ssep/test/ssep_planner_test.cc",
            "ssep/coarse_search/searcher_builders/tractor_trailer_multi_segment_parking_bidirectional_searcher_builder.cc",
            "ssep/keb_optimizer/cost_features/trailer_disk_collision_cost.h",
            "ssep/test/tractor_trailer_hitch_consistency_test.cc",
            "ssep/common/utils/path_utils.h",
            "ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc",
            "ssep/offboard/diagnostic/report_template.html",
            "ssep/keb_optimizer/keb_problem.h",
            "ssep/common/math/tractor_trailer_geometry.h",
            "ssep/coarse_search/searcher_builders/tractor_trailer_single_segment_parking_searcher_builder.cc",
            "ssep/keb_optimizer/cost_features/dual_side_trailer_disk_collision_cost.h",
            "ssep/offboard/diagnostic/collision_geometry.h"
          ],
          "commitId" : "9cd8f2d68538f1f0da08c990e4b4a25358e40b55",
          "timestamp" : 1792484046000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/liuhongshuo",
            "fullName" : "liuhongshuo"
          },
          "authorEmail" : "liuhongshuo",
          "comment" : "feat: 补全挂车碰撞链路的铰接偏置并调整泊车搜索权重\u000a\u000a统一车头后轴到铰接点的有符号坐标变换，补全 CPU 搜索、首尾固定长度计算、\u000aKEB 软碰撞代价和通用挂车终检中的 h 偏移，保留车头航向的自动微分导数。\u000a\u000a将单段及双向多段泊车搜索的碰撞、通道代价权重从 1.0 调整为 0.3，\u000a保持既有硬碰撞阈值和终点验收语义。\u000a\u000a同步离线碰撞几何展示，增加同位姿 h=0 对照及符号、方向、梯度测试；\u000a删除 keb_sum_collision_test.cc 及其构建引用。\u000a\u000a验证：核对同补丁 CPU 回放记录，样本整理后共 372 例规划成功；\u000a该批次未执行独立质量检查。当前示例另经完整车身扫掠检查通过。\u000a本次提交前 git diff --check 通过；测试清理后未重新编译或运行完整测试。\u000a",
          "date" : "2026-10-20 16:14:06 +0800",
          "id" : "9cd8f2d68538f1f0da08c990e4b4a25358e40b55",
          "msg" : "feat: 补全挂车碰撞链路的铰接偏置并调整泊车搜索权重",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/offboard/diagnostic/collision_validation.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/ssep_planner_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/cost_features/soft_trailer_disk_collision_cost.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/diagnostic/report_template.html"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_lane_change_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/coarse_search_stop_clearance_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/evaluator/trailer_collision_cost_computer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/cost_features/dual_side_trailer_disk_collision_cost.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/tractor_trailer_single_segment_parking_searcher_builder.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/evaluator/evaluator.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/keb_softmin_collision_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_general_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/diagnostic/collision_geometry.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/common/utils/path_utils.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/common/utils/path_utils.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/scene_replay/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/cost_features/softmin_disk_collision_cost.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/cost_features/trailer_disk_collision_cost.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/tractor_trailer_multi_segment_parking_bidirectional_searcher_builder.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/common/math/tractor_trailer_geometry.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/tractor_trailer_hitch_consistency_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/keb_stop_collision_test.cc"
            },
            {
              "editType" : "delete",
              "file" : "ssep/test/keb_sum_collision_test.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/coarse_search/searcher_builders/tractor_trailer_bidirectional_searcher_builder.cc",
            "data/plan/ssep_data.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",
            "ssep/keb_optimizer/cost_features/softmin_disk_collision_cost.h",
            "docs/pnc_algorithm_replay/plan_frame_field_contract_notes.md",
            "replayer/scene_data/compact_custom_field_proto_codec.cpp",
            "Testing/scene_replay_foundation_test.cpp",
            "ssep/keb_optimizer/cost_features/physical_sides.h",
            "data/map/envelop/map_envelops.hpp",
            "replayer/scene_data/full_proto_custom_encoder.cpp",
            "replayer/scene_data/generated/plan_frame_encoder.cpp",
            "data/ssep/ssep_ec.cpp",
            "replayer/scene_data/generated/compact_scene_descriptor.pb",
            "replayer/scene_data/generated/plan_frame_field_roles.json",
            "data/ssep/map_coverage_check.hpp",
            "tasks/deciders/search_decider/search_decider_lifecycle.hpp",
            "replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml",
            "ssep/scenarios/tractor_trailer_enter_yard_planner.h",
            "replayer/scene_data/compact_numeric_policy.yaml",
            "ssep/coarse_search/searcher_builders/tractor_trailer_bidirectional_searcher_builder.h",
            "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" : "f21a318fa6cec9f889d3ae1bd733c94f957757d6",
          "timestamp" : 1792570177000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/liuhongshuo",
            "fullName" : "liuhongshuo"
          },
          "authorEmail" : "liuhongshuo",
          "comment" : "feat: 增加地图覆盖限时等待并调整入库搜索与碰撞查询\u000a\u000a1. 检查 SSEP 起终点车体及前进终点余量的地图覆盖，不足时请求刷新并最多等待 3 秒，覆盖恢复或超时后放行，任务切换和重搜时重置计时。\u000a2. 同步地图等待起点的 Full/Compact 序列化、数值编码策略及生成合同，补充跨帧恢复、超时边界和旧记录兼容测试。\u000a3. 将挂车双向搜索的碰撞与通道软代价权重开放为参数，入库场景统一设置为 0.3，其他调用保持默认值。\u000a4. 合并 KEB 左右侧最近障碍查询为单次树遍历，缓存固定查询半径项并移除重复索引构建。\u000a",
          "date" : "2026-10-21 16:09:37 +0800",
          "id" : "f21a318fa6cec9f889d3ae1bd733c94f957757d6",
          "msg" : "feat: 增加地图覆盖限时等待并调整入库搜索与碰撞查询",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/plan/ssep_data.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "docs/pnc_algorithm_replay/plan_frame_field_contract_notes.md"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/cost_features/softmin_disk_collision_cost.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/tractor_trailer_bidirectional_searcher_builder.cc"
            },
            {
              "editType" : "add",
              "file" : "data/ssep/map_coverage_check.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/search_decider/search_decider_lifecycle.hpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/cost_features/physical_sides.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_enter_yard_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/full_proto_custom_encoder.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/scene_replay_foundation_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_leaf_contract.csv"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/tractor_trailer_bidirectional_searcher_builder.h"
            },
            {
              "editType" : "edit",
              "file" : "data/map/envelop/map_envelops.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/scene_replay_api_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_policy.yaml"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/ssep_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tools/pnc_proto_mapper/generate_exact_numeric_codec.py"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_custom_field_proto_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_scene_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "proto/plan_data.proto"
            },
            {
              "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" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/plan_frame_field_roles.csv"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "AGENTS.md"
          ],
          "commitId" : "4a5d033c002238a9c19bfdd98abf043796ef6cf9",
          "timestamp" : 1792637481000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/zhuxiaolong",
            "fullName" : "zhuxiaolong"
          },
          "authorEmail" : "zhuxiaolong@senior.auto",
          "comment" : "docs: 调整 GPU 测试环境为服务器优先\u000a\u000aPNC / SSEP GPU 编译、测试和场景回放先检查服务器 SSH 连接，可连接时优先使用服务器。\u000a服务器无法连接时，检查本机环境并在满足验证要求后使用本机，记录连接失败及切换原因。\u000a保留执行前 GPU 环境检查、测试授权、凭据保护及独立工作目录要求。\u000a",
          "date" : "2026-10-22 10:51:21 +0800",
          "id" : "4a5d033c002238a9c19bfdd98abf043796ef6cf9",
          "msg" : "docs: 调整 GPU 测试环境为服务器优先",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "AGENTS.md"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
          ],
          "commitId" : "78b6293adfef6322923fc353c9863b392f0870d0",
          "timestamp" : 1792638384000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/zhuxiaolong",
            "fullName" : "zhuxiaolong"
          },
          "authorEmail" : "zhuxiaolong@senior.auto",
          "comment" : "fix: 数据指纹阻碍编译\u000a\u000a",
          "date" : "2026-10-22 11:06:24 +0800",
          "id" : "78b6293adfef6322923fc353c9863b392f0870d0",
          "msg" : "fix: 数据指纹阻碍编译",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "common/zip/mini_zip.cpp"
          ],
          "commitId" : "abc84b26ca8b95bf9bd85401b59a06b2da25be5b",
          "timestamp" : 1792641729000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/zhuxiaolong",
            "fullName" : "zhuxiaolong"
          },
          "authorEmail" : "zhuxiaolong@senior.auto",
          "comment" : "fix(zip): 避免创建条目失败时关闭未初始化指针\u000a",
          "date" : "2026-10-22 12:02:09 +0800",
          "id" : "abc84b26ca8b95bf9bd85401b59a06b2da25be5b",
          "msg" : "fix(zip): 避免创建条目失败时关闭未初始化指针",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "common/zip/mini_zip.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/test/CMakeLists.txt",
            "ssep/keb_optimizer/rigid_truck_keb_optimizer.h",
            "ssep/test/bidirectional_candidate_validation_test.cc",
            "ssep/maps/ogm_builder.cc",
            "ssep/test/rigid_parking_collision_test.cc",
            "ssep/coarse_search/searcher_builders/rigid_truck_general_searcher_builder.h",
            "ssep/test/hard_tail_straight_test.cc",
            "ssep/test/truck_parking_retry_test.cc",
            "ssep/test/parking_collision_provenance_test.cc",
            "ssep/coarse_search/multi_stage_hybrid_astar_search_engine.h",
            "ssep/scenarios/truck_multi_segment_parking_planner.h",
            "ssep/scenarios/rigid_parking_collision.h",
            "ssep/scenarios/rigid_truck_parking_validation.h",
            "ssep/scenarios/truck_accurate_reversing_planner.h",
            "ssep/test/parking_history_collision_test.cc",
            "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc",
            "ssep/maps/ogm.h",
            "ssep/coarse_search/searcher_builders/rigid_truck_general_searcher_builder.cc",
            "ssep/test/rigid_truck_parking_validation_test.cc",
            "ssep/maps/ogm.cc",
            "docs/ssep_scenario_config_lifecycle.md",
            "ssep/test/rigid_truck_tail_connection_test.cc",
            "ssep/test/ssep_planner_test.cc",
            "ssep/coarse_search/multi_stage_hybrid_astar_search_engine.cc",
            "ssep/coarse_search/bidirectional_hybrid_astar_search_engine.cc",
            "ssep/maps/ogm_config_utils.cc",
            "ssep/scenarios/stitching_replanner.h",
            "ssep/scenarios/truck_accurate_reversing_planner.cc",
            "ssep/coarse_search/bidirectional_hybrid_astar_search_engine.h",
            "ssep/maps/ogm_builder.h",
            "ssep/ssep_planner.cc",
            "ssep/scenarios/tail_straight_distance.h",
            "ssep/test/hard_tail_optimizer_test.cc"
          ],
          "commitId" : "b4184f729aef1c9bec8685e315b9795e9516147a",
          "timestamp" : 1792659988000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 保证刚性车停车末端直线与调整段碰撞约束\u000a\u000a沿用场景 tail_straight_distance，在搜索、KEB 优化、历史重接及最终输出中保证末端纯直线。保留终点清障来源，仅最后连续同向段允许终点障碍豁免，覆盖多段倒车和精准倒车。\u000a\u000a硬尾连接异常先经完整优化验收，失败时恢复后续搜索策略机会，并禁止匹配移动实际起点。补充碰撞、硬尾、缓存和重试测试。\u000a\u000a验证：114 项相关 C++ 测试通过；31 个原始场景回放 27 通过、4 个既有失败，无新增失败。实际后端 30 CPU、1 未确认；未做 GPU 验证。\u000a",
          "date" : "2026-10-22 17:06:28 +0800",
          "id" : "b4184f729aef1c9bec8685e315b9795e9516147a",
          "msg" : "fix: 保证刚性车停车末端直线与调整段碰撞约束",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_accurate_reversing_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/bidirectional_hybrid_astar_search_engine.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "docs/ssep_scenario_config_lifecycle.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/maps/ogm.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/maps/ogm_builder.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/parking_history_collision_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/maps/ogm_builder.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/CMakeLists.txt"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/rigid_parking_collision_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/bidirectional_hybrid_astar_search_engine.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/multi_stage_hybrid_astar_search_engine.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/hard_tail_straight_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tail_straight_distance.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/maps/ogm.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/scenarios/rigid_parking_collision.h"
            },
            {
              "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" : "add",
              "file" : "ssep/test/hard_tail_optimizer_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/rigid_truck_keb_optimizer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_multi_segment_parking_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/bidirectional_candidate_validation_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/rigid_truck_tail_connection_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/maps/ogm_config_utils.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/rigid_truck_parking_validation.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_accurate_reversing_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/parking_collision_provenance_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/rigid_truck_parking_validation_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/multi_stage_hybrid_astar_search_engine.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/ssep_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/ssep_planner_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/rigid_truck_general_searcher_builder.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/stitching_replanner.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/test/local_regression/weiqiao_rigid_parking_cases.json",
            "ssep/test/local_regression/imv_jiaxing_20261015_similarity_coverage.json",
            "ssep/test/local_regression/rigid_parking_motion_quality.py",
            "ssep/test/local_regression/README.md",
            "ssep/test/local_regression/weiqiao_rigid_parking_quality.json",
            "ssep/test/local_regression/recorded_20261013_14_manifest.tsv",
            "ssep/test/local_regression/recorded_20261013_14_cases.json",
            "ssep/test/local_regression/selection_review_20261014_cases.json",
            "ssep/test/local_regression/selection_review_20261022_cases.json",
            "ssep/test/local_regression/weiqiao_rigid_parking_manifest.tsv",
            "ssep/test/local_regression/test_weiqiao_rigid_parking_quality.py",
            "ssep/test/local_regression/imv_jiaxing_20261015_provenance.json",
            "ssep/test/local_regression/rigid_tail_review_20261022_cases.json",
            "ssep/test/local_regression/rigid_parking_quality.py",
            "ssep/test/local_regression/imv_jiaxing_20261015_cases.json",
            "ssep/test/local_regression/imv_heading_unverified_20261022_cases.json",
            "ssep/test/local_regression/rigid_parking_collision_quality.py",
            "ssep/test/local_regression/imv_jiaxing_20261015_manifest.tsv",
            "ssep/test/local_regression/test_materialize_imv_jiaxing_regression.py",
            "ssep/test/local_regression/materialize_imv_jiaxing_regression.py",
            "ssep/test/local_regression/imv_bulkout_manifest.tsv"
          ],
          "commitId" : "bbdfc4991ca5c456539930d8d5c80e23089ab1e4",
          "timestamp" : 1792660035000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "test: 更新魏桥停车回归验收与场景剔除记录\u000a\u000a加入 21 个魏桥多段倒车和精准倒车案例，补充末端硬直线、完整车体碰撞及运动学验收。嘉兴物化流程跳过已剔除场景，保留来源和历史决策。\u000a\u000a按用户明确选择同步移除清单与决策映射，包括方向无法独立确认的 IMV 案例及最终指定的 4 个失败案例。后 4 例已核对 SHA 并按授权删除共享回归原件和 v3 临时输入副本，保留历史报告。记录当前全量计划范围 352 例，本次仅调整范围，未重新全量回放。\u000a\u000a验证：37 项 Python 测试通过；决策映射无状态冲突，活动清单不含已剔除 SHA，来源计数一致，diff 检查通过。\u000a",
          "date" : "2026-10-22 17:07:15 +0800",
          "id" : "bbdfc4991ca5c456539930d8d5c80e23089ab1e4",
          "msg" : "test: 更新魏桥停车回归验收与场景剔除记录",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/imv_bulkout_manifest.tsv"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/rigid_tail_review_20261022_cases.json"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/materialize_imv_jiaxing_regression.py"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/imv_jiaxing_20261015_manifest.tsv"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/imv_jiaxing_20261015_provenance.json"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/imv_jiaxing_20261015_cases.json"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/selection_review_20261014_cases.json"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/recorded_20261013_14_manifest.tsv"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/rigid_parking_quality.py"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/test_materialize_imv_jiaxing_regression.py"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/rigid_parking_motion_quality.py"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/weiqiao_rigid_parking_quality.json"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/weiqiao_rigid_parking_cases.json"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/test_weiqiao_rigid_parking_quality.py"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/imv_heading_unverified_20261022_cases.json"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/imv_jiaxing_20261015_similarity_coverage.json"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/rigid_parking_collision_quality.py"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/selection_review_20261022_cases.json"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/recorded_20261013_14_cases.json"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/weiqiao_rigid_parking_manifest.tsv"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/README.md"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/wbca_smooth_continuity_test.cpp",
            "tasks/plan/path_optimization_task.hpp",
            "tasks/plan/path_optimization_task.cpp"
          ],
          "commitId" : "a2799372826ea3b7759b1cd27f94142c0bfdc313",
          "timestamp" : 1792660479000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 解除 WBCA 对 DP 截断长度的限制\u000a\u000aDP 无完整可行解时继续保留可行前缀，WBCA 使用自身配置长度和完整边界生成路径，避免障碍导致 DP 截断后同步缩短优化路径。\u000a移除初始化时的 DP 长度上限及异步结果尾点覆盖拒绝，清理无用接口与状态参数。\u000a\u000a更新正倒车输出接纳测试，并增加版本化 Compact bag 回放验证。连续模式传递真实 WBCA 历史并调用生产路径拼接，避免遗漏历史前缀；报告完整输出逐帧结果和路径对照。\u000a\u000a验证：Icecream 分布式编译通过；33 项单元测试及济宁 AT017 bag 回放测试通过，460 帧全部求解成功。截图帧 DP 长度 18.80 m，WBCA 长度 78.50 m，参考上限保持 80 m。回放为 CPU 状态串联开环，不是车辆闭环验证。\u000a",
          "date" : "2026-10-22 17:14:39 +0800",
          "id" : "a2799372826ea3b7759b1cd27f94142c0bfdc313",
          "msg" : "fix: 解除 WBCA 对 DP 截断长度的限制",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "Testing/wbca_smooth_continuity_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/path_optimization_task.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/path_optimization_task.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/coarse_search/evaluator/evaluator.h",
            "ssep/coarse_search/bidirectional_hybrid_astar_search_engine.cc",
            "ssep/coarse_search/state_hasher.h"
          ],
          "commitId" : "9b98dc555b8476e8bb4073d4e2f3b15d6df4022f",
          "timestamp" : 1792662772000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/liuhongshuo",
            "fullName" : "liuhongshuo"
          },
          "authorEmail" : "liuhongshuo",
          "comment" : "feat: 补充双向搜索近邻节点配对\u000a\u000a同桶连接未通过时，按固定间隔补查相邻桶并筛选有限候选，继续复用原有方向、阶段和路径验收。排除根节点替换及明显曲率折点，并记录近邻连接统计。\u000a",
          "date" : "2026-10-22 17:52:52 +0800",
          "id" : "9b98dc555b8476e8bb4073d4e2f3b15d6df4022f",
          "msg" : "feat: 补充双向搜索近邻节点配对",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/bidirectional_hybrid_astar_search_engine.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/evaluator/evaluator.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/state_hasher.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/dp_poly_path/trajectory_cost.hpp",
            "proto/plan_data.proto",
            "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp",
            "data/boundary/driving_corridor.cpp",
            "replayer/scene_data/generated/full_custom_cpp_member_inputs.json",
            "data/config/cfg_func_sw.hpp",
            "data/config/cfg_func_sw.cpp",
            "data/dp_poly_path/trajectory_cost.cpp",
            "data/boundary/driving_corridor_test.cpp",
            "data/boundary/driving_corridor.hpp",
            "replayer/scene_data/generated/config_schema_inputs.json",
            "docs/pnc_algorithm_replay/plan_frame_field_contract_notes.md",
            "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/dp_poly_path/dp_road_graph_test.cpp",
            "replayer/scene_data/generated/compact_scene_descriptor.pb",
            "replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml",
            "proto/config.proto",
            "replayer/scene_data/config_proto_codec.cpp",
            "replayer/scene_data/compact_numeric_policy.yaml",
            "data/dp_poly_path/dp_road_graph.cpp",
            "replayer/scene_data/compact_numeric_leaf_contract.csv",
            "Testing/compact_driving_corridor_restore_test.cpp",
            "data/dp_poly_path/trajectory_cost_test.cpp",
            "replayer/scene_data/generated/scene_replay_api_descriptor.pb",
            "replayer/scene_data/generated/plan_frame_descriptor.pb"
          ],
          "commitId" : "4e95f643b890889096f5952c32c3d002d83c6899",
          "timestamp" : 1792672666000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 支持边界外障碍膨胀侵入走廊后的避让\u000a\u000a新增默认关闭的边界外障碍膨胀开关，按障碍来源的安全余量更新走廊，\u000a供 DP 撒点、曲线检查、历史路径复核及边界生成使用。\u000a\u000a允许拼接起点在原始可行区域内连续恢复新增安全余量，按物理车身\u000a覆盖断面计算初始缺口，并修正倒车车身姿态及前后悬断面定位。\u000a同步 Full 字段与 Compact 重建、配置兼容及相关回归测试。\u000a\u000a验证：此前相关单元测试和场景回放共 776 项通过、13 项跳过；\u000a修改范围已使用项目 .clang-format 格式化，diff 检查通过。\u000a\u000a已知问题：路径与车身均按 1 m 采样时，仍可能漏过 0.5 m 断面的\u000a外部膨胀约束。已通过独立测试进程将步长改为默认值复现，尚未修复；\u000a现有 0.1 m 步长用例未覆盖此组合。\u000a",
          "date" : "2026-10-22 20:37:46 +0800",
          "id" : "4e95f643b890889096f5952c32c3d002d83c6899",
          "msg" : "feat: 支持边界外障碍膨胀侵入走廊后的避让",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/config_proto_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/trajectory_cost.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_leaf_contract.csv"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.hpp"
            },
            {
              "editType" : "edit",
              "file" : "proto/plan_data.proto"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/trajectory_cost.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/trajectory_cost_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_custom_field_proto_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/dp_road_graph_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/dp_road_graph.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_encoder.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_scene_descriptor.pb"
            },
            {
              "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/plan_frame_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "Testing/scene_replay_foundation_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/config_schema_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/full_proto_custom_encoder.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_policy.yaml"
            },
            {
              "editType" : "edit",
              "file" : "Testing/compact_driving_corridor_restore_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "proto/config.proto"
            },
            {
              "editType" : "edit",
              "file" : "docs/pnc_algorithm_replay/plan_frame_field_contract_notes.md"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tasks/deciders/lat_decider/path_bounds_decider.cpp",
            "docs/side_pass_function.md",
            "Testing/path_bounds_reference_test.cpp",
            "tasks/deciders/lat_decider/path_bounds_decider.hpp"
          ],
          "commitId" : "653fea95b136616c731002d7b125c5fa30d83b0d",
          "timestamp" : 1792672676000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 为启用外部障碍避让的前向参考预留一厘米余量\u000a\u000a将前向参考限制在车身中心可行边界内并尽量预留两侧各 0.01 m，\u000a不足 0.02 m 的区间取中点，不扩大硬边界或覆盖统一拼接起点。\u000a关闭开关时保持原有参考行为，补充窄区间及开关回归测试和使用说明。\u000a\u000aPJPO 保持原有求解及历史路径、引导线兜底链路，参考余量不构成\u000a最终车身净距保证。相关单元测试和场景回放已验证。\u000a",
          "date" : "2026-10-22 20:37:56 +0800",
          "id" : "653fea95b136616c731002d7b125c5fa30d83b0d",
          "msg" : "fix: 为启用外部障碍避让的前向参考预留一厘米余量",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tasks/deciders/lat_decider/path_bounds_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/path_bounds_reference_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/lat_decider/path_bounds_decider.hpp"
            },
            {
              "editType" : "edit",
              "file" : "docs/side_pass_function.md"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/keb_optimizer/cost_features/cached_softmin_collision_cost.h",
            "ssep/test/keb_softmin_collision_test.cc",
            "ssep/keb_optimizer/cost_features/softmin_disk_collision_cost.h",
            "ssep/coarse_search/bidirectional_hybrid_astar_search_engine.cc",
            "ssep/keb_optimizer/keb_problem.cc"
          ],
          "commitId" : "218c9fa35347c8a1220078006ee4ae0dfac1e018",
          "timestamp" : 1792672691000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/liuhongshuo",
            "fullName" : "liuhongshuo"
          },
          "authorEmail" : "liuhongshuo",
          "comment" : "feat: 优化碰撞代价求值并收紧近邻连接\u000a\u000a1. 复用完全相同状态的障碍查询结果，保留距离、残差和导数的重新计算。\u000a\u000a2. 按碰撞几何实际依赖将自动微分缩减为普通车3维、挂车4维，并由functor内部车型决定。\u000a\u000a3. 仅对近邻连接增加铰接角差检查和拒绝诊断，保持同桶连接行为不变。\u000a\u000a4. 增加原8维与缩减维度残差及Jacobian等价性测试，覆盖OGM和PhysicalSides。\u000a",
          "date" : "2026-10-22 20:38:11 +0800",
          "id" : "218c9fa35347c8a1220078006ee4ae0dfac1e018",
          "msg" : "feat: 优化碰撞代价求值并收紧近邻连接",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/bidirectional_hybrid_astar_search_engine.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/keb_optimizer/cost_features/cached_softmin_collision_cost.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/keb_softmin_collision_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/cost_features/softmin_disk_collision_cost.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "replayer/scene_data/generated/plan_frame_encoder.cpp"
          ],
          "commitId" : "756f4d60a73b642b22f6860ec7b969b24dfdf870",
          "timestamp" : 1792673787000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 恢复 Proto 编码器生成文件以通过构建门禁\u000a\u000a通过 Taskfile 的统一生成流程恢复 plan_frame_encoder.cpp 的规范输出。\u000a此前对生成文件执行 clang-format 拆分了 Schema 哈希字符串，导致\u000a生成器逐字检查判定文件过期；本次不改变哈希内容、字段或编码逻辑。\u000a\u000a验证：check-generated 和 check-proto-breaking 共 49 项检查全部通过，\u000agit diff --check 通过。生成源码保持生成器原样，不再单独格式化。\u000a",
          "date" : "2026-10-22 20:56:27 +0800",
          "id" : "756f4d60a73b642b22f6860ec7b969b24dfdf870",
          "msg" : "fix: 恢复 Proto 编码器生成文件以通过构建门禁",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_encoder.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tasks/deciders/lat_decider/switching_bounds_decider.cpp",
            "tasks/deciders/lat_decider/switching_bounds_decider.hpp",
            "Testing/CMakeLists.txt",
            "Testing/switching_bounds_decider_test.cpp"
          ],
          "commitId" : "90123b1a2f185075589e87b268b85c49ba7d55d8",
          "timestamp" : 1792678470000,
          "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\u000a验证：分布式编译通过，相关单测 17/17 通过；现场 57 个变道帧的边界及\u000aPJPO 任务成功。完整规划回放仍存在轨迹缺失，不作为整链通过结论。\u000a",
          "date" : "2026-10-22 22:14:30 +0800",
          "id" : "90123b1a2f185075589e87b268b85c49ba7d55d8",
          "msg" : "fix: 修正变道物理边界与目标参考线",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tasks/deciders/lat_decider/switching_bounds_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/CMakeLists.txt"
            },
            {
              "editType" : "add",
              "file" : "Testing/switching_bounds_decider_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/lat_decider/switching_bounds_decider.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/lane_change_prepare_stage_test.cpp",
            "replayer/replayer_data_process/replayer_data_process.cpp",
            "replayer/algorithm_replay/production_variant_runner.cpp",
            "scenarios/scenario_supervise.cpp",
            "scenarios/scenario_supervise.hpp"
          ],
          "commitId" : "196b50e9903800862595aeb1f9f157331c5c59c5",
          "timestamp" : 1792678480000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复变道场景回放初始化与主参考线重建\u000a\u000a增加独立回放初始化入口，允许 Compact 仅携带当前场景配置，\u000a不再依赖 NORMAL_FOLLOW 配置，并覆盖缺失场景及旧配置清理。\u000a变道执行阶段按目标参考线索引重建主原始参考线，保持线上主候选职责。\u000a\u000a验证：回放初始化单测通过，原始场景 70 帧解码导出无 gaps；\u000a完整轨迹验收仍未通过，未将导出成功等同完整规划成功。\u000a",
          "date" : "2026-10-22 22:14:40 +0800",
          "id" : "196b50e9903800862595aeb1f9f157331c5c59c5",
          "msg" : "fix: 修复变道场景回放初始化与主参考线重建",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "Testing/lane_change_prepare_stage_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/scenario_supervise.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/algorithm_replay/production_variant_runner.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/scenario_supervise.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/replayer_data_process/replayer_data_process.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/keb_optimizer/PLANNING_PROFILES.md",
            "ssep/keb_optimizer/scenario_optimizer_defaults.h",
            "ssep/test/keb_parameter_unification_test.cc"
          ],
          "commitId" : "609ac8805131c5aeb7ecd2184cbd8982f298faa0",
          "timestamp" : 1792721126000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/liuhongshuo",
            "fullName" : "liuhongshuo"
          },
          "authorEmail" : "liuhongshuo",
          "comment" : "feat: tune trailer yard entry optimizer weights\u000a",
          "date" : "2026-10-23 10:05:26 +0800",
          "id" : "609ac8805131c5aeb7ecd2184cbd8982f298faa0",
          "msg" : "feat: tune trailer yard entry optimizer weights",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/scenario_optimizer_defaults.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/keb_parameter_unification_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/PLANNING_PROFILES.md"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/dp_poly_path/dp_road_graph.cpp",
            "data/dp_poly_path/dp_road_graph_test.cpp"
          ],
          "commitId" : "f9102a9988d7540627efb09845941bc8f96afc55",
          "timestamp" : 1792724028000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 避免 DP 历史覆盖尾点累积为密集采样层\u000a\u000a继承历史采样时移除临时覆盖终点并按当前走廊重建，保留稳定内部采样锚点。补充连续推进、走廊缩短、单尾点和方向切换回归。\u000a",
          "date" : "2026-10-23 10:53:48 +0800",
          "id" : "f9102a9988d7540627efb09845941bc8f96afc55",
          "msg" : "fix: 避免 DP 历史覆盖尾点累积为密集采样层",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/dp_road_graph.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/dp_road_graph_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "replayer/analysis_server/analysis_server_app.cpp",
            "CMakeLists.txt",
            "Testing/analysis_server_app_test.cpp"
          ],
          "commitId" : "f528907502c8642dcb18a0fcc88b71a8bc3a3536",
          "timestamp" : 1792724034000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 使用实际编译版本标识场景回放候选结果\u000a\u000a将执行程序的 commit 和版本与归档兼容配置分开，避免报告把录制版本误标为当前候选版本。补充回归报告身份检查。\u000a",
          "date" : "2026-10-23 10:53:54 +0800",
          "id" : "f528907502c8642dcb18a0fcc88b71a8bc3a3536",
          "msg" : "fix: 使用实际编译版本标识场景回放候选结果",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "replayer/analysis_server/analysis_server_app.cpp"
            },
            {
              "editType" : "edit",
              "file" : "CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "Testing/analysis_server_app_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/report_artifact_bundle_test.cpp",
            "replayer/algorithm_replay/profile_collectors.cpp",
            "replayer/algorithm_replay/report_artifact_bundle.cpp",
            "Testing/profile_collectors_test.cpp",
            "replayer/algorithm_replay/report_artifact_bundle.hpp"
          ],
          "commitId" : "b7c20014fa15817d9e22014ce8fdcf4a31a5658d",
          "timestamp" : 1792724045000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 补齐 DP 采样指标与逐帧回放报告\u000a\u000a采集采样层数、位置、间距和有序性，区分稳定内部间距与临时末端覆盖。输出完整逐帧实际值、期望值和状态的 JSON 及离线 HTML，保留失败、缺失和非有限值证据，并补充相关测试。\u000a",
          "date" : "2026-10-23 10:54:05 +0800",
          "id" : "b7c20014fa15817d9e22014ce8fdcf4a31a5658d",
          "msg" : "feat: 补齐 DP 采样指标与逐帧回放报告",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "Testing/profile_collectors_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/report_artifact_bundle_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/algorithm_replay/report_artifact_bundle.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/algorithm_replay/profile_collectors.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/algorithm_replay/report_artifact_bundle.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "scenarios/bulkload_scenario/bulkload_scenario.cpp",
            "tasks/other_tasks/create_guide_line.hpp",
            "scenarios/bulkload_scenario/bulkload_move_forward_stage.cpp",
            "scenarios/bulkload_scenario/bulkload_scenario.hpp",
            "Testing/compact_driving_corridor_restore_test.cpp",
            "Testing/reference_line_replan_test.cpp",
            "tasks/other_tasks/create_guide_line.cpp",
            "scenarios/bulkload_scenario/bulkload_ssep_forward_stage.cpp"
          ],
          "commitId" : "d55adfbdde1124f42ff068042a1af809b6708868",
          "timestamp" : 1792730486000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 补齐散货搜索交接帧的几何与轨迹规划\u000a\u000a交接时恢复并重投影历史引导线及参考线，避免搜索等待沿用空几何。\u000a仅在 MOVE_FORWARD 的 PARK_ADJUST/TRAVEL_OUT 交接中同帧执行 SSEP_FORWARD，保留正常任务链和统一规划起点。\u000a初始化搜索前进阶段 next_stage，避免正常等待误结束场景。\u000a补充历史失效、同帧调度、失败传播和有界跳转回归。\u000a\u000a验证：阶段/引导线单测及 97 帧真实几何回归。完整轨迹连续性回放受缺失 Motion FSM 启动历史限制，未完成验收。\u000a",
          "date" : "2026-10-23 12:41:26 +0800",
          "id" : "d55adfbdde1124f42ff068042a1af809b6708868",
          "msg" : "fix: 补齐散货搜索交接帧的几何与轨迹规划",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "Testing/compact_driving_corridor_restore_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/bulkload_scenario/bulkload_scenario.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/bulkload_scenario/bulkload_ssep_forward_stage.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/reference_line_replan_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/other_tasks/create_guide_line.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/bulkload_scenario/bulkload_move_forward_stage.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/other_tasks/create_guide_line.hpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/bulkload_scenario/bulkload_scenario.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "replayer/algorithm_replay/profile_collectors.cpp",
            "Testing/profile_collectors_test.cpp"
          ],
          "commitId" : "c5323f6364cdffe1a5d47883d9586be234a31ed9",
          "timestamp" : 1792730496000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 补充引导线和参考线回放诊断指标\u000a\u000a分别采集有效标志、几何可用性、引导线点数、长度和匹配状态，避免仅凭 valid 标志判断规划几何完整。\u000a增加有效标志为真但几何为空的回归检查。\u000a\u000a验证：ProfileCollectorsTest 全部 7 项通过。\u000a",
          "date" : "2026-10-23 12:41:36 +0800",
          "id" : "c5323f6364cdffe1a5d47883d9586be234a31ed9",
          "msg" : "feat: 补充引导线和参考线回放诊断指标",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "replayer/algorithm_replay/profile_collectors.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/profile_collectors_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tools/pnc_proto_mapper/generator.py",
            "CMakeLists.txt"
          ],
          "commitId" : "bf30260fb6aebd263035e1ed177e0bcdb4ae6807",
          "timestamp" : 1792730963000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 统一 Proto 生成检查与构建工具链的编译器\u000a\u000aCMake 将已配置的 Protobuf_PROTOC_EXECUTABLE 显式传给生成脚本，避免 PATH 中旧版 protoc 拒绝 proto3 optional。使用原始 pnc-build.sh 命令验证 pnc_node 编译链接通过，生成描述符指纹保持不变。\u000a",
          "date" : "2026-10-23 12:49:23 +0800",
          "id" : "bf30260fb6aebd263035e1ed177e0bcdb4ae6807",
          "msg" : "fix: 统一 Proto 生成检查与构建工具链的编译器",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "tools/pnc_proto_mapper/generator.py"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/constrain/block_data.cpp",
            "Testing/crane_lane_policy_test.cpp",
            "data/plan/switch_data.cpp"
          ],
          "commitId" : "0eab5b1feaca3a3e0e5f55a82afece5a774693c6",
          "timestamp" : 1792735745000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复变道场桥校验的挂车后向距离\u000a\u000a将变道准入及执行阶段的挂车尾长自减改为铰接点偏移减挂车尾长，恢复车尾后方安全范围并纠正反向场桥分类边界。\u000a\u000a新增挂车有效与失效、前后距离边界及执行阶段动态场桥分类回归；分布式编译通过，场桥专项 49 项测试全部通过。\u000a",
          "date" : "2026-10-23 14:09:05 +0800",
          "id" : "0eab5b1feaca3a3e0e5f55a82afece5a774693c6",
          "msg" : "fix: 修复变道场桥校验的挂车后向距离",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "Testing/crane_lane_policy_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/switch_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/constrain/block_data.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/keb_optimizer/rigid_truck_keb_optimizer.h",
            "ssep/test/CMakeLists.txt",
            "ssep/offboard/diagnostic/optimization_acceptance.js",
            "ssep/offboard/diagnostic/optimization_provenance.js",
            "ssep/scenarios/tractor_trailer_exit_parking_spot_planner.h",
            "ssep/keb_optimizer/cost_features/swept_collision_cost.h",
            "ssep/keb_optimizer/keb_problem.cc",
            "ssep/offboard/diagnostic/report.h",
            "ssep/scenarios/imv_enter_station_planner.h",
            "ssep/offboard/diagnostic/trace.h",
            "ssep/offboard/diagnostic/optimization_sweeprepair.js",
            "ssep/keb_optimizer/tractor_trailer_keb_optimizer.h",
            "ssep/test/swept_collision_repair_test.cc",
            "ssep/keb_optimizer/cost_features/swept_obstacle_index.h",
            "ssep/scenarios/imv_multi_segment_parking_planner.h",
            "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/forward_clearance_check.h",
            "ssep/scenarios/tractor_trailer_parking_collision.h",
            "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc",
            "ssep/keb_optimizer/imv_keb_optimizer.h",
            "ssep/keb_optimizer/imv_keb_optimizer.cc",
            "ssep/test/output_provenance_test.js",
            "ssep/offboard/scene_replay/CMakeLists.txt",
            "ssep/scenarios/sweep_collision_failure.h",
            "ssep/test/forward_clearance_check_test.cc",
            "ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc",
            "ssep/coarse_search/multi_stage_hybrid_astar_search_engine.cc",
            "ssep/offboard/diagnostic/report_template.html",
            "ssep/coarse_search/bidirectional_hybrid_astar_search_engine.cc",
            "ssep/scenarios/truck_accurate_reversing_planner.cc",
            "ssep/keb_optimizer/keb_problem.h",
            "ssep/scenarios/tractor_trailer_reverse_priority_parking_planner.h",
            "ssep/ssep_planner.cc",
            "ssep/common/replay_phase_timer.h",
            "ssep/scenarios/tractor_trailer_single_segment_parking_planner.h"
          ],
          "commitId" : "d6d53ced338e4e0429ee38a5652f8d6a01a6854e",
          "timestamp" : 1792743858000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/liuhongshuo",
            "fullName" : "liuhongshuo"
          },
          "authorEmail" : "liuhongshuo",
          "comment" : "feat: add swept collision repair and optimization diagnostics\u000a\u000aPreserve failed candidates for one fixed-weight swept-collision repair across vehicle optimizers, reuse obstacle queries, and expose per-solve validation and capsule layers in offline reports.\u000a\u000aValidation: CPU serial replay of all 614 original site cases passed without parameter overrides or HTML collection; four swept-collision cases repaired successfully. Focused collision and diagnostic regressions passed.\u000a",
          "date" : "2026-10-23 16:24:18 +0800",
          "id" : "d6d53ced338e4e0429ee38a5652f8d6a01a6854e",
          "msg" : "feat: add swept collision repair and optimization diagnostics",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/offboard/diagnostic/report_template.html"
            },
            {
              "editType" : "add",
              "file" : "ssep/keb_optimizer/cost_features/swept_obstacle_index.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_multi_segment_parking_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/forward_clearance_check_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/imv_multi_segment_parking_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/diagnostic/optimization_acceptance.js"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/rigid_truck_keb_optimizer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/imv_keb_optimizer.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/scenarios/sweep_collision_failure.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/diagnostic/optimization_sweeprepair.js"
            },
            {
              "editType" : "edit",
              "file" : "ssep/ssep_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_reverse_priority_parking_planner.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/common/replay_phase_timer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/scenario_planner_interface.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_exit_parking_spot_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/forward_clearance_check.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_accurate_reversing_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/imv_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/output_provenance_test.js"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_parking_collision.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/diagnostic/optimization_provenance.js"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_single_segment_parking_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/keb_optimizer/cost_features/swept_collision_cost.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/tractor_trailer_keb_optimizer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/multi_stage_hybrid_astar_search_engine.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/swept_collision_repair_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/diagnostic/report.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/scene_replay/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/bidirectional_hybrid_astar_search_engine.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/diagnostic/trace.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/imv_enter_station_planner.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/keb_optimizer/imv_keb_optimizer.h",
            "ssep/keb_optimizer/imv_keb_optimizer.cc",
            "ssep/test/keb_normal_extension_test.cc",
            "ssep/keb_optimizer/keb_problem.cc"
          ],
          "commitId" : "f0c48f04611cd9b7b5916250710db623198f1cc8",
          "timestamp" : 1792990985000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修正 IMV KEB 方向编码与换向约束\u000a\u000a将外部到达方向转换为 KEB 边的出发方向，并在输出时恢复到达方向。\u000a解析未知起点方向，兼容重复点和热启动；按方向编码选择长度代价权重，\u000a避免换向边误用前进或倒车权重。换向点同步启用严格轮角约束。\u000a\u000a补充方向、换向、未知首点和长度权重回归；52 项相关 KEB 测试通过。\u000a跨场景回归发现普通卡车精准倒车同输入历史通过、本轮运动学验收失败，\u000a根因尚未隔离；不能将本次提交视为全量回归通过。\u000a",
          "date" : "2026-10-26 13:03:05 +0800",
          "id" : "f0c48f04611cd9b7b5916250710db623198f1cc8",
          "msg" : "fix: 修正 IMV KEB 方向编码与换向约束",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/imv_keb_optimizer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/imv_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/keb_normal_extension_test.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/ssep_path_corridor_test.cpp",
            "ssep/test/local_regression/test_scene_vis_geometry.py",
            "ssep/scenarios/imv_search_extra_params.h",
            "ssep/test/local_regression/README.md",
            "ssep/offboard/ssep_planner_wrapper.cc",
            "data/ssep/forward_ec.cpp",
            "ssep/coarse_search/searcher_builders/imv_general_searcher_builder.cc",
            "ssep/test/coarse_search_stop_clearance_test.cc",
            "ssep/test/local_regression/render_regression_report.py",
            "docs/ssep/imv_enter_station_parking_boundary.md",
            "ssep/coarse_search/evaluator/diagonal_cost_computer.h",
            "ssep/coarse_search/evaluator/soft_parking_cost_computer.h",
            "ssep/offboard/servers/scene_vis_html_template.cc",
            "ssep/scenarios/imv_enter_station_planner.h",
            "ssep/test/imv_enter_station_candidate_test.cc",
            "ssep/coarse_search/multi_stage_hybrid_astar_search_engine.cc",
            "ssep/coarse_search/motion_primitive_sampler/imv_linear_connection_sampler.h",
            "ssep/test/scene_replay_obstacle_inputs_test.cc",
            "ssep/coarse_search/multi_stage_hybrid_astar_search_engine.h",
            "ssep/test/local_regression/test_render_terminal_entrance.py",
            "data/ssep/ssep_ec.cpp",
            "data/ssep/ssep_activation.cpp",
            "ssep/coarse_search/searcher_builders/imv_general_searcher_builder.h",
            "ssep/offboard/scene_replay/README.md"
          ],
          "commitId" : "6403150947f852832f92cfc550d445ade5fabbac",
          "timestamp" : 1792991011000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 统一 IMV 入位物理姿态并完善搜索和车位验收\u000a\u000a起终姿态统一使用物理车头航向，保留起始操作模式；末端进入方向由\u000afinal_direction 独立约束。同步在线输入、离线回放及入口可视化。\u000a\u000a粗搜索使用车位软代价与斜行连接提案，修正倒车及旋转斜行代价和方向\u000a哈希、启发式选择。配置权重的双向策略优先取得搜索预算，终点候选\u000a在队列中完成 KEB 与硬碰撞验收，拒绝后继续搜索，超时保留已验收结果。\u000a\u000aKEB 保持完整车宽；支持仅针对车位边界的侧向内缩参数，默认零内缩。\u000a地图并集保持原栅格坐标，真实障碍与人工边界继续硬校验。\u000a补充候选、碰撞、地图对齐、上游姿态及可视化回归。\u000a\u000a三个入位场景通过 CPU 回放及 2 cm 扫掠、轮角和端点验收。\u000a针对性 CPU 18 例：正式通过 10、失败 2、待业务验收 6（基础成功）；\u000a真实 GPU 2 例：通过 1、失败 1。TT 段数规则仍失败，普通卡车存在\u000a历史通过而本轮失败的行为退化，均保留证据，未放宽验收条件。\u000a报告批次：targeted_imv_keb_20261026_104510。\u000a",
          "date" : "2026-10-26 13:03:31 +0800",
          "id" : "6403150947f852832f92cfc550d445ade5fabbac",
          "msg" : "fix: 统一 IMV 入位物理姿态并完善搜索和车位验收",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/test/imv_enter_station_candidate_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/evaluator/diagonal_cost_computer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/multi_stage_hybrid_astar_search_engine.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/servers/scene_vis_html_template.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/imv_general_searcher_builder.cc"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_ec.cpp"
            },
            {
              "editType" : "add",
              "file" : "docs/ssep/imv_enter_station_parking_boundary.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/scene_replay/README.md"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_activation.cpp"
            },
            {
              "editType" : "add",
              "file" : "ssep/coarse_search/motion_primitive_sampler/imv_linear_connection_sampler.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/test_scene_vis_geometry.py"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/README.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/scene_replay_obstacle_inputs_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_path_corridor_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/coarse_search_stop_clearance_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/imv_general_searcher_builder.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/ssep_planner_wrapper.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/imv_search_extra_params.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/test_render_terminal_entrance.py"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/imv_enter_station_planner.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/coarse_search/evaluator/soft_parking_cost_computer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/multi_stage_hybrid_astar_search_engine.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/render_regression_report.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" : "4e9fe178f7744815431fd4e3fd1bf00a9abb978f",
          "timestamp" : 1792994229000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复 SSEP 任务交接误重搜并保留专门重规划入口\u000a\u000a成功接收同一任务和命令的 routing 后，不再因历史申请标志拒绝复用。\u000a路口按实际连接及弯后目标车道复用，目的地坐标变化不单独使搜索失效；极限变道保留目的地校验。\u000a保留进堆场 TYPE_DEST 专门重搜，补交接、持续帧及 3 米阈值回归，整理搜索生命周期文档。\u000a\u000a验证：reference_line_replan_test 442 项通过、101 项跳过、0 失败。\u000a现场 bag 因 Compact 缺历史路口 ID，未完成端到端复用验收。\u000a",
          "date" : "2026-10-26 13:57:09 +0800",
          "id" : "4e9fe178f7744815431fd4e3fd1bf00a9abb978f",
          "msg" : "fix: 修复 SSEP 任务交接误重搜并保留专门重规划入口",
          "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" : [
            "hmi/draw/draw_ego.cpp"
          ],
          "commitId" : "df72fac8d832bef81bb9d54f46f56e2028f26498",
          "timestamp" : 1792994252000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 为旧版 IMV 回放显示物理朝向标记\u000a\u000a将朝向标记绘制范围扩展到全部 IMV，避免旧 Proto 丢失双向子类型后标记消失。\u000a继续使用录制的 reversing_mode 判断朝向。\u000a",
          "date" : "2026-10-26 13:57:32 +0800",
          "id" : "df72fac8d832bef81bb9d54f46f56e2028f26498",
          "msg" : "fix: 为旧版 IMV 回放显示物理朝向标记",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_ego.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "hmi/draw/draw_map.cpp"
          ],
          "commitId" : "449edb89ee11abf53757689beb27c9c2a04a0e23",
          "timestamp" : 1792994252000,
          "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-26 13:57:32 +0800",
          "id" : "449edb89ee11abf53757689beb27c9c2a04a0e23",
          "msg" : "fix: 以轮廓显示邻近卸载挂车",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_map.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",
            "replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml",
            "proto/config.proto",
            "replayer/scene_data/config_proto_codec.cpp",
            "replayer/scene_data/compact_numeric_policy.yaml",
            "docs/pnc_algorithm_replay/plan_frame_field_contract_notes.md",
            "Testing/scene_replay_foundation_test.cpp",
            "replayer/scene_data/plan_frame_field_roles.csv",
            "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" : "e793a14fbb197d1d45873af9533e4a7485593e67",
          "timestamp" : 1792994275000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 在回放 Proto 中保留 IMV 精确车型子类型\u000a\u000a新增带 presence 的 vehicle_subtype 字段，保留旧 vehicle_type 的粗车型语义。\u000a恢复普通及双向 IMV 子类型，拒绝未知或冲突输入，缺字段时沿用旧版本行为。\u000a补充 Full、Compact Recorded/Candidate 和旧读端兼容测试，同步描述符、字段策略及 codec 审计生成物。\u000a\u000a验证：生成一致性和 Proto breaking 检查通过。\u000aConfigProtoCodecTest：27 项通过、0 失败。\u000a",
          "date" : "2026-10-26 13:57:55 +0800",
          "id" : "e793a14fbb197d1d45873af9533e4a7485593e67",
          "msg" : "fix: 在回放 Proto 中保留 IMV 精确车型子类型",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/plan_frame_field_roles.csv"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/config_proto_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml"
            },
            {
              "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" : "Testing/scene_replay_foundation_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_scene_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "docs/pnc_algorithm_replay/plan_frame_field_contract_notes.md"
            },
            {
              "editType" : "edit",
              "file" : "proto/config.proto"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_policy.yaml"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/scene_replay_api_descriptor.pb"
            }
          ]
        },
        {
          "_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" : "edit",
              "file" : "Testing/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_path_corridor_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "docs/ssep_search_lifecycle.md"
            },
            {
              "editType" : "add",
              "file" : "Testing/low_bay_replan_gate_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/into_yard_junction_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_util.cpp"
            }
          ]
        },
        {
          "_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/plan_frame_decoder.cpp",
            "replayer/scene_data/generated/full_custom_cpp_member_inputs.json",
            "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",
            "replayer/scene_data/generated/scene_replay_api_descriptor.pb",
            "data/plan_frame.cpp",
            "Testing/CMakeLists.txt",
            "tasks/deciders/other_decider/alarm_decider.cpp",
            "replayer/scene_data/generated/plan_frame_descriptor.pb"
          ],
          "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/config_proto_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_field_roles.json"
            },
            {
              "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/generated/config_schema_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/scene_replay_api_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "data/plan_frame.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/other_decider/alarm_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan_frame.cpp"
            },
            {
              "editType" : "edit",
              "file" : "sink/ros_sink_chassis_ctrl.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/other_decider/alarm_decider.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_decoder.cpp"
            },
            {
              "editType" : "edit",
              "file" : "proto/config.proto"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "sink/ros_sink_chassis_ctrl.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_member_inputs.json"
            },
            {
              "editType" : "add",
              "file" : "Testing/front_vehicle_reverse_alarm_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/plan_frame_field_roles.csv"
            },
            {
              "editType" : "edit",
              "file" : "tools/pnc_proto_mapper/generator.py"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_typed_field_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_policy.yaml"
            },
            {
              "editType" : "edit",
              "file" : "proto/pnc_scene/compact_plan_frame_fields.proto"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/plan_frame_full_mapping.yaml"
            },
            {
              "editType" : "edit",
              "file" : "proto/pnc_scene/full_plan_frame.proto"
            },
            {
              "editType" : "edit",
              "file" : "Testing/CMakeLists.txt"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "replayer/scene_data/generated/compact_scene_descriptor.pb",
            "replayer/scene_data/generated/plan_frame_field_roles.json",
            "data/obstacle/decision/obstacle_decision_test.cpp",
            "replayer/scene_data/generated/compact_exact_numeric_visitor.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/generated/plan_frame_encoder.cpp",
            "replayer/scene_data/plan_frame_field_roles.csv",
            "data/obstacle/obstacle_decider_attr.hpp",
            "replayer/scene_data/generated/scene_replay_api_descriptor.pb",
            "proto/obstacle.proto",
            "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" : "data/obstacle/obstacle_decider_attr.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/obstacle_proto_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/scene_replay_api_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "docs/pnc_algorithm_replay/plan_frame_field_contract_notes.md"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_leaf_contract.csv"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "proto/obstacle.proto"
            },
            {
              "editType" : "edit",
              "file" : "Testing/scene_replay_foundation_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_policy.yaml"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.cpp"
            },
            {
              "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" : "tools/pnc_proto_mapper/generate_exact_numeric_codec.py"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/obstacle_decider_attr.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/plan_frame_field_roles.csv"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_scene_descriptor.pb"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "hmi/common/pnc_graphics_view.cpp",
            "hmi/common/obstacle_details.hpp",
            "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/pnc_graphics_view.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/obstacle_detail_render_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/common/obstacle_details.hpp"
            }
          ]
        },
        {
          "_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",
            "tasks/deciders/long_decider/constrain_decider.cpp",
            "plan/prepare/prepare_lock_station.cpp",
            "Testing/encoding_benchmark_test.cpp",
            "replayer/scene_data/compact_numeric_policy.yaml",
            "proto/pnc_scene/compact_recorded_debug.proto",
            "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",
            "replayer/scene_data/plan_frame_full_mapping.yaml",
            "data/plan_timing.hpp",
            "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",
            "core/plan_runtime_watchdog.hpp",
            "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp",
            "plan/prepare/prepare_default.cpp",
            "replayer/scene_data/generated/plan_frame_decoder.cpp",
            "plan/prepare/prepare_offset.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",
            "hmi/widget/diagnose.hpp",
            "Testing/plan_timing_capture_test.cpp",
            "plan/prepare/prepare_priori_bay_info.cpp",
            "replayer/scene_data/generated/plan_frame_encoder.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",
            "scenarios/stage.cpp",
            "plan/prepare/prepare_state.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",
            "data/plan_frame.cpp",
            "replayer/scene_data/generated/scene_replay_api_descriptor.pb",
            "Testing/CMakeLists.txt",
            "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" : "data/map/reference/center_line.cpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_ogm.cpp"
            },
            {
              "editType" : "edit",
              "file" : "core/hmi_sync.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/stage.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/lat_decider/trailer_side_pass_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_typed_field_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/switch_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/long_decider/constrain_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "core/plan_runtime_watchdog.hpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_destination.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/scene_replay_foundation_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "docs/pnc_algorithm_replay/plan_frame_field_contract_notes.md"
            },
            {
              "editType" : "edit",
              "file" : "hmi/node_hmi.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan_frame.cpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_lock_station.cpp"
            },
            {
              "editType" : "add",
              "file" : "Testing/plan_timing_render_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/out_yead_junction_scenario/out_yard_junction_first_stage.cpp"
            },
            {
              "editType" : "edit",
              "file" : "proto/debug.proto"
            },
            {
              "editType" : "add",
              "file" : "replayer/scene_data/plan_timing_proto_codec.hpp"
            },
            {
              "editType" : "edit",
              "file" : "proto/pnc_scene/full_plan_frame.proto"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/encoding_benchmark.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/vehicle/request_routing_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_proto_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp"
            },
            {
              "editType" : "add",
              "file" : "hmi/common/plan_timing_history.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_decoder.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/encoding_benchmark_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "sink/ros_sink_snapshot_compact_scene.cpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_lane_constrain.cpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_objs.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/diagnose.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/plan_frame_full_mapping.yaml"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/diagnose.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/scene_replay_api_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/other_decider/stop_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "core/decision_async.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" : "hmi/widget/perf_cost_detail.cpp"
            },
            {
              "editType" : "edit",
              "file" : "CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "tools/pnc_proto_mapper/generator.py"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_state.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/center_line_info.cpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/module.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/plan_frame_field_roles.csv"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_policy.yaml"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.cpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_default.cpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_map_related.cpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_spreader.cpp"
            },
            {
              "editType" : "edit",
              "file" : "proto/pnc_scene/compact_recorded_debug.proto"
            },
            {
              "editType" : "add",
              "file" : "data/plan_timing.hpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_priori_bay_info.cpp"
            },
            {
              "editType" : "edit",
              "file" : "core/snapshot_async.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/replayer_hmi.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan_frame.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_leaf_contract.csv"
            },
            {
              "editType" : "edit",
              "file" : "node/logic.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/lat_decider/side_pass_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "proto/pnc_scene/compact_plan_frame_fields.proto"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/perf_cost_detail.hpp"
            },
            {
              "editType" : "add",
              "file" : "core/node_runtime_timing.hpp"
            },
            {
              "editType" : "add",
              "file" : "replayer/scene_data/plan_timing_proto_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "core/plan_async.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/map/envelop/map_envelops.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_encoder.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_scene_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "Testing/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_offset.cpp"
            },
            {
              "editType" : "add",
              "file" : "Testing/plan_timing_capture_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/scenarios/prepare_scenario.cpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_his.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",
            "replayer/scene_data/full_proto_custom_encoder.cpp",
            "data/other/parking_pass_progress.hpp",
            "replayer/scene_data/plan_frame_field_roles.csv",
            "replayer/scene_data/generated/plan_frame_encoder.cpp",
            "replayer/scene_data/generated/scene_replay_api_descriptor.pb",
            "Testing/ssep_scenario_config_lifecycle_test.cpp",
            "replayer/scene_data/generated/plan_frame_descriptor.pb"
          ],
          "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" : "replayer/scene_data/generated/plan_frame_field_roles.json"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_custom_field_proto_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "proto/plan_data.proto"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_scenario_config_lifecycle_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/full_proto_custom_encoder.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/other/parking_pass_progress.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/plan_frame_field_roles.csv"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "data/other/parking_pass_progress.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/parking_pass_progress_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/ssep_data.hpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/scene_replay_foundation_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_encoder.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/scene_replay_api_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_scene_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_policy.yaml"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/ssep_path_corridor_test.cpp",
            "scenarios/stage.cpp",
            "scenarios/task_condition_evaluator.hpp",
            "tasks/other_tasks/stitch_path_data_to_path.cpp",
            "scenarios/task_condition_evaluator.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/stage.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_path_corridor_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/other_tasks/stitch_path_data_to_path.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/task_condition_evaluator.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/task_condition_evaluator.hpp"
            }
          ]
        },
        {
          "_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/generated/plan_frame_encoder.cpp",
            "replayer/scene_data/plan_frame_field_roles.csv",
            "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/generated/scene_replay_api_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/other_decider/alarm_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "proto/pnc_scene/compact_plan_frame_fields.proto"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_policy.yaml"
            },
            {
              "editType" : "edit",
              "file" : "Testing/front_vehicle_reverse_alarm_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_leaf_contract.csv"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_encoder.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_safe_const.hpp"
            },
            {
              "editType" : "edit",
              "file" : "proto/pnc_scene/full_plan_frame.proto"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_field_roles.json"
            },
            {
              "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/config_schema_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_decoder.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_safe_const.cpp"
            },
            {
              "editType" : "edit",
              "file" : "proto/config.proto"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_scene_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/config_proto_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/plan_frame_field_roles.csv"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_typed_field_codec.cpp"
            }
          ]
        },
        {
          "_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/scenarios/truck_accurate_reversing_planner.cc",
            "ssep/test/truck_parking_retry_test.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/rigid_truck_parking_validation.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/stitching_replanner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/rigid_truck_parking_validation_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_multi_segment_parking_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/ssep_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_accurate_reversing_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/truck_parking_retry_test.cc"
            }
          ]
        },
        {
          "_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/test/parking_history_collision_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/stitching_replanner.h"
            }
          ]
        },
        {
          "_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/scenarios/rigid_truck_parking_validation.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/rigid_truck_parking_validation_test.cc"
            }
          ]
        },
        {
          "_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/scenarios/truck_accurate_reversing_planner.cc",
            "ssep/test/truck_parking_retry_test.cc",
            "ssep/coarse_search/searcher_builders/rigid_truck_general_searcher_builder.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/scenarios/truck_accurate_reversing_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/truck_parking_retry_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_multi_segment_parking_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/rigid_truck_general_searcher_builder.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/coarse_search_stop_clearance_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/rigid_truck_tail_connection_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.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_accurate_reversing_planner.h"
            }
          ]
        },
        {
          "_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/test_rigid_parking_motion_quality.py"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/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" : "data/plan/ssep_task_context.cpp"
            },
            {
              "editType" : "edit",
              "file" : "docs/ssep_search_lifecycle.md"
            },
            {
              "editType" : "edit",
              "file" : "Testing/search_decider_lifecycle_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/reference_line_replan_test.cpp",
            "data/map/reference/bends_decider/bends_decider.cpp",
            "data/plan/smooth_data.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/map/reference/bends_decider/bends_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/smooth_data.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" : "Testing/continuous_junction_replan_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/other_decider/replan_decider.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",
            "tasks/other_tasks/stitch_path_data_to_path.cpp",
            "scenarios/task_condition_evaluator.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" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "tasks/other_tasks/stitch_path_data_to_path.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_stage.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/task_condition_evaluator.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/task_condition_evaluator.hpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_path_corridor_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_stage.hpp"
            }
          ]
        },
        {
          "_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/keb_optimizer/keb_problem.h",
            "ssep/scenarios/truck_accurate_reversing_planner.cc",
            "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/keb_optimizer/rigid_truck_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/rigid_truck_tail_connection_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/rigid_truck_keb_optimizer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.h"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_accurate_reversing_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_scenario_config_lifecycle_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/rigid_truck_parking_validation_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_accurate_reversing_planner.cc"
            }
          ]
        },
        {
          "_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" : "Testing/path_pair_validation_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/reversing_truck_path_task.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",
            "data/lattice/longitudinal_comfort.hpp",
            "tasks/deciders/long_decider/constrain_decider.cpp",
            "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" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/longitudinal_comfort.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/long_decider/constrain_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/trajectory_evaluator.cpp"
            }
          ]
        },
        {
          "_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",
            "tasks/deciders/other_decider/replan_decider.cpp",
            "data/app/reaction/app_reaction.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" : "tasks/deciders/search_decider/search_decider_lifecycle.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/other_decider/replan_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/scenario_search_exit_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_path_corridor_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/search_decider_lifecycle_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/app/reaction/app_reaction.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" : "data/app/cmd/cmd_set_target.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/scenario_search_exit_test.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" : [
            "docs/ssep_scenario_config_lifecycle.md",
            "Testing/ssep_scenario_config_lifecycle_test.cpp",
            "data/ssep/ssep_scenario_config_loader.cpp"
          ],
          "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" : "docs/ssep_scenario_config_lifecycle.md"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_scenario_config_lifecycle_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_scenario_config_loader.cpp"
            }
          ]
        },
        {
          "_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/test/parking_collision_provenance_test.cc",
            "ssep/coarse_search/multi_stage_hybrid_astar_search_engine.h",
            "ssep/test/head_straight_distance_test.cc",
            "data/ssep/ssep_ec.cpp",
            "ssep/scenarios/first_segment_clearance_checker.h",
            "ssep/scenarios/rigid_parking_collision.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",
            "ssep/test/forward_clearance_check_test.cc",
            "Testing/parking_pass_progress_test.cpp",
            "ssep/coarse_search/multi_stage_hybrid_astar_search_engine.cc",
            "ssep/maps/ogm_config_utils.cc",
            "ssep/maps/ogm_builder.h",
            "ssep/keb_optimizer/keb_problem.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" : "edit",
              "file" : "ssep/test/forward_clearance_check_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/maps/ogm_config_utils.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/scenarios/head_straight_distance.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/parking_collision_provenance_test.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/truck_bulk_exit_fallback_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/maps/ogm.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_bulk_yark_in_out_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_scenario_config_lifecycle_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/ssep_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/ssep_data.cpp"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/head_straight_distance_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/multi_stage_hybrid_astar_search_engine.h"
            },
            {
              "editType" : "edit",
              "file" : "Testing/parking_pass_progress_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "docs/ssep_scenario_config_lifecycle.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/scenarios/first_segment_clearance_checker.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/rigid_parking_collision.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/maps/ogm.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_bulk_yark_in_out_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/maps/ogm_builder.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/keb_normal_extension_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/scenario_planner_factory.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/coarse_search_stop_clearance_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/maps/ogm_builder.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/multi_stage_hybrid_astar_search_engine.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/rigid_parking_collision_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/rigid_truck_keb_optimizer.h"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_ec.cpp"
            },
            {
              "editType" : "add",
              "file" : "ssep/data_structures/path_motion_segment.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" : [
            "data/decide/decide_reaction.cpp",
            "replayer/scene_data/generated/compact_scene_descriptor.pb",
            "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" : "Testing/scene_replay_foundation_test.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" : "add",
              "file" : "data/ssep/accurate_parking_switch_config.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/decide/decide_reaction.cpp"
            },
            {
              "editType" : "edit",
              "file" : "proto/decision.proto"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/plan_frame_field_roles.csv"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_scene_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "Testing/search_decider_lifecycle_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/scene_replay_api_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/other_decider/replan_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_leaf_contract.csv"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/remaining_plan_proto_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_scenario_config_lifecycle_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_policy.yaml"
            },
            {
              "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/generated/plan_frame_field_roles.json"
            },
            {
              "editType" : "edit",
              "file" : "docs/ssep_scenario_config_lifecycle.md"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "replayer/scene_data/generated/full_custom_cpp_member_inputs.json",
            "data/ssep/base_stop_line_filter.cpp",
            "Testing/pnc_map_overlap_test.cpp",
            "data/ssep/junction_exit_stop_line.hpp",
            "data/ssep/base_stop_line_filter.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" : "Testing/pnc_map_overlap_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/base_stop_line_filter.cpp"
            },
            {
              "editType" : "add",
              "file" : "data/ssep/junction_exit_stop_line.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/base_stop_line_filter.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" : "replayer/scene_data/compact_numeric_leaf_contract.csv"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_policy.yaml"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/front_vehicle_reverse_alarm_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_safe_const.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_safe_const.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/other_decider/alarm_decider.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/config_schema_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_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/test_config_schema_presence.py"
            },
            {
              "editType" : "edit",
              "file" : "tools/pnc_proto_mapper/sync_config_schema.py"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "replayer/scene_data/generated/compact_scene_descriptor.pb",
            "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp",
            "proto/config.proto",
            "replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml",
            "data/vehicle/lock_station_data.cpp",
            "replayer/scene_data/generated/full_custom_cpp_member_inputs.json",
            "replayer/scene_data/config_proto_codec.cpp",
            "replayer/scene_data/compact_numeric_policy.yaml",
            "config/config_imv/plan.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/compact_numeric_policy.yaml"
            },
            {
              "editType" : "edit",
              "file" : "proto/config.proto"
            },
            {
              "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/full_custom_codec_coverage_audit.yaml"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_encoder.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_safe_const.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/config_schema_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "Testing/routing_map_guard_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "config/config_imv/plan.yaml"
            },
            {
              "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" : "data/config/cfg_safe_const.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/vehicle/lock_station_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/config_proto_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_exact_numeric_visitor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/scene_replay_foundation_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_scene_descriptor.pb"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/app/fsm/motion_fsm/motion_fsm.cpp",
            "Testing/routing_map_guard_test.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" : "data/app/fsm/motion_fsm/motion_fsm.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/routing_map_guard_test.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/test/truck_parking_retry_test.cc",
            "ssep/keb_optimizer/rigid_truck_keb_optimizer.h",
            "ssep/scenarios/truck_general_planner.h",
            "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc"
          ],
          "commitId" : "567879bf2cce625d3718f930a96193e2e224b37d",
          "timestamp" : 1793353628000,
          "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-30 17:47:08 +0800",
          "id" : "567879bf2cce625d3718f930a96193e2e224b37d",
          "msg" : "fix: 增强集卡通用规划的车体碰撞与曲率修复",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/rigid_truck_keb_optimizer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_general_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/truck_parking_retry_test.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/offboard/servers/scene_vis_server.cc",
            "ssep/offboard/servers/scene_audit_html.h",
            "ssep/offboard/servers/scene_vis_html_template.cc",
            "ssep/test/local_regression/test_scene_vis_directory.py",
            "ssep/test/local_regression/test_scene_audit.py"
          ],
          "commitId" : "7af233ca518fa03984454a7c323f66efe29fc869",
          "timestamp" : 1793353628000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复场景路径编码并完善可视化信息\u000a\u000a统一路径查询的 URI 编码，区分加号、空格及字面百分号编码；增加原始文件路径展示与复制，补齐地图和诊断路径图例。覆盖页面脚本及真实 HTTP 浏览、下载、展示和巡检回归。\u000a",
          "date" : "2026-10-30 17:47:08 +0800",
          "id" : "7af233ca518fa03984454a7c323f66efe29fc869",
          "msg" : "fix: 修复场景路径编码并完善可视化信息",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/offboard/servers/scene_vis_server.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/servers/scene_vis_html_template.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/test_scene_vis_directory.py"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/servers/scene_audit_html.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/test_scene_audit.py"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/protos/planning_result.proto",
            "ssep/offboard/ssep_replay_workbench/editor/simulation_scene_factory.cc",
            "CMakeLists.txt",
            "ssep/data_structures/path_repository_manager.cc",
            "ssep/offboard/ssep_replay_workbench/app/workbench_main.cc",
            "ssep/protos/map_element.proto",
            "ssep/protos/diagnostic.proto",
            "ssep/common/utils/path_result_codec.cc",
            "ssep/common/utils/pass_point_proto.h",
            "ssep/data_structures/planner_param.h",
            "ssep/offboard/generate_scene_data/CMakeLists.txt",
            "data/ssep/ssep_ec.cpp",
            "data/ssep/ssep_activation.cpp",
            "ssep/offboard/ssep_replay_workbench/model/repository_visualization.cc",
            "Testing/ssep_path_corridor_test.cpp",
            "replayer/scene_data/generated/compact_scene_descriptor.pb",
            "ssep/protos/params.proto",
            "proto/pnc_scene/compact_replay_input.proto",
            "tools/pnc_proto_mapper/migrations/ssep_v3_encoding10_protobuf391.json",
            "ssep/common/utils/path_result_proto_validation.h",
            "ssep/test/scene_preprocessor_test.cc",
            "ssep/protos/path.proto",
            "Testing/ssep_replay_pipeline_test.cpp",
            "Taskfile.yml",
            "replayer/scene_data/compact_ssep_ec_geometry_codec.cpp",
            "ssep/protos/scene.proto",
            "ssep/offboard/path_drawing_tool/CMakeLists.txt",
            "tools/pnc_proto_mapper/testdata/proto3_optional_pre_391_descriptor.pb.gz",
            "ssep/test/proto_converters_test.cc",
            "replayer/scene_data/compact_numeric_leaf_contract.csv",
            "Testing/ssep_request_resources_test.cpp",
            "ssep/offboard/ssep_replay_workbench/model/path_visualization.cc",
            "tools/pnc_proto_mapper/test_ssep_encoding10.py",
            "ssep/common/utils/scene_preprocessor.cc",
            "offboard/keb_path_opt_cli/keb_single_frame_cli.cc",
            "ssep/test/ssep_path_result_codec_test.cc",
            "ssep/test/CMakeLists.txt",
            "ssep/common/utils/proto_converters.hpp",
            "data/other/flow_control.cpp",
            "ssep/test/ssep_scene_planner_test.cc",
            "ssep/offboard/ssep_replay_workbench/tests/target_scene_contract_test.cc",
            "ssep/offboard/ssep_replay_workbench/worker/worker_session.cc",
            "docs/pnc_algorithm_replay/proto_generation.md",
            "ssep/common/ssep_scene_format.h",
            "ssep/data_structures/map_element_polyline.cc",
            "tools/pnc_proto_mapper/test_ssep_scene_v3.py",
            "Testing/scene_replay_foundation_test.cpp",
            "hmi/draw/draw_ssep.cpp",
            "replayer/scene_data/generated/plan_frame_encoder.cpp",
            "ssep/offboard/servers/scene_audit.h",
            "Testing/live_compact_version_test.cpp",
            "ssep/offboard/ssep_replay_workbench/tests/editor_document_test.cc",
            "ssep/common/utils/scene_frame_visualization.cc",
            "ssep/offboard/servers/scene_editor_server.cc",
            "ssep/offboard/scene_replay/replay_scene_frame_cli.cc",
            "ssep/offboard/ssep_replay_workbench/tests/worker_session_test.cc",
            "ssep/offboard/scene_replay/CMakeLists.txt",
            "tools/pnc_proto_mapper/test_protobuf_391_compat.py",
            "Testing/ssep_raw_scene_geometry_test.cpp",
            "ssep/offboard/ssep_replay_workbench/editor/editor_render_model.cc",
            "ssep/test/ssep_planner_test.cc",
            "ssep/offboard/servers/CMakeLists.txt",
            "ssep/offboard/generate_path_repository/CMakeLists.txt",
            "tools/pnc_proto_mapper/descriptor_compat.py",
            "ssep/offboard/CMakeLists.txt",
            "ssep/offboard/ssep_replay_workbench/tests/simulation_scene_factory_test.cc",
            "ssep/offboard/ssep_replay_workbench/editor/editable_scene_document.cc",
            "ssep/offboard/ssep_replay_workbench/editor/scene_validator.cc",
            "replayer/scene_data/generated/scene_replay_api_descriptor.pb",
            "replayer/scene_data/generated/plan_frame_descriptor.pb",
            "ssep/offboard/ssep_replay_workbench/model/annotated_scene_normalizer.cc"
          ],
          "commitId" : "2fee1a093de0c0ad52ee4470abc3a0ab7afc8bef",
          "timestamp" : 1793373043000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 兼容现场 Protobuf 3.9.1 工具链\u000a\u000a将 SSEP 与 Compact 的 110 个 proto3 optional 字段改为独立 oneof，\u000a保留字段编号、类型、缺失与显式默认值语义；使用公开 case 接口\u000a适配旧版生成代码，并同步描述符、数值字段清单和精确迁移指纹。\u000a\u000a生产构建最低版本恢复为 3.9.1；独立 Workbench UI 保留原有 3.20\u000a依赖。增加冻结旧合同的双向读写回归，不冻结完整文件阻止合法新增。\u000a历史 baseline 和 21 项已有迁移例外保持不变。\u000a\u000a验证：pnc_node 与四个测试目标使用 3.9.1 构建并链接 libprotobuf.so.20；\u000aC++ 634 通过、12 跳过、0 失败；两版 protoc 的 wire 回归、生成物检查\u000a及精确迁移检查通过。验证在本机 x86 CPU 环境完成，未实测 Orin。\u000a",
          "date" : "2026-10-30 23:10:43 +0800",
          "id" : "2fee1a093de0c0ad52ee4470abc3a0ab7afc8bef",
          "msg" : "fix: 兼容现场 Protobuf 3.9.1 工具链",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/common/utils/scene_frame_visualization.cc"
            },
            {
              "editType" : "edit",
              "file" : "Testing/live_compact_version_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "ssep/common/utils/proto_converters.hpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/ssep_replay_workbench/model/annotated_scene_normalizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "tools/pnc_proto_mapper/test_ssep_encoding10.py"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/ssep_replay_workbench/editor/editor_render_model.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/generate_path_repository/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "proto/pnc_scene/compact_replay_input.proto"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/servers/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/ssep_replay_workbench/tests/worker_session_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_leaf_contract.csv"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/ssep_replay_workbench/editor/editable_scene_document.cc"
            },
            {
              "editType" : "add",
              "file" : "tools/pnc_proto_mapper/testdata/proto3_optional_pre_391_descriptor.pb.gz"
            },
            {
              "editType" : "edit",
              "file" : "ssep/protos/scene.proto"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/ssep_path_result_codec_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "Taskfile.yml"
            },
            {
              "editType" : "edit",
              "file" : "ssep/common/utils/scene_preprocessor.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/scene_preprocessor_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/ssep_planner_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/data_structures/map_element_polyline.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/data_structures/path_repository_manager.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/ssep_replay_workbench/tests/editor_document_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/protos/diagnostic.proto"
            },
            {
              "editType" : "edit",
              "file" : "Testing/scene_replay_foundation_test.cpp"
            },
            {
              "editType" : "add",
              "file" : "tools/pnc_proto_mapper/test_protobuf_391_compat.py"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_request_resources_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/ssep_scene_planner_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/common/utils/path_result_codec.cc"
            },
            {
              "editType" : "edit",
              "file" : "tools/pnc_proto_mapper/descriptor_compat.py"
            },
            {
              "editType" : "edit",
              "file" : "ssep/common/utils/path_result_proto_validation.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/ssep_replay_workbench/app/workbench_main.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/protos/map_element.proto"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_activation.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/common/ssep_scene_format.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/scene_replay/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "ssep/common/utils/pass_point_proto.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/scene_replay/replay_scene_frame_cli.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/ssep_replay_workbench/editor/simulation_scene_factory.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/ssep_replay_workbench/worker/worker_session.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/proto_converters_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_encoder.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_path_corridor_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tools/pnc_proto_mapper/test_ssep_scene_v3.py"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/ssep_replay_workbench/model/repository_visualization.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/protos/path.proto"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_raw_scene_geometry_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/generate_scene_data/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "ssep/data_structures/planner_param.h"
            },
            {
              "editType" : "edit",
              "file" : "docs/pnc_algorithm_replay/proto_generation.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/servers/scene_audit.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/servers/scene_editor_server.cc"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/scene_replay_api_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "data/other/flow_control.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/protos/planning_result.proto"
            },
            {
              "editType" : "edit",
              "file" : "CMakeLists.txt"
            },
            {
              "editType" : "add",
              "file" : "tools/pnc_proto_mapper/migrations/ssep_v3_encoding10_protobuf391.json"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_replay_pipeline_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/ssep_replay_workbench/editor/scene_validator.cc"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_ssep_ec_geometry_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_ssep.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/ssep_replay_workbench/tests/simulation_scene_factory_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/compact_scene_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/ssep_replay_workbench/model/path_visualization.cc"
            },
            {
              "editType" : "edit",
              "file" : "offboard/keb_path_opt_cli/keb_single_frame_cli.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/ssep_replay_workbench/tests/target_scene_contract_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/protos/params.proto"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/path_drawing_tool/CMakeLists.txt"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/ssep/ssep_scene_constraints.hpp",
            "data/ssep/ssep_ec.hpp",
            "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
          ],
          "commitId" : "d4013a8e5940de224a881a679d0ed1389e75b1a7",
          "timestamp" : 1793407329000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修正离线工具引用 SSEP 生成头文件的路径\u000a\u000a将两处 ssep/protos/scene.pb.h 引用改为 protos/scene.pb.h，\u000a匹配工程已声明的 build/ssep include 根目录，解决 Orin 构建\u000asnapshot_vehicle_trace 时生成头文件不可见的问题。\u000a\u000a通过生成器更新受头文件内容影响的 AST 审计哈希，成员与合同不变。\u000a移除本机缓存中掩盖问题的构建根目录 include 后，使用工程分布式入口\u000a构建 snapshot_vehicle_trace、bag_to_keb_scene 和 pnc_node 通过。\u000a验证在本机 x86 / Clang 18 / Protobuf 3.9.1 完成，未直接运行 Orin CI。\u000a",
          "date" : "2026-10-31 08:42:09 +0800",
          "id" : "d4013a8e5940de224a881a679d0ed1389e75b1a7",
          "msg" : "fix: 修正离线工具引用 SSEP 生成头文件的路径",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_scene_constraints.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_ec.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            }
          ]
        }
      ],
      "kind" : "git"
    }
  ],
  "culprits" : [
    {
      "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/zhuxiaolong",
      "fullName" : "zhuxiaolong"
    },
    {
      "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
      "fullName" : "wuyanjun110"
    },
    {
      "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/liuhongshuo",
      "fullName" : "liuhongshuo"
    }
  ],
  "nextBuild" : null,
  "previousBuild" : {
    "number" : 2221,
    "url" : "http://159.27.114.184:8080/jenkins/job/module-pnc_replayer/2221/"
  }
}