{
  "_class" : "org.jenkinsci.plugins.workflow.job.WorkflowRun",
  "actions" : [
    {
      "_class" : "hudson.model.ParametersAction",
      "parameters" : [
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "getBranchs",
          "value" : "true"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "deviceChoice",
          "value" : "true"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "commitChoice",
          "value" : "rc_dev"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "msgBranch",
          "value" : "rc_dev_jiaxingdongfangtegang"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "pncBranch",
          "value" : "feat_daxie_proto"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "hdmapBranch",
          "value" : "rc_dev"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "telediagnosticBranch",
          "value" : "feat_proto"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "hdmapInterfaceBranch",
          "value" : "rc_dev"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "notes",
          "value" : "telediagnostic更新  zhenshi"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "users",
          "value" : ""
        }
      ]
    },
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.model.Cause$UserIdCause",
          "shortDescription" : "Started by user haoxiangtao",
          "userId" : "haoxiangtao",
          "userName" : "haoxiangtao"
        }
      ]
    },
    {
      "_class" : "org.jenkinsci.plugins.workflow.libs.LibrariesAction"
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 283,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "6ec4c73f16769d31c660c5020d0f9d715ab0b1b7",
            "branch" : [
              {
                "SHA1" : "6ec4c73f16769d31c660c5020d0f9d715ab0b1b7",
                "name" : "master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "6ec4c73f16769d31c660c5020d0f9d715ab0b1b7",
            "branch" : [
              {
                "SHA1" : "6ec4c73f16769d31c660c5020d0f9d715ab0b1b7",
                "name" : "master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "6ec4c73f16769d31c660c5020d0f9d715ab0b1b7",
        "branch" : [
          {
            "SHA1" : "6ec4c73f16769d31c660c5020d0f9d715ab0b1b7",
            "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" : 283,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "acac218eaabc3be514fc740bc55d76eb81b11fbb",
            "branch" : [
              {
                "SHA1" : "acac218eaabc3be514fc740bc55d76eb81b11fbb",
                "name" : "refs/remotes/origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "acac218eaabc3be514fc740bc55d76eb81b11fbb",
            "branch" : [
              {
                "SHA1" : "acac218eaabc3be514fc740bc55d76eb81b11fbb",
                "name" : "refs/remotes/origin/master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "acac218eaabc3be514fc740bc55d76eb81b11fbb",
        "branch" : [
          {
            "SHA1" : "acac218eaabc3be514fc740bc55d76eb81b11fbb",
            "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_93cc60" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 26,
          "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/rc_dev_e53243" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 47,
          "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/feat_traffic_ctrl" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 224,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "65f340e067041af839e045dc2a2b56041fcd5072",
            "branch" : [
              {
                "SHA1" : "65f340e067041af839e045dc2a2b56041fcd5072",
                "name" : "origin/feat_traffic_ctrl"
              }
            ]
          },
          "revision" : {
            "SHA1" : "65f340e067041af839e045dc2a2b56041fcd5072",
            "branch" : [
              {
                "SHA1" : "65f340e067041af839e045dc2a2b56041fcd5072",
                "name" : "origin/feat_traffic_ctrl"
              }
            ]
          }
        },
        "origin/rc_dev_baoshishun" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 99,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "1060eccdc1ce393d65d835c0f86b9bb78729960e",
            "branch" : [
              {
                "SHA1" : "1060eccdc1ce393d65d835c0f86b9bb78729960e",
                "name" : "origin/rc_dev_baoshishun"
              }
            ]
          },
          "revision" : {
            "SHA1" : "1060eccdc1ce393d65d835c0f86b9bb78729960e",
            "branch" : [
              {
                "SHA1" : "1060eccdc1ce393d65d835c0f86b9bb78729960e",
                "name" : "origin/rc_dev_baoshishun"
              }
            ]
          }
        },
        "origin/feat_tc_v2_daxie" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 223,
          "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_xiamen" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 245,
          "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_xilian" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 146,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "1e6c6aa34911755a34f4cc4acec03c6c30a2e604",
            "branch" : [
              {
                "SHA1" : "1e6c6aa34911755a34f4cc4acec03c6c30a2e604",
                "name" : "origin/rc_dev_xilian"
              }
            ]
          },
          "revision" : {
            "SHA1" : "1e6c6aa34911755a34f4cc4acec03c6c30a2e604",
            "branch" : [
              {
                "SHA1" : "1e6c6aa34911755a34f4cc4acec03c6c30a2e604",
                "name" : "origin/rc_dev_xilian"
              }
            ]
          }
        },
        "origin/rc_dev_184937" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 73,
          "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" : 281,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "5ed395184976ac2e53d71877213b95b907e55a89",
            "branch" : [
              {
                "SHA1" : "5ed395184976ac2e53d71877213b95b907e55a89",
                "name" : "origin/rc_dev_yangpu"
              }
            ]
          },
          "revision" : {
            "SHA1" : "5ed395184976ac2e53d71877213b95b907e55a89",
            "branch" : [
              {
                "SHA1" : "5ed395184976ac2e53d71877213b95b907e55a89",
                "name" : "origin/rc_dev_yangpu"
              }
            ]
          }
        },
        "origin/feat_tc_v2" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 228,
          "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_wuhanzhongtielianji" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 276,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "7d594c755e96741c20d32b84dec169d35b599e9c",
            "branch" : [
              {
                "SHA1" : "7d594c755e96741c20d32b84dec169d35b599e9c",
                "name" : "origin/rc_dev_wuhanzhongtielianji"
              }
            ]
          },
          "revision" : {
            "SHA1" : "7d594c755e96741c20d32b84dec169d35b599e9c",
            "branch" : [
              {
                "SHA1" : "7d594c755e96741c20d32b84dec169d35b599e9c",
                "name" : "origin/rc_dev_wuhanzhongtielianji"
              }
            ]
          }
        },
        "origin/rc_dev" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 282,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "961a6d64a8736eaf6ecd094f6274d2bec9fceadb",
            "branch" : [
              {
                "SHA1" : "961a6d64a8736eaf6ecd094f6274d2bec9fceadb",
                "name" : "origin/rc_dev"
              }
            ]
          },
          "revision" : {
            "SHA1" : "961a6d64a8736eaf6ecd094f6274d2bec9fceadb",
            "branch" : [
              {
                "SHA1" : "961a6d64a8736eaf6ecd094f6274d2bec9fceadb",
                "name" : "origin/rc_dev"
              }
            ]
          }
        },
        "origin/rc_dev_qiangang" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 258,
          "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" : 90,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "184937840d35a83cb9158067f5fc65458db35e7a",
            "branch" : [
              {
                "SHA1" : "184937840d35a83cb9158067f5fc65458db35e7a",
                "name" : "origin/feat_xiamen_patch"
              }
            ]
          },
          "revision" : {
            "SHA1" : "184937840d35a83cb9158067f5fc65458db35e7a",
            "branch" : [
              {
                "SHA1" : "184937840d35a83cb9158067f5fc65458db35e7a",
                "name" : "origin/feat_xiamen_patch"
              }
            ]
          }
        },
        "origin/feat_yard_lane_change" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 36,
          "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" : 232,
          "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/rc_dev_qiangang_config" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 279,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "67c580e8acd794024fe0bd156f103127ca70bf90",
            "branch" : [
              {
                "SHA1" : "67c580e8acd794024fe0bd156f103127ca70bf90",
                "name" : "origin/rc_dev_qiangang_config"
              }
            ]
          },
          "revision" : {
            "SHA1" : "67c580e8acd794024fe0bd156f103127ca70bf90",
            "branch" : [
              {
                "SHA1" : "67c580e8acd794024fe0bd156f103127ca70bf90",
                "name" : "origin/rc_dev_qiangang_config"
              }
            ]
          }
        },
        "origin/feat_qiangang_side_pass" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 190,
          "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" : 283,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "f81898909167f9f8c7dee4f7367c611c2268d138",
            "branch" : [
              {
                "SHA1" : "f81898909167f9f8c7dee4f7367c611c2268d138",
                "name" : "origin/rc_dev_jiaxingdongfangtegang"
              }
            ]
          },
          "revision" : {
            "SHA1" : "f81898909167f9f8c7dee4f7367c611c2268d138",
            "branch" : [
              {
                "SHA1" : "f81898909167f9f8c7dee4f7367c611c2268d138",
                "name" : "origin/rc_dev_jiaxingdongfangtegang"
              }
            ]
          }
        },
        "origin/rc_dev_daxie" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 280,
          "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" : 215,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "289cda308241280b261706930b818b90420fcb5f",
            "branch" : [
              {
                "SHA1" : "289cda308241280b261706930b818b90420fcb5f",
                "name" : "origin/feat_qiangang"
              }
            ]
          },
          "revision" : {
            "SHA1" : "289cda308241280b261706930b818b90420fcb5f",
            "branch" : [
              {
                "SHA1" : "289cda308241280b261706930b818b90420fcb5f",
                "name" : "origin/feat_qiangang"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "f81898909167f9f8c7dee4f7367c611c2268d138",
        "branch" : [
          {
            "SHA1" : "f81898909167f9f8c7dee4f7367c611c2268d138",
            "name" : "origin/rc_dev_jiaxingdongfangtegang"
          }
        ]
      },
      "remoteUrls" : [
        "http://159.27.226.4/shared/shared_msgs.git"
      ],
      "scmName" : ""
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/feat_seg_search" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 93,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "1f2d4bba193c081333753beacba9711942d8d061",
            "branch" : [
              {
                "SHA1" : "1f2d4bba193c081333753beacba9711942d8d061",
                "name" : "origin/feat_seg_search"
              }
            ]
          },
          "revision" : {
            "SHA1" : "1f2d4bba193c081333753beacba9711942d8d061",
            "branch" : [
              {
                "SHA1" : "1f2d4bba193c081333753beacba9711942d8d061",
                "name" : "origin/feat_seg_search"
              }
            ]
          }
        },
        "origin/feat_trajectory_hairun" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 232,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "a6ca52e9398085bbca0b16c0f90752ccf6566234",
            "branch" : [
              {
                "SHA1" : "a6ca52e9398085bbca0b16c0f90752ccf6566234",
                "name" : "origin/feat_trajectory_hairun"
              }
            ]
          },
          "revision" : {
            "SHA1" : "a6ca52e9398085bbca0b16c0f90752ccf6566234",
            "branch" : [
              {
                "SHA1" : "a6ca52e9398085bbca0b16c0f90752ccf6566234",
                "name" : "origin/feat_trajectory_hairun"
              }
            ]
          }
        },
        "origin/dev" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 63,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "b4e0e85ad8402620d84951d23e4bb5650dca1343",
            "branch" : [
              {
                "SHA1" : "b4e0e85ad8402620d84951d23e4bb5650dca1343",
                "name" : "origin/dev"
              }
            ]
          },
          "revision" : {
            "SHA1" : "b4e0e85ad8402620d84951d23e4bb5650dca1343",
            "branch" : [
              {
                "SHA1" : "b4e0e85ad8402620d84951d23e4bb5650dca1343",
                "name" : "origin/dev"
              }
            ]
          }
        },
        "origin/feat_cargo_width" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 99,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "ef323519f4053526ae1bcd20176960964e6c8633",
            "branch" : [
              {
                "SHA1" : "ef323519f4053526ae1bcd20176960964e6c8633",
                "name" : "origin/feat_cargo_width"
              }
            ]
          },
          "revision" : {
            "SHA1" : "ef323519f4053526ae1bcd20176960964e6c8633",
            "branch" : [
              {
                "SHA1" : "ef323519f4053526ae1bcd20176960964e6c8633",
                "name" : "origin/feat_cargo_width"
              }
            ]
          }
        },
        "origin/feat-hdmap" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 19,
          "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" : 172,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "2b57bede57cae7d46d77ec4338835f46c5ee058b",
            "branch" : [
              {
                "SHA1" : "2b57bede57cae7d46d77ec4338835f46c5ee058b",
                "name" : "origin/feat_keb_path_opt_task"
              }
            ]
          },
          "revision" : {
            "SHA1" : "2b57bede57cae7d46d77ec4338835f46c5ee058b",
            "branch" : [
              {
                "SHA1" : "2b57bede57cae7d46d77ec4338835f46c5ee058b",
                "name" : "origin/feat_keb_path_opt_task"
              }
            ]
          }
        },
        "origin/test_memory" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 252,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "67738e205e39589d6c30703df0efa42be003cb88",
            "branch" : [
              {
                "SHA1" : "67738e205e39589d6c30703df0efa42be003cb88",
                "name" : "origin/test_memory"
              }
            ]
          },
          "revision" : {
            "SHA1" : "67738e205e39589d6c30703df0efa42be003cb88",
            "branch" : [
              {
                "SHA1" : "67738e205e39589d6c30703df0efa42be003cb88",
                "name" : "origin/test_memory"
              }
            ]
          }
        },
        "origin/rc_dev" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 42,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "8a276051045d5bcf8975d9112b951db9f378f977",
            "branch" : [
              {
                "SHA1" : "8a276051045d5bcf8975d9112b951db9f378f977",
                "name" : "origin/rc_dev"
              }
            ]
          },
          "revision" : {
            "SHA1" : "8a276051045d5bcf8975d9112b951db9f378f977",
            "branch" : [
              {
                "SHA1" : "8a276051045d5bcf8975d9112b951db9f378f977",
                "name" : "origin/rc_dev"
              }
            ]
          }
        },
        "origin/feat_qg_ssep" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 54,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "b8183cc524608aa57116151c3a94876104092c1c",
            "branch" : [
              {
                "SHA1" : "b8183cc524608aa57116151c3a94876104092c1c",
                "name" : "origin/feat_qg_ssep"
              }
            ]
          },
          "revision" : {
            "SHA1" : "b8183cc524608aa57116151c3a94876104092c1c",
            "branch" : [
              {
                "SHA1" : "b8183cc524608aa57116151c3a94876104092c1c",
                "name" : "origin/feat_qg_ssep"
              }
            ]
          }
        },
        "origin/ssep-improve-latency" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 70,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "cce2893468756a73fa5c22ce00801cdb263554ac",
            "branch" : [
              {
                "SHA1" : "cce2893468756a73fa5c22ce00801cdb263554ac",
                "name" : "origin/ssep-improve-latency"
              }
            ]
          },
          "revision" : {
            "SHA1" : "cce2893468756a73fa5c22ce00801cdb263554ac",
            "branch" : [
              {
                "SHA1" : "cce2893468756a73fa5c22ce00801cdb263554ac",
                "name" : "origin/ssep-improve-latency"
              }
            ]
          }
        },
        "origin/feat_imv_pull_over" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 146,
          "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_hdmap_dynamic_sidepass" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 26,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "855b734b901f8db3a414b8ccc6e0ebe23af1ad36",
            "branch" : [
              {
                "SHA1" : "855b734b901f8db3a414b8ccc6e0ebe23af1ad36",
                "name" : "origin/feat_hdmap_dynamic_sidepass"
              }
            ]
          },
          "revision" : {
            "SHA1" : "855b734b901f8db3a414b8ccc6e0ebe23af1ad36",
            "branch" : [
              {
                "SHA1" : "855b734b901f8db3a414b8ccc6e0ebe23af1ad36",
                "name" : "origin/feat_hdmap_dynamic_sidepass"
              }
            ]
          }
        },
        "origin/feat_seaside" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 78,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "1c310419f02ccbc4ffe03346ef48e0c1082b2230",
            "branch" : [
              {
                "SHA1" : "1c310419f02ccbc4ffe03346ef48e0c1082b2230",
                "name" : "origin/feat_seaside"
              }
            ]
          },
          "revision" : {
            "SHA1" : "1c310419f02ccbc4ffe03346ef48e0c1082b2230",
            "branch" : [
              {
                "SHA1" : "1c310419f02ccbc4ffe03346ef48e0c1082b2230",
                "name" : "origin/feat_seaside"
              }
            ]
          }
        },
        "origin/feat_new_lka" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 66,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "66a16339c67e3c9b7520db3b4b14164fd32096df",
            "branch" : [
              {
                "SHA1" : "66a16339c67e3c9b7520db3b4b14164fd32096df",
                "name" : "origin/feat_new_lka"
              }
            ]
          },
          "revision" : {
            "SHA1" : "66a16339c67e3c9b7520db3b4b14164fd32096df",
            "branch" : [
              {
                "SHA1" : "66a16339c67e3c9b7520db3b4b14164fd32096df",
                "name" : "origin/feat_new_lka"
              }
            ]
          }
        },
        "origin/feat_daxie" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 182,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "730037190ab095ff3004718347429c4e827549c3",
            "branch" : [
              {
                "SHA1" : "730037190ab095ff3004718347429c4e827549c3",
                "name" : "origin/feat_daxie"
              }
            ]
          },
          "revision" : {
            "SHA1" : "730037190ab095ff3004718347429c4e827549c3",
            "branch" : [
              {
                "SHA1" : "730037190ab095ff3004718347429c4e827549c3",
                "name" : "origin/feat_daxie"
              }
            ]
          }
        },
        "origin/feat_entrance" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 160,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "c1799d647646baf39936e2cd54e0d9300e13c41f",
            "branch" : [
              {
                "SHA1" : "c1799d647646baf39936e2cd54e0d9300e13c41f",
                "name" : "origin/feat_entrance"
              }
            ]
          },
          "revision" : {
            "SHA1" : "c1799d647646baf39936e2cd54e0d9300e13c41f",
            "branch" : [
              {
                "SHA1" : "c1799d647646baf39936e2cd54e0d9300e13c41f",
                "name" : "origin/feat_entrance"
              }
            ]
          }
        },
        "origin/feat_yangpu1" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 205,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "f5b95a7b89d7da92fddc7d2ad89ae3877d53cce3",
            "branch" : [
              {
                "SHA1" : "f5b95a7b89d7da92fddc7d2ad89ae3877d53cce3",
                "name" : "origin/feat_yangpu1"
              }
            ]
          },
          "revision" : {
            "SHA1" : "f5b95a7b89d7da92fddc7d2ad89ae3877d53cce3",
            "branch" : [
              {
                "SHA1" : "f5b95a7b89d7da92fddc7d2ad89ae3877d53cce3",
                "name" : "origin/feat_yangpu1"
              }
            ]
          }
        },
        "origin/feat_yangpu" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 181,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "15e9e4cee79dce43e032ac44ce5a5ee6b43a671e",
            "branch" : [
              {
                "SHA1" : "15e9e4cee79dce43e032ac44ce5a5ee6b43a671e",
                "name" : "origin/feat_yangpu"
              }
            ]
          },
          "revision" : {
            "SHA1" : "15e9e4cee79dce43e032ac44ce5a5ee6b43a671e",
            "branch" : [
              {
                "SHA1" : "15e9e4cee79dce43e032ac44ce5a5ee6b43a671e",
                "name" : "origin/feat_yangpu"
              }
            ]
          }
        },
        "origin/feat_bulk_target" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 24,
          "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/ssep-geometric-searcher-test" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 87,
          "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" : 264,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "7a2af46c413f2efcd3d1c7c4ef3395503baa4b48",
            "branch" : [
              {
                "SHA1" : "7a2af46c413f2efcd3d1c7c4ef3395503baa4b48",
                "name" : "origin/feat_sidepass_lattice"
              }
            ]
          },
          "revision" : {
            "SHA1" : "7a2af46c413f2efcd3d1c7c4ef3395503baa4b48",
            "branch" : [
              {
                "SHA1" : "7a2af46c413f2efcd3d1c7c4ef3395503baa4b48",
                "name" : "origin/feat_sidepass_lattice"
              }
            ]
          }
        },
        "origin/feat_ssep_wbca_2" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 84,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "4e3b89d5e54dc0b2df8c5c0a19e6f3fe2fd01160",
            "branch" : [
              {
                "SHA1" : "4e3b89d5e54dc0b2df8c5c0a19e6f3fe2fd01160",
                "name" : "origin/feat_ssep_wbca_2"
              }
            ]
          },
          "revision" : {
            "SHA1" : "4e3b89d5e54dc0b2df8c5c0a19e6f3fe2fd01160",
            "branch" : [
              {
                "SHA1" : "4e3b89d5e54dc0b2df8c5c0a19e6f3fe2fd01160",
                "name" : "origin/feat_ssep_wbca_2"
              }
            ]
          }
        },
        "origin/feat_target" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 72,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "071cc11c0f0ffd2e6888a6d45578ef6896cf5ae8",
            "branch" : [
              {
                "SHA1" : "071cc11c0f0ffd2e6888a6d45578ef6896cf5ae8",
                "name" : "origin/feat_target"
              }
            ]
          },
          "revision" : {
            "SHA1" : "071cc11c0f0ffd2e6888a6d45578ef6896cf5ae8",
            "branch" : [
              {
                "SHA1" : "071cc11c0f0ffd2e6888a6d45578ef6896cf5ae8",
                "name" : "origin/feat_target"
              }
            ]
          }
        },
        "origin/feat_below_plane_test" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 73,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "922d65d9be387c0451a1e082dd72d6bb314e0db7",
            "branch" : [
              {
                "SHA1" : "922d65d9be387c0451a1e082dd72d6bb314e0db7",
                "name" : "origin/feat_below_plane_test"
              }
            ]
          },
          "revision" : {
            "SHA1" : "922d65d9be387c0451a1e082dd72d6bb314e0db7",
            "branch" : [
              {
                "SHA1" : "922d65d9be387c0451a1e082dd72d6bb314e0db7",
                "name" : "origin/feat_below_plane_test"
              }
            ]
          }
        },
        "origin/feat_trajectory" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 256,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "f8293dba8599ba00452082c32441324eccbb320b",
            "branch" : [
              {
                "SHA1" : "f8293dba8599ba00452082c32441324eccbb320b",
                "name" : "origin/feat_trajectory"
              }
            ]
          },
          "revision" : {
            "SHA1" : "f8293dba8599ba00452082c32441324eccbb320b",
            "branch" : [
              {
                "SHA1" : "f8293dba8599ba00452082c32441324eccbb320b",
                "name" : "origin/feat_trajectory"
              }
            ]
          }
        },
        "origin/feat_below_plane" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 74,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "c9ebfad01a127e5898e2888f4c23c52bf6bd47a5",
            "branch" : [
              {
                "SHA1" : "c9ebfad01a127e5898e2888f4c23c52bf6bd47a5",
                "name" : "origin/feat_below_plane"
              }
            ]
          },
          "revision" : {
            "SHA1" : "c9ebfad01a127e5898e2888f4c23c52bf6bd47a5",
            "branch" : [
              {
                "SHA1" : "c9ebfad01a127e5898e2888f4c23c52bf6bd47a5",
                "name" : "origin/feat_below_plane"
              }
            ]
          }
        },
        "origin/feat_trajectory_daxie" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 211,
          "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_daxie_proto" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 283,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "84103d6512eb05f173df0d8877faac2496810b53",
            "branch" : [
              {
                "SHA1" : "84103d6512eb05f173df0d8877faac2496810b53",
                "name" : "origin/feat_daxie_proto"
              }
            ]
          },
          "revision" : {
            "SHA1" : "84103d6512eb05f173df0d8877faac2496810b53",
            "branch" : [
              {
                "SHA1" : "84103d6512eb05f173df0d8877faac2496810b53",
                "name" : "origin/feat_daxie_proto"
              }
            ]
          }
        },
        "origin/feat_yard_decider" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 36,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "130e3a5144dfbc78229bfd7f7a285af79da7c0b7",
            "branch" : [
              {
                "SHA1" : "130e3a5144dfbc78229bfd7f7a285af79da7c0b7",
                "name" : "origin/feat_yard_decider"
              }
            ]
          },
          "revision" : {
            "SHA1" : "130e3a5144dfbc78229bfd7f7a285af79da7c0b7",
            "branch" : [
              {
                "SHA1" : "130e3a5144dfbc78229bfd7f7a285af79da7c0b7",
                "name" : "origin/feat_yard_decider"
              }
            ]
          }
        },
        "origin/feat_safety_check" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 41,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "ecac62a3bbf419de26e1ffbed170e0f9662e42d6",
            "branch" : [
              {
                "SHA1" : "ecac62a3bbf419de26e1ffbed170e0f9662e42d6",
                "name" : "origin/feat_safety_check"
              }
            ]
          },
          "revision" : {
            "SHA1" : "ecac62a3bbf419de26e1ffbed170e0f9662e42d6",
            "branch" : [
              {
                "SHA1" : "ecac62a3bbf419de26e1ffbed170e0f9662e42d6",
                "name" : "origin/feat_safety_check"
              }
            ]
          }
        },
        "origin/feat_sidepass_decider" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 253,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "ed38742ac3653b98bffbf6039acd113a38e5c05d",
            "branch" : [
              {
                "SHA1" : "ed38742ac3653b98bffbf6039acd113a38e5c05d",
                "name" : "origin/feat_sidepass_decider"
              }
            ]
          },
          "revision" : {
            "SHA1" : "ed38742ac3653b98bffbf6039acd113a38e5c05d",
            "branch" : [
              {
                "SHA1" : "ed38742ac3653b98bffbf6039acd113a38e5c05d",
                "name" : "origin/feat_sidepass_decider"
              }
            ]
          }
        },
        "origin/feat_wbca" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 77,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "7bf8350f5954a3829f01f545009bf8d270641352",
            "branch" : [
              {
                "SHA1" : "7bf8350f5954a3829f01f545009bf8d270641352",
                "name" : "origin/feat_wbca"
              }
            ]
          },
          "revision" : {
            "SHA1" : "7bf8350f5954a3829f01f545009bf8d270641352",
            "branch" : [
              {
                "SHA1" : "7bf8350f5954a3829f01f545009bf8d270641352",
                "name" : "origin/feat_wbca"
              }
            ]
          }
        },
        "origin/feat_qg_speed_up" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 124,
          "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_trajectory_qiangang" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 230,
          "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/feat-ssep-add-hd-map" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 139,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "2620ff25e73f69bcf7bf8357bbf8ebc92dc18676",
            "branch" : [
              {
                "SHA1" : "2620ff25e73f69bcf7bf8357bbf8ebc92dc18676",
                "name" : "origin/feat-ssep-add-hd-map"
              }
            ]
          },
          "revision" : {
            "SHA1" : "2620ff25e73f69bcf7bf8357bbf8ebc92dc18676",
            "branch" : [
              {
                "SHA1" : "2620ff25e73f69bcf7bf8357bbf8ebc92dc18676",
                "name" : "origin/feat-ssep-add-hd-map"
              }
            ]
          }
        },
        "origin/feat_ssep_serialize" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 45,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "8a08b172942144686e0aee3f1e4277f1e1abd54b",
            "branch" : [
              {
                "SHA1" : "8a08b172942144686e0aee3f1e4277f1e1abd54b",
                "name" : "origin/feat_ssep_serialize"
              }
            ]
          },
          "revision" : {
            "SHA1" : "8a08b172942144686e0aee3f1e4277f1e1abd54b",
            "branch" : [
              {
                "SHA1" : "8a08b172942144686e0aee3f1e4277f1e1abd54b",
                "name" : "origin/feat_ssep_serialize"
              }
            ]
          }
        },
        "origin/fix_ssep" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 90,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "739fda6e0362bc7273fae05e70c314ca9232d40d",
            "branch" : [
              {
                "SHA1" : "739fda6e0362bc7273fae05e70c314ca9232d40d",
                "name" : "origin/fix_ssep"
              }
            ]
          },
          "revision" : {
            "SHA1" : "739fda6e0362bc7273fae05e70c314ca9232d40d",
            "branch" : [
              {
                "SHA1" : "739fda6e0362bc7273fae05e70c314ca9232d40d",
                "name" : "origin/fix_ssep"
              }
            ]
          }
        },
        "origin/feat_clear_area" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 168,
          "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_block_data" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 115,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "db34608a50a96a3b765d3406a955ccc71bdb97cd",
            "branch" : [
              {
                "SHA1" : "db34608a50a96a3b765d3406a955ccc71bdb97cd",
                "name" : "origin/feat_block_data"
              }
            ]
          },
          "revision" : {
            "SHA1" : "db34608a50a96a3b765d3406a955ccc71bdb97cd",
            "branch" : [
              {
                "SHA1" : "db34608a50a96a3b765d3406a955ccc71bdb97cd",
                "name" : "origin/feat_block_data"
              }
            ]
          }
        },
        "origin/feat_hairun" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 254,
          "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" : 22,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "100e5c373b581d49b582fe53822105c159a4da7c",
            "branch" : [
              {
                "SHA1" : "100e5c373b581d49b582fe53822105c159a4da7c",
                "name" : "origin/feat_dynamic_hd_map"
              }
            ]
          },
          "revision" : {
            "SHA1" : "100e5c373b581d49b582fe53822105c159a4da7c",
            "branch" : [
              {
                "SHA1" : "100e5c373b581d49b582fe53822105c159a4da7c",
                "name" : "origin/feat_dynamic_hd_map"
              }
            ]
          }
        },
        "origin/feat_qiangang" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 216,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "aecf87a4b918714c30dc044500750f6fa06503db",
            "branch" : [
              {
                "SHA1" : "aecf87a4b918714c30dc044500750f6fa06503db",
                "name" : "origin/feat_qiangang"
              }
            ]
          },
          "revision" : {
            "SHA1" : "aecf87a4b918714c30dc044500750f6fa06503db",
            "branch" : [
              {
                "SHA1" : "aecf87a4b918714c30dc044500750f6fa06503db",
                "name" : "origin/feat_qiangang"
              }
            ]
          }
        },
        "origin/feat_trajectory_daxie_1" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 203,
          "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_error" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 162,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "dc27b02eaf204e5b86844dff5a6fd5a9ba4b011e",
            "branch" : [
              {
                "SHA1" : "dc27b02eaf204e5b86844dff5a6fd5a9ba4b011e",
                "name" : "origin/feat_error"
              }
            ]
          },
          "revision" : {
            "SHA1" : "dc27b02eaf204e5b86844dff5a6fd5a9ba4b011e",
            "branch" : [
              {
                "SHA1" : "dc27b02eaf204e5b86844dff5a6fd5a9ba4b011e",
                "name" : "origin/feat_error"
              }
            ]
          }
        },
        "origin/feat_guide_line" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 62,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "269dc86109fc6f30abb1867a0b5f772fc79d963e",
            "branch" : [
              {
                "SHA1" : "269dc86109fc6f30abb1867a0b5f772fc79d963e",
                "name" : "origin/feat_guide_line"
              }
            ]
          },
          "revision" : {
            "SHA1" : "269dc86109fc6f30abb1867a0b5f772fc79d963e",
            "branch" : [
              {
                "SHA1" : "269dc86109fc6f30abb1867a0b5f772fc79d963e",
                "name" : "origin/feat_guide_line"
              }
            ]
          }
        },
        "origin/feat_qiangang_refactor" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 149,
          "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_guide_line_lane_change" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 68,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "750928d90c49cdff7aeb05942e4d2ce1f4b60ed6",
            "branch" : [
              {
                "SHA1" : "750928d90c49cdff7aeb05942e4d2ce1f4b60ed6",
                "name" : "origin/feat_guide_line_lane_change"
              }
            ]
          },
          "revision" : {
            "SHA1" : "750928d90c49cdff7aeb05942e4d2ce1f4b60ed6",
            "branch" : [
              {
                "SHA1" : "750928d90c49cdff7aeb05942e4d2ce1f4b60ed6",
                "name" : "origin/feat_guide_line_lane_change"
              }
            ]
          }
        },
        "origin/feat_lock_station" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 91,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "b325409d2045146c3fb5153cf397609bdc8bfaf5",
            "branch" : [
              {
                "SHA1" : "b325409d2045146c3fb5153cf397609bdc8bfaf5",
                "name" : "origin/feat_lock_station"
              }
            ]
          },
          "revision" : {
            "SHA1" : "b325409d2045146c3fb5153cf397609bdc8bfaf5",
            "branch" : [
              {
                "SHA1" : "b325409d2045146c3fb5153cf397609bdc8bfaf5",
                "name" : "origin/feat_lock_station"
              }
            ]
          }
        },
        "origin/feat_pnc_scene_replay_web" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 275,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "d9bd27bd5353cad1c8e06248135cd4845f656dcf",
            "branch" : [
              {
                "SHA1" : "d9bd27bd5353cad1c8e06248135cd4845f656dcf",
                "name" : "origin/feat_pnc_scene_replay_web"
              }
            ]
          },
          "revision" : {
            "SHA1" : "d9bd27bd5353cad1c8e06248135cd4845f656dcf",
            "branch" : [
              {
                "SHA1" : "d9bd27bd5353cad1c8e06248135cd4845f656dcf",
                "name" : "origin/feat_pnc_scene_replay_web"
              }
            ]
          }
        },
        "origin/feat_escape" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 117,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "8b14b47dfe79ba6b02aaec39f789258ce5b8411b",
            "branch" : [
              {
                "SHA1" : "8b14b47dfe79ba6b02aaec39f789258ce5b8411b",
                "name" : "origin/feat_escape"
              }
            ]
          },
          "revision" : {
            "SHA1" : "8b14b47dfe79ba6b02aaec39f789258ce5b8411b",
            "branch" : [
              {
                "SHA1" : "8b14b47dfe79ba6b02aaec39f789258ce5b8411b",
                "name" : "origin/feat_escape"
              }
            ]
          }
        },
        "origin/feat_pnc_status" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 220,
          "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/feat_proto_jinxi" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 282,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "a9134bdaec29e5e572101316101ffe33eb3ab13a",
            "branch" : [
              {
                "SHA1" : "a9134bdaec29e5e572101316101ffe33eb3ab13a",
                "name" : "origin/feat_proto_jinxi"
              }
            ]
          },
          "revision" : {
            "SHA1" : "a9134bdaec29e5e572101316101ffe33eb3ab13a",
            "branch" : [
              {
                "SHA1" : "a9134bdaec29e5e572101316101ffe33eb3ab13a",
                "name" : "origin/feat_proto_jinxi"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "84103d6512eb05f173df0d8877faac2496810b53",
        "branch" : [
          {
            "SHA1" : "84103d6512eb05f173df0d8877faac2496810b53",
            "name" : "origin/feat_daxie_proto"
          }
        ]
      },
      "remoteUrls" : [
        "http://159.27.226.4/pnc/pnc.git"
      ],
      "scmName" : ""
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/rc_dev" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 283,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "a9c2e4d796a63e7fae98439c0d76ee577dfdf98f",
            "branch" : [
              {
                "SHA1" : "a9c2e4d796a63e7fae98439c0d76ee577dfdf98f",
                "name" : "origin/rc_dev"
              }
            ]
          },
          "revision" : {
            "SHA1" : "a9c2e4d796a63e7fae98439c0d76ee577dfdf98f",
            "branch" : [
              {
                "SHA1" : "a9c2e4d796a63e7fae98439c0d76ee577dfdf98f",
                "name" : "origin/rc_dev"
              }
            ]
          }
        },
        "origin/rc_dev_server" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 234,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "a18e8996e071f28b03d50561d4a7a303b05548f2",
            "branch" : [
              {
                "SHA1" : "a18e8996e071f28b03d50561d4a7a303b05548f2",
                "name" : "origin/rc_dev_server"
              }
            ]
          },
          "revision" : {
            "SHA1" : "a18e8996e071f28b03d50561d4a7a303b05548f2",
            "branch" : [
              {
                "SHA1" : "a18e8996e071f28b03d50561d4a7a303b05548f2",
                "name" : "origin/rc_dev_server"
              }
            ]
          }
        },
        "origin/new_temp_branch" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 43,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "40ff437c0c8c21f549e6d7ad8b6491ce2f713a2b",
            "branch" : [
              {
                "SHA1" : "40ff437c0c8c21f549e6d7ad8b6491ce2f713a2b",
                "name" : "origin/new_temp_branch"
              }
            ]
          },
          "revision" : {
            "SHA1" : "40ff437c0c8c21f549e6d7ad8b6491ce2f713a2b",
            "branch" : [
              {
                "SHA1" : "40ff437c0c8c21f549e6d7ad8b6491ce2f713a2b",
                "name" : "origin/new_temp_branch"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "a9c2e4d796a63e7fae98439c0d76ee577dfdf98f",
        "branch" : [
          {
            "SHA1" : "a9c2e4d796a63e7fae98439c0d76ee577dfdf98f",
            "name" : "origin/rc_dev"
          }
        ]
      },
      "remoteUrls" : [
        "http://159.27.226.4/map/hdmap.git"
      ],
      "scmName" : ""
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/feat-backtrace-guideline" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 123,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "d81274a3424a663f175a966b0d268e5324805a6f",
            "branch" : [
              {
                "SHA1" : "d81274a3424a663f175a966b0d268e5324805a6f",
                "name" : "origin/feat-backtrace-guideline"
              }
            ]
          },
          "revision" : {
            "SHA1" : "d81274a3424a663f175a966b0d268e5324805a6f",
            "branch" : [
              {
                "SHA1" : "d81274a3424a663f175a966b0d268e5324805a6f",
                "name" : "origin/feat-backtrace-guideline"
              }
            ]
          }
        },
        "origin/feat_guide_line_params" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 137,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "423841c3ae1b2c94b8819eee1e39f3e49c0c2015",
            "branch" : [
              {
                "SHA1" : "423841c3ae1b2c94b8819eee1e39f3e49c0c2015",
                "name" : "origin/feat_guide_line_params"
              }
            ]
          },
          "revision" : {
            "SHA1" : "423841c3ae1b2c94b8819eee1e39f3e49c0c2015",
            "branch" : [
              {
                "SHA1" : "423841c3ae1b2c94b8819eee1e39f3e49c0c2015",
                "name" : "origin/feat_guide_line_params"
              }
            ]
          }
        },
        "origin/feat-hd-map-guide-line" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 81,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "9fa32a78444314bc6afc91c039f4700425329faf",
            "branch" : [
              {
                "SHA1" : "9fa32a78444314bc6afc91c039f4700425329faf",
                "name" : "origin/feat-hd-map-guide-line"
              }
            ]
          },
          "revision" : {
            "SHA1" : "9fa32a78444314bc6afc91c039f4700425329faf",
            "branch" : [
              {
                "SHA1" : "9fa32a78444314bc6afc91c039f4700425329faf",
                "name" : "origin/feat-hd-map-guide-line"
              }
            ]
          }
        },
        "origin/feat_error" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 144,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "6029ac1075c76d5304a601b10f5c5d138b494a27",
            "branch" : [
              {
                "SHA1" : "6029ac1075c76d5304a601b10f5c5d138b494a27",
                "name" : "origin/feat_error"
              }
            ]
          },
          "revision" : {
            "SHA1" : "6029ac1075c76d5304a601b10f5c5d138b494a27",
            "branch" : [
              {
                "SHA1" : "6029ac1075c76d5304a601b10f5c5d138b494a27",
                "name" : "origin/feat_error"
              }
            ]
          }
        },
        "origin/feat_yangpu1" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 256,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "906d66ed9b1f1d07bace94a7e3a6cfb3fbedc8da",
            "branch" : [
              {
                "SHA1" : "906d66ed9b1f1d07bace94a7e3a6cfb3fbedc8da",
                "name" : "origin/feat_yangpu1"
              }
            ]
          },
          "revision" : {
            "SHA1" : "906d66ed9b1f1d07bace94a7e3a6cfb3fbedc8da",
            "branch" : [
              {
                "SHA1" : "906d66ed9b1f1d07bace94a7e3a6cfb3fbedc8da",
                "name" : "origin/feat_yangpu1"
              }
            ]
          }
        },
        "origin/feat_video" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 220,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "4f6079626fac0814fd86a4226b950e162d200d2a",
            "branch" : [
              {
                "SHA1" : "4f6079626fac0814fd86a4226b950e162d200d2a",
                "name" : "origin/feat_video"
              }
            ]
          },
          "revision" : {
            "SHA1" : "4f6079626fac0814fd86a4226b950e162d200d2a",
            "branch" : [
              {
                "SHA1" : "4f6079626fac0814fd86a4226b950e162d200d2a",
                "name" : "origin/feat_video"
              }
            ]
          }
        },
        "origin/feat-hdmap" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 20,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "a7db98b3c109b4169d7e97f72929274e2274425a",
            "branch" : [
              {
                "SHA1" : "a7db98b3c109b4169d7e97f72929274e2274425a",
                "name" : "origin/feat-hdmap"
              }
            ]
          },
          "revision" : {
            "SHA1" : "a7db98b3c109b4169d7e97f72929274e2274425a",
            "branch" : [
              {
                "SHA1" : "a7db98b3c109b4169d7e97f72929274e2274425a",
                "name" : "origin/feat-hdmap"
              }
            ]
          }
        },
        "origin/feat_proto" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 283,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "5a8afeb4f643aca52931691776c46a13e7431950",
            "branch" : [
              {
                "SHA1" : "5a8afeb4f643aca52931691776c46a13e7431950",
                "name" : "origin/feat_proto"
              }
            ]
          },
          "revision" : {
            "SHA1" : "5a8afeb4f643aca52931691776c46a13e7431950",
            "branch" : [
              {
                "SHA1" : "5a8afeb4f643aca52931691776c46a13e7431950",
                "name" : "origin/feat_proto"
              }
            ]
          }
        },
        "origin/feat-hdmap-tls" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 15,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "efcbf5383594957c399dd24cdcf8fcd0e54b7739",
            "branch" : [
              {
                "SHA1" : "efcbf5383594957c399dd24cdcf8fcd0e54b7739",
                "name" : "origin/feat-hdmap-tls"
              }
            ]
          },
          "revision" : {
            "SHA1" : "efcbf5383594957c399dd24cdcf8fcd0e54b7739",
            "branch" : [
              {
                "SHA1" : "efcbf5383594957c399dd24cdcf8fcd0e54b7739",
                "name" : "origin/feat-hdmap-tls"
              }
            ]
          }
        },
        "origin/test_memory" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 239,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "678787ba9ead9bb6b801a2432779256490486ebd",
            "branch" : [
              {
                "SHA1" : "678787ba9ead9bb6b801a2432779256490486ebd",
                "name" : "origin/test_memory"
              }
            ]
          },
          "revision" : {
            "SHA1" : "678787ba9ead9bb6b801a2432779256490486ebd",
            "branch" : [
              {
                "SHA1" : "678787ba9ead9bb6b801a2432779256490486ebd",
                "name" : "origin/test_memory"
              }
            ]
          }
        },
        "origin/feat_qiangang_refactor" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 264,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "f599bd15490c1a71d53d031f9fde52455d7e1efd",
            "branch" : [
              {
                "SHA1" : "f599bd15490c1a71d53d031f9fde52455d7e1efd",
                "name" : "origin/feat_qiangang_refactor"
              }
            ]
          },
          "revision" : {
            "SHA1" : "f599bd15490c1a71d53d031f9fde52455d7e1efd",
            "branch" : [
              {
                "SHA1" : "f599bd15490c1a71d53d031f9fde52455d7e1efd",
                "name" : "origin/feat_qiangang_refactor"
              }
            ]
          }
        },
        "origin/feat-backtrace-params" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 154,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "c437b710b2a39863e854a56ed4e1dd0ff5908874",
            "branch" : [
              {
                "SHA1" : "c437b710b2a39863e854a56ed4e1dd0ff5908874",
                "name" : "origin/feat-backtrace-params"
              }
            ]
          },
          "revision" : {
            "SHA1" : "c437b710b2a39863e854a56ed4e1dd0ff5908874",
            "branch" : [
              {
                "SHA1" : "c437b710b2a39863e854a56ed4e1dd0ff5908874",
                "name" : "origin/feat-backtrace-params"
              }
            ]
          }
        },
        "origin/feat-dynamic-hd-map" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 94,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "a36f87ad291b4d6514b70f73cfea182fccc6d4d6",
            "branch" : [
              {
                "SHA1" : "a36f87ad291b4d6514b70f73cfea182fccc6d4d6",
                "name" : "origin/feat-dynamic-hd-map"
              }
            ]
          },
          "revision" : {
            "SHA1" : "a36f87ad291b4d6514b70f73cfea182fccc6d4d6",
            "branch" : [
              {
                "SHA1" : "a36f87ad291b4d6514b70f73cfea182fccc6d4d6",
                "name" : "origin/feat-dynamic-hd-map"
              }
            ]
          }
        },
        "origin/feat_record" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 170,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "e97a73494aad16ff90be4c2504e1c879de3ac47e",
            "branch" : [
              {
                "SHA1" : "e97a73494aad16ff90be4c2504e1c879de3ac47e",
                "name" : "origin/feat_record"
              }
            ]
          },
          "revision" : {
            "SHA1" : "e97a73494aad16ff90be4c2504e1c879de3ac47e",
            "branch" : [
              {
                "SHA1" : "e97a73494aad16ff90be4c2504e1c879de3ac47e",
                "name" : "origin/feat_record"
              }
            ]
          }
        },
        "origin/cloud_dev" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 14,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "75e91f1e59f5f53309becad366d945acaa73e8f9",
            "branch" : [
              {
                "SHA1" : "75e91f1e59f5f53309becad366d945acaa73e8f9",
                "name" : "origin/cloud_dev"
              }
            ]
          },
          "revision" : {
            "SHA1" : "75e91f1e59f5f53309becad366d945acaa73e8f9",
            "branch" : [
              {
                "SHA1" : "75e91f1e59f5f53309becad366d945acaa73e8f9",
                "name" : "origin/cloud_dev"
              }
            ]
          }
        },
        "origin/feat_refactor" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 179,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "22b1c689217dc3921dd4cce343fae39f66d7eacc",
            "branch" : [
              {
                "SHA1" : "22b1c689217dc3921dd4cce343fae39f66d7eacc",
                "name" : "origin/feat_refactor"
              }
            ]
          },
          "revision" : {
            "SHA1" : "22b1c689217dc3921dd4cce343fae39f66d7eacc",
            "branch" : [
              {
                "SHA1" : "22b1c689217dc3921dd4cce343fae39f66d7eacc",
                "name" : "origin/feat_refactor"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "5a8afeb4f643aca52931691776c46a13e7431950",
        "branch" : [
          {
            "SHA1" : "5a8afeb4f643aca52931691776c46a13e7431950",
            "name" : "origin/feat_proto"
          }
        ]
      },
      "remoteUrls" : [
        "http://159.27.226.4/pnc/telediagnostic.git"
      ],
      "scmName" : ""
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/new_interface" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 24,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "8e3d73d05b31d968e9d56ef209a74d467338df41",
            "branch" : [
              {
                "SHA1" : "8e3d73d05b31d968e9d56ef209a74d467338df41",
                "name" : "origin/new_interface"
              }
            ]
          },
          "revision" : {
            "SHA1" : "8e3d73d05b31d968e9d56ef209a74d467338df41",
            "branch" : [
              {
                "SHA1" : "8e3d73d05b31d968e9d56ef209a74d467338df41",
                "name" : "origin/new_interface"
              }
            ]
          }
        },
        "origin/temp_interface" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 26,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "f1f32b4fc822b16926742a0ffedd3d014e6bccf5",
            "branch" : [
              {
                "SHA1" : "f1f32b4fc822b16926742a0ffedd3d014e6bccf5",
                "name" : "origin/temp_interface"
              }
            ]
          },
          "revision" : {
            "SHA1" : "f1f32b4fc822b16926742a0ffedd3d014e6bccf5",
            "branch" : [
              {
                "SHA1" : "f1f32b4fc822b16926742a0ffedd3d014e6bccf5",
                "name" : "origin/temp_interface"
              }
            ]
          }
        },
        "origin/rc_dev" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 283,
          "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" : 137,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "92e309ac89bf47d56624f14970eb911f54f1049b",
            "branch" : [
              {
                "SHA1" : "92e309ac89bf47d56624f14970eb911f54f1049b",
                "name" : "origin/rc_dev_add_lane_name"
              }
            ]
          },
          "revision" : {
            "SHA1" : "92e309ac89bf47d56624f14970eb911f54f1049b",
            "branch" : [
              {
                "SHA1" : "92e309ac89bf47d56624f14970eb911f54f1049b",
                "name" : "origin/rc_dev_add_lane_name"
              }
            ]
          }
        }
      },
      "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" : "#283",
  "duration" : 1205722,
  "estimatedDuration" : 1181216,
  "executor" : null,
  "fullDisplayName" : "telediagnostic #283",
  "id" : "283",
  "keepLog" : false,
  "number" : 283,
  "queueId" : 1357016,
  "result" : "SUCCESS",
  "timestamp" : 1792402795233,
  "url" : "http://159.27.114.184:8080/jenkins/user/chenjunnan/my-views/view/all/job/telediagnostic/283/",
  "changeSets" : [
    {
      "_class" : "hudson.plugins.git.GitChangeSetList",
      "items" : [
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "src/org/devops/vehicleInfo.groovy"
          ],
          "commitId" : "9e8b1ada2d4312e1fd4ac07ddb1f27a03d1ef1d3",
          "timestamp" : 1791889078000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/weilikang",
            "fullName" : "weilikang"
          },
          "authorEmail" : "weilikang@senior.auto",
          "comment" : "Update vehicleInfo.groovy\u000a",
          "date" : "2026-10-13 10:57:58 +0000",
          "id" : "9e8b1ada2d4312e1fd4ac07ddb1f27a03d1ef1d3",
          "msg" : "Update vehicleInfo.groovy",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "src/org/devops/vehicleInfo.groovy"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "src/org/devops/vehicleInfo.groovy"
          ],
          "commitId" : "6ec4c73f16769d31c660c5020d0f9d715ab0b1b7",
          "timestamp" : 1791976644000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/weilikang",
            "fullName" : "weilikang"
          },
          "authorEmail" : "weilikang@senior.auto",
          "comment" : "Update vehicleInfo.groovy\u000a",
          "date" : "2026-10-14 11:17:24 +0000",
          "id" : "6ec4c73f16769d31c660c5020d0f9d715ab0b1b7",
          "msg" : "Update vehicleInfo.groovy",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "src/org/devops/vehicleInfo.groovy"
            }
          ]
        }
      ],
      "kind" : "git"
    },
    {
      "_class" : "hudson.plugins.git.GitChangeSetList",
      "items" : [
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "params/yantai-gunzhuang-submodule.jenkinsfile"
          ],
          "commitId" : "fed3c34683fe62747977ee93d8c1b1c55f2fce18",
          "timestamp" : 1791889016000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/weilikang",
            "fullName" : "weilikang"
          },
          "authorEmail" : "weilikang@senior.auto",
          "comment" : "Update yantai-gunzhuang-submodule.jenkinsfile\u000a",
          "date" : "2026-10-13 10:56:56 +0000",
          "id" : "fed3c34683fe62747977ee93d8c1b1c55f2fce18",
          "msg" : "Update yantai-gunzhuang-submodule.jenkinsfile",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "params/yantai-gunzhuang-submodule.jenkinsfile"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "python-scripts.jenkinsfile"
          ],
          "commitId" : "1437c1ddbc36ae53b976183a9a8d0ee9fb5cd70f",
          "timestamp" : 1791889439000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/weilikang",
            "fullName" : "weilikang"
          },
          "authorEmail" : "weilikang@senior.auto",
          "comment" : "Update python-scripts.jenkinsfile\u000a",
          "date" : "2026-10-13 11:03:59 +0000",
          "id" : "1437c1ddbc36ae53b976183a9a8d0ee9fb5cd70f",
          "msg" : "Update python-scripts.jenkinsfile",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "python-scripts.jenkinsfile"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "params/yantai-gunzhuang-submodule.jenkinsfile"
          ],
          "commitId" : "4202040955aa5e4974abbb7b5f5b4dd5a0b7a9eb",
          "timestamp" : 1791976542000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/weilikang",
            "fullName" : "weilikang"
          },
          "authorEmail" : "weilikang@senior.auto",
          "comment" : "Update yantai-gunzhuang-submodule.jenkinsfile\u000a",
          "date" : "2026-10-14 11:15:42 +0000",
          "id" : "4202040955aa5e4974abbb7b5f5b4dd5a0b7a9eb",
          "msg" : "Update yantai-gunzhuang-submodule.jenkinsfile",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "params/yantai-gunzhuang-submodule.jenkinsfile"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "module-ros2.jenkinsfile"
          ],
          "commitId" : "acac218eaabc3be514fc740bc55d76eb81b11fbb",
          "timestamp" : 1791977448000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/weilikang",
            "fullName" : "weilikang"
          },
          "authorEmail" : "weilikang@senior.auto",
          "comment" : "Update module-ros2.jenkinsfile\u000a",
          "date" : "2026-10-14 11:30:48 +0000",
          "id" : "acac218eaabc3be514fc740bc55d76eb81b11fbb",
          "msg" : "Update module-ros2.jenkinsfile",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "module-ros2.jenkinsfile"
            }
          ]
        }
      ],
      "kind" : "git"
    },
    {
      "_class" : "hudson.plugins.git.GitChangeSetList",
      "items" : [
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tos_msgs/msg/PeripheralCmd.msg",
            "peripheral_msgs/msg/PeripheralOperateState.msg"
          ],
          "commitId" : "2f6af7ef91754d052dc194b765487f18c7fd8462",
          "timestamp" : 1790236846000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/zhaojianfeng2",
            "fullName" : "zhaojianfeng2"
          },
          "authorEmail" : "zhaojianfeng2@senior.auto",
          "comment" : "feat: 增加设备/目标类型 17 油缸升降（嘉兴）\u000a\u000a东方特钢举升/下降与状态反馈由类型 7（翻斗）改为 17。\u000a",
          "date" : "2026-09-24 16:00:46 +0800",
          "id" : "2f6af7ef91754d052dc194b765487f18c7fd8462",
          "msg" : "feat: 增加设备/目标类型 17 油缸升降（嘉兴）",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tos_msgs/msg/PeripheralCmd.msg"
            },
            {
              "editType" : "edit",
              "file" : "peripheral_msgs/msg/PeripheralOperateState.msg"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "peripheral_msgs/msg/PeripheralOperateStates.msg"
          ],
          "commitId" : "7f4b8f4561ac47d3e3c3ca87346955ff5c8b2ad1",
          "timestamp" : 1790238758000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/zhaojianfeng2",
            "fullName" : "zhaojianfeng2"
          },
          "authorEmail" : "zhaojianfeng2@senior.auto",
          "comment" : "feat(peripheral_msgs): add PD_TYPE_7 for tipper feedback\u000a\u000aMerge PD_TYPE_7=7 (翻斗反馈) into rc_dev_jiaxingdongfangtegang so\u000axugong operate_status can build against this msgs branch.\u000a",
          "date" : "2026-09-24 16:32:38 +0800",
          "id" : "7f4b8f4561ac47d3e3c3ca87346955ff5c8b2ad1",
          "msg" : "feat(peripheral_msgs): add PD_TYPE_7 for tipper feedback",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "peripheral_msgs/msg/PeripheralOperateStates.msg"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "peripheral_msgs/msg/PeripheralOperateStates.msg"
          ],
          "commitId" : "eb7174c7617f4250b0c9e32690d5bc175616e585",
          "timestamp" : 1790238864000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/zhaojianfeng2",
            "fullName" : "zhaojianfeng2"
          },
          "authorEmail" : "zhaojianfeng2@senior.auto",
          "comment" : "revert(peripheral_msgs): drop PD_TYPE_7 on Jiaxing branch\u000a\u000aXugong tipper feedback reuses PD_TYPE_3; no need for PD_TYPE_7 here.\u000a",
          "date" : "2026-09-24 16:34:24 +0800",
          "id" : "eb7174c7617f4250b0c9e32690d5bc175616e585",
          "msg" : "revert(peripheral_msgs): drop PD_TYPE_7 on Jiaxing branch",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "peripheral_msgs/msg/PeripheralOperateStates.msg"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "cloud_msgs/msg/CraneInfo.msg"
          ],
          "commitId" : "f81898909167f9f8c7dee4f7367c611c2268d138",
          "timestamp" : 1792121529000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat:添加场桥和岸桥运动状态\u000a",
          "date" : "2026-10-16 11:32:09 +0800",
          "id" : "f81898909167f9f8c7dee4f7367c611c2268d138",
          "msg" : "feat:添加场桥和岸桥运动状态",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "cloud_msgs/msg/CraneInfo.msg"
            }
          ]
        }
      ],
      "kind" : "git"
    },
    {
      "_class" : "hudson.plugins.git.GitChangeSetList",
      "items" : [
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tools/wbca_debug/CMakeLists.txt",
            "algorithm/wbca/reversing_truck_wbca_manager.hpp",
            "tools/wbca_debug/plot_esdf_comparison.py",
            "algorithm/wbca/reversing_truck_wbca_manager.cpp",
            "tools/wbca_debug/README.md",
            "tools/wbca_debug/compare_ssep_esdf.cpp",
            "Testing/reversing_path_wbca_test.cpp"
          ],
          "commitId" : "1084b7392cc4b7b48e68e532845c75782e04ab75",
          "timestamp" : 1791447535000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "feat: fill reversing WBCA obstacle-to-corridor gaps\u000a\u000aClose effective SSEP obstacle segments to the outward corridor boundary and retain the connected reference-side free region. Keep filled occupancy even where it overlaps the reference envelope, preserving source obstacles and clearing rules.\u000a\u000aAdd production SSEP-to-ESDF comparison and plotting tools, documentation, and regressions. Validated with distributed compilation and 46 passing WBCA tests.\u000a",
          "date" : "2026-10-08 16:18:55 +0800",
          "id" : "1084b7392cc4b7b48e68e532845c75782e04ab75",
          "msg" : "feat: fill reversing WBCA obstacle-to-corridor gaps",
          "paths" : [
            {
              "editType" : "add",
              "file" : "tools/wbca_debug/plot_esdf_comparison.py"
            },
            {
              "editType" : "edit",
              "file" : "tools/wbca_debug/README.md"
            },
            {
              "editType" : "edit",
              "file" : "algorithm/wbca/reversing_truck_wbca_manager.cpp"
            },
            {
              "editType" : "add",
              "file" : "tools/wbca_debug/compare_ssep_esdf.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tools/wbca_debug/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "algorithm/wbca/reversing_truck_wbca_manager.hpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/reversing_path_wbca_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "algorithm/wbca/path_optimization/reversing_truck_path_optimizer.cpp"
          ],
          "commitId" : "1fab5aecef20d30f12ddebb95fbd1e9c7187eade",
          "timestamp" : 1791464434000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: use readable timestamps for reversing WBCA snapshots\u000a",
          "date" : "2026-10-08 21:00:34 +0800",
          "id" : "1fab5aecef20d30f12ddebb95fbd1e9c7187eade",
          "msg" : "fix: use readable timestamps for reversing WBCA snapshots",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "algorithm/wbca/path_optimization/reversing_truck_path_optimizer.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tools/wbca_debug/README.md",
            "tools/wbca_debug/static/app.js",
            "tools/wbca_debug/static/index.html"
          ],
          "commitId" : "c6d2c62428b7b2ea1bc71e6aa0823969d3c3d450",
          "timestamp" : 1791464446000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "feat: display trajectory bounding boxes in WBCA debug viewer\u000a",
          "date" : "2026-10-08 21:00:46 +0800",
          "id" : "c6d2c62428b7b2ea1bc71e6aa0823969d3c3d450",
          "msg" : "feat: display trajectory bounding boxes in WBCA debug viewer",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tools/wbca_debug/README.md"
            },
            {
              "editType" : "edit",
              "file" : "tools/wbca_debug/static/app.js"
            },
            {
              "editType" : "edit",
              "file" : "tools/wbca_debug/static/index.html"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tools/pnc_proto_mapper/schema_lint.py",
            "tools/pnc_proto_mapper/test_exact_numeric_codegen.py",
            "tools/pnc_proto_mapper/audit_compact_numeric_leaves.py",
            "tools/pnc_proto_mapper/generate_exact_numeric_codec.py",
            "tools/pnc_proto_mapper/descriptor_compat.py"
          ],
          "commitId" : "94aa9badce3aa7df9845d38bc381aa62bee4efd9",
          "timestamp" : 1791508711000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 兼容 OTA 旧版 protobuf 的字段描述符\u000a\u000a统一兼容读取 proto3_optional，旧版运行时从 wire 字段恢复标记，避免代码生成和审计检查崩溃并保留 optional 语义。\u000a\u000a调整测试数据构造并覆盖旧版兼容分支；完整 check-generated 检查链及协议兼容检查通过。\u000a",
          "date" : "2026-10-09 09:18:31 +0800",
          "id" : "94aa9badce3aa7df9845d38bc381aa62bee4efd9",
          "msg" : "fix: 兼容 OTA 旧版 protobuf 的字段描述符",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tools/pnc_proto_mapper/generate_exact_numeric_codec.py"
            },
            {
              "editType" : "edit",
              "file" : "tools/pnc_proto_mapper/schema_lint.py"
            },
            {
              "editType" : "edit",
              "file" : "tools/pnc_proto_mapper/test_exact_numeric_codegen.py"
            },
            {
              "editType" : "add",
              "file" : "tools/pnc_proto_mapper/descriptor_compat.py"
            },
            {
              "editType" : "edit",
              "file" : "tools/pnc_proto_mapper/audit_compact_numeric_leaves.py"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "replayer/scene_data/generated/compact_scene_descriptor.pb",
            "replayer/scene_data/compact_proto_codec.cpp",
            "proto/pnc_scene/compact_replay_input.proto",
            "replayer/scene_data/generated/plan_frame_field_roles.json",
            "proto/config.proto",
            "replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml",
            "data/config/cfg_ssep.cpp",
            "data/ssep/forward_ec.cpp",
            "replayer/scene_data/generated/full_custom_cpp_member_inputs.json",
            "replayer/scene_data/compact_numeric_policy.yaml",
            "data/config/cfg_ssep.hpp",
            "config/config_truck/config_truck_reverse/ssep.yaml",
            "Testing/scene_replay_foundation_test.cpp",
            "docs/pnc_algorithm_replay/plan_frame_field_workflow.md",
            "replayer/scene_data/plan_frame_persistence_policy.yaml",
            "replayer/scene_data/plan_frame_field_roles.csv",
            "replayer/scene_data/generated/plan_frame_encoder.cpp",
            "replayer/scene_data/full_proto_custom_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" : "aa3bfa60570332cfb0c9bf6719906a51bd605c2b",
          "timestamp" : 1791513118000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "feat: configure reverse-pickup goal heading offsets\u000a",
          "date" : "2026-10-09 10:31:58 +0800",
          "id" : "aa3bfa60570332cfb0c9bf6719906a51bd605c2b",
          "msg" : "feat: configure reverse-pickup goal heading offsets",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "proto/config.proto"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_numeric_policy.yaml"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/plan_frame_field_roles.csv"
            },
            {
              "editType" : "edit",
              "file" : "config/config_truck/config_truck_reverse/ssep.yaml"
            },
            {
              "editType" : "edit",
              "file" : "proto/pnc_scene/compact_replay_input.proto"
            },
            {
              "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/plan_frame_field_roles.json"
            },
            {
              "editType" : "edit",
              "file" : "Testing/scene_replay_foundation_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/full_proto_custom_encoder.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_scenario_config_lifecycle_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_ssep.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/plan_frame_persistence_policy.yaml"
            },
            {
              "editType" : "edit",
              "file" : "docs/pnc_algorithm_replay/plan_frame_field_workflow.md"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/compact_proto_codec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_ssep.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/plan_frame_descriptor.pb"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/scene_replay_api_descriptor.pb"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/ssep_scenario_config_lifecycle_test.cpp",
            "data/ssep/forward_ec.cpp",
            "config/config_truck/config_truck_reverse/ssep.yaml",
            "docs/pnc_algorithm_replay/plan_frame_field_workflow.md"
          ],
          "commitId" : "3cd7db960d7c2210d84a027b4522156a4e5ca1c0",
          "timestamp" : 1791517639000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: apply goal heading offsets to multi-segment parking\u000a",
          "date" : "2026-10-09 11:47:19 +0800",
          "id" : "3cd7db960d7c2210d84a027b4522156a4e5ca1c0",
          "msg" : "fix: apply goal heading offsets to multi-segment parking",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "Testing/ssep_scenario_config_lifecycle_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "config/config_truck/config_truck_reverse/ssep.yaml"
            },
            {
              "editType" : "edit",
              "file" : "docs/pnc_algorithm_replay/plan_frame_field_workflow.md"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "hmi/draw/draw_perception.cpp",
            "Testing/CMakeLists.txt",
            "Testing/cloud_obstacle_label_test.cpp"
          ],
          "commitId" : "a01f5c2ccda9de3ea28485564a5e30811279d96b",
          "timestamp" : 1791525306000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复无界面模式下桥吊标注的 Qt 字体崩溃风险\u000a\u000a云端和本地界面统一复用 OpenCV 绘制虚拟桥吊标注，移除 QPainter 及其 GUI 字体依赖。使用 ASCII 标注显示障碍物 ID、绑定状态、动静状态和停止确认状态。\u000a\u000a新增独立进程回归，覆盖无 application、QCoreApplication 和 QApplication 三种环境，以及虚拟岸桥、场桥、空集合和其他障碍物。三项 CTest 通过，pnc_node 分布式构建通过。\u000a",
          "date" : "2026-10-09 13:55:06 +0800",
          "id" : "a01f5c2ccda9de3ea28485564a5e30811279d96b",
          "msg" : "fix: 修复无界面模式下桥吊标注的 Qt 字体崩溃风险",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_perception.cpp"
            },
            {
              "editType" : "add",
              "file" : "Testing/cloud_obstacle_label_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/CMakeLists.txt"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/scene_replay_foundation_test.cpp",
            "data/vehicle/deviation_status.cpp"
          ],
          "commitId" : "0a71c2d4aecbb9034ed993a33df9bb11b5aa71ea",
          "timestamp" : 1791530310000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: restrict straightening triggers to final reversing segment\u000a",
          "date" : "2026-10-09 15:18:30 +0800",
          "id" : "0a71c2d4aecbb9034ed993a33df9bb11b5aa71ea",
          "msg" : "fix: restrict straightening triggers to final reversing segment",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "Testing/scene_replay_foundation_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/vehicle/deviation_status.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/CMakeLists.txt",
            "data/ssep/forward_ec.cpp",
            "Testing/bulk_goal_obstacle_filter_test.cpp"
          ],
          "commitId" : "2ae401026d8e4d92144f624531ffe6209dc328b1",
          "timestamp" : 1791616627000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 过滤 BulkIn 固定终点重叠障碍物\u000a\u000a根据现有场景、目标引导线和末端直线距离判断终点是否固定，\u000a过滤与终点完整头挂车身重叠的静态对象，并关联过滤对应头挂。\u000a关联仅扩展一层，保留可调整终点场景的对象，避免跨帧残留障碍标志。\u000a\u000a增加 15 项回归测试，覆盖车身姿态、头挂关联及固定终点判断边界。\u000a分布式编译和过滤回归测试通过。\u000a",
          "date" : "2026-10-10 15:17:07 +0800",
          "id" : "2ae401026d8e4d92144f624531ffe6209dc328b1",
          "msg" : "fix: 过滤 BulkIn 固定终点重叠障碍物",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "Testing/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.cpp"
            },
            {
              "editType" : "add",
              "file" : "Testing/bulk_goal_obstacle_filter_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/keb_optimizer/cost_features/parking_geometric_curvature_constraint.h",
            "ssep/test/tractor_trailer_kinematic_weight_test.cc",
            "ssep/keb_optimizer/keb_problem.cc"
          ],
          "commitId" : "6251c424ee411adf5b3af4a815f18b0df524d036",
          "timestamp" : 1791617122000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 约束牵引车停车路径的端点控制曲率\u000a\u000a对每个行驶方向段增加四点端点曲率残差，与控制路径首尾外推公式一致，避免三点曲率合规但导出控制曲率超限。\u000a保留换向点共用及固定尾段边界约束，覆盖非均匀采样、正负曲率和自动微分回归。\u000a\u000a验证：128 项运动学与曲率测试通过，现场失败帧及相邻场景回放通过。\u000a",
          "date" : "2026-10-10 15:25:22 +0800",
          "id" : "6251c424ee411adf5b3af4a815f18b0df524d036",
          "msg" : "fix: 约束牵引车停车路径的端点控制曲率",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/cost_features/parking_geometric_curvature_constraint.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/tractor_trailer_kinematic_weight_test.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/test/bounded_priority_queue_test.cc",
            "ssep/coarse_search/bounded_priority_queue.h",
            "ssep/test/CMakeLists.txt"
          ],
          "commitId" : "d48112ba60721d6e10f0df8d4e3353e25a6c50bb",
          "timestamp" : 1791617138000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 稳定 GPU 搜索候选队列的优先级顺序\u000a\u000a有界队列的读取、删除和淘汰统一遵循搜索器传入的比较器，同代价按节点生成顺序处理，避免哈希表遍历顺序改变搜索分支。\u000a补充等代价排序、自定义比较器及单项与批量操作一致性测试。\u000a\u000a验证：RTX 4060 上目标帧重复 10 次均为一前一倒，输出路径完全一致；队列回归通过。\u000a",
          "date" : "2026-10-10 15:25:38 +0800",
          "id" : "d48112ba60721d6e10f0df8d4e3353e25a6c50bb",
          "msg" : "fix: 稳定 GPU 搜索候选队列的优先级顺序",
          "paths" : [
            {
              "editType" : "add",
              "file" : "ssep/test/bounded_priority_queue_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/bounded_priority_queue.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/test/ssep_planner_test.cc",
            "ssep/test/bidirectional_candidate_validation_test.cc",
            "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h",
            "ssep/coarse_search/bidirectional_hybrid_astar_search_engine.cc"
          ],
          "commitId" : "7a597f7c839fda04da7c8b747b8350013e0cfb8b",
          "timestamp" : 1791617202000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 优先完成停车单次换向搜索再回退多段调整\u000a\u000a一次换向搜索在单侧队列耗尽后允许另一侧继续连接已访问节点；参考点附近搜索失败后先放宽换向位置，再启用多段调整。\u000a保留方向、连接碰撞及整段验收，并补充超时与匹配拒绝分类日志。\u000a覆盖三种队列、两种扩展策略和任一侧先耗尽的回归，以及参考位置放宽后仍只换向一次的场景。\u000a",
          "date" : "2026-10-10 15:26:42 +0800",
          "id" : "7a597f7c839fda04da7c8b747b8350013e0cfb8b",
          "msg" : "fix: 优先完成停车单次换向搜索再回退多段调整",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/bidirectional_candidate_validation_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/ssep_planner_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/bidirectional_hybrid_astar_search_engine.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/test/ssep_planner_test.cc",
            "ssep/test/parking_history_collision_test.cc",
            "ssep/test/CMakeLists.txt",
            "ssep/scenarios/stitching_replanner.h",
            "ssep/scenarios/tractor_trailer_reverse_priority_parking_planner.h",
            "ssep/scenarios/scenario_planner_factory.h",
            "ssep/ssep_planner.cc"
          ],
          "commitId" : "067d54ce4ae9e7baa511b58e0a94333a5c953b03",
          "timestamp" : 1791617213000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 换向后优先接续有效倒车路径并保留调整回退\u000a\u000a有效纯倒车历史先在当前环境下重新优化验收，失败后优先纯倒车搜索，再按配置允许前进调整；各尝试共享请求截止时间并保留参考引导线。\u000a历史路径补验显式搜索与优化前方包络，保持完整运动学、端点、曲率和扫掠碰撞检查。\u000a补充当前障碍变化、重复规划、禁止调整和截止时间回归。\u000a",
          "date" : "2026-10-10 15:26:53 +0800",
          "id" : "067d54ce4ae9e7baa511b58e0a94333a5c953b03",
          "msg" : "fix: 换向后优先接续有效倒车路径并保留调整回退",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_reverse_priority_parking_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/stitching_replanner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/scenario_planner_factory.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "ssep/ssep_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/ssep_planner_test.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/parking_history_collision_test.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "AGENTS.md"
          ],
          "commitId" : "6f24df7ce3639516a96dd06b98fd69e734a3f9a3",
          "timestamp" : 1791617221000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "docs: 记录 GPU 测试服务器及验证约定\u000a\u000a记录已授权的 GPU 测试入口、独立工作目录要求和 CPU/GPU 后端结果区分，凭据不进入仓库。\u000a",
          "date" : "2026-10-10 15:27:01 +0800",
          "id" : "6f24df7ce3639516a96dd06b98fd69e734a3f9a3",
          "msg" : "docs: 记录 GPU 测试服务器及验证约定",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "AGENTS.md"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tasks/deciders/lat_decider/path_bounds_decider.cpp",
            "Testing/pjpo_bag_regression_test.cpp",
            "Testing/path_bounds_reference_test.cpp",
            "Testing/CMakeLists.txt",
            "tasks/deciders/lat_decider/path_bounds_decider.hpp"
          ],
          "commitId" : "35331d19db1606b201da8507d1bc1ea9dba5ce23",
          "timestamp" : 1791630063000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 保留正向 DP 参考并约束历史边界融合\u000a\u000a正向 PJPO 使用 DP 已选参考，避免通道变宽时被边界中点牵引横移；短缺或无效 DP 保留引导线及通道中点回退。\u000a将历史边界投影到当前引导线法向后融合，只收紧当前边界，并跳过方向变化、无效或不相交历史。\u000a\u000a验证：17 项路径参考及边界专项测试通过；249 帧现场记录输入的 CPU DP/PJPO 独立帧对照均求解成功。新增可选 bag 回归入口，结果不作为闭环验证。\u000a",
          "date" : "2026-10-10 19:01:03 +0800",
          "id" : "35331d19db1606b201da8507d1bc1ea9dba5ce23",
          "msg" : "fix: 保留正向 DP 参考并约束历史边界融合",
          "paths" : [
            {
              "editType" : "add",
              "file" : "Testing/pjpo_bag_regression_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/lat_decider/path_bounds_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/lat_decider/path_bounds_decider.hpp"
            },
            {
              "editType" : "add",
              "file" : "Testing/path_bounds_reference_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/test/ssep_planner_test.cc",
            "ssep/test/CMakeLists.txt",
            "ssep/test/parking_search_stages_test.cc",
            "ssep/scenarios/tractor_trailer_reverse_priority_parking_planner.h",
            "ssep/scenarios/scenario_planner_factory.h",
            "ssep/ssep_planner.cc",
            "ssep/scenarios/search_guide_fallback_planner.h"
          ],
          "commitId" : "a384e9210a1979458ac5b374906e9f6aa7308cb9",
          "timestamp" : 1791630223000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 剩余停车优先纯倒车并统一历史回退预算\u000a\u000a无途经点的剩余停车依次尝试带引导纯倒车、普通纯倒车和允许前进调整的兜底，缺少历史时同样生效。构建、搜索与优化共享请求绝对截止时间。\u000a历史重优化最多占三分之一预算；失败后按剩余预算重建阶段，避免搜索尚未开始就过期。保留显式禁止调整、OrderedVia 和碰撞验收语义。\u000a\u000a验证：停车相关 114 项测试通过；六帧 GPU 版本回放成功，18:04:32 从三段变为一段倒车。剩余倒车分支实际采用 CPU 搜索。预算分配仍可能压缩复杂调整场景的搜索时间。\u000a",
          "date" : "2026-10-10 19:03:43 +0800",
          "id" : "a384e9210a1979458ac5b374906e9f6aa7308cb9",
          "msg" : "fix: 剩余停车优先纯倒车并统一历史回退预算",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_reverse_priority_parking_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/ssep_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/ssep_planner_test.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/parking_search_stages_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/scenario_planner_factory.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/search_guide_fallback_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/CMakeLists.txt"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/test/ssep_planner_test.cc",
            "ssep/coarse_search/bidirectional_hybrid_astar_search_engine.h",
            "ssep/test/bidirectional_candidate_validation_test.cc",
            "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h",
            "ssep/coarse_search/bidirectional_hybrid_astar_search_engine.cc"
          ],
          "commitId" : "e4d57b5c54ce7716fb347acefd0bffb296ec6440",
          "timestamp" : 1791630226000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 在单次停车换向中择优主挂车姿态\u000a\u000a以输入途经点主挂车朝向及换向附近曲率变化评价粗搜索候选，限定额外时间、迭代和候选数量；多次调整兜底仍沿用首解策略。\u000a评分前排除几何换向无效或绕圈路径，超时保留已验证粗候选，停止条件满足后不再扩展当前批次；单树终点命中时清理旧双树连接。\u000a\u000a验证：114 项停车测试通过，六帧 GPU 版本回放及独立碰撞、机械曲率检查通过。18:01:54 实际 GPU 换向夹角从约 14.6 度降至 2.4 度，保留一前一倒；11:32:46 保持原四次换向。未提高平滑权重或放宽物理验收。\u000a",
          "date" : "2026-10-10 19:03:46 +0800",
          "id" : "e4d57b5c54ce7716fb347acefd0bffb296ec6440",
          "msg" : "fix: 在单次停车换向中择优主挂车姿态",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/bidirectional_hybrid_astar_search_engine.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/ssep_planner_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/bidirectional_hybrid_astar_search_engine.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/bidirectional_candidate_validation_test.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/coarse_search/bidirectional_hybrid_astar_search_engine.h",
            "ssep/test/bounded_priority_queue_test.cc",
            "ssep/coarse_search/bounded_priority_queue.h",
            "ssep/test/bidirectional_candidate_validation_test.cc",
            "ssep/coarse_search/bidirectional_hybrid_astar_search_engine.cc"
          ],
          "commitId" : "dea1739cc22e2186ef4ed491af976e6193fed47a",
          "timestamp" : 1791792781000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 为双向 Beam 搜索保留可恢复候选\u000a\u000a增加可选备用队列，在活动队列耗尽或快速尝试期限到达时恢复未扩展候选。\u000a恢复沿用原搜索图、已访问状态及总截止时间，默认 Beam 行为保持不变。\u000a覆盖同格更新、终点优先、清理生命周期和不重复根扩展等回归测试。\u000a",
          "date" : "2026-10-12 16:13:01 +0800",
          "id" : "dea1739cc22e2186ef4ed491af976e6193fed47a",
          "msg" : "feat: 为双向 Beam 搜索保留可恢复候选",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/bidirectional_hybrid_astar_search_engine.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/bounded_priority_queue_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/bounded_priority_queue.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/bidirectional_hybrid_astar_search_engine.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/bidirectional_candidate_validation_test.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/test/ssep_planner_test.cc",
            "ssep/coarse_search/searcher_builders/tractor_trailer_multi_segment_parking_bidirectional_searcher_builder.cc",
            "ssep/scenarios/parking_reference_region.h",
            "data/ssep/forward_ec.cpp",
            "ssep/coarse_search/evaluator/trailer_search_guide.h",
            "ssep/test/trailer_search_guide_test.cc",
            "ssep/coarse_search/evaluator/trailer_search_guide.cc",
            "ssep/scenarios/scenario_planner_factory.h",
            "ssep/common/utils/search_guide_body_sweep.h",
            "ssep/scenarios/search_guide_fallback_planner.h",
            "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h"
          ],
          "commitId" : "00aa2bf3aa1f4c22e17dce1aa96c606508df2be0",
          "timestamp" : 1791792804000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 优化停车引导匹配并约束换向搜索\u000a\u000a在配置的换向区域内匹配引导入口，并校验最终任务换向位置。\u000a仅过滤与本次匹配引导车身扫掠范围重叠的静态对象，过滤后要求阶段与引导一致。\u000a按作业约定忽略静态行人；换向姿态采用相对参考的软排序，保留必要夹角。\u000aGPU 简单搜索使用有预算上限的 Beam 候选恢复及完整队列兼容兜底。\u000a引导与普通分支比较共享搜索、优化和验收截止时间，到期保留已有可行解。\u000a\u000a验证：PNC 与 GPU 回放编译通过，56 项相关 C++ 测试通过。\u000a当前配置 21 例通过 18 例，3 个既有问题保持记录；35 个原输入均有解且段数与坐标不变。\u000a",
          "date" : "2026-10-12 16:13:24 +0800",
          "id" : "00aa2bf3aa1f4c22e17dce1aa96c606508df2be0",
          "msg" : "fix: 优化停车引导匹配并约束换向搜索",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/evaluator/trailer_search_guide.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/evaluator/trailer_search_guide.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/ssep_planner_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/tractor_trailer_multi_segment_parking_bidirectional_searcher_builder.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/scenario_planner_factory.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/trailer_search_guide_test.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/scenarios/parking_reference_region.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/search_guide_fallback_planner.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/common/utils/search_guide_body_sweep.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/test/local_regression/tt_guide_filtered_gpu_manifest.tsv",
            "ssep/test/local_regression/tt_recent_parking_adjustment_quality.json",
            "ssep/test/local_regression/tt_recent_parking_quality.py",
            "ssep/test/local_regression/README.md",
            "ssep/test/local_regression/test_configured_regression.py",
            "ssep/test/local_regression/tt_recent_parking_cases.json",
            "ssep/test/local_regression/run_ssep_regression.py",
            "ssep/test/local_regression/test_recent_regression_backend.py",
            "ssep/test/local_regression/test_remote_replay_cli.py",
            "ssep/test/local_regression/tt_recent_parking_two_segments_quality.json",
            "ssep/test/local_regression/tt_recent_parking_configured_gpu_manifest.tsv",
            "ssep/test/local_regression/tt_recent_parking_gpu_manifest.tsv",
            "ssep/test/local_regression/test_tt_recent_parking_quality.py",
            "ssep/test/local_regression/tt_recent_parking_cpu_manifest.tsv",
            "ssep/test/local_regression/test_tt_parking_regression.py",
            "ssep/test/local_regression/tt_recent_parking_pure_reverse_quality.json",
            "ssep/test/local_regression/tt_recent_parking_cusp_cpu_quality.json",
            "ssep/test/local_regression/tt_recent_parking_cusp_gpu_quality.json",
            "ssep/test/local_regression/remote_replay_cli.py",
            "ssep/test/local_regression/tt_current_15m_input_overlay.json"
          ],
          "commitId" : "c5759f0ea4257941b03b86f319ec01f04396fc49",
          "timestamp" : 1791792878000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "test: 固化停车场景回归并完善远端超时清理\u000a\u000a新增 CPU、GPU 和当前 15 米配置清单，原始输入引用指定 NAS 回归目录。\u000a显式记录配置覆盖及输入哈希，校验实际搜索后端、新策略日志和终点航向。\u000a远端回放使用独立进程组与截止时间，覆盖传输超时、取消及子孙进程清理。\u000a本地执行器有界清理进程组，避免继承输出管道导致超时后永久等待。\u000a记录场景质量、已知失败及归档路径，不放宽原有验收条件。\u000a\u000a验证：Python 运行 129 项测试，1 项因缺少本地数据跳过，其余通过。\u000a21 例当前配置与35例原始输入均完成 GPU 服务器对照，实际后端分别记录。\u000a",
          "date" : "2026-10-12 16:14:38 +0800",
          "id" : "c5759f0ea4257941b03b86f319ec01f04396fc49",
          "msg" : "test: 固化停车场景回归并完善远端超时清理",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/test_tt_parking_regression.py"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/remote_replay_cli.py"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/test_tt_recent_parking_quality.py"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/tt_recent_parking_adjustment_quality.json"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/tt_recent_parking_gpu_manifest.tsv"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/README.md"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/tt_recent_parking_configured_gpu_manifest.tsv"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/tt_recent_parking_quality.py"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/tt_recent_parking_cpu_manifest.tsv"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/tt_recent_parking_two_segments_quality.json"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/tt_recent_parking_pure_reverse_quality.json"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/test_remote_replay_cli.py"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/tt_current_15m_input_overlay.json"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/run_ssep_regression.py"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/tt_guide_filtered_gpu_manifest.tsv"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/test_recent_regression_backend.py"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/tt_recent_parking_cusp_cpu_quality.json"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/tt_recent_parking_cusp_gpu_quality.json"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/test_configured_regression.py"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/tt_recent_parking_cases.json"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h"
          ],
          "commitId" : "f399a832e9fdcc31eda810061591a7a15d85f385",
          "timestamp" : 1791797691000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 补充停车兼容搜索的起点半曲率采样\u000a\u000a在引导匹配且限制换向范围的 GPU 完整队列重试中，将起点前进曲率从三档补充为五档，改善离散采样对初始航向的敏感性。搜索结束后清除临时采样器，保持后续扩展、碰撞验收和总搜索预算。\u000a\u000a22:23:50 场景在当前 15 米配置下由五段降为一前一倒，换向夹角约 1.26 度。24 例配置回归无新增失败，保留三例既有失败；相关 C++ 和 Python 测试及 PNC、GPU 回放编译通过。\u000a",
          "date" : "2026-10-12 17:34:51 +0800",
          "id" : "f399a832e9fdcc31eda810061591a7a15d85f385",
          "msg" : "fix: 补充停车兼容搜索的起点半曲率采样",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/test/local_regression/tt_recent_parking_configured_gpu_manifest.tsv",
            "ssep/test/local_regression/README.md",
            "ssep/test/local_regression/tt_recent_parking_cases.json",
            "ssep/test/local_regression/test_configured_regression.py",
            "ssep/test/local_regression/tt_recent_parking_gpu_manifest.tsv"
          ],
          "commitId" : "e63f42ff881e1ab34895c79561c80c52fbd814be",
          "timestamp" : 1791797708000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "test: 固化津西夜间停车场景及起点采样回归\u000a\u000a新增 22:50:56、22:51:50 和 22:23:50 的原始文件来源及哈希，固定当前配置套件的两段、单段倒车和连续单换向验收要求。原始数据引用持久 NAS 目录。\u000a\u000a配置套件扩为 24 例，21 例质量通过、23 例搜索成功，三例既有失败保留。文档记录路径净空变化、GPU 实际执行后端及结果归档位置，并明确异常例的原始参数不属于已修复验收范围。\u000a",
          "date" : "2026-10-12 17:35:08 +0800",
          "id" : "e63f42ff881e1ab34895c79561c80c52fbd814be",
          "msg" : "test: 固化津西夜间停车场景及起点采样回归",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/README.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/tt_recent_parking_cases.json"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/test_configured_regression.py"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/tt_recent_parking_configured_gpu_manifest.tsv"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/tt_recent_parking_gpu_manifest.tsv"
            }
          ]
        },
        {
          "_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/README.md",
            "ssep/test/local_regression/test_scene_audit.py",
            "ssep/test/local_regression/test_scene_audit_ui.py",
            "ssep/offboard/servers/scene_audit.h"
          ],
          "commitId" : "34e4130ef1a4f64b5b09047a3504b1123540b0a3",
          "timestamp" : 1791803196000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 增加 SSEP 全天场景巡检与多条件筛选界面\u000a\u000a在可视化服务中增加目录巡检入口，按实际场景类型分类，支持多类别、状态、时间、换向次数、夹角及关键词组合筛选。逐例保留失败证据、未知状态与覆盖范围，复用嵌入模式查看完整路径。\u000a\u000a支持导出所选原始场景及来源清单，供本地 skill 深入分析；车端仅执行只读初筛。增加独立端口启动选项、缺失输入和异常文件保护，以及接口、筛选、分析包和嵌入模式测试。\u000a\u000a验证：275 个现场场景完成初筛；可视化程序编译通过，13 项相关测试及真实浏览器筛选与路径展示检查通过。\u000a",
          "date" : "2026-10-12 19:06:36 +0800",
          "id" : "34e4130ef1a4f64b5b09047a3504b1123540b0a3",
          "msg" : "feat: 增加 SSEP 全天场景巡检与多条件筛选界面",
          "paths" : [
            {
              "editType" : "add",
              "file" : "ssep/offboard/servers/scene_audit_html.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/servers/scene_vis_server.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/README.md"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/test_scene_audit.py"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/servers/scene_vis_html_template.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/servers/scene_audit.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/test_scene_audit_ui.py"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tasks/plan/keb_utils.cpp",
            "data/obstacle/decision/obstacle_decision.hpp",
            "data/obstacle/decision/obstacle_decision_test.cpp",
            "data/boundary/driving_corridor.cpp",
            "docs/pnc_algorithm_replay/plan_frame_field_contract_notes.md",
            "data/obstacle/decision/obstacle_decision.cpp",
            "replayer/scene_data/generated/full_custom_cpp_member_inputs.json",
            "data/boundary/driving_corridor_test.cpp"
          ],
          "commitId" : "f08a4edd489ccc91c4ad2797d5d25a2ad8bca142",
          "timestamp" : 1791808313000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复障碍物与凸包切换导致的绕行占用中断\u000a\u000a复用静止证据缓存，在 obj、TYPE_CLUSTER 和感知 ID 切换时保留当前观测与固定历史区域的交集。\u000a支持拆框、合框的多片占用续期，DP 与 KEB 分片消费；严格的一对一策略恢复和未初始化限制保持独立。\u000a复用凸包 tracker 的运动确认迟滞，并处理量化后的微小凹角；运动冲突同时禁止旧缓存续期和新缓存重建。\u000a补充真实现场几何、运动撤销、缓存生命周期及 DP/KEB 回归，同步缓存合同说明与生成审计指纹。\u000a\u000a验证：211 项决策、走廊和 KEB 测试通过，生成文件与 Proto 兼容性检查通过。\u000a",
          "date" : "2026-10-12 20:31:53 +0800",
          "id" : "f08a4edd489ccc91c4ad2797d5d25a2ad8bca142",
          "msg" : "fix: 修复障碍物与凸包切换导致的绕行占用中断",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_utils.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "docs/pnc_algorithm_replay/plan_frame_field_contract_notes.md"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/compact_driving_corridor_restore_test.cpp"
          ],
          "commitId" : "4b77e7e1763020ab188ac2d24fe674b3fc0d8bbd",
          "timestamp" : 1791808328000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "test: 增加静止占用跨帧续接的场景回归\u000a\u000a顺序重算时从历史推进障碍物决策和 runtime cluster tracker，避免每帧录制缓存掩盖续接问题。\u000a增加帧范围选择、指定静止锚点逐帧续期断言，以及缓存、运动证据和占用片诊断输出。\u000a使用现场 bag 与精确津西地图验证问题区间 246 帧，锚点持续续期且无占用中断。\u000a该入口保留其他录制规划输入，用于局部决策和边界回归，不作为完整闭环验证。\u000a",
          "date" : "2026-10-12 20:32:08 +0800",
          "id" : "4b77e7e1763020ab188ac2d24fe674b3fc0d8bbd",
          "msg" : "test: 增加静止占用跨帧续接的场景回归",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "Testing/compact_driving_corridor_restore_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/obstacle/decision/obstacle_decision.cpp",
            "data/obstacle/decision/obstacle_decision_test.cpp"
          ],
          "commitId" : "7a56b34c30768cc83b9987c83da571d0d30351c4",
          "timestamp" : 1791811848000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复静止绕行证据匹配中的非凸轮廓崩溃\u000a\u000a统一校验 cluster 观测与跟踪轮廓，在计算 IoU 前重建非凸轮廓的凸包，\u000a并检查凸性、有限坐标和有效面积，避免 ComputeOverlap 断言退出。\u000a无效轮廓跳过静止证据匹配并限频记录，保留成熟度、IoU 阈值及唯一匹配约束。\u000a\u000a补充观测、跟踪及双方非凸，以及空轮廓、零面积、NaN、Inf 回归。\u000a验证：29 项静止绕行证据测试通过；津西 AT001 复现 bag 修复前触发同一断言，\u000a修复后全部 610 帧 CPU 障碍物决策重算通过；pnc_node 构建通过。\u000a",
          "date" : "2026-10-12 21:30:48 +0800",
          "id" : "7a56b34c30768cc83b9987c83da571d0d30351c4",
          "msg" : "fix: 修复静止绕行证据匹配中的非凸轮廓崩溃",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/obstacle/ogm.cpp",
            "data/boundary/driving_corridor.cpp",
            "Testing/ogm_distance_equivalence_test.cpp",
            "data/obstacle/ogm.hpp",
            "replayer/scene_data/generated/full_custom_cpp_member_inputs.json",
            "replayer/scene_data/generated/state_schema_inputs.json",
            "replayer/scene_data/generated/container_schema_inputs.json",
            "data/boundary/driving_corridor_test.cpp"
          ],
          "commitId" : "b497f7f479b7d1322a192cb791e6ad9bf6371dd5",
          "timestamp" : 1791812078000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复侧避栅格越界导致的走廊末端假收缩\u000a\u000a按完整走廊扫描范围和道路墙扩展独立侧避栅格，并重画原始占用；\u000a修正默认栅格宽度计算，避免转弯后走廊超出原感知范围。\u000a距离与来源查询统一检查覆盖范围，图外返回 0/NONE，停止重复读取边缘道路墙。\u000a扩容前检查像素索引及面积，异常几何清空当前图，避免溢出及旧图残留。\u000a\u000a补充四向扩容、原图外真实点云/实体占用、异常几何和查询边界回归；\u000a同步 OGM 头文件注释对应的生成审计指纹，不改变序列化字段。\u000a\u000a验证：68 槽位 Icecream 集群编译通过；216 项走廊测试和 19 项 OGM/恢复测试通过。\u000aAT001 2026-10-11 场景 960 帧 CPU 走廊/DP 回放通过；截图帧末端 27 个断面\u000a假分隔消失，s=116～125 m 的真实障碍约束保持一致。\u000a",
          "date" : "2026-10-12 21:34:38 +0800",
          "id" : "b497f7f479b7d1322a192cb791e6ad9bf6371dd5",
          "msg" : "fix: 修复侧避栅格越界导致的走廊末端假收缩",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/state_schema_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/ogm.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/container_schema_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ogm_distance_equivalence_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/ogm.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/ssep/forward_ec.cpp",
            "Testing/bulk_goal_obstacle_filter_test.cpp"
          ],
          "commitId" : "42db84b5c336772d0bbac5ebc3178d1c6587182d",
          "timestamp" : 1791817391000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 防止前向搜索障碍过滤触发退化多边形崩溃\u000a\u000a前向搜索直接过滤聚类障碍，避免使用其可能退化的包围盒。对其余候选静态障碍在重叠过滤前统一校验尺寸、有限坐标和实际面积；无效时记录限频诊断并拒绝本轮环境构建，避免断言退出或误删实体障碍。\u000a\u000a补充聚类过滤、零尺寸、非有限坐标、面积阈值、大坐标退化及失败恢复回归。项目分布式构建通过，BulkGoalObstacleFilterTest 的 22 项测试全部通过。\u000a",
          "date" : "2026-10-12 23:03:11 +0800",
          "id" : "42db84b5c336772d0bbac5ebc3178d1c6587182d",
          "msg" : "fix: 防止前向搜索障碍过滤触发退化多边形崩溃",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "Testing/bulk_goal_obstacle_filter_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tasks/deciders/long_decider/constrain_decider.cpp"
          ],
          "commitId" : "702c7f224ec69a8214a30645c1874c33f1bff59e",
          "timestamp" : 1791817611000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修正倒车对象停车线位置偏移\u000a\u000a在 CreateStGraphConstrain 中按路径方向选择车头或车尾偏移，\u000a修正倒车对象停车线仍使用车头偏移导致的位置错误。\u000a沿用已有匹配点计算与 HMI 绘制流程，保留负停车余量和路径边界检查。\u000a\u000a验证：pnc_node、pnc_replayer 分布式编译通过；\u000aobstacle_stop_constraint_stabilizer_test 回归通过。\u000a",
          "date" : "2026-10-12 23:06:51 +0800",
          "id" : "702c7f224ec69a8214a30645c1874c33f1bff59e",
          "msg" : "fix: 修正倒车对象停车线位置偏移",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tasks/deciders/long_decider/constrain_decider.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "replayer/scene_data/generated/full_custom_cpp_member_inputs.json",
            "data/plan/cloud_trajectory.cpp",
            "data/config/cfg_env_const.hpp",
            "Testing/CMakeLists.txt",
            "Testing/cloud_trajectory_test.cpp"
          ],
          "commitId" : "61c6c6cc095a165dc8ac730fb4338b2fd6238a64",
          "timestamp" : 1791861603000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 云端短轨迹平滑补接引导线\u000a\u000a保持代码默认长度为 64 米，按配置目标长度延伸不足的云端轨迹。\u000a使用五次曲线衔接位置、切向和曲率，按几何弧长插值，支持倒车并保留停车限长。\u000a修正挂车配对点插值并续算延长段航向；当前位置兜底、无效数据和生成失败不保留补接结果。\u000a回退时清空历史车道与长度信息，刷新配置头文件对应的序列化审计摘要。\u000a\u000a验证：19 项轨迹生成回归通过；使用 Icecream 三节点、68 槽编译。\u000a",
          "date" : "2026-10-13 11:20:03 +0800",
          "id" : "61c6c6cc095a165dc8ac730fb4338b2fd6238a64",
          "msg" : "feat: 云端短轨迹平滑补接引导线",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            },
            {
              "editType" : "add",
              "file" : "Testing/cloud_trajectory_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/cloud_trajectory.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "sink/ros_sink_cloud_trajectory.hpp",
            "sink/ros_sink_cloud_trajectory.cpp",
            "Testing/CMakeLists.txt",
            "Testing/cloud_search_indices_test.cpp"
          ],
          "commitId" : "5f32e34a4aff5812353716ac70ae4e18fde3571a",
          "timestamp" : 1791861628000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 上报 SSEP 搜索起终点的云端轨迹下标\u000a\u000a使用 reserved_uint8s[0/1] 保存当前搜索起终点在主云端轨迹中的下标。\u000a255 表示无效，254 表示已驶过、超出展示范围或超过可编码下标范围。\u000a按实际发布坐标匹配，结合 ego 位置与完整引导线处理历史保留点、倒车及 U 形弯道越界。\u000a保护 float32 边界、无效消息和主备轨迹分隔，并清除失效搜索留下的旧下标。\u000a\u000a验证：14 项下标编码回归通过；完整 33 项专项回归通过。\u000a",
          "date" : "2026-10-13 11:20:28 +0800",
          "id" : "5f32e34a4aff5812353716ac70ae4e18fde3571a",
          "msg" : "feat: 上报 SSEP 搜索起终点的云端轨迹下标",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "sink/ros_sink_cloud_trajectory.cpp"
            },
            {
              "editType" : "edit",
              "file" : "sink/ros_sink_cloud_trajectory.hpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/CMakeLists.txt"
            },
            {
              "editType" : "add",
              "file" : "Testing/cloud_search_indices_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/CMakeLists.txt",
            "Testing/median_filter_test.cpp",
            "math/filter/median_filter.hpp"
          ],
          "commitId" : "810084baed68775234dd2852410f72b7bab54596",
          "timestamp" : 1791870301000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 清理中值滤波器重置时遗留的删除记录\u000a\u000a重置 DualHeap 时同步清空 delayed_，避免历史删除标记误删新窗口样本，造成滤波结果错误及空堆访问风险。\u000a\u000a新增独立回归测试，覆盖重置后重复样本、跨帧复制、反复重置恢复及不同窗口的连续输入，并逐帧对照排序窗口中值。原实现对照用例失败，修复后 4 项测试通过，pnc_node 分布式构建通过。\u000a",
          "date" : "2026-10-13 13:45:01 +0800",
          "id" : "810084baed68775234dd2852410f72b7bab54596",
          "msg" : "fix: 清理中值滤波器重置时遗留的删除记录",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "math/filter/median_filter.hpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/CMakeLists.txt"
            },
            {
              "editType" : "add",
              "file" : "Testing/median_filter_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "replayer/scene_data/generated/full_custom_cpp_member_inputs.json",
            "tasks/plan/keb_utils.cpp",
            "data/obstacle/decision/obstacle_decision.hpp",
            "data/obstacle/decision/obstacle_decision_test.cpp",
            "data/obstacle/decision/obstacle_decision.cpp"
          ],
          "commitId" : "c3109a22f4f6b3aac46840c71d0580f26e76614d",
          "timestamp" : 1791875299000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 排除 KEB 的 cut-in 障碍物实体框\u000a\u000aKEB 障碍物准入复用普通走廊筛选，移除 cut-in 对象的特殊准入，避免切入让速场景施加横向实体框约束。\u000a\u000a更新注释及头文件审计指纹，补充历史绕行承诺、成熟度旁路和退出 cut-in 后恢复准入的回归断言。分布式编译通过，43 项相关回归测试通过。\u000a",
          "date" : "2026-10-13 15:08:19 +0800",
          "id" : "c3109a22f4f6b3aac46840c71d0580f26e76614d",
          "msg" : "fix: 排除 KEB 的 cut-in 障碍物实体框",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_utils.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/plan/ssep_data.cpp",
            "ssep/test/CMakeLists.txt",
            "ssep/keb_optimizer/rigid_truck_keb_optimizer.h",
            "data/ssep/field_junction_ec.cpp",
            "ssep/test/bidirectional_candidate_validation_test.cc",
            "ssep/coarse_search/searcher_builders/rigid_truck_general_searcher_builder.h",
            "ssep/scenarios/forward_collision_check_params.h",
            "ssep/test/truck_parking_retry_test.cc",
            "ssep/coarse_search/multi_stage_hybrid_astar_search_engine.h",
            "ssep/coarse_search/motion_primitive_sampler/dir_change_path_extention_decorator.h",
            "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h",
            "ssep/scenarios/truck_multi_segment_parking_planner.h",
            "data/ssep/ssep_ec.cpp",
            "ssep/scenarios/forward_clearance_check.h",
            "ssep/scenarios/rigid_truck_parking_validation.h",
            "Testing/ssep_path_corridor_test.cpp",
            "ssep/scenarios/truck_accurate_reversing_planner.h",
            "ssep/test/parking_history_collision_test.cc",
            "ssep/coarse_search/searcher_builders/truck_multi_segment_parking_bidirectional_searcher_builder.cc",
            "data/ssep/forward_ec.cpp",
            "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc",
            "ssep/coarse_search/searcher_builders/truck_multi_segment_parking_bidirectional_searcher_builder.h",
            "ssep/coarse_search/searcher_builders/rigid_truck_general_searcher_builder.cc",
            "ssep/scenarios/scenario_planner_factory.h",
            "ssep/test/rigid_truck_parking_validation_test.cc",
            "ssep/test/rigid_truck_tail_connection_test.cc",
            "ssep/test/ssep_planner_test.cc",
            "Testing/parking_pass_progress_test.cpp",
            "ssep/test/forward_clearance_check_test.cc",
            "ssep/coarse_search/multi_stage_hybrid_astar_search_engine.cc",
            "ssep/coarse_search/bidirectional_hybrid_astar_search_engine.cc",
            "ssep/scenarios/stitching_replanner.h",
            "ssep/coarse_search/motion_primitive_sampler/straight_line_motion_primitive_sampler.cc",
            "ssep/coarse_search/bidirectional_hybrid_astar_search_engine.h",
            "ssep/scenarios/truck_accurate_reversing_planner.cc",
            "ssep/scenarios/tractor_trailer_reverse_priority_parking_planner.h",
            "ssep/ssep_planner.cc",
            "ssep/scenarios/tail_straight_distance.h",
            "Testing/ssep_scenario_config_lifecycle_test.cpp",
            "docs/ssep_stop_collision_extension.md"
          ],
          "commitId" : "28230b82a8c5993e6e496a19bd193bb400736af4",
          "timestamp" : 1791989231000,
          "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验证：PNC 主程序及相关测试编译通过；SSEP 387 项通过、13 项外部数据测试跳过；PNC 路径与配置测试 262 项通过。\u000a",
          "date" : "2026-10-14 22:47:11 +0800",
          "id" : "28230b82a8c5993e6e496a19bd193bb400736af4",
          "msg" : "fix: 完善停车重规划的拉直与碰撞验收",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/test/bidirectional_candidate_validation_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_scenario_config_lifecycle_test.cpp"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/rigid_truck_tail_connection_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/scenario_planner_factory.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/stitching_replanner.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/truck_parking_retry_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/bidirectional_hybrid_astar_search_engine.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/scenarios/tail_straight_distance.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/forward_collision_check_params.h"
            },
            {
              "editType" : "edit",
              "file" : "Testing/parking_pass_progress_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/parking_history_collision_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_path_corridor_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_accurate_reversing_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/motion_primitive_sampler/straight_line_motion_primitive_sampler.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/scenarios/forward_clearance_check.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/rigid_truck_general_searcher_builder.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_multi_segment_parking_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/ssep_planner.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/rigid_truck_parking_validation_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/multi_stage_hybrid_astar_search_engine.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/scenarios/rigid_truck_parking_validation.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/field_junction_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/rigid_truck_general_searcher_builder.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/motion_primitive_sampler/dir_change_path_extention_decorator.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/truck_multi_segment_parking_bidirectional_searcher_builder.h"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/ssep_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/bidirectional_hybrid_astar_search_engine.h"
            },
            {
              "editType" : "edit",
              "file" : "docs/ssep_stop_collision_extension.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/multi_stage_hybrid_astar_search_engine.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/truck_multi_segment_parking_bidirectional_searcher_builder.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_reverse_priority_parking_planner.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/forward_clearance_check_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_accurate_reversing_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/rigid_truck_keb_optimizer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/ssep_planner_test.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/offboard/servers/scene_vis_html_template.cc"
          ],
          "commitId" : "8f77173b5181b56020e7d30c0a1e68533b9d6fe8",
          "timestamp" : 1791989231000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 绘制场景起终点的车头航向箭头\u000a\u000a起点使用红色箭头、终点使用绿色箭头，并伸出车头边缘以区分 IMV 前后方向。\u000a按车身 heading 绘制，不叠加斜行 beta，与对应车框共用显示开关。\u000a\u000a验证：可视化服务编译通过，JavaScript 语法、方向几何与既有绘制检查通过。\u000a",
          "date" : "2026-10-14 22:47:11 +0800",
          "id" : "8f77173b5181b56020e7d30c0a1e68533b9d6fe8",
          "msg" : "feat: 绘制场景起终点的车头航向箭头",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/offboard/servers/scene_vis_html_template.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/test/local_regression/tt_ordered_pose_results.json",
            "ssep/test/local_regression/manual_review_quality.py",
            "ssep/test/local_regression/selection_review_20261014_cases.json",
            "ssep/test/local_regression/run_ssep_regression.py",
            "ssep/test/local_regression/test_recent_regression_backend.py",
            "ssep/test/local_regression/run_full_regression.py",
            "ssep/test/local_regression/tt_ordered_via_manifest.tsv",
            "ssep/test/local_regression/rigid_parking_quality.py",
            "ssep/test/local_regression/test_manual_review_quality.py",
            "ssep/test/local_regression/tt_ordered_via_quality.json",
            "ssep/test/local_regression/tt_reverse_priority_cases.json",
            "ssep/test/local_regression/prepare_full_regression.py",
            "ssep/test/local_regression/test_regression_report_artifacts.py",
            "ssep/test/local_regression/tt_multi_ratio_manifest.tsv",
            "ssep/test/local_regression/rigid_parking_collision_quality.py",
            "ssep/test/local_regression/test_rigid_parking_quality.py",
            "ssep/test/local_regression/test_rigid_parking_collision_quality.py",
            "ssep/test/local_regression/generate_pose_regression.py",
            "ssep/test/local_regression/test_path_quality.py",
            "ssep/test/local_regression/test_full_regression_report.py",
            "ssep/test/local_regression/render_full_regression_report.py",
            "ssep/test/local_regression/recorded_20261013_14_cases.json",
            "ssep/test/local_regression/test_gpu_regression_eligibility.py",
            "ssep/test/local_regression/tt_ordered_feasibility_manifest.tsv",
            "ssep/test/local_regression/recorded_rigid_parking_quality.json",
            "ssep/test/local_regression/render_regression_report.py",
            "ssep/test/local_regression/tt_reverse_priority_tail0_quality.json",
            "ssep/test/local_regression/tt_heading_cases.json",
            "docs/ssep_continuous_kinematic_correction.md",
            "ssep/test/local_regression/tt_ordered_via_cases.json",
            "ssep/test/local_regression/tt_recent_parking_gpu_manifest.tsv",
            "ssep/test/local_regression/tt_reference_cusp_quality.py",
            "ssep/test/local_regression/bulkout_reverse_quality.json",
            "ssep/test/local_regression/rigid_parking_motion_quality.py",
            "ssep/test/local_regression/gpu_regression_eligibility.py",
            "ssep/test/local_regression/test_tt_reference_cusp_quality.py",
            "ssep/test/local_regression/README.md",
            "ssep/test/local_regression/render_exploration_report.py",
            "ssep/test/local_regression/planning_success_quality.py",
            "ssep/test/local_regression/tt_exit_feasibility_manifest.tsv",
            "ssep/test/local_regression/tt_reverse_priority_manifest.tsv",
            "ssep/test/local_regression/tt_daily_20261011_reviewed_cases.json",
            "ssep/test/local_regression/path_quality.py",
            "ssep/test/local_regression/tt_recent_parking_configured_gpu_manifest.tsv",
            "docs/reverse_pickup_search.md",
            "ssep/test/local_regression/tt_heading_manifest.tsv",
            "ssep/test/local_regression/recorded_20261013_14_manifest.tsv",
            "ssep/test/local_regression/test_recorded_regression.py",
            "ssep/test/local_regression/test_rigid_parking_motion_quality.py",
            "ssep/test/local_regression/tt_reference_cusp_manifest.tsv",
            "ssep/test/local_regression/tt_recent_parking_cpu_manifest.tsv",
            "ssep/test/local_regression/tt_ordered_pose_cases.json",
            "ssep/test/local_regression/test_pose_regression.py",
            "ssep/test/local_regression/selection_review_20261014_manifest.tsv",
            "ssep/test/local_regression/test_full_regression_runner.py",
            "ssep/test/local_regression/tt_multi_collision_manifest.tsv",
            "ssep/test/local_regression/bulkout_initial_quality.json",
            "ssep/test/local_regression/tt_ordered_pose_manifest.tsv",
            "ssep/test/local_regression/imv_bulkout_manifest.tsv"
          ],
          "commitId" : "634b996d1685cb3d5c31ca93b749a9f1ce9d08ef",
          "timestamp" : 1791989231000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "test: 更新人工回归规则并精简测试工具\u000a\u000a按人工选择反馈移除无效场景及空清单，登记删除决策和来源，补充运动方向、物理车头及 15 m 任务换向距离验收。\u000aCPU/GPU 按同案例及有效输入并排展示；原输入不适用 GPU 时直接跳过，不补跑 CPU。\u000a批量执行隔离单例预检查异常，续跑核验超时、并发、远端及依赖条件。\u000a清理已退出的姿态派生工具、重复测试和无引用配置，保留有效碰撞与运动学覆盖。\u000a\u000a验证：Python 回归工具运行 196 项，无失败，缺少数据/服务的项目明确跳过；17 份有效清单共 129 个条目，配置引用完整，diff 检查通过。\u000a",
          "date" : "2026-10-14 22:47:11 +0800",
          "id" : "634b996d1685cb3d5c31ca93b749a9f1ce9d08ef",
          "msg" : "test: 更新人工回归规则并精简测试工具",
          "paths" : [
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/test_rigid_parking_motion_quality.py"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/tt_exit_feasibility_manifest.tsv"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/tt_recent_parking_cpu_manifest.tsv"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/rigid_parking_quality.py"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/test_manual_review_quality.py"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/tt_daily_20261011_reviewed_cases.json"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/tt_reference_cusp_manifest.tsv"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/rigid_parking_motion_quality.py"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/selection_review_20261014_manifest.tsv"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/test_path_quality.py"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/test_tt_reference_cusp_quality.py"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/bulkout_reverse_quality.json"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/recorded_20261013_14_manifest.tsv"
            },
            {
              "editType" : "delete",
              "file" : "ssep/test/local_regression/tt_ordered_feasibility_manifest.tsv"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/recorded_rigid_parking_quality.json"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/tt_heading_manifest.tsv"
            },
            {
              "editType" : "delete",
              "file" : "ssep/test/local_regression/tt_ordered_via_quality.json"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/README.md"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/render_regression_report.py"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/test_recorded_regression.py"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/render_exploration_report.py"
            },
            {
              "editType" : "delete",
              "file" : "ssep/test/local_regression/test_pose_regression.py"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/recorded_20261013_14_cases.json"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/planning_success_quality.py"
            },
            {
              "editType" : "edit",
              "file" : "docs/ssep_continuous_kinematic_correction.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/tt_reverse_priority_cases.json"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/tt_reverse_priority_manifest.tsv"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/test_rigid_parking_collision_quality.py"
            },
            {
              "editType" : "delete",
              "file" : "ssep/test/local_regression/tt_ordered_via_cases.json"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/test_full_regression_runner.py"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/path_quality.py"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/run_ssep_regression.py"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/manual_review_quality.py"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/selection_review_20261014_cases.json"
            },
            {
              "editType" : "delete",
              "file" : "ssep/test/local_regression/generate_pose_regression.py"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/tt_recent_parking_configured_gpu_manifest.tsv"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/test_recent_regression_backend.py"
            },
            {
              "editType" : "delete",
              "file" : "ssep/test/local_regression/tt_ordered_via_manifest.tsv"
            },
            {
              "editType" : "delete",
              "file" : "ssep/test/local_regression/tt_reverse_priority_tail0_quality.json"
            },
            {
              "editType" : "delete",
              "file" : "ssep/test/local_regression/tt_ordered_pose_results.json"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/render_full_regression_report.py"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/bulkout_initial_quality.json"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/tt_reference_cusp_quality.py"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/run_full_regression.py"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/tt_heading_cases.json"
            },
            {
              "editType" : "delete",
              "file" : "ssep/test/local_regression/tt_ordered_pose_manifest.tsv"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/test_regression_report_artifacts.py"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/test_rigid_parking_quality.py"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/imv_bulkout_manifest.tsv"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/gpu_regression_eligibility.py"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/test_full_regression_report.py"
            },
            {
              "editType" : "delete",
              "file" : "ssep/test/local_regression/tt_multi_ratio_manifest.tsv"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/rigid_parking_collision_quality.py"
            },
            {
              "editType" : "edit",
              "file" : "docs/reverse_pickup_search.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/tt_multi_collision_manifest.tsv"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/prepare_full_regression.py"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/test_gpu_regression_eligibility.py"
            },
            {
              "editType" : "delete",
              "file" : "ssep/test/local_regression/tt_ordered_pose_cases.json"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/tt_recent_parking_gpu_manifest.tsv"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/plan/ssep_data.cpp",
            "ssep/test/imv_parking_history_test.cc",
            "ssep/test/CMakeLists.txt",
            "ssep/coarse_search/searcher_builders/imv_multi_segment_parking_bidirectional_searcher_builder.h",
            "ssep/test/search_guide_scene_test.cc",
            "ssep/keb_optimizer/cost_features/direction_switch_point_cost.h",
            "ssep/keb_optimizer/keb_problem.cc",
            "ssep/test/imv_turnaround_reference_test.cc",
            "ssep/scenarios/imv_turnaround_reference.h",
            "ssep/scenarios/imv_enter_station_planner.h",
            "data/other/parking_pass_progress.cpp",
            "ssep/scenarios/imv_parking_validation.h",
            "ssep/test/bidirectional_stop_collision_test.cc",
            "ssep/scenarios/imv_enter_station_candidate.h",
            "ssep/scenarios/imv_multi_segment_parking_planner.h",
            "ssep/coarse_search/searcher_builders/imv_general_searcher_builder.h",
            "data/ssep/ssep_activation.cpp",
            "data/ssep/ssep_ec.cpp",
            "ssep/scenarios/forward_clearance_check.h",
            "ssep/offboard/scene_replay/README.md",
            "Testing/ssep_path_corridor_test.cpp",
            "ssep/scenarios/imv_search_extra_params.h",
            "ssep/scenarios/imv_parking_optimizer_params.h",
            "ssep/coarse_search/conditions/range_tolerance_condition.h",
            "data/ssep/forward_ec.cpp",
            "ssep/coarse_search/conditions/search_condition_interface.h",
            "ssep/keb_optimizer/imv_keb_optimizer.cc",
            "ssep/keb_optimizer/imv_keb_optimizer.h",
            "ssep/coarse_search/searcher_builders/imv_general_searcher_builder.cc",
            "ssep/scenarios/scenario_planner_factory.h",
            "ssep/test/direction_switch_point_cost_test.cc",
            "ssep/offboard/scene_replay/CMakeLists.txt",
            "ssep/test/forward_clearance_check_test.cc",
            "Testing/parking_pass_progress_test.cpp",
            "ssep/data_structures/imv_terminal_straight.h",
            "ssep/test/imv_enter_station_candidate_test.cc",
            "ssep/coarse_search/multi_stage_hybrid_astar_search_engine.cc",
            "ssep/coarse_search/bidirectional_hybrid_astar_search_engine.cc",
            "ssep/scenarios/stitching_replanner.h",
            "ssep/keb_optimizer/keb_problem.h",
            "ssep/coarse_search/bidirectional_hybrid_astar_search_engine.h",
            "ssep/ssep_planner.cc",
            "ssep/common/utils/imv_pass_point.h",
            "Testing/ssep_scenario_config_lifecycle_test.cpp",
            "ssep/coarse_search/searcher_builders/imv_multi_segment_parking_bidirectional_searcher_builder.cc"
          ],
          "commitId" : "b375d9576b98675e783b852e3238865fc807d7b2",
          "timestamp" : 1792114929000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 完善 IMV 换向搜索和历史重规划验收\u000a\u000a按换向区域生成并比较候选，保留真实搜索及车辆运动学约束；统一末端直线、碰撞与前向净空验收，并让候选搜索和暖启动回退共用时间预算。\u000a\u000a打通历史倒车路径重优化与任务换向完成标记，避免反向操作头误判。暖启动仅固定终点，补验原固定尾段的运动学，并让短余段和极短首尾边回退搜索。\u000a\u000a补充候选、碰撞、预算、路径记录和生命周期测试。提交前 104 项算法测试、52 项路径生命周期测试和 41 项场景配置测试通过，回放 CLI 与 pnc_node 构建通过。\u000a",
          "date" : "2026-10-16 09:42:09 +0800",
          "id" : "b375d9576b98675e783b852e3238865fc807d7b2",
          "msg" : "fix: 完善 IMV 换向搜索和历史重规划验收",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/imv_search_extra_params.h"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/ssep_data.cpp"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/imv_enter_station_candidate_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/stitching_replanner.h"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/imv_multi_segment_parking_bidirectional_searcher_builder.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/forward_clearance_check_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_scenario_config_lifecycle_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/conditions/range_tolerance_condition.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/imv_multi_segment_parking_planner.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/direction_switch_point_cost_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/scene_replay/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/imv_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/scenario_planner_factory.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/imv_general_searcher_builder.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/bidirectional_hybrid_astar_search_engine.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/bidirectional_stop_collision_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "data/other/parking_pass_progress.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_activation.cpp"
            },
            {
              "editType" : "add",
              "file" : "ssep/scenarios/imv_turnaround_reference.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/conditions/search_condition_interface.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/bidirectional_hybrid_astar_search_engine.h"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_path_corridor_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/scene_replay/README.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/multi_stage_hybrid_astar_search_engine.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/imv_turnaround_reference_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/search_guide_scene_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_ec.cpp"
            },
            {
              "editType" : "add",
              "file" : "ssep/scenarios/imv_parking_validation.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/imv_keb_optimizer.h"
            },
            {
              "editType" : "edit",
              "file" : "Testing/parking_pass_progress_test.cpp"
            },
            {
              "editType" : "add",
              "file" : "ssep/data_structures/imv_terminal_straight.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/scenarios/imv_parking_optimizer_params.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/imv_general_searcher_builder.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/cost_features/direction_switch_point_cost.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/imv_enter_station_planner.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/scenarios/imv_enter_station_candidate.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/ssep_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/imv_multi_segment_parking_bidirectional_searcher_builder.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/common/utils/imv_pass_point.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/imv_parking_history_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/forward_clearance_check.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "offboard/keb_vis_server/test_heading_diagnostics.js",
            "ssep/offboard/servers/scene_vis_html_template.cc",
            "ssep/test/local_regression/test_scene_vis_geometry.py",
            "ssep/offboard/servers/test_heading_diagnostics.js",
            "ssep/test/local_regression/render_regression_report.py",
            "ssep/test/local_regression/test_render_terminal_entrance.py",
            "offboard/keb_vis_server/keb_vis_html_template.cc"
          ],
          "commitId" : "6ef678521eceefc34b3e1faee36a965174c3bbc2",
          "timestamp" : 1792114947000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 区分 IMV 车体与速度航向并展示终点约束\u000a\u000a使用保存的 beta 诊断速度方向几何偏差，旧文件缺少 beta 时明确标注；按车体 heading 绘制车身与航向。\u000a\u000a显示终点约束、固定直线入口及碰撞证据，区分地图与障碍物颜色。补充 JavaScript 和离线绘图回归测试。\u000a",
          "date" : "2026-10-16 09:42:27 +0800",
          "id" : "6ef678521eceefc34b3e1faee36a965174c3bbc2",
          "msg" : "fix: 区分 IMV 车体与速度航向并展示终点约束",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "offboard/keb_vis_server/keb_vis_html_template.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/render_regression_report.py"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/servers/scene_vis_html_template.cc"
            },
            {
              "editType" : "edit",
              "file" : "offboard/keb_vis_server/test_heading_diagnostics.js"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/test_scene_vis_geometry.py"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/servers/test_heading_diagnostics.js"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/test_render_terminal_entrance.py"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/test/local_regression/render_full_regression_report.py",
            "ssep/test/local_regression/imv_jiaxing_20261015_similarity_coverage.json",
            "ssep/test/local_regression/imv_jiaxing_20261015_terminal_overlay.json",
            "ssep/test/local_regression/README.md",
            "ssep/test/local_regression/test_recent_regression_backend.py",
            "ssep/test/local_regression/run_ssep_regression.py",
            "ssep/test/local_regression/prepare_imv_jiaxing_regression.py",
            "ssep/test/local_regression/imv_jiaxing_20261015_provenance.json",
            "ssep/test/local_regression/imv_jiaxing_20261015_quality.json",
            "ssep/test/local_regression/imv_jiaxing_20261015_cases.json",
            "ssep/test/local_regression/prepare_full_regression.py",
            "ssep/test/local_regression/test_prepare_scenario_filter.py",
            "ssep/test/local_regression/imv_jiaxing_20261015_manifest.tsv",
            "ssep/test/local_regression/materialize_imv_jiaxing_regression.py",
            "ssep/test/local_regression/test_full_regression_report.py"
          ],
          "commitId" : "5026bedbbbf78d1e4ed2f4c8ca92b1a99c9b759b",
          "timestamp" : 1792114975000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "test: 纳入东方特钢精简回归集并固定测试范围\u000a\u000a保留 234 个输入的来源链和场景分类路径，以 13 个严格相似组覆盖 18 项，登记 216 项待人工验收用例；保留问题、失败、预算及暖启动专项和原有排除决策。\u000a\u000a加入库存恢复和专用准备入口，通过 SHA 范围清单防止共享根混入其他批次，同时保留旧清单的验收规则。按 Proto 类型过滤 Legacy，补齐历史复用后端识别和碰撞证据缓存失效。\u000a\u000a归档输入位于共享回归目录，不提交大数据文件。更新使用说明，并验证 Python 范围过滤、报告缓存和后端识别测试。\u000a",
          "date" : "2026-10-16 09:42:55 +0800",
          "id" : "5026bedbbbf78d1e4ed2f4c8ca92b1a99c9b759b",
          "msg" : "test: 纳入东方特钢精简回归集并固定测试范围",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/README.md"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/prepare_imv_jiaxing_regression.py"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/imv_jiaxing_20261015_terminal_overlay.json"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/imv_jiaxing_20261015_provenance.json"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/imv_jiaxing_20261015_quality.json"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/render_full_regression_report.py"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/test_recent_regression_backend.py"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/imv_jiaxing_20261015_cases.json"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/imv_jiaxing_20261015_manifest.tsv"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/imv_jiaxing_20261015_similarity_coverage.json"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/materialize_imv_jiaxing_regression.py"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/test_full_regression_report.py"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/run_ssep_regression.py"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/test_prepare_scenario_filter.py"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/prepare_full_regression.py"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/ssep_path_corridor_test.cpp",
            "Testing/bulk_speed_limit_test.cpp",
            "data/vehicle/vehicle_destination.cpp"
          ],
          "commitId" : "9f9ba6a076302295e25e8fac3c92e6cd050afd26",
          "timestamp" : 1792121439000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复双向 IMV 的 SSEP 末端停止线缺失\u000a\u000a双向 IMV 在搜索方向与当前车辆方向不一致时，仍按 SSEP 分段索引识别末段，避免静态约束跳过终点停止线。普通车型保留方向一致性检查。\u000a\u000a补充正反向末段、非末段、普通车型及实际停止线创建回归；23 项相关测试通过，并核对现场 bag 的 27 帧方向与约束数据。\u000a",
          "date" : "2026-10-16 11:30:39 +0800",
          "id" : "9f9ba6a076302295e25e8fac3c92e6cd050afd26",
          "msg" : "fix: 修复双向 IMV 的 SSEP 末端停止线缺失",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "Testing/bulk_speed_limit_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/vehicle/vehicle_destination.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_path_corridor_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/ssep/forward_ec.cpp",
            "Testing/ssep_scenario_config_lifecycle_test.cpp"
          ],
          "commitId" : "7a74cb6fe7cfdefd48e3a30e8c810669e1b8a992",
          "timestamp" : 1792121475000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复 IMV 多段停车重搜索方向门禁\u000a\u000a起终点均背向进场轴线时，仅对 IMV 多段停车按当前操作方向初始化环境，避免旧三模式分类阻止重搜索。保留未完成的任务途经点，并拒绝非有限朝向与轴线坐标。\u000a\u000a补充任务 84539 的录制参数回归，覆盖操作方向切换、途经点保留、其他场景门禁及无效输入。场景与停车走廊回归共 277 项通过，pnc_node 分布式编译通过；未执行完整场景搜索回放。\u000a",
          "date" : "2026-10-16 11:31:15 +0800",
          "id" : "7a74cb6fe7cfdefd48e3a30e8c810669e1b8a992",
          "msg" : "fix: 修复 IMV 多段停车重搜索方向门禁",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_scenario_config_lifecycle_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tasks/plan/keb_lane_follow_path_task.cpp",
            "data/dp_poly_path/trajectory_cost.hpp",
            "data/boundary/driving_corridor.cpp",
            "data/constrain/longitude_constrain.cpp",
            "replayer/scene_data/generated/full_custom_cpp_member_inputs.json",
            "tasks/deciders/lat_decider/side_pass_decider.cpp",
            "Testing/data/tsjx_meeting_20261016.json",
            "Testing/bulk_speed_limit_test.cpp",
            "data/dp_poly_path/trajectory_cost.cpp",
            "CMakeLists.txt",
            "data/boundary/driving_corridor_test.cpp",
            "data/boundary/driving_corridor.hpp",
            "data/plan/side_pass_data.cpp",
            "Testing/narrow_meeting_recorded_test.cpp",
            "Testing/meeting_curve_longitudinal_test.cpp",
            "data/dp_poly_path/dp_road_graph_test.cpp",
            "data/obstacle/decision/obstacle_decision_test.cpp",
            "tasks/deciders/long_decider/constrain_decider.cpp",
            "Testing/keb_gate_filter_test.cpp",
            "data/dp_poly_path/dp_road_graph.cpp",
            "tasks/deciders/lat_decider/trailer_side_pass_decider.cpp",
            "data/obstacle/decision/obstacle_decision.cpp",
            "data/dp_poly_path/dp_road_graph.hpp",
            "Testing/data/tsjx_meeting_20261015.json",
            "replayer/scene_data/generated/state_schema_inputs.json",
            "data/dp_poly_path/trajectory_cost_test.cpp",
            "Testing/CMakeLists.txt",
            "tasks/plan/keb_lane_follow_path_task.hpp"
          ],
          "commitId" : "15f80c59cc41cef09a6ed57532f20a5aec0e0bda",
          "timestamp" : 1792132343000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修正弯道会车避让并统一绕行状态退出\u000a\u000a区分直道窄会车与弯口普通动态避让，弯中及跨核心交互交由纵向处理，保留静态障碍和切入安全约束。\u000a\u000a撤销动态会车的陈旧绕行承诺，校验历史路径额外侧偏，统一总开关对 DP、走廊、KEB 写回和纵向专项的控制，并修正 SidePassData 状态发布。\u000a\u000a补充两天录制组件及状态、边界、缓存回归。258 项横向测试和 19 项纵向测试通过，pnc_node 分布式编译及协议检查通过；尚未完成原地图整段 bag 闭环验证。\u000a",
          "date" : "2026-10-16 14:32:23 +0800",
          "id" : "15f80c59cc41cef09a6ed57532f20a5aec0e0bda",
          "msg" : "fix: 修正弯道会车避让并统一绕行状态退出",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/full_custom_cpp_member_inputs.json"
            },
            {
              "editType" : "edit",
              "file" : "data/constrain/longitude_constrain.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/long_decider/constrain_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "Testing/keb_gate_filter_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/scene_data/generated/state_schema_inputs.json"
            },
            {
              "editType" : "add",
              "file" : "Testing/narrow_meeting_recorded_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/bulk_speed_limit_test.cpp"
            },
            {
              "editType" : "add",
              "file" : "Testing/data/tsjx_meeting_20261015.json"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.cpp"
            },
            {
              "editType" : "add",
              "file" : "Testing/meeting_curve_longitudinal_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_lane_follow_path_task.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/dp_road_graph.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/trajectory_cost.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/trajectory_cost_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/side_pass_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_lane_follow_path_task.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/lat_decider/side_pass_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/dp_road_graph.cpp"
            },
            {
              "editType" : "add",
              "file" : "Testing/data/tsjx_meeting_20261016.json"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/lat_decider/trailer_side_pass_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/trajectory_cost.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision_test.cpp"
            },
            {
              "editType" : "add",
              "file" : "data/dp_poly_path/dp_road_graph_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "docs/side_pass_function.md"
          ],
          "commitId" : "e13830df3b088da91890a8c85291db92b331bbb2",
          "timestamp" : 1792132361000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "docs: 补充 SidePass 横向避让功能说明\u000a\u000a详细说明障碍策略、承诺、SidePassData 状态机、DP 搜索和历史复用、DrivingCorridor、会车及超车生命周期。\u000a\u000a补充总开关恢复行为、纵向约束、配置默认值、场景行为和回归入口，并关联对应实现版本。\u000a",
          "date" : "2026-10-16 14:32:41 +0800",
          "id" : "e13830df3b088da91890a8c85291db92b331bbb2",
          "msg" : "docs: 补充 SidePass 横向避让功能说明",
          "paths" : [
            {
              "editType" : "add",
              "file" : "docs/side_pass_function.md"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/ssep/forward_ec.cpp"
          ],
          "commitId" : "ae1ca4f445f4d7ae2de99c94087121116ed1de06",
          "timestamp" : 1792137100000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 振石前向搜索跳过默认末端虚拟通道\u000a\u000a将振石场景加入不构造默认末端通道的分支，避免落入潍坊散货场景的\u000aConstructWfBulkEndTunnel。标定模式及其他虚拟障碍构造保持原流程。\u000a\u000a已审查分支与通道清理逻辑；当前构建已包含该改动，尚未执行振石专项场景回放。\u000a",
          "date" : "2026-10-16 15:51:40 +0800",
          "id" : "ae1ca4f445f4d7ae2de99c94087121116ed1de06",
          "msg" : "fix: 振石前向搜索跳过默认末端虚拟通道",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/search_decider_lifecycle_test.cpp",
            "data/plan/ssep_task_context.cpp",
            "docs/ssep_search_lifecycle.md"
          ],
          "commitId" : "89b0887f1d570a0753925390a1a6addad5b897c4",
          "timestamp" : 1792137117000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 统一路口搜索跨任务复用规则\u000a\u000a修复岸桥等路口执行 SSEP 时，同路线新任务触发重复搜索的问题。\u000a普通、进场、出场、桥和岸桥统一核验有效目标、区域、地图更新及标定条件，\u000a保留同路口、同连接和目标车道的已生效搜索路径。\u000a\u000a岸桥单独检查阻挡状态；桥与出场启用短路口连续搜索时核验完整选线路径和\u000a后续路口目标决策，避免默认车道回退或下一路口换线导致错误复用。\u000a补充五类路口任务交接、条件变化、无效目的地和跨路口边界回归并更新文档。\u000a\u000a验证：Icecream 分布式编译通过；pnc_reference_line_replan_test\u000a405 项通过、0 失败、61 项跳过。未执行完整 bag 或 GPU 搜索回放。\u000a",
          "date" : "2026-10-16 15:51:57 +0800",
          "id" : "89b0887f1d570a0753925390a1a6addad5b897c4",
          "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" : [
            "ssep/coarse_search/conditions/always_true_condition.h",
            "ssep/coarse_search/tutorial/builders-and-scenarios.html",
            "ssep/coarse_search/tutorial/search-engines.html",
            "ssep/test/CMakeLists.txt",
            "ssep/test/search_condition_identity_test.cc",
            "ssep/coarse_search/searcher_builders/tractor_trailer_lane_change_searcher_builder.cc"
          ],
          "commitId" : "84103d6512eb05f173df0d8877faac2496810b53",
          "timestamp" : 1792160209000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复搜索条件重名导致的变道崩溃\u000a\u000a将搜索侧无条件判定类重命名为 AlwaysTrueSearchCondition，消除与历史路径状态匹配类的 ODR 冲突，避免阶段切换调用错误虚函数表。同步变道构建器和教程，新增两类条件共存、虚调用与阶段转换回归。\u000a\u000a验证：pnc_node 分布式构建通过，3 项 SearchConditionIdentityTest 回归全部通过。现场苏溪 T04 的 5 份 dump 已核对同源，修复尚未部署车端。\u000a",
          "date" : "2026-10-16 22:16:49 +0800",
          "id" : "84103d6512eb05f173df0d8877faac2496810b53",
          "msg" : "fix: 修复搜索条件重名导致的变道崩溃",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/tractor_trailer_lane_change_searcher_builder.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/tutorial/builders-and-scenarios.html"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/CMakeLists.txt"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/search_condition_identity_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/tutorial/search-engines.html"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/conditions/always_true_condition.h"
            }
          ]
        }
      ],
      "kind" : "git"
    }
  ],
  "culprits" : [
    {
      "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/weilikang",
      "fullName" : "weilikang"
    },
    {
      "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
      "fullName" : "wuyanjun110"
    },
    {
      "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
      "fullName" : "chenran"
    },
    {
      "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/zhaojianfeng2",
      "fullName" : "zhaojianfeng2"
    }
  ],
  "nextBuild" : {
    "number" : 284,
    "url" : "http://159.27.114.184:8080/jenkins/user/chenjunnan/my-views/view/all/job/telediagnostic/284/"
  },
  "previousBuild" : {
    "number" : 282,
    "url" : "http://159.27.114.184:8080/jenkins/user/chenjunnan/my-views/view/all/job/telediagnostic/282/"
  }
}