{
  "_class" : "org.jenkinsci.plugins.workflow.job.WorkflowRun",
  "actions" : [
    {
      "_class" : "hudson.model.ParametersAction",
      "parameters" : [
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "checkall",
          "value" : "yes"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "OTA",
          "value" : "public"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "region",
          "value" : "all"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "deviceChoice",
          "value" : "false"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "msgBranch",
          "value" : "dev_ros2"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "rslidarSDKBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "rslidarSdkNewBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "cameraDriverBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "loginSyncToolBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "systemRosBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "nodeManagerBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "thirdpartyBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "unifiedSystemMonitorBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "rosBridgeBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "hdcontrolBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "versionsObserverBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "cacheBagNodeBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "systemMonitorBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "performanceAnalystBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "scheduleManagerBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "imvSpreaderDetectionBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "craneAlignBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "mrpt2Branch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "warningModuleBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "rminterpreterBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "nodeManagerOnlineBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "rtspRelayerBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "hesaiLidarBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "newTruckSpreaderDetectionBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "rcinterpreterBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "pncBranch",
          "value" : "feat_ros2_raw"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "guardianBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "staticTransformBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "msfLocBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "msfAssistantBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "hdmapBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "peripheralControllerBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "predictionBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "laneDetectionBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "dataCollectionBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "tosVisualizeBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "sinsCalibrationHmiBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "toolsBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "segmentationBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "controlBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "hdmapCloudBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "nodeManagerHmiBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "groundmarkerDetectionBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "calibrationToolsBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "simulatorBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "snapshotUploadBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "hdmapInterfaceBranch",
          "value" : "ros2"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "spreaderSegmentationBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "trafficLightDetectionBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "perceptionPublisherBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "avmBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "v2Branch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "newDetectionBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "seniorCalibrationBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "doxBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "oleLidarBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "platoonCoreBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "lidarCameraFusionBranch",
          "value" : "no"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "notes",
          "value" : "Orin Ros2(干线，pnc，适配编队消息)"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "users",
          "value" : ""
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "operate",
          "value" : "no"
        }
      ]
    },
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.model.Cause$UserIdCause",
          "shortDescription" : "Started by user wuyanjun",
          "userId" : "wuyanjun",
          "userName" : "wuyanjun"
        }
      ]
    },
    {
      "_class" : "org.jenkinsci.plugins.workflow.libs.LibrariesAction"
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 50,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "94901fb1d1c52266f678fadef5a5ff897412b2b0",
            "branch" : [
              {
                "SHA1" : "94901fb1d1c52266f678fadef5a5ff897412b2b0",
                "name" : "master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "94901fb1d1c52266f678fadef5a5ff897412b2b0",
            "branch" : [
              {
                "SHA1" : "94901fb1d1c52266f678fadef5a5ff897412b2b0",
                "name" : "master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "94901fb1d1c52266f678fadef5a5ff897412b2b0",
        "branch" : [
          {
            "SHA1" : "94901fb1d1c52266f678fadef5a5ff897412b2b0",
            "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" : 50,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "c139f8cd28125dfe6ca12522fbf56fa237235605",
            "branch" : [
              {
                "SHA1" : "c139f8cd28125dfe6ca12522fbf56fa237235605",
                "name" : "refs/remotes/origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "c139f8cd28125dfe6ca12522fbf56fa237235605",
            "branch" : [
              {
                "SHA1" : "c139f8cd28125dfe6ca12522fbf56fa237235605",
                "name" : "refs/remotes/origin/master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "c139f8cd28125dfe6ca12522fbf56fa237235605",
        "branch" : [
          {
            "SHA1" : "c139f8cd28125dfe6ca12522fbf56fa237235605",
            "name" : "refs/remotes/origin/master"
          }
        ]
      },
      "remoteUrls" : [
        "http://159.27.226.4/weilikang/jenkinsfiles.git"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/rc_dev" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "f65f39e60b9b2a3e567c7fab765a4c044b125d7d",
            "branch" : [
              {
                "SHA1" : "f65f39e60b9b2a3e567c7fab765a4c044b125d7d",
                "name" : "origin/rc_dev"
              }
            ]
          },
          "revision" : {
            "SHA1" : "f65f39e60b9b2a3e567c7fab765a4c044b125d7d",
            "branch" : [
              {
                "SHA1" : "f65f39e60b9b2a3e567c7fab765a4c044b125d7d",
                "name" : "origin/rc_dev"
              }
            ]
          }
        },
        "origin/dev_ros2" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 50,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "3d1e1c3405b5a6a8ffef9a7ad1a1b0f18908c173",
            "branch" : [
              {
                "SHA1" : "3d1e1c3405b5a6a8ffef9a7ad1a1b0f18908c173",
                "name" : "origin/dev_ros2"
              }
            ]
          },
          "revision" : {
            "SHA1" : "3d1e1c3405b5a6a8ffef9a7ad1a1b0f18908c173",
            "branch" : [
              {
                "SHA1" : "3d1e1c3405b5a6a8ffef9a7ad1a1b0f18908c173",
                "name" : "origin/dev_ros2"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "3d1e1c3405b5a6a8ffef9a7ad1a1b0f18908c173",
        "branch" : [
          {
            "SHA1" : "3d1e1c3405b5a6a8ffef9a7ad1a1b0f18908c173",
            "name" : "origin/dev_ros2"
          }
        ]
      },
      "remoteUrls" : [
        "http://159.27.226.4/shared/shared_msgs.git"
      ],
      "scmName" : ""
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/feat_ros2_raw" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 50,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "42399ec66085236e3138c482e9a2da908beb1209",
            "branch" : [
              {
                "SHA1" : "42399ec66085236e3138c482e9a2da908beb1209",
                "name" : "origin/feat_ros2_raw"
              }
            ]
          },
          "revision" : {
            "SHA1" : "42399ec66085236e3138c482e9a2da908beb1209",
            "branch" : [
              {
                "SHA1" : "42399ec66085236e3138c482e9a2da908beb1209",
                "name" : "origin/feat_ros2_raw"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "42399ec66085236e3138c482e9a2da908beb1209",
        "branch" : [
          {
            "SHA1" : "42399ec66085236e3138c482e9a2da908beb1209",
            "name" : "origin/feat_ros2_raw"
          }
        ]
      },
      "remoteUrls" : [
        "http://159.27.226.4/pnc/pnc.git"
      ],
      "scmName" : ""
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/ros2" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 50,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "1336438603254bb01a9125eabd6d531597c243cc",
            "branch" : [
              {
                "SHA1" : "1336438603254bb01a9125eabd6d531597c243cc",
                "name" : "origin/ros2"
              }
            ]
          },
          "revision" : {
            "SHA1" : "1336438603254bb01a9125eabd6d531597c243cc",
            "branch" : [
              {
                "SHA1" : "1336438603254bb01a9125eabd6d531597c243cc",
                "name" : "origin/ros2"
              }
            ]
          }
        },
        "origin/rc_dev" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 10,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "afad8d245fb51de0af51733f4a6ffdd261993e41",
            "branch" : [
              {
                "SHA1" : "afad8d245fb51de0af51733f4a6ffdd261993e41",
                "name" : "origin/rc_dev"
              }
            ]
          },
          "revision" : {
            "SHA1" : "afad8d245fb51de0af51733f4a6ffdd261993e41",
            "branch" : [
              {
                "SHA1" : "afad8d245fb51de0af51733f4a6ffdd261993e41",
                "name" : "origin/rc_dev"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "1336438603254bb01a9125eabd6d531597c243cc",
        "branch" : [
          {
            "SHA1" : "1336438603254bb01a9125eabd6d531597c243cc",
            "name" : "origin/ros2"
          }
        ]
      },
      "remoteUrls" : [
        "http://159.27.226.4/map/hdmap_interface.git"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.workflow.cps.view.InterpolatedSecretsAction"
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/rc_dev" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 50,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "95ec724887af1b240b58915e6d1946ca3d6f4520",
            "branch" : [
              {
                "SHA1" : "95ec724887af1b240b58915e6d1946ca3d6f4520",
                "name" : "origin/rc_dev"
              }
            ]
          },
          "revision" : {
            "SHA1" : "95ec724887af1b240b58915e6d1946ca3d6f4520",
            "branch" : [
              {
                "SHA1" : "95ec724887af1b240b58915e6d1946ca3d6f4520",
                "name" : "origin/rc_dev"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "95ec724887af1b240b58915e6d1946ca3d6f4520",
        "branch" : [
          {
            "SHA1" : "95ec724887af1b240b58915e6d1946ca3d6f4520",
            "name" : "origin/rc_dev"
          }
        ]
      },
      "remoteUrls" : [
        "http://159.27.226.4/map/hdmap_analysis.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" : "#50",
  "duration" : 1139447,
  "estimatedDuration" : 663192,
  "executor" : null,
  "fullDisplayName" : "orin-module-ros2 #50",
  "id" : "50",
  "keepLog" : false,
  "number" : 50,
  "queueId" : 1272741,
  "result" : "SUCCESS",
  "timestamp" : 1787920581278,
  "url" : "http://159.27.114.184:8080/jenkins/job/orin-module-ros2/50/",
  "changeSets" : [
    {
      "_class" : "hudson.plugins.git.GitChangeSetList",
      "items" : [
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "src/org/orin/orinBuild.groovy"
          ],
          "commitId" : "94901fb1d1c52266f678fadef5a5ff897412b2b0",
          "timestamp" : 1787899250000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/weilikang",
            "fullName" : "weilikang"
          },
          "authorEmail" : "weilikang@senior.auto",
          "comment" : "Update orinBuild.groovy\u000a",
          "date" : "2026-08-28 06:40:50 +0000",
          "id" : "94901fb1d1c52266f678fadef5a5ff897412b2b0",
          "msg" : "Update orinBuild.groovy",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "src/org/orin/orinBuild.groovy"
            }
          ]
        }
      ],
      "kind" : "git"
    },
    {
      "_class" : "hudson.plugins.git.GitChangeSetList",
      "items" : [
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/ssep/open_space_ec.cpp"
          ],
          "commitId" : "f5e3048bcd0597ca0e618895de5849192cd169ec",
          "timestamp" : 1772247396000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix:优化动态下码头面搜索终点选取的问题\u000a",
          "date" : "2026-02-28 10:56:36 +0800",
          "id" : "f5e3048bcd0597ca0e618895de5849192cd169ec",
          "msg" : "fix:优化动态下码头面搜索终点选取的问题",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/ssep/open_space_ec.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "sink/ros_sink_ctrl_reference.cpp"
          ],
          "commitId" : "cbe867251847661f335028397456bf5e9d017e89",
          "timestamp" : 1772462806000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "refactor: 优化Publish和UpdateDrivingStatus函数，简化代码逻辑，解决openspace 区域，方向灯不对的bug\u000a",
          "date" : "2026-03-02 22:46:46 +0800",
          "id" : "cbe867251847661f335028397456bf5e9d017e89",
          "msg" : "refactor: 优化Publish和UpdateDrivingStatus函数，简化代码逻辑，解决openspace 区域，方向灯不对的bug",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "sink/ros_sink_ctrl_reference.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/lattice/trajectory_evaluator.cpp"
          ],
          "commitId" : "c54def98283c4ec7dc783b3c6e037641d990d3be",
          "timestamp" : 1772781039000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: del mode=0\u000a",
          "date" : "2026-03-06 15:10:39 +0800",
          "id" : "c54def98283c4ec7dc783b3c6e037641d990d3be",
          "msg" : "fix: del mode=0",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/lattice/trajectory_evaluator.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/other/flow_control.cpp"
          ],
          "commitId" : "6b4cad426da64472bce0a1b42ba5414c4d02a0d1",
          "timestamp" : 1773061813000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 调整最大速度阈值以优化后向Ogm忽略逻辑\u000a",
          "date" : "2026-03-09 21:10:13 +0800",
          "id" : "6b4cad426da64472bce0a1b42ba5414c4d02a0d1",
          "msg" : "fix: 调整最大速度阈值以优化后向Ogm忽略逻辑",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/other/flow_control.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "CMakeLists.txt"
          ],
          "commitId" : "df7f1ef3c7e632393236c47384f40942fc30f964",
          "timestamp" : 1773062115000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 添加核心对象库并优化可执行文件链接逻辑\u000a",
          "date" : "2026-03-09 21:15:15 +0800",
          "id" : "df7f1ef3c7e632393236c47384f40942fc30f964",
          "msg" : "feat: 添加核心对象库并优化可执行文件链接逻辑",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "CMakeLists.txt"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_lat_plan.hpp",
            "data/wbca/wbca_data.hpp",
            "tasks/plan/path_optimization_task.cpp",
            "data/config/cfg_lat_plan.cpp",
            ".clangd"
          ],
          "commitId" : "9139b2a6a7d5a69cee55395a332187bbf2a096fb",
          "timestamp" : 1773114548000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "feat: add smooth_mode_wbca_params\u000a",
          "date" : "2026-03-10 11:49:08 +0800",
          "id" : "9139b2a6a7d5a69cee55395a332187bbf2a096fb",
          "msg" : "feat: add smooth_mode_wbca_params",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/wbca/wbca_data.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/path_optimization_task.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_plan.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_plan.hpp"
            },
            {
              "editType" : "edit",
              "file" : ".clangd"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tasks/plan/path_optimization_task.cpp",
            "data/config/cfg_lat_plan.cpp"
          ],
          "commitId" : "986293b15a5974c620ba0a521a5d167f82a50119",
          "timestamp" : 1773115397000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: smooth_mode_wbca_params bug\u000a",
          "date" : "2026-03-10 12:03:17 +0800",
          "id" : "986293b15a5974c620ba0a521a5d167f82a50119",
          "msg" : "fix: smooth_mode_wbca_params bug",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tasks/plan/path_optimization_task.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_plan.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_hmi.cpp",
            "data/config/cfg_hmi.hpp",
            "hmi/replayer_hmi.cpp",
            "replayer/logic.cpp"
          ],
          "commitId" : "035e2cf830ba61ee63048e0e129dea20231d8af5",
          "timestamp" : 1773800729000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: lock historical cloud point in replayer.\u000a\u000a",
          "date" : "2026-03-18 10:25:29 +0800",
          "id" : "035e2cf830ba61ee63048e0e129dea20231d8af5",
          "msg" : "fix: lock historical cloud point in replayer.",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "hmi/replayer_hmi.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_hmi.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/logic.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_hmi.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/decide/decide_reaction.hpp",
            ".gitignore",
            "CMakeLists.txt",
            "data/ssep/forward_ec.cpp",
            "tasks/deciders/search_decider/forward_search_decider.cpp"
          ],
          "commitId" : "dbd2812127d276e7ad1f968f358529e0ae53a5a1",
          "timestamp" : 1773800883000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: add FORWARD_BEFORE_BACKWARD\u000a",
          "date" : "2026-03-18 10:28:03 +0800",
          "id" : "dbd2812127d276e7ad1f968f358529e0ae53a5a1",
          "msg" : "fix: add FORWARD_BEFORE_BACKWARD",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/decide/decide_reaction.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : ".gitignore"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/search_decider/forward_search_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "CMakeLists.txt"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_env_const.hpp",
            "data/config/cfg_env_const.cpp",
            "tasks/deciders/other_decider/replan_decider.cpp",
            "tasks/deciders/other_decider/replan_decider.hpp",
            "plan/prepare/prepare_status.cpp"
          ],
          "commitId" : "448aee47e245f190381c830773c7a318c6b12374",
          "timestamp" : 1773801028000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: ssep replan for  reversing truck.\u000a",
          "date" : "2026-03-18 10:30:28 +0800",
          "id" : "448aee47e245f190381c830773c7a318c6b12374",
          "msg" : "fix: ssep replan for  reversing truck.",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.cpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_status.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/other_decider/replan_decider.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/other_decider/replan_decider.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_env_const.cpp"
          ],
          "commitId" : "76b3a0eb6a03df0be0286a166616b28bfc5ccf5a",
          "timestamp" : 1773801287000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: refine deviation_stop params.\u000a",
          "date" : "2026-03-18 10:34:47 +0800",
          "id" : "76b3a0eb6a03df0be0286a166616b28bfc5ccf5a",
          "msg" : "fix: refine deviation_stop params.",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/vehicle/request_routing_data.cpp"
          ],
          "commitId" : "be714f29c973f94c63c32603e269273a23c7bfdd",
          "timestamp" : 1773801366000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: path disapearing issue.\u000a",
          "date" : "2026-03-18 10:36:06 +0800",
          "id" : "be714f29c973f94c63c32603e269273a23c7bfdd",
          "msg" : "fix: path disapearing issue.",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/vehicle/request_routing_data.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "plan/prepare/prepare_status.cpp"
          ],
          "commitId" : "ad4d815f1b2950b84c190c02d925b7debb42e282",
          "timestamp" : 1773801394000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: trailer_path_ego match issue.\u000a",
          "date" : "2026-03-18 10:36:34 +0800",
          "id" : "ad4d815f1b2950b84c190c02d925b7debb42e282",
          "msg" : "fix: trailer_path_ego match issue.",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_status.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_env_const.hpp",
            "data/config/cfg_env_const.cpp",
            "tasks/deciders/other_decider/replan_decider.cpp",
            "plan/prepare/prepare_status.cpp"
          ],
          "commitId" : "05cba2ab21ded99ccdfcb7f96508ea2873e8ccbd",
          "timestamp" : 1773825627000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "refact: straighten then reverse.\u000a",
          "date" : "2026-03-18 17:20:27 +0800",
          "id" : "05cba2ab21ded99ccdfcb7f96508ea2873e8ccbd",
          "msg" : "refact: straighten then reverse.",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.hpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_status.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/other_decider/replan_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/vehicle/lane_detection.cpp"
          ],
          "commitId" : "a106c054091a39f8e38cabb78e45cec62f98e14d",
          "timestamp" : 1773827435000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: using map lane width for single line lane detection\u000a",
          "date" : "2026-03-18 17:50:35 +0800",
          "id" : "a106c054091a39f8e38cabb78e45cec62f98e14d",
          "msg" : "fix: using map lane width for single line lane detection",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/vehicle/lane_detection.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/vehicle/vehicle_state.cpp",
            "data/plan/start_point_data.cpp",
            "tasks/deciders/long_decider/constrain_decider.cpp",
            "data/vehicle/vehicle_state.hpp",
            "tasks/deciders/long_decider/constrain_decider.hpp"
          ],
          "commitId" : "974f2e41451a6a980c4c8c2a9045fe75f2fc0490",
          "timestamp" : 1773891447000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "feat: stop for localization switching.\u000a",
          "date" : "2026-03-19 11:37:27 +0800",
          "id" : "974f2e41451a6a980c4c8c2a9045fe75f2fc0490",
          "msg" : "feat: stop for localization switching.",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/plan/start_point_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/vehicle/vehicle_state.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/long_decider/constrain_decider.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/long_decider/constrain_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/vehicle/vehicle_state.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tasks/deciders/long_decider/constrain_decider.cpp"
          ],
          "commitId" : "66668fce0521286d4f78c74c849dadea94895432",
          "timestamp" : 1773891626000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: log msf localization switching status.\u000a",
          "date" : "2026-03-19 11:40:26 +0800",
          "id" : "66668fce0521286d4f78c74c849dadea94895432",
          "msg" : "fix: log msf localization switching status.",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tasks/deciders/long_decider/constrain_decider.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/map/pnc_map/pnc_map.cpp"
          ],
          "commitId" : "7c94361ecd0a6331ad51d2fd135e9408b5638289",
          "timestamp" : 1773977808000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: road segment splitting bug.\u000a",
          "date" : "2026-03-20 11:36:48 +0800",
          "id" : "7c94361ecd0a6331ad51d2fd135e9408b5638289",
          "msg" : "fix: road segment splitting bug.",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/map/pnc_map/pnc_map.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/map/pnc_map/pnc_map.cpp"
          ],
          "commitId" : "94045a905e6e7064aa83d3535b9a67e6f06bb3b3",
          "timestamp" : 1773979209000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "refact: GetRoadSegmentFirstSplitPos\u000a",
          "date" : "2026-03-20 12:00:09 +0800",
          "id" : "94045a905e6e7064aa83d3535b9a67e6f06bb3b3",
          "msg" : "refact: GetRoadSegmentFirstSplitPos",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/map/pnc_map/pnc_map.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/app/app_data.cpp"
          ],
          "commitId" : "908911bfca576244174f10e54cd725ab9f30dd0e",
          "timestamp" : 1774266714000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: (临时处理)注释掉接收目标命令中的拖车标签和大小处理逻辑\u000a",
          "date" : "2026-03-23 19:51:54 +0800",
          "id" : "908911bfca576244174f10e54cd725ab9f30dd0e",
          "msg" : "fix: (临时处理)注释掉接收目标命令中的拖车标签和大小处理逻辑",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/app/app_data.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/coarse_search/searcher_builders/imv_general_searcher_builder.cc",
            "ssep/coarse_search/searcher_builders/imv_general_searcher_builder.h",
            "ssep/scenarios/imv_enter_station_planner.h"
          ],
          "commitId" : "67094e46383a0b33d5c95997caedc423eace3014",
          "timestamp" : 1774367733000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 解决西联IMV进停车位搜索过慢的问题\u000a\u000a",
          "date" : "2026-03-24 23:55:33 +0800",
          "id" : "67094e46383a0b33d5c95997caedc423eace3014",
          "msg" : "fix: 解决西联IMV进停车位搜索过慢的问题",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/imv_enter_station_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/imv_general_searcher_builder.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/imv_general_searcher_builder.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/scenarios/planner_utils.h",
            "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h",
            "ssep/coarse_search/searcher_builders/truck_multi_segment_parking_bidirectional_searcher_builder.cc",
            "ssep/scenarios/truck_multi_segment_parking_planner.h",
            "ssep/scenarios/planner_utils.cc",
            "ssep/coarse_search/searcher_builders/truck_multi_segment_parking_bidirectional_searcher_builder.h"
          ],
          "commitId" : "bce64a9fb9bed66c594b0a207511d989c4039b9f",
          "timestamp" : 1774425071000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/tangwenqing",
            "fullName" : "tangwenqing"
          },
          "authorEmail" : "tangwenqing@senior.auto",
          "comment" : "feat: 普通卡车多段倒车入库时适配拉直点逻辑\u000a",
          "date" : "2026-03-25 15:51:11 +0800",
          "id" : "bce64a9fb9bed66c594b0a207511d989c4039b9f",
          "msg" : "feat: 普通卡车多段倒车入库时适配拉直点逻辑",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/truck_multi_segment_parking_bidirectional_searcher_builder.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/planner_utils.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/truck_multi_segment_parking_bidirectional_searcher_builder.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/planner_utils.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_multi_segment_parking_planner.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/common/utils/path_utils.cc"
          ],
          "commitId" : "88fe599342bb3d5e99b4f73b388d3a36f9f7d320",
          "timestamp" : 1774439458000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: SSEP: 进出散货堆场-解决后处理过于严格导致搜索失败的问题。\u000a\u000a",
          "date" : "2026-03-25 19:50:58 +0800",
          "id" : "88fe599342bb3d5e99b4f73b388d3a36f9f7d320",
          "msg" : "fix: SSEP: 进出散货堆场-解决后处理过于严格导致搜索失败的问题。",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/common/utils/path_utils.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/map/pnc_map/pnc_map_path.cpp"
          ],
          "commitId" : "eb8b675d5b80921a05bcf7cfd6d9c37677c0398b",
          "timestamp" : 1774493942000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 调整路径重叠的起始和结束点设置，确保不超出有效范围\u000a",
          "date" : "2026-03-26 10:59:02 +0800",
          "id" : "eb8b675d5b80921a05bcf7cfd6d9c37677c0398b",
          "msg" : "fix: 调整路径重叠的起始和结束点设置，确保不超出有效范围",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/map/pnc_map/pnc_map_path.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_env_const.hpp",
            "data/config/cfg_env_const.cpp",
            "plan/prepare/prepare_status.cpp"
          ],
          "commitId" : "46589607901cc2599655efe869c7b40651bcffc8",
          "timestamp" : 1774495728000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "feat: add position check for reversing\u000a",
          "date" : "2026-03-26 11:28:48 +0800",
          "id" : "46589607901cc2599655efe869c7b40651bcffc8",
          "msg" : "feat: add position check for reversing",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.hpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_status.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_env_const.cpp"
          ],
          "commitId" : "cd315a7c5379a39b970324c059728920143fa523",
          "timestamp" : 1774509780000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: disable revsersing deviation.\u000a",
          "date" : "2026-03-26 15:23:00 +0800",
          "id" : "cd315a7c5379a39b970324c059728920143fa523",
          "msg" : "fix: disable revsersing deviation.",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "plan/prepare/prepare_status.hpp",
            "data/config/cfg_env_const.hpp",
            "data/config/cfg_env_const.cpp",
            "plan/prepare/prepare_status.cpp"
          ],
          "commitId" : "d8c6278e4447d5e4f9d4ce98f9acd13dc367adcf",
          "timestamp" : 1774518457000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "feat: limit straithen times.\u000a",
          "date" : "2026-03-26 17:47:37 +0800",
          "id" : "d8c6278e4447d5e4f9d4ce98f9acd13dc367adcf",
          "msg" : "feat: limit straithen times.",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_status.hpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_status.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/scenarios/truck_accurate_reversing_planner.cc",
            "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc",
            "ssep/keb_optimizer/rigid_truck_keb_optimizer.h"
          ],
          "commitId" : "1158a27743ae3cbb4a0c1095e7850143daf14aea",
          "timestamp" : 1774518521000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "feat: SSEP: 普通卡车倒车搜索加长最后一段拉直距离\u000a\u000a",
          "date" : "2026-03-26 17:48:41 +0800",
          "id" : "1158a27743ae3cbb4a0c1095e7850143daf14aea",
          "msg" : "feat: SSEP: 普通卡车倒车搜索加长最后一段拉直距离",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/rigid_truck_keb_optimizer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_accurate_reversing_planner.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "plan/prepare/prepare_status.cpp"
          ],
          "commitId" : "1af3c8f1db01d0693586e98cad36c87580ac5c56",
          "timestamp" : 1774579089000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: reversing times bug\u000a",
          "date" : "2026-03-27 10:38:09 +0800",
          "id" : "1af3c8f1db01d0693586e98cad36c87580ac5c56",
          "msg" : "fix: reversing times bug",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_status.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/scenarios/imv_enter_station_planner.h",
            "ssep/scenarios/truck_general_planner.h",
            "ssep/coarse_search/searcher_builders/imv_general_searcher_builder.cc",
            "ssep/scenarios/scenario_planner_factory.h",
            "ssep/ssep_planner.cc",
            "ssep/common/utils/path_utils.cc",
            "ssep/coarse_search/searcher_builders/imv_general_searcher_builder.h",
            "ssep/scenarios/truck_multi_segment_parking_planner.h",
            "ssep/scenarios/imv_exit_parking_spot_planner.h"
          ],
          "commitId" : "9e70c8344cefa2dce322bdebaded279a165ebaed",
          "timestamp" : 1774583254000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: checkout feat_keb_task\u000a",
          "date" : "2026-03-27 11:47:34 +0800",
          "id" : "9e70c8344cefa2dce322bdebaded279a165ebaed",
          "msg" : "fix: checkout feat_keb_task",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/common/utils/path_utils.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/ssep_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/imv_enter_station_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/imv_exit_parking_spot_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/imv_general_searcher_builder.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/scenario_planner_factory.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_general_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/imv_general_searcher_builder.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_multi_segment_parking_planner.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/ssep_planner.cc"
          ],
          "commitId" : "89102f4e856e982cd6a002d274678e2f0e19dff8",
          "timestamp" : 1774583311000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: reversing ssep planner bug\u000a",
          "date" : "2026-03-27 11:48:31 +0800",
          "id" : "89102f4e856e982cd6a002d274678e2f0e19dff8",
          "msg" : "fix: reversing ssep planner bug",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/ssep_planner.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "plan/prepare/prepare_status.cpp"
          ],
          "commitId" : "a29eb1c83bacb6b66111a68719a9a3937fa350d1",
          "timestamp" : 1774583770000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: reversitong activation position thr 10.0\u000a",
          "date" : "2026-03-27 11:56:10 +0800",
          "id" : "a29eb1c83bacb6b66111a68719a9a3937fa350d1",
          "msg" : "fix: reversitong activation position thr 10.0",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_status.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "thirdparty/lbfgs/lbfgs.hpp"
          ],
          "commitId" : "bce6bb1dbfa57b881faf7ad6886f49a37230adc9",
          "timestamp" : 1774603649000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "feat: add lbfgs prevous version.\u000a",
          "date" : "2026-03-27 17:27:29 +0800",
          "id" : "bce6bb1dbfa57b881faf7ad6886f49a37230adc9",
          "msg" : "feat: add lbfgs prevous version.",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "thirdparty/lbfgs/lbfgs.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/constrain/block_data.cpp"
          ],
          "commitId" : "7083a00f7acd9d060708d1f01df5c82a7e6537f5",
          "timestamp" : 1775013719000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: curvature over limit filer.\u000a",
          "date" : "2026-04-01 11:21:59 +0800",
          "id" : "7083a00f7acd9d060708d1f01df5c82a7e6537f5",
          "msg" : "fix: curvature over limit filer.",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/constrain/block_data.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/coarse_search/searcher_builders/tractor_trailer_bidirectional_searcher_builder.cc",
            "ssep/offboard/servers/path_repository_vis_server.cc",
            "ssep/protos/operation_mode.proto",
            "ssep/data_structures/state_match_condition.h",
            "ssep/offboard/ssep_planner_wrapper.cc",
            "ssep/data_structures/path_repository_manager.cc",
            "ssep/scenarios/tractor_trailer_enter_parking_spot_planner.h",
            "ssep/data_structures/state_match_condition.cc",
            "ssep/coarse_search/searcher_builders/imv_bidirectional_searcher_builder.cc",
            "ssep/offboard/servers/path_repository_vis_html_template.h",
            "ssep/protos/state_match_condition.proto",
            "ssep/common/utils/map_element_utils.hpp",
            "ssep/offboard/scene_replay/CMakeLists.txt",
            "ssep/protos/scene.proto",
            "ssep/ssep_planner.h",
            "ssep/coarse_search/searcher_builders/tractor_trailer_bidirectional_searcher_builder.h",
            "ssep/protos/path_repository.proto",
            "ssep/CMakeLists.txt",
            "ssep/offboard/servers/CMakeLists.txt",
            "ssep/offboard/servers/path_repository_vis_html_template.cc",
            "ssep/scenarios/truck_general_planner.h",
            "ssep/offboard/generate_path_repository/CMakeLists.txt",
            "ssep/offboard/generate_path_repository/generate_path_repository_cli.cc",
            "ssep/scenarios/truck_accurate_reversing_planner.cc",
            "ssep/ssep_planner.cc",
            "ssep/data_structures/path_repository_manager.h"
          ],
          "commitId" : "add9f556e95b2608a803429926180a9f8765565b",
          "timestamp" : 1775026622000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat:合并ssep\u000a\u000a",
          "date" : "2026-04-01 14:57:02 +0800",
          "id" : "add9f556e95b2608a803429926180a9f8765565b",
          "msg" : "feat:合并ssep",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/protos/scene.proto"
            },
            {
              "editType" : "add",
              "file" : "ssep/data_structures/state_match_condition.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/generate_path_repository/generate_path_repository_cli.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/imv_bidirectional_searcher_builder.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/servers/CMakeLists.txt"
            },
            {
              "editType" : "add",
              "file" : "ssep/data_structures/path_repository_manager.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/generate_path_repository/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/ssep_planner_wrapper.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/protos/operation_mode.proto"
            },
            {
              "editType" : "edit",
              "file" : "ssep/ssep_planner.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/servers/path_repository_vis_html_template.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/ssep_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_accurate_reversing_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/tractor_trailer_bidirectional_searcher_builder.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/tractor_trailer_bidirectional_searcher_builder.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_enter_parking_spot_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/common/utils/map_element_utils.hpp"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/servers/path_repository_vis_html_template.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/servers/path_repository_vis_server.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/protos/state_match_condition.proto"
            },
            {
              "editType" : "edit",
              "file" : "ssep/CMakeLists.txt"
            },
            {
              "editType" : "add",
              "file" : "ssep/data_structures/path_repository_manager.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/scene_replay/CMakeLists.txt"
            },
            {
              "editType" : "add",
              "file" : "ssep/data_structures/state_match_condition.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/protos/path_repository.proto"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_general_planner.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/offboard/servers/path_repository_vis_server.cc",
            "ssep/maps/ogm.h",
            "ssep/maps/ogm.cc",
            "ssep/data_structures/path_repository_manager.cc",
            "ssep/protos/path_repository.proto",
            "ssep/maps/ogm_builder.cc",
            "ssep/protos/ogm.proto",
            "ssep/CMakeLists.txt",
            "ssep/offboard/servers/path_repository_vis_html_template.cc",
            "ssep/offboard/generate_path_repository/generate_path_repository_cli.cc",
            "ssep/ssep_planner.cc",
            "ssep/data_structures/path_repository_manager.h",
            "ssep/data_structures/path_utils.h"
          ],
          "commitId" : "5492d6800ec62aba7edeff396c22e32c2367048a",
          "timestamp" : 1775542486000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: checkout ssep from feat_keb_task\u000a",
          "date" : "2026-04-07 14:14:46 +0800",
          "id" : "5492d6800ec62aba7edeff396c22e32c2367048a",
          "msg" : "fix: checkout ssep from feat_keb_task",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/protos/path_repository.proto"
            },
            {
              "editType" : "edit",
              "file" : "ssep/maps/ogm.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/ssep_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/data_structures/path_repository_manager.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/data_structures/path_repository_manager.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/servers/path_repository_vis_server.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/generate_path_repository/generate_path_repository_cli.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/maps/ogm_builder.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/servers/path_repository_vis_html_template.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/protos/ogm.proto"
            },
            {
              "editType" : "edit",
              "file" : "ssep/maps/ogm.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "ssep/data_structures/path_utils.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_env_const.hpp",
            "data/vehicle/related_offset.hpp",
            "plan/prepare/prepare_offset.cpp",
            "data/config/cfg_env_const.cpp",
            "source/ros_source_offset.cpp",
            "data/vehicle/related_offset.cpp"
          ],
          "commitId" : "49256fc5857617c9ec947e1e70e59a7fe592a985",
          "timestamp" : 1775545738000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "feat: checkout relate_offset from feat_straddle_v2\u000a",
          "date" : "2026-04-07 15:08:58 +0800",
          "id" : "49256fc5857617c9ec947e1e70e59a7fe592a985",
          "msg" : "feat: checkout relate_offset from feat_straddle_v2",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/vehicle/related_offset.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/vehicle/related_offset.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.cpp"
            },
            {
              "editType" : "edit",
              "file" : "source/ros_source_offset.cpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_offset.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_env_const.hpp",
            "plan/prepare/prepare_status.cpp",
            "data/vehicle/deviation_status.cpp",
            "data/vehicle/deviation_status.hpp",
            "data/config/cfg_env_const.cpp",
            "data/plan_frame.hpp",
            "data/plan_frame.cpp"
          ],
          "commitId" : "44df58cea3903417a9131a306456a68dbbdce578",
          "timestamp" : 1775555602000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "feat: add DeviationStatus\u000a",
          "date" : "2026-04-07 17:53:22 +0800",
          "id" : "44df58cea3903417a9131a306456a68dbbdce578",
          "msg" : "feat: add DeviationStatus",
          "paths" : [
            {
              "editType" : "add",
              "file" : "data/vehicle/deviation_status.hpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_status.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.hpp"
            },
            {
              "editType" : "add",
              "file" : "data/vehicle/deviation_status.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan_frame.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan_frame.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/decide/decide_reaction.hpp"
          ],
          "commitId" : "a1a26f2d57ce4bf6557d71580132ced3c17bf8a6",
          "timestamp" : 1775562537000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "feat: add update_end_position for ssep replan.\u000a",
          "date" : "2026-04-07 19:48:57 +0800",
          "id" : "a1a26f2d57ce4bf6557d71580132ced3c17bf8a6",
          "msg" : "feat: add update_end_position for ssep replan.",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/decide/decide_reaction.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_env_const.hpp",
            "data/vehicle/deviation_status.hpp",
            "data/config/cfg_env_const.cpp",
            "tasks/deciders/other_decider/replan_decider.cpp",
            "data/vehicle/deviation_status.cpp"
          ],
          "commitId" : "e0b3376c588f78e040bd3b0bf6df8a204be651dc",
          "timestamp" : 1775562570000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "feat: deviation for align\u000a",
          "date" : "2026-04-07 19:49:30 +0800",
          "id" : "e0b3376c588f78e040bd3b0bf6df8a204be651dc",
          "msg" : "feat: deviation for align",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/vehicle/deviation_status.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/vehicle/deviation_status.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/other_decider/replan_decider.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/decide/decide_reaction.cpp",
            "tasks/deciders/other_decider/replan_decider.cpp",
            "data/ssep/forward_ec.cpp",
            "data/vehicle/deviation_status.cpp",
            "plan/prepare/prepare_offset.cpp",
            "data/config/cfg_env_const.cpp",
            "data/vehicle/related_offset.cpp",
            "hmi/draw/draw_ego.cpp"
          ],
          "commitId" : "8fb3cc2a97083c3f930ec6dc668b4defbb7c3726",
          "timestamp" : 1775620452000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: ssep replan for bulk align.\u000a",
          "date" : "2026-04-08 11:54:12 +0800",
          "id" : "8fb3cc2a97083c3f930ec6dc668b4defbb7c3726",
          "msg" : "fix: ssep replan for bulk align.",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/other_decider/replan_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/decide/decide_reaction.cpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_offset.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/vehicle/deviation_status.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/vehicle/related_offset.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_ego.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/vehicle/related_offset.cpp"
          ],
          "commitId" : "9c32cddd4754aeba740e36ba349aab4e24f2d3e8",
          "timestamp" : 1775624288000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: reverse bulk offset heading\u000a",
          "date" : "2026-04-08 12:58:08 +0800",
          "id" : "9c32cddd4754aeba740e36ba349aab4e24f2d3e8",
          "msg" : "fix: reverse bulk offset heading",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/vehicle/related_offset.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_env_const.hpp",
            "data/config/cfg_env_const.cpp",
            "data/vehicle/deviation_status.cpp"
          ],
          "commitId" : "d4e913f216407576df39fab3f728b07e6282b424",
          "timestamp" : 1775631203000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "feat: limit reversing align times\u000a",
          "date" : "2026-04-08 14:53:23 +0800",
          "id" : "d4e913f216407576df39fab3f728b07e6282b424",
          "msg" : "feat: limit reversing align times",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/vehicle/deviation_status.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/plan_frame.cpp",
            "data/vehicle/deviation_status.cpp",
            "tasks/deciders/other_decider/replan_decider.cpp"
          ],
          "commitId" : "62b89686f4a1c19ee1e01cb9728e75cd45b20c18",
          "timestamp" : 1775709922000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: log align info; serialize bulk_align_offset\u000a",
          "date" : "2026-04-09 12:45:22 +0800",
          "id" : "62b89686f4a1c19ee1e01cb9728e75cd45b20c18",
          "msg" : "fix: log align info; serialize bulk_align_offset",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/vehicle/deviation_status.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/other_decider/replan_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan_frame.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/vehicle/deviation_status.cpp"
          ],
          "commitId" : "823ba5df56c967431bdf659641beb1b5f8e94fe5",
          "timestamp" : 1775710022000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: log stop_deviation_for_algn\u000a",
          "date" : "2026-04-09 12:47:02 +0800",
          "id" : "823ba5df56c967431bdf659641beb1b5f8e94fe5",
          "msg" : "fix: log stop_deviation_for_algn",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/vehicle/deviation_status.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/scenarios/truck_bulk_yark_in_out_planner.cc",
            "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc"
          ],
          "commitId" : "0dc5d5a34dfaca3c7c3379062c47c16c69b64365",
          "timestamp" : 1775711674000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: SSEP: 提升太阳纸业自卸车出堆场成功率\u000a\u000a",
          "date" : "2026-04-09 13:14:34 +0800",
          "id" : "0dc5d5a34dfaca3c7c3379062c47c16c69b64365",
          "msg" : "fix: SSEP: 提升太阳纸业自卸车出堆场成功率",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_bulk_yark_in_out_planner.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/map/pnc_map/pnc_map.cpp"
          ],
          "commitId" : "9271ccec604819e8591030767febe7b72acc8052",
          "timestamp" : 1775725416000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: pnc_map splitting error.\u000a",
          "date" : "2026-04-09 17:03:36 +0800",
          "id" : "9271ccec604819e8591030767febe7b72acc8052",
          "msg" : "fix: pnc_map splitting error.",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/map/pnc_map/pnc_map.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/scenarios/truck_bulk_yark_in_out_planner.cc",
            "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc"
          ],
          "commitId" : "417c0854f98abcc3a27da26348c4ca5116b2fb97",
          "timestamp" : 1775733243000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/tangwenqing",
            "fullName" : "tangwenqing"
          },
          "authorEmail" : "tangwenqing@senior.auto",
          "comment" : "fix: SSEP: 提升太阳纸业自卸车出堆场成功率\u000a\u000a",
          "date" : "2026-04-09 19:14:03 +0800",
          "id" : "417c0854f98abcc3a27da26348c4ca5116b2fb97",
          "msg" : "fix: SSEP: 提升太阳纸业自卸车出堆场成功率",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_bulk_yark_in_out_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/coarse_search/searcher_builders/truck_multi_segment_parking_bidirectional_searcher_builder.cc",
            "ssep/coarse_search/searcher_builders/truck_multi_segment_parking_bidirectional_searcher_builder.h",
            "ssep/ssep_planner.cc"
          ],
          "commitId" : "cf9ba1f557eaf34408610eb1ee0cce4be1e897ee",
          "timestamp" : 1775733243000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/tangwenqing",
            "fullName" : "tangwenqing"
          },
          "authorEmail" : "tangwenqing@senior.auto",
          "comment" : "chore: SSEP: 提升CAR多段倒车pass point距离终点较远时的搜索速度\u000a\u000a",
          "date" : "2026-04-09 19:14:03 +0800",
          "id" : "cf9ba1f557eaf34408610eb1ee0cce4be1e897ee",
          "msg" : "chore: SSEP: 提升CAR多段倒车pass point距离终点较远时的搜索速度",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/truck_multi_segment_parking_bidirectional_searcher_builder.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/ssep_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/truck_multi_segment_parking_bidirectional_searcher_builder.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/ssep_planner.cc"
          ],
          "commitId" : "c60e0265ea92e647e55b5f4eb78622385dbc7dd0",
          "timestamp" : 1776061340000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/tangwenqing",
            "fullName" : "tangwenqing"
          },
          "authorEmail" : "tangwenqing@senior.auto",
          "comment" : "fix: SSEP: 修复多段倒车路径异常问题\u000a\u000a",
          "date" : "2026-04-13 14:22:20 +0800",
          "id" : "c60e0265ea92e647e55b5f4eb78622385dbc7dd0",
          "msg" : "fix: SSEP: 修复多段倒车路径异常问题",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/ssep_planner.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_env_const.hpp",
            "data/config/cfg_env_const.cpp",
            "data/ssep/forward_ec.cpp"
          ],
          "commitId" : "c0ec70f60f70c13f1633236b6113eceef4924922",
          "timestamp" : 1776074404000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "feat: set up max_forward_distance\u000a",
          "date" : "2026-04-13 18:00:04 +0800",
          "id" : "c0ec70f60f70c13f1633236b6113eceef4924922",
          "msg" : "feat: set up max_forward_distance",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/scenarios/stitching_replanner.h",
            "ssep/scenarios/truck_multi_segment_parking_planner.h"
          ],
          "commitId" : "2490554ec1ffd26960e68a6b577d38b19e90a56d",
          "timestamp" : 1776146825000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: SSEP: 修复自卸车进卸料区路径有点斜的问题\u000a\u000a",
          "date" : "2026-04-14 14:07:05 +0800",
          "id" : "2490554ec1ffd26960e68a6b577d38b19e90a56d",
          "msg" : "fix: SSEP: 修复自卸车进卸料区路径有点斜的问题",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/stitching_replanner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_multi_segment_parking_planner.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/coarse_search/motion_primitive_sampler/arc_path_motion_primitive_sampler.cc"
          ],
          "commitId" : "ef0bf75759f63fadc53235a7a657a8ab7a9768f1",
          "timestamp" : 1776152683000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: SSEP: 解决多段搜索除数为0可能导致崩溃的问题\u000a\u000a",
          "date" : "2026-04-14 15:44:43 +0800",
          "id" : "ef0bf75759f63fadc53235a7a657a8ab7a9768f1",
          "msg" : "fix: SSEP: 解决多段搜索除数为0可能导致崩溃的问题",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/motion_primitive_sampler/arc_path_motion_primitive_sampler.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/coarse_search/motion_primitive_sampler/arc_path_motion_primitive_sampler.cc"
          ],
          "commitId" : "dd3a65f56ad6005b79c090dbef03d481368e3f67",
          "timestamp" : 1776220439000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: SSEP: 解决多段搜索除数为0可能导致崩溃的问题\u000a\u000a",
          "date" : "2026-04-15 10:33:59 +0800",
          "id" : "dd3a65f56ad6005b79c090dbef03d481368e3f67",
          "msg" : "fix: SSEP: 解决多段搜索除数为0可能导致崩溃的问题",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/motion_primitive_sampler/arc_path_motion_primitive_sampler.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/coarse_search/searcher_builders/truck_multi_segment_parking_bidirectional_searcher_builder.cc",
            "ssep/scenarios/truck_multi_segment_parking_planner.h"
          ],
          "commitId" : "7488347a486bc1348df9d3f239f9f43ce79ba4d4",
          "timestamp" : 1776220452000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: SSEP: 解决精准倒车在pass point附近进行多段搜索时搜索失败的问题\u000a\u000a",
          "date" : "2026-04-15 10:34:12 +0800",
          "id" : "7488347a486bc1348df9d3f239f9f43ce79ba4d4",
          "msg" : "fix: SSEP: 解决精准倒车在pass point附近进行多段搜索时搜索失败的问题",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/truck_multi_segment_parking_bidirectional_searcher_builder.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_multi_segment_parking_planner.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "plan/prepare/prepare_status.hpp",
            "plan/prepare/prepare_status.cpp"
          ],
          "commitId" : "953da3561df41d78a5c16c24cf4e1fdd591c0457",
          "timestamp" : 1776401138000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: straight lane near crane and lock_station\u000a",
          "date" : "2026-04-17 12:45:38 +0800",
          "id" : "953da3561df41d78a5c16c24cf4e1fdd591c0457",
          "msg" : "fix: straight lane near crane and lock_station",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_status.cpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_status.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/vehicle/vehicle_state.cpp",
            "tasks/deciders/other_decider/replan_decider.cpp",
            "data/vehicle/vehicle_state.hpp",
            "tasks/deciders/other_decider/replan_decider.hpp"
          ],
          "commitId" : "2ee5acf4036f04c2432f15a073512013a5a996a7",
          "timestamp" : 1777003064000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "feat: ssep replan for localization exception.\u000a",
          "date" : "2026-04-24 11:57:44 +0800",
          "id" : "2ee5acf4036f04c2432f15a073512013a5a996a7",
          "msg" : "feat: ssep replan for localization exception.",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tasks/deciders/other_decider/replan_decider.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/other_decider/replan_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/vehicle/vehicle_state.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/vehicle/vehicle_state.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_env_const.hpp",
            "data/vehicle/deviation_status.hpp",
            "data/config/cfg_env_const.cpp",
            "data/vehicle/related_offset.cpp",
            "data/vehicle/deviation_status.cpp"
          ],
          "commitId" : "bdbdf07ffee3dd483a3574814cc002af158221e1",
          "timestamp" : 1777434001000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "feat: waiting for lift traile; using heading error for reversing align\u000a",
          "date" : "2026-04-29 11:40:01 +0800",
          "id" : "bdbdf07ffee3dd483a3574814cc002af158221e1",
          "msg" : "feat: waiting for lift traile; using heading error for reversing align",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/vehicle/related_offset.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/vehicle/deviation_status.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/vehicle/deviation_status.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/keb_optimizer/cost_features/imv_steer_constraint.h",
            "ssep/offboard/path_drawing_tool/hermite_path_generator.cc",
            "ssep/protos/ssep_scenario_type.proto",
            "ssep/param_loader/param.h",
            "ssep/offboard/path_drawing_tool/path_drawing_html_template.cc",
            "ssep/data_structures/path.h",
            "ssep/offboard/path_drawing_tool/hermite_path_generator.h",
            "ssep/keb_optimizer/keb_problem.cc",
            "ssep/coarse_search/searcher_builders/truck_reference_following_searcher_builder.cc",
            "ssep/coarse_search/searcher_builders/truck_reference_following_searcher_builder.h",
            "ssep/scenarios/planner_utils.h",
            "ssep/protos/params.proto",
            "ssep/keb_optimizer/cost_features/imv_kinematic_constraint.h",
            "ssep/coarse_search/searcher_builders/imv_general_searcher_builder.cc",
            "ssep/keb_optimizer/imv_keb_optimizer.h",
            "ssep/maps/ogm.cc",
            "ssep/ssep_planner.h",
            "ssep/offboard/path_drawing_tool/CMakeLists.txt",
            "ssep/keb_optimizer/cost_features/dynamic_constraint.h",
            "ssep/scenarios/truck_general_planner.h",
            "ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc",
            "ssep/keb_optimizer/keb_problem.h",
            "ssep/offboard/path_drawing_tool/path_drawing_html_template.h",
            "ssep/ssep_planner.cc",
            "ssep/data_structures/ssep_scenario_type.hpp",
            "ssep/keb_optimizer/cost_features/dual_side_trailer_disk_collision_cost.h",
            "ssep/offboard/path_drawing_tool/curvature_auto_adjuster_test.cc",
            "ssep/scenarios/straddle_carrier_pick_vehicle_planner.h",
            "ssep/offboard/path_drawing_tool/path_drawing_tool_main.cc",
            "ssep/offboard/path_drawing_tool/curvature_auto_adjuster.h",
            "ssep/keb_optimizer/rigid_truck_keb_optimizer.h",
            "ssep/protos/ogm.proto",
            "ssep/scenarios/planner_utils.cc",
            "ssep/keb_optimizer/tractor_trailer_keb_optimizer.h",
            "ssep/keb_optimizer/keb_utils.h",
            "ssep/data_structures/pose.h",
            "ssep/data_structures/path.cc",
            "ssep/keb_optimizer/cost_features/ref_line_cost.h",
            "ssep/common/utils/scene_frame_visualization.cc",
            "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc",
            "ssep/maps/ogm.h",
            "ssep/keb_optimizer/imv_keb_optimizer.cc",
            "ssep/scenarios/tractor_trailer_general_planner.h",
            "ssep/scenarios/scenario_planner_factory.h",
            "ssep/scenarios/tractor_trailer_short_distance_planner.h",
            "ssep/keb_optimizer/cost_features/dual_side_disk_collision_cost.h",
            "ssep/offboard/path_drawing_tool/curvature_auto_adjuster.cc",
            "ssep/keb_optimizer/cost_features/trailer_disk_collision_cost.h",
            "ssep/keb_optimizer/keb_utils.cc"
          ],
          "commitId" : "ede04268280e71eeaafcd23f5f2844f5f072cc24",
          "timestamp" : 1777435408000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: checkout feat_keb_v2 ssep\u000a",
          "date" : "2026-04-29 12:03:28 +0800",
          "id" : "ede04268280e71eeaafcd23f5f2844f5f072cc24",
          "msg" : "fix: checkout feat_keb_v2 ssep",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/cost_features/trailer_disk_collision_cost.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/maps/ogm.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/cost_features/dual_side_trailer_disk_collision_cost.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/path_drawing_tool/CMakeLists.txt"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/path_drawing_tool/curvature_auto_adjuster.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/cost_features/dynamic_constraint.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/path_drawing_tool/hermite_path_generator.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/tractor_trailer_keb_optimizer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/truck_reference_following_searcher_builder.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/scenarios/straddle_carrier_pick_vehicle_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/data_structures/pose.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/cost_features/dual_side_disk_collision_cost.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/keb_optimizer/cost_features/imv_steer_constraint.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/truck_reference_following_searcher_builder.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/data_structures/path.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/path_drawing_tool/curvature_auto_adjuster_test.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/path_drawing_tool/hermite_path_generator.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/param_loader/param.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/protos/ssep_scenario_type.proto"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/cost_features/ref_line_cost.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/path_drawing_tool/path_drawing_tool_main.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/rigid_truck_keb_optimizer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/planner_utils.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/protos/params.proto"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/planner_utils.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/ssep_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/imv_general_searcher_builder.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/data_structures/ssep_scenario_type.hpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/common/utils/scene_frame_visualization.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/data_structures/path.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_utils.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_general_planner.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/path_drawing_tool/path_drawing_html_template.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/maps/ogm.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/imv_keb_optimizer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/protos/ogm.proto"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_general_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/imv_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_utils.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/scenario_planner_factory.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/scenarios/tractor_trailer_short_distance_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/cost_features/imv_kinematic_constraint.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/ssep_planner.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/path_drawing_tool/curvature_auto_adjuster.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/path_drawing_tool/path_drawing_html_template.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_env_const.hpp",
            "data/decide/decide_reaction.cpp",
            "data/decide/decide_reaction.hpp",
            "data/config/cfg_env_const.cpp",
            "tasks/deciders/other_decider/replan_decider.cpp",
            "data/ssep/forward_ec.cpp"
          ],
          "commitId" : "033ce6e23fb3f58b179636b2c92f34900c2326ff",
          "timestamp" : 1778059823000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: add max_forward_distance_for_straighten_trailer\u000a",
          "date" : "2026-05-06 17:30:23 +0800",
          "id" : "033ce6e23fb3f58b179636b2c92f34900c2326ff",
          "msg" : "fix: add max_forward_distance_for_straighten_trailer",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/other_decider/replan_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/decide/decide_reaction.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/decide/decide_reaction.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/vehicle/deviation_status.cpp"
          ],
          "commitId" : "bdb5bd2633a80a481ed68bb6ae1d2f97276503c4",
          "timestamp" : 1778304282000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: deviation_status bug\u000a",
          "date" : "2026-05-09 13:24:42 +0800",
          "id" : "bdb5bd2633a80a481ed68bb6ae1d2f97276503c4",
          "msg" : "fix: deviation_status bug",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/vehicle/deviation_status.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "scenarios/scenario.cpp",
            "data/config/cfg_func_sw.hpp",
            "data/config/cfg_func_sw.cpp",
            "scenarios/bulkload_scenario/bulkload_ssep_forward_stage.cpp"
          ],
          "commitId" : "b73c2202a26ccc333c2a607a5c3b89fd5c674be2",
          "timestamp" : 1778495406000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: ignore path optimizor in park_in state.\u000a",
          "date" : "2026-05-11 18:30:06 +0800",
          "id" : "b73c2202a26ccc333c2a607a5c3b89fd5c674be2",
          "msg" : "fix: ignore path optimizor in park_in state.",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/bulkload_scenario/bulkload_ssep_forward_stage.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/scenario.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h",
            "ssep/coarse_search/searcher_builders/tractor_trailer_multi_segment_parking_bidirectional_searcher_builder.cc",
            "ssep/scenarios/scenario_planner_factory.h"
          ],
          "commitId" : "71532e52bf8d96d93e36cb1e145955051223af28",
          "timestamp" : 1778742745000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "chore: SSEP: 集卡多段倒车接挂适配超窄库位\u000a\u000a",
          "date" : "2026-05-14 15:12:25 +0800",
          "id" : "71532e52bf8d96d93e36cb1e145955051223af28",
          "msg" : "chore: SSEP: 集卡多段倒车接挂适配超窄库位",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h"
            },
            {
              "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"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "hmi/widget/velocity_chart.cpp",
            "hmi/widget/brake_chart.hpp",
            "hmi/widget/velocity_chart.hpp",
            "hmi/widget/throttle_chart.hpp",
            "hmi/widget/command.hpp",
            "hmi/widget/command.cpp",
            "hmi/common/chart.cpp",
            "hmi/widget/diagnose.cpp",
            "hmi/common/chart.hpp",
            "hmi/widget/steer_chart.cpp",
            "hmi/widget/perf_cost_detail.hpp",
            "hmi/widget/brake_chart.cpp",
            "hmi/widget/steer_chart.hpp",
            "hmi/widget/diagnose.hpp",
            "hmi/widget/throttle_chart.cpp",
            "hmi/widget/perf_cost_detail.cpp"
          ],
          "commitId" : "6e2aa172556961ecc1667144c2c4b149723fab9f",
          "timestamp" : 1779079874000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "refactor:优化界面耗时\u000a",
          "date" : "2026-05-18 12:51:14 +0800",
          "id" : "6e2aa172556961ecc1667144c2c4b149723fab9f",
          "msg" : "refactor:优化界面耗时",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "hmi/widget/diagnose.hpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/common/chart.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/command.hpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/brake_chart.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/velocity_chart.hpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/velocity_chart.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/diagnose.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/perf_cost_detail.hpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/command.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/brake_chart.hpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/throttle_chart.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/steer_chart.hpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/steer_chart.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/perf_cost_detail.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/common/chart.hpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/throttle_chart.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/ssep/forward_ec.cpp",
            "data/ssep/forward_ec.hpp"
          ],
          "commitId" : "7a837db31d1ae105045342716976bc863531d137",
          "timestamp" : 1779089306000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: using straighten replan logic for path_direction_change replan type\u000a",
          "date" : "2026-05-18 15:28:26 +0800",
          "id" : "7a837db31d1ae105045342716976bc863531d137",
          "msg" : "fix: using straighten replan logic for path_direction_change replan type",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h"
          ],
          "commitId" : "1543a6996dc2d5ad2b4d85db678ac7aa56cbc99b",
          "timestamp" : 1779156221000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: SSEP: 解决威海多段倒车距离og墙太近的问题\u000a\u000a",
          "date" : "2026-05-19 10:03:41 +0800",
          "id" : "1543a6996dc2d5ad2b4d85db678ac7aa56cbc99b",
          "msg" : "fix: SSEP: 解决威海多段倒车距离og墙太近的问题",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/keb_optimizer/cost_features/imv_steer_constraint.h",
            "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc",
            "ssep/keb_optimizer/imv_keb_optimizer.cc",
            "ssep/keb_optimizer/imv_keb_optimizer.h",
            "ssep/protos/ssep_scenario_type.proto",
            "ssep/scenarios/tractor_trailer_general_planner.h",
            "ssep/scenarios/scenario_planner_factory.h",
            "ssep/keb_optimizer/keb_problem.cc",
            "ssep/CMakeLists.txt",
            "ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc",
            "ssep/scenarios/planner_utils.cc",
            "ssep/keb_optimizer/tractor_trailer_keb_optimizer.h",
            "ssep/scenarios/planner_utils.h",
            "ssep/keb_optimizer/keb_problem.h",
            "ssep/data_structures/ssep_scenario_type.hpp",
            "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h",
            "ssep/scenarios/straddle_carrier_pick_vehicle_planner.h"
          ],
          "commitId" : "3678afda1f71cbbba3e23f3e023e7cc23bf13eae",
          "timestamp" : 1779157184000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: checkout feat_keb_v2\u000a",
          "date" : "2026-05-19 10:19:44 +0800",
          "id" : "3678afda1f71cbbba3e23f3e023e7cc23bf13eae",
          "msg" : "fix: checkout feat_keb_v2",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/tractor_trailer_keb_optimizer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/rigid_truck_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/planner_utils.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/data_structures/ssep_scenario_type.hpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/imv_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/imv_keb_optimizer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/planner_utils.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/protos/ssep_scenario_type.proto"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/cost_features/imv_steer_constraint.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/scenario_planner_factory.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_general_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/straddle_carrier_pick_vehicle_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/CMakeLists.txt"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/ssep/field_junction_ec.cpp",
            "hmi/draw/draw_map.cpp"
          ],
          "commitId" : "f7fd1e3a50183051c8d0f349ab6a1277aaf7c5db",
          "timestamp" : 1779414813000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 添加不可以区域Z层处理逻辑，优化地图绘制功能\u000a",
          "date" : "2026-05-22 09:53:33 +0800",
          "id" : "f7fd1e3a50183051c8d0f349ab6a1277aaf7c5db",
          "msg" : "feat: 添加不可以区域Z层处理逻辑，优化地图绘制功能",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/ssep/field_junction_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_map.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/ssep/ssep_ec.cpp"
          ],
          "commitId" : "9886e4b876394fd4a6dfc64a6702ea731c82fdc7",
          "timestamp" : 1780054960000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: 修复威海车型不匹配的问题\u000a\u000a",
          "date" : "2026-05-29 19:42:40 +0800",
          "id" : "9886e4b876394fd4a6dfc64a6702ea731c82fdc7",
          "msg" : "fix: 修复威海车型不匹配的问题",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_ec.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h"
          ],
          "commitId" : "c1d8bd5e6ec78c8fef8ec1af66f031be3f0c7505",
          "timestamp" : 1780306162000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "chore: SSEP: 减小集卡多段倒车的最大曲率\u000a\u000a",
          "date" : "2026-06-01 17:29:22 +0800",
          "id" : "c1d8bd5e6ec78c8fef8ec1af66f031be3f0c7505",
          "msg" : "chore: SSEP: 减小集卡多段倒车的最大曲率",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/common/guide_path.cpp",
            "replayer/replayer_data_process/replayer_data_process.cpp"
          ],
          "commitId" : "189d9acb5a0c2e80928154c602b5b3f2f99f0caa",
          "timestamp" : 1780907781000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix:修复快照播放崩溃的bug\u000a",
          "date" : "2026-06-08 16:36:21 +0800",
          "id" : "189d9acb5a0c2e80928154c602b5b3f2f99f0caa",
          "msg" : "fix:修复快照播放崩溃的bug",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/common/guide_path.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/replayer_data_process/replayer_data_process.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/common/guide_path.cpp",
            "replayer/replayer_data_process/replayer_data_process.cpp"
          ],
          "commitId" : "3c014a88a977f1fa72e9a25de08998423c6d4633",
          "timestamp" : 1780986490000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix:修复快照播放崩溃的bug\u000a",
          "date" : "2026-06-09 14:28:10 +0800",
          "id" : "3c014a88a977f1fa72e9a25de08998423c6d4633",
          "msg" : "fix:修复快照播放崩溃的bug",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "replayer/replayer_data_process/replayer_data_process.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/common/guide_path.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/common/utils/clipper2/include/clipper2/clipper.version.h",
            "ssep/keb_optimizer/cost_features/imv_steer_constraint.h",
            "ssep/common/utils/clipper2/src/clipper.triangulation.cpp",
            "ssep/common/utils/clipper2/include/clipper2/clipper.rectclip.h",
            "ssep/common/utils/clipper2/src/clipper.engine.cpp",
            "ssep/keb_optimizer/distance_field_interpolator.h",
            "ssep/common/utils/clipper2/include/clipper2/clipper.engine.h",
            "ssep/keb_optimizer/cost_features/cost_functions.h",
            "ssep/common/utils/clipper2/include/clipper2/clipper.export.h",
            "ssep/keb_optimizer/keb_problem.cc",
            "ssep/maps/ogm_builder.cc",
            "ssep/keb_optimizer/tractor_trailer_keb_optimizer.h",
            "ssep/scenarios/truck_multi_segment_parking_planner.h",
            "ssep/common/utils/clipper2/include/clipper2/clipper.triangulation.h",
            "ssep/scenarios/truck_accurate_reversing_planner.h",
            "ssep/keb_optimizer/cost_features/sdf_disk_collision_cost.h",
            "ssep/keb_optimizer/cost_features/imv_kinematic_constraint.h",
            "ssep/common/utils/clipper2/include/clipper2/clipper.core.h",
            "ssep/common/utils/clipper2/include/clipper2/clipper.minkowski.h",
            "ssep/scenarios/tractor_trailer_enter_yard_planner.h",
            "ssep/maps/ogm.h",
            "ssep/keb_optimizer/imv_keb_optimizer.cc",
            "ssep/scenarios/scenario_planner_factory.h",
            "ssep/maps/ogm.cc",
            "ssep/common/utils/clipper2/include/clipper2/clipper.offset.h",
            "ssep/CMakeLists.txt",
            "ssep/data_structures/polyline.cc",
            "ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc",
            "ssep/maps/ogm_config_utils.cc",
            "ssep/common/utils/clipper2/src/clipper.offset.cpp",
            "ssep/common/utils/clipper2/src/clipper.rectclip.cpp",
            "ssep/scenarios/truck_accurate_reversing_planner.cc",
            "ssep/keb_optimizer/keb_problem.h",
            "ssep/maps/ogm_builder.h",
            "ssep/common/utils/clipper2/include/clipper2/clipper.h",
            "ssep/ssep_planner.cc",
            "ssep/maps/ogm_config_utils.h"
          ],
          "commitId" : "2be0f64285d53b8256901d73c26151fdc29e4962",
          "timestamp" : 1781615121000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: check out feat_keb_v2 ssep\u000a",
          "date" : "2026-06-16 21:05:21 +0800",
          "id" : "2be0f64285d53b8256901d73c26151fdc29e4962",
          "msg" : "fix: check out feat_keb_v2 ssep",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/cost_features/imv_kinematic_constraint.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_accurate_reversing_planner.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/common/utils/clipper2/include/clipper2/clipper.offset.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/common/utils/clipper2/src/clipper.engine.cpp"
            },
            {
              "editType" : "add",
              "file" : "ssep/maps/ogm_config_utils.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/common/utils/clipper2/src/clipper.offset.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_multi_segment_parking_planner.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/common/utils/clipper2/include/clipper2/clipper.minkowski.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/common/utils/clipper2/include/clipper2/clipper.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/maps/ogm_config_utils.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/keb_optimizer/cost_features/cost_functions.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/common/utils/clipper2/include/clipper2/clipper.triangulation.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_enter_yard_planner.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/common/utils/clipper2/include/clipper2/clipper.rectclip.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/imv_keb_optimizer.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/keb_optimizer/distance_field_interpolator.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/keb_optimizer/cost_features/sdf_disk_collision_cost.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/ssep_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/scenario_planner_factory.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/common/utils/clipper2/include/clipper2/clipper.export.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/tractor_trailer_keb_optimizer.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/common/utils/clipper2/src/clipper.rectclip.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/maps/ogm.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/common/utils/clipper2/include/clipper2/clipper.version.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/maps/ogm.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/cost_features/imv_steer_constraint.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/maps/ogm_builder.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_accurate_reversing_planner.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/common/utils/clipper2/include/clipper2/clipper.core.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/maps/ogm_builder.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/data_structures/polyline.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/common/utils/clipper2/include/clipper2/clipper.engine.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/common/utils/clipper2/src/clipper.triangulation.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_env_const.hpp",
            "data/config/cfg_env_const.cpp",
            "data/ssep/forward_ec.cpp"
          ],
          "commitId" : "06e526f2797cfcdd974b7b87376af8b99a580769",
          "timestamp" : 1781697819000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: add ssep_forward_ec_tail_straight_distance\u000a",
          "date" : "2026-06-17 20:03:39 +0800",
          "id" : "06e526f2797cfcdd974b7b87376af8b99a580769",
          "msg" : "fix: add ssep_forward_ec_tail_straight_distance",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tasks/deciders/other_decider/replan_decider.cpp"
          ],
          "commitId" : "4da237d56ec56e6398403c46895e6244eef96c09",
          "timestamp" : 1781700584000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: ssep replan bug\u000a",
          "date" : "2026-06-17 20:49:44 +0800",
          "id" : "4da237d56ec56e6398403c46895e6244eef96c09",
          "msg" : "fix: ssep replan bug",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tasks/deciders/other_decider/replan_decider.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "algorithm/wbca/CLAUDE.md",
            "algorithm/wbca/wbca_manager.cpp",
            "data/config/cfg_lat_plan.hpp",
            "data/wbca/wbca_data.cpp",
            "algorithm/wbca/wbca_manager.hpp",
            "data/config/cfg_lat_plan.cpp",
            "algorithm/wbca/path_optimization/path_optimization.hpp",
            "hmi/draw/draw_wbca_rlt.cpp",
            "algorithm/wbca/path_optimization/path_optimization.cpp",
            "data/wbca/wbca_data.hpp",
            "algorithm/wbca/path_optimization/car_path_optimization.cpp"
          ],
          "commitId" : "4dcac11418b95fc075568d6f72b6105e1eb81876",
          "timestamp" : 1782204387000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: wbca warm start\u000a",
          "date" : "2026-06-23 16:46:27 +0800",
          "id" : "4dcac11418b95fc075568d6f72b6105e1eb81876",
          "msg" : "fix: wbca warm start",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "algorithm/wbca/path_optimization/car_path_optimization.cpp"
            },
            {
              "editType" : "edit",
              "file" : "algorithm/wbca/path_optimization/path_optimization.hpp"
            },
            {
              "editType" : "add",
              "file" : "algorithm/wbca/CLAUDE.md"
            },
            {
              "editType" : "edit",
              "file" : "algorithm/wbca/wbca_manager.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/wbca/wbca_data.hpp"
            },
            {
              "editType" : "edit",
              "file" : "algorithm/wbca/path_optimization/path_optimization.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_plan.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_plan.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_wbca_rlt.cpp"
            },
            {
              "editType" : "edit",
              "file" : "algorithm/wbca/wbca_manager.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/wbca/wbca_data.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/dp_poly_path/trajectory_cost.hpp",
            "data/boundary/driving_corridor.cpp",
            "data/dp_poly_path/decision_trace.hpp",
            "data/map/reference/reference_road_section.cpp",
            "hmi/replayer_hmi.hpp",
            "data/config/cfg_lat_decide.cpp",
            "tasks/deciders/lat_decider/side_pass_decider.cpp",
            "data/config/cfg_func_sw.hpp",
            "data/dp_poly_path/trajectory_cost.cpp",
            "data/config/cfg_lat_decide.hpp",
            "hmi/replayer_hmi.cpp",
            "data/boundary/driving_corridor.hpp",
            "data/dp_poly_path/comparable_cost.cpp",
            "data/dp_poly_path/dp_road_graph.cpp",
            "tasks/deciders/lat_decider/trailer_side_pass_decider.cpp",
            "data/obstacle/ogm.cpp",
            "hmi/node_hmi.hpp",
            "hmi/widget/dp_decision_detail.cpp",
            "data/dp_poly_path/dp_road_graph.hpp",
            "data/dp_poly_path/decision_trace.cpp",
            "hmi/widget/dp_decision_detail.hpp",
            "hmi/draw/draw_map.cpp",
            "hmi/node_hmi.cpp"
          ],
          "commitId" : "647ec1732b820ba83e13e1fed8fd0a942751f793",
          "timestamp" : 1782288449000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: side-pass 决策 gap-graph 重构 + 决策可观测化\u000a\u000a- CompareTo 纳入全分项软代价(path_l/dl/ddl/his/end), 修旧逻辑只比\u000a  safety+smoothness 致调参失效(PNC_DP_LEGACY_COMPARE 可回退)\u000a- BuildGaps 的 side 绑真实障碍(STATIC_OBS), 纯几何偏置不报绕行\u000a- label 加位移阈值门控 + 搜索失败 dp_search_ok_ gating, 直行/退化不误报左右绕行\u000a- 终点后持住 corridor 边界, 治末端假 OOB 致\"先右再左\"虚假 S\u000a- path_l 目标取 gap 中心(ref_l) + 权重 200->800, 绕障后正常回目标车道\u000a- 碰撞 cost 收口 box-to-SDF + 稠密采样; s_base_ego 提到构造期(~500->20ms)\u000a- 新增 decision_trace + HMI\"DP决策过程\"窗口(可视化决策)\u000a- 清理两段式 DP 死代码(RefineDlAlongPath/CalculateDrivingCorridorCost/旧 mean-filter)\u000a\u000a注: OOB/OOL 硬约束当前停用, 仅 collision 为硬约束, 下一版评估重启。\u000a",
          "date" : "2026-06-24 16:07:29 +0800",
          "id" : "647ec1732b820ba83e13e1fed8fd0a942751f793",
          "msg" : "feat: side-pass 决策 gap-graph 重构 + 决策可观测化",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/trajectory_cost.hpp"
            },
            {
              "editType" : "add",
              "file" : "data/dp_poly_path/decision_trace.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/node_hmi.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/map/reference/reference_road_section.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/ogm.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/lat_decider/side_pass_decider.cpp"
            },
            {
              "editType" : "add",
              "file" : "hmi/widget/dp_decision_detail.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/trajectory_cost.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_map.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/node_hmi.hpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/replayer_hmi.cpp"
            },
            {
              "editType" : "add",
              "file" : "data/dp_poly_path/decision_trace.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/dp_road_graph.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/comparable_cost.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/lat_decider/trailer_side_pass_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_decide.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.hpp"
            },
            {
              "editType" : "add",
              "file" : "hmi/widget/dp_decision_detail.hpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/replayer_hmi.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/dp_road_graph.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_decide.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "algorithm/wbca/occupancy_grid_map/data_render.cpp"
          ],
          "commitId" : "2c37a2fae2e741934afe42afb7ec9952e4e120bb",
          "timestamp" : 1782288449000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 扩大 data_render 地图渲染范围边距 (10->15m)\u000a",
          "date" : "2026-06-24 16:07:29 +0800",
          "id" : "2c37a2fae2e741934afe42afb7ec9952e4e120bb",
          "msg" : "fix: 扩大 data_render 地图渲染范围边距 (10->15m)",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "algorithm/wbca/occupancy_grid_map/data_render.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/dp_poly_path/trajectory_cost.cpp"
          ],
          "commitId" : "a1953cd190a89113585fdb021e15ad8b2bb95702",
          "timestamp" : 1782293786000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: path_l 的 ref_l 取 gap 内离车道中心最近的 l(非几何中心)\u000a\u000a- ref_l = clamp(0, gap_lower, gap_upper): 障碍轻微侵入只付最小偏移清障,\u000a  不再被拽到 gap 中间过度绕行; 障碍走后 gap 含 0 自动回正\u000a- dl/ddl 物理化车速上限 3.3->8.0m/s\u000a",
          "date" : "2026-06-24 17:36:26 +0800",
          "id" : "a1953cd190a89113585fdb021e15ad8b2bb95702",
          "msg" : "fix: path_l 的 ref_l 取 gap 内离车道中心最近的 l(非几何中心)",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/trajectory_cost.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tasks/deciders/lat_decider/path_bounds_decider.cpp",
            "tasks/plan/smooth_task.cpp"
          ],
          "commitId" : "9449d4498e013ed06dfa7fed504ef9ad27c19b42",
          "timestamp" : 1782369149000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 下码头面偏离参考线时扩大 path boundary 以避免 PJPO 求解失败\u000a\u000a在 GetBoundaryFromKinetics 中, 除 IsInIntoYardPlanner 外, 海侧路口区域\u000a(IsInSeasideJunctionRegion) 同样触发 ssep_into_yard_replan 路径边界扩大,\u000a解决下码头面车辆偏离参考线时 PJPO 因边界过窄求解失败的问题。\u000a\u000a附带补充 SmoothTask 起点平滑日志(start_ref_point/overlap_distance)便于排查。\u000a",
          "date" : "2026-06-25 14:32:29 +0800",
          "id" : "9449d4498e013ed06dfa7fed504ef9ad27c19b42",
          "msg" : "fix: 下码头面偏离参考线时扩大 path boundary 以避免 PJPO 求解失败",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tasks/deciders/lat_decider/path_bounds_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/smooth_task.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tasks/deciders/lat_decider/path_bounds_decider.cpp"
          ],
          "commitId" : "1300c30323d09a36379a87b9382c98a54dbddcb6",
          "timestamp" : 1782369456000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 开放空间区域同样扩大 path boundary 避免 PJPO 求解失败\u000a\u000aGetBoundaryFromKinetics 触发条件再补充 IsInOpenSpaceRegion, 使开放空间\u000a区域偏离参考线时也走 ssep_into_yard_replan 边界扩大逻辑。\u000a",
          "date" : "2026-06-25 14:37:36 +0800",
          "id" : "1300c30323d09a36379a87b9382c98a54dbddcb6",
          "msg" : "fix: 开放空间区域同样扩大 path boundary 避免 PJPO 求解失败",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tasks/deciders/lat_decider/path_bounds_decider.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/ssep/into_yard_junction_ec.cpp"
          ],
          "commitId" : "7abef0590c3c44991f903f297a31e23c889fd76d",
          "timestamp" : 1782371549000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 大榭普通堆高机场地放宽终点约束距离, 修复进堆场 SSEP 搜索失败\u000a\u000aGetEndStraightDis 中 DAXIE 区域且 is_normal_stacking_yard_ 时, terminal_constrain_dis\u000a直接取 dst_accu_distance_after_end_stop_line_(不再扣除 5m straighten_extend_buffer),\u000a避免 end_straighten_dis_ 被过度压缩导致进堆场 SSEP 搜索失败。\u000a",
          "date" : "2026-06-25 15:12:29 +0800",
          "id" : "7abef0590c3c44991f903f297a31e23c889fd76d",
          "msg" : "fix: 大榭普通堆高机场地放宽终点约束距离, 修复进堆场 SSEP 搜索失败",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/ssep/into_yard_junction_ec.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/lattice/trajectory_evaluator.cpp"
          ],
          "commitId" : "a605b97d260908f14442ab19f80625592247786b",
          "timestamp" : 1782378493000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: low speed issues in wbca smooth mode.\u000a",
          "date" : "2026-06-25 17:08:13 +0800",
          "id" : "a605b97d260908f14442ab19f80625592247786b",
          "msg" : "fix: low speed issues in wbca smooth mode.",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/lattice/trajectory_evaluator.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/scenarios/scenario_planner_factory.h",
            "data/ssep/forward_ec.cpp"
          ],
          "commitId" : "07eb31a244cc3de07964b5f3d358a92c018d27bc",
          "timestamp" : 1782396554000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 拖挂进堆场无 passing 途径点时改用单段倒车\u000a\u000aTT 进堆场场景下, 当搜索不到 passing 途径点\u000a(is_have_search_passing_pt_ 为 false)时, 改用\u000akTractorTrailerSingleSegmentParking 单段倒车规划;\u000a并恢复 ScenarioPlannerFactory 中单段倒车 planner 的真正构造\u000a(原先复用 MultiSegmentParkingPlanner)。\u000a",
          "date" : "2026-06-25 22:09:14 +0800",
          "id" : "07eb31a244cc3de07964b5f3d358a92c018d27bc",
          "msg" : "feat: 拖挂进堆场无 passing 途径点时改用单段倒车",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/scenario_planner_factory.h"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/ssep/forward_ec.cpp"
          ],
          "commitId" : "07b2fc4bc1c371c934630950681f4c92633efd1c",
          "timestamp" : 1782403360000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 只有当任务是倒车去货堆的时候，才用单段倒车搜索\u000a",
          "date" : "2026-06-26 00:02:40 +0800",
          "id" : "07b2fc4bc1c371c934630950681f4c92633efd1c",
          "msg" : "feat: 只有当任务是倒车去货堆的时候，才用单段倒车搜索",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "algorithm/wbca/path_optimization/path_optimization.cpp",
            "data/lattice/trajectory_evaluator.cpp"
          ],
          "commitId" : "1963653688c02cfef4cbf429420de584894b5d4e",
          "timestamp" : 1782481585000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: speed down unexpectly in wbca smooth mode.\u000a",
          "date" : "2026-06-26 21:46:25 +0800",
          "id" : "1963653688c02cfef4cbf429420de584894b5d4e",
          "msg" : "fix: speed down unexpectly in wbca smooth mode.",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/lattice/trajectory_evaluator.cpp"
            },
            {
              "editType" : "edit",
              "file" : "algorithm/wbca/path_optimization/path_optimization.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "hmi/widget/pnc_mat_shared.cpp",
            "hmi/draw/draw_all.cpp",
            "data/config/cfg_hmi.hpp",
            "hmi/draw/draw_perception.cpp",
            "data/config/cfg_hmi.cpp",
            "hmi/draw/draw_perception.hpp",
            "hmi/replayer_hmi.cpp",
            "hmi/node_hmi.cpp"
          ],
          "commitId" : "337331696f6c7457d80ba670e544785cce1f1388",
          "timestamp" : 1782644837000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: HMI 新增上层/下层点云显示切换开关\u000a",
          "date" : "2026-06-28 19:07:17 +0800",
          "id" : "337331696f6c7457d80ba670e544785cce1f1388",
          "msg" : "feat: HMI 新增上层/下层点云显示切换开关",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_all.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_hmi.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_perception.hpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/replayer_hmi.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/node_hmi.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/pnc_mat_shared.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_hmi.hpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_perception.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/ssep/forward_ec.cpp"
          ],
          "commitId" : "06b01ceaca976539485bce73dd8b321d33976894",
          "timestamp" : 1782708622000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 在 ExecPreparation 中为 LIANG_SHAN_GANG 区域添加新的场景类型处理\u000a",
          "date" : "2026-06-29 12:50:22 +0800",
          "id" : "06b01ceaca976539485bce73dd8b321d33976894",
          "msg" : "feat: 在 ExecPreparation 中为 LIANG_SHAN_GANG 区域添加新的场景类型处理",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "algorithm/wbca/wbca_manager.cpp",
            "data/wbca/wbca_data.hpp",
            "tasks/plan/path_optimization_task.cpp"
          ],
          "commitId" : "31d0b0cfe91a666249742d2a2b5772803c169e90",
          "timestamp" : 1782809890000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: warm-start bug\u000a",
          "date" : "2026-06-30 16:58:10 +0800",
          "id" : "31d0b0cfe91a666249742d2a2b5772803c169e90",
          "msg" : "fix: warm-start bug",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tasks/plan/path_optimization_task.cpp"
            },
            {
              "editType" : "edit",
              "file" : "algorithm/wbca/wbca_manager.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/wbca/wbca_data.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "algorithm/plan/pjpo.cpp",
            "math/piecewise_jerk/piecewise_jerk_problem.hpp",
            "Testing/pjpo_case_test.cpp",
            "math/piecewise_jerk/piecewise_jerk_path_problem.hpp",
            "math/piecewise_jerk/piecewise_jerk_problem.cpp",
            "algorithm/plan/pjpo.hpp",
            "tasks/plan/pjpo_task.cpp",
            "math/piecewise_jerk/piecewise_jerk_path_problem.cpp"
          ],
          "commitId" : "5179362f8c2c571223ae21362104e56d159f7504",
          "timestamp" : 1782871351000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: PJPO 增加软曲率约束并优化起点处理\u000a\u000a- piecewise_jerk 支持软曲率约束(kappa_ref/kappa_max/slack)及 all_soft 回退\u000a- pjpo 起点 init_dl/init_ddl 限幅收紧, 消除起点曲率尖峰与外扩自激\u000a- 补充 pjpo 曲率约束相关测试\u000a- 清理 PJPO 调试 trace 日志\u000a",
          "date" : "2026-07-01 10:02:31 +0800",
          "id" : "5179362f8c2c571223ae21362104e56d159f7504",
          "msg" : "feat: PJPO 增加软曲率约束并优化起点处理",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tasks/plan/pjpo_task.cpp"
            },
            {
              "editType" : "edit",
              "file" : "math/piecewise_jerk/piecewise_jerk_problem.hpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/pjpo_case_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "algorithm/plan/pjpo.cpp"
            },
            {
              "editType" : "edit",
              "file" : "algorithm/plan/pjpo.hpp"
            },
            {
              "editType" : "edit",
              "file" : "math/piecewise_jerk/piecewise_jerk_problem.cpp"
            },
            {
              "editType" : "edit",
              "file" : "math/piecewise_jerk/piecewise_jerk_path_problem.hpp"
            },
            {
              "editType" : "edit",
              "file" : "math/piecewise_jerk/piecewise_jerk_path_problem.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "algorithm/wbca/wbca_manager.cpp"
          ],
          "commitId" : "10f7f31561bf716f4955bb7cd57731f3273c79be",
          "timestamp" : 1782871351000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复优化函数中的逻辑错误并注释掉历史记录的日志输出\u000a",
          "date" : "2026-07-01 10:02:31 +0800",
          "id" : "10f7f31561bf716f4955bb7cd57731f3273c79be",
          "msg" : "fix: 修复优化函数中的逻辑错误并注释掉历史记录的日志输出",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "algorithm/wbca/wbca_manager.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "replayer/replayer_data_process/replayer_data_process.cpp"
          ],
          "commitId" : "4d78466fe82dea4a84536573dddd1e919845738c",
          "timestamp" : 1782871351000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 在 HandleMap 中添加地图包络和中心线信息的条件判断，优化路径处理\u000a",
          "date" : "2026-07-01 10:02:31 +0800",
          "id" : "4d78466fe82dea4a84536573dddd1e919845738c",
          "msg" : "feat: 在 HandleMap 中添加地图包络和中心线信息的条件判断，优化路径处理",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "replayer/replayer_data_process/replayer_data_process.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/vehicle_kinematics.hpp",
            "math/dubins_curve/dubins_curve.hpp"
          ],
          "commitId" : "5096b32eda38e36dd36c5fe221da30c5f292fbbb",
          "timestamp" : 1782871351000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 添加车辆最大曲率计算函数，优化运动学处理\u000a",
          "date" : "2026-07-01 10:02:31 +0800",
          "id" : "5096b32eda38e36dd36c5fe221da30c5f292fbbb",
          "msg" : "feat: 添加车辆最大曲率计算函数，优化运动学处理",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "math/dubins_curve/dubins_curve.hpp"
            },
            {
              "editType" : "add",
              "file" : "data/config/vehicle_kinematics.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tasks/deciders/lat_decider/path_bounds_decider.cpp"
          ],
          "commitId" : "9479ca66d8170cfe4fa3690159078b8b15007c3c",
          "timestamp" : 1782871351000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 在 GetBoundaryFromKinetics 中添加场景管理器判断，优化路径边界计算\u000a",
          "date" : "2026-07-01 10:02:31 +0800",
          "id" : "9479ca66d8170cfe4fa3690159078b8b15007c3c",
          "msg" : "feat: 在 GetBoundaryFromKinetics 中添加场景管理器判断，优化路径边界计算",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tasks/deciders/lat_decider/path_bounds_decider.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/plan/start_point_data.cpp"
          ],
          "commitId" : "fa2abd108cca9a9750fbfd1e337f396488428f32",
          "timestamp" : 1782871351000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 在 GetLatPoint 中添加起点曲率限制，优化车辆运动学处理\u000a",
          "date" : "2026-07-01 10:02:31 +0800",
          "id" : "fa2abd108cca9a9750fbfd1e337f396488428f32",
          "msg" : "feat: 在 GetLatPoint 中添加起点曲率限制，优化车辆运动学处理",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/plan/start_point_data.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tasks/deciders/long_decider/constrain_decider.cpp",
            "data/boundary/driving_corridor.cpp",
            "data/config/cfg_safe_const.cpp",
            "data/boundary/driving_corridor.hpp"
          ],
          "commitId" : "6b3686799b5b0bf0f52e1504690f0e9f83fedc4b",
          "timestamp" : 1782871351000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 绕行边界按窄区逐段限速\u000a\u000a- driving_corridor 沿路径找出所有狭窄区段, 每段输出 (限速, 段入口距离),\u000a  带帧间非对称 EMA 滤波(降速即时跟手, 升速平滑防抖)\u000a- constrain_decider 逐段生成 BOUNDARY_SPEED_LIMIT 约束, 替代原来只取单一最紧段\u000a- max_boundary_distance_thr 默认值 0.5 -> 1.0\u000a",
          "date" : "2026-07-01 10:02:31 +0800",
          "id" : "6b3686799b5b0bf0f52e1504690f0e9f83fedc4b",
          "msg" : "feat: 绕行边界按窄区逐段限速",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_safe_const.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/long_decider/constrain_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/dp_poly_path/dp_road_graph.cpp"
          ],
          "commitId" : "f910b7a15ff0398609db9788a061bc656e371f4d",
          "timestamp" : 1782871351000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 在 SamplePathWaypoints 中添加居中候选点处理，优化路径平滑性\u000a",
          "date" : "2026-07-01 10:02:31 +0800",
          "id" : "f910b7a15ff0398609db9788a061bc656e371f4d",
          "msg" : "feat: 在 SamplePathWaypoints 中添加居中候选点处理，优化路径平滑性",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/dp_road_graph.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_env_const.hpp",
            "data/config/cfg_env_const.cpp",
            "data/config/cfg_func_sw.hpp",
            "data/config/cfg_func_sw.cpp",
            "data/plan/switch_data.cpp"
          ],
          "commitId" : "9624291215338496e187f6dbea51bf396793dadb",
          "timestamp" : 1782871351000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 变道安全动态障碍物碰撞判定引入 s-t 时空耦合\u000a\u000a- CheckObjSafe 对速度足够的动态障碍物, 要求自车比其晚到冲突点至少 dt_gate\u000a  (跟在其后变道), 过滤\"障碍物未来才驶入路径\"的纯空间重叠误判\u000a- 障碍物过慢(< obj_min_v_kmh)时退回空间包络判定\u000a- 新增开关 use_func_lane_change_st_time_gate_ 及 dt_gate / obj_min_v 阈值\u000a",
          "date" : "2026-07-01 10:02:31 +0800",
          "id" : "9624291215338496e187f6dbea51bf396793dadb",
          "msg" : "feat: 变道安全动态障碍物碰撞判定引入 s-t 时空耦合",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/switch_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/plan/switch_data.hpp",
            "data/obstacle/ogm.hpp",
            "hmi/draw/draw_area.hpp",
            "data/obstacle/ogm.cpp",
            "hmi/draw/draw_area.cpp",
            "data/plan/switch_data.cpp"
          ],
          "commitId" : "d20241afcc9d6c272f34f1243940f25b71ac3512",
          "timestamp" : 1782888173000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 变道 OGM 碰撞检测点 HMI 标红可视化\u000a\u000aCheckOgmSafe 收集落进安全检测区的 OGM 占用栅格点存入 switch_data(不序列化),\u000aDrawUnsafeArea 单独用 DrawOgmCrashPoints 标红, 直观显示哪块碰撞导致变道不安全。\u000aupper/underlying 两层都判断, 下层碰撞时短路跳过上层。\u000a",
          "date" : "2026-07-01 14:42:53 +0800",
          "id" : "d20241afcc9d6c272f34f1243940f25b71ac3512",
          "msg" : "feat: 变道 OGM 碰撞检测点 HMI 标红可视化",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/plan/switch_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/switch_data.hpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_area.hpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_area.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/ogm.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/ogm.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_safe_const.hpp",
            "data/config/cfg_safe_const.cpp",
            "data/plan/switch_data.cpp"
          ],
          "commitId" : "858a29dc3f9fbae8884fdb3a960bde21ab32dae4",
          "timestamp" : 1782888195000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 锁站变道安全校验距离引入可配 buffer 并修正近距障碍物低速阈值\u000a\u000a新增 lock_station_lane_change_safety_check_distance_buffer_ 配置项,\u000a锁站(NEAR_SEASIDE_PASSING_PT)变道时用该 buffer 替代固定 +5.0;\u000a修正 obstacle_near_speed_lower_thr_ 误写成 upper_thr 的赋值 bug。\u000a",
          "date" : "2026-07-01 14:43:15 +0800",
          "id" : "858a29dc3f9fbae8884fdb3a960bde21ab32dae4",
          "msg" : "feat: 锁站变道安全校验距离引入可配 buffer 并修正近距障碍物低速阈值",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/plan/switch_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_safe_const.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_safe_const.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/plan/cloud_trajectory.hpp"
          ],
          "commitId" : "f6d0e176d8025a627708fd454a1718c4e88279a3",
          "timestamp" : 1782904271000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 更新 CloudTrajectory 中 curr_time_ 的初始化方式为当前时间的纳秒表示\u000a",
          "date" : "2026-07-01 19:11:11 +0800",
          "id" : "f6d0e176d8025a627708fd454a1718c4e88279a3",
          "msg" : "feat: 更新 CloudTrajectory 中 curr_time_ 的初始化方式为当前时间的纳秒表示",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/plan/cloud_trajectory.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tasks/plan/pjpo_task.cpp",
            "data/plan/smooth_data.cpp",
            "tasks/plan/pjpo_task.hpp"
          ],
          "commitId" : "80c250f8be27a904517a193a311e26ac498da3fc",
          "timestamp" : 1782904566000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 添加 UpdateAllSoftFallback 方法以处理软回退逻辑\u000a",
          "date" : "2026-07-01 19:16:06 +0800",
          "id" : "80c250f8be27a904517a193a311e26ac498da3fc",
          "msg" : "feat: 添加 UpdateAllSoftFallback 方法以处理软回退逻辑",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tasks/plan/pjpo_task.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/pjpo_task.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/smooth_data.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/ssep/into_yard_junction_ec.hpp",
            "data/config/cfg_env_const.hpp",
            "data/config/cfg_env_const.cpp",
            "data/other/flow_control.cpp",
            "sink/ros_sink_pnc_status.cpp",
            "data/ssep/into_yard_junction_ec.cpp"
          ],
          "commitId" : "ce31279bb682e41671ddb24b9492931ff61a33f8",
          "timestamp" : 1782971969000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 堆场偏移区配置改用 YardType 枚举, 新增入口高处障碍物类型并延长拉直距离\u000a",
          "date" : "2026-07-02 13:59:29 +0800",
          "id" : "ce31279bb682e41671ddb24b9492931ff61a33f8",
          "msg" : "feat: 堆场偏移区配置改用 YardType 枚举, 新增入口高处障碍物类型并延长拉直距离",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/other/flow_control.cpp"
            },
            {
              "editType" : "edit",
              "file" : "sink/ros_sink_pnc_status.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/into_yard_junction_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/into_yard_junction_ec.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/ssep/open_space_ec.cpp",
            "data/ssep/online_region_contour_creator.cpp",
            "data/ssep/online_region_contour_creator.hpp",
            "data/ssep/into_yard_junction_ec.cpp"
          ],
          "commitId" : "ae24d17730da1b191f820edea7d5220a2962418c",
          "timestamp" : 1782982146000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "重构: 抽取搜索起点车头车挂框构造为静态函数并复用于入堆场区域\u000a\u000a- 新增 OnlineRegionContourCreator::AddStartPostureBoxes 静态函数, 集中生成膨胀后的车头(及车挂)框\u000a- open_space_ec 起点框内联逻辑改为调用该函数\u000a- into_yard_junction_ec 构建 plan_region_contour 时合并起点框, 并集失败则保持原轮廓兜底\u000a",
          "date" : "2026-07-02 16:49:06 +0800",
          "id" : "ae24d17730da1b191f820edea7d5220a2962418c",
          "msg" : "重构: 抽取搜索起点车头车挂框构造为静态函数并复用于入堆场区域",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/ssep/open_space_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/online_region_contour_creator.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/online_region_contour_creator.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/into_yard_junction_ec.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "scenarios/stage.cpp"
          ],
          "commitId" : "784a12f724aaa5b3dd616e8bdb2a0cb8cedf31c7",
          "timestamp" : 1782990116000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "修复任务选择器组内多条件匹配语义: AND 改为 OR, 命中任一条件即选中该 group\u000a",
          "date" : "2026-07-02 19:01:56 +0800",
          "id" : "784a12f724aaa5b3dd616e8bdb2a0cb8cedf31c7",
          "msg" : "修复任务选择器组内多条件匹配语义: AND 改为 OR, 命中任一条件即选中该 group",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "scenarios/stage.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tasks/plan/keb_lane_follow_path_task.cpp"
          ],
          "commitId" : "a273ae3308da88e7fc03620dc4a70709a612ef68",
          "timestamp" : 1782993134000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat:调整参考线权重，从 0.0 修改为 3.0，以增强路径优化效果\u000a",
          "date" : "2026-07-02 19:52:14 +0800",
          "id" : "a273ae3308da88e7fc03620dc4a70709a612ef68",
          "msg" : "feat:调整参考线权重，从 0.0 修改为 3.0，以增强路径优化效果",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_lane_follow_path_task.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/scenario/scenario_region_condition.cpp",
            "data/scenario/scenario_region_bt.cpp"
          ],
          "commitId" : "c5b39c782d006de4f947e84ec668040e494ccceb",
          "timestamp" : 1783004580000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "场景决策: 修复弯道 NORMAL 兜底与直行上下桥中误判\u000a\u000a- U/S 弯 NORMAL 兜底判据统一为 BendForwardIntersection, 让桥后及海侧弯后短桥的弯能进 *_NORMAL_*_BEFORE(原 CurrentBendOut<LAT/LONG> 门挡住桥上游拓扑, 卡在 seaside INSIDE)\u000a- 直行上/下桥中判据 StraightUp/DownBridgeInside 补前方 IsBend 早退, 与 Before 版对齐; 前方有弯道时不再误判为直行下桥中, 修复 BRIDGE_MULTI_LANES 被 STRAIGHT_INTO_BRIDGE_DOWN_*_INSIDE 遮蔽\u000a",
          "date" : "2026-07-02 23:03:00 +0800",
          "id" : "c5b39c782d006de4f947e84ec668040e494ccceb",
          "msg" : "场景决策: 修复弯道 NORMAL 兜底与直行上下桥中误判",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/scenario/scenario_region_bt.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/scenario/scenario_region_condition.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/scenario/scenario_planner_action.cpp"
          ],
          "commitId" : "6338f049dce7309fbaf604edd2263cc1c8ae4813",
          "timestamp" : 1783005178000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "BTActRunPlanner: 进入海侧路口区域时退出常规 planner\u000a",
          "date" : "2026-07-02 23:12:58 +0800",
          "id" : "6338f049dce7309fbaf604edd2263cc1c8ae4813",
          "msg" : "BTActRunPlanner: 进入海侧路口区域时退出常规 planner",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/scenario/scenario_planner_action.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_func_sw.cpp",
            "tasks/plan/keb_utils.cpp",
            "data/config/cfg_func_sw.hpp"
          ],
          "commitId" : "a25baa9e9cb5613bb51bb21e539e6603ae38404b",
          "timestamp" : 1783306834000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "KEB 补充路边点云(TYPE_ROADSIDE)作为障碍规避\u000a\u000a碰撞检测不需要路边点, 故 prepare 阶段未写入 OGM 栅格。KEB 在栅格副本上\u000a补画下层路边采样点再抽取轮廓线, 不污染碰撞用栅格。新增开关\u000ause_func_keb_add_roadside_segments_(默认 false), 仅下层补充。\u000a",
          "date" : "2026-07-06 11:00:34 +0800",
          "id" : "a25baa9e9cb5613bb51bb21e539e6603ae38404b",
          "msg" : "KEB 补充路边点云(TYPE_ROADSIDE)作为障碍规避",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_utils.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tasks/deciders/lat_decider/path_bounds_decider.cpp"
          ],
          "commitId" : "e2051b889c484d409656f2b7cb140f165cd0290a",
          "timestamp" : 1783316588000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "path_bounds: 出库 planner 也纳入 kinetics 边界特殊处理\u000a",
          "date" : "2026-07-06 13:43:08 +0800",
          "id" : "e2051b889c484d409656f2b7cb140f165cd0290a",
          "msg" : "path_bounds: 出库 planner 也纳入 kinetics 边界特殊处理",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tasks/deciders/lat_decider/path_bounds_decider.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/map/pnc_map/routing_extension/routing_data.cpp",
            "data/map/envelop/map_envelop.cpp",
            "data/ssep/into_yard_junction_ec.cpp",
            "data/map/reference/reference_road_section.cpp"
          ],
          "commitId" : "6fcf82b0d13d1090da452028fdc98749dc16409d",
          "timestamp" : 1783321715000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "修复 GetRoadType 调用点未校验 lane 空指针导致的崩溃隐患\u000a\u000aGetRoadType 内部 CHECK_NOTNULL, 传 null 直接 FATAL。\u000a- routing_data GetOpenSpaceShapeMode: lane/pre_lane/suc_lane 判空后返回 PARALLEL\u000a- into_yard_junction_ec: 修正 lane_ptr 判空顺序倒置\u000a- reference_road_section/map_envelop: .lane 为 null 时降级为 ROAD_TYPE_UNKNOWN\u000a",
          "date" : "2026-07-06 15:08:35 +0800",
          "id" : "6fcf82b0d13d1090da452028fdc98749dc16409d",
          "msg" : "修复 GetRoadType 调用点未校验 lane 空指针导致的崩溃隐患",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/map/reference/reference_road_section.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/map/pnc_map/routing_extension/routing_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/map/envelop/map_envelop.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/into_yard_junction_ec.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "hmi/draw/draw_map.hpp",
            "hmi/draw/draw_map.cpp"
          ],
          "commitId" : "c96eaa847718662964d9474b5d2a825312fe1374",
          "timestamp" : 1783336140000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "修复 replayer 换图后 DrawMap 缓存 offset_ptr 悬空导致的崩溃\u000a\u000alane/road/junction 等指针是 offset_ptr(内存映射), 换图重建 HDMap 后旧指针\u000a悬空。DrawMap 跨帧缓存这些指针, 但刷新只看车位移、漏了换图判断, 换图后车未\u000a大幅移动时解引用悬空指针崩溃。DrawBaseMap 增加 map_path 变化检测, 换图时强制\u000a清空重取。\u000a",
          "date" : "2026-07-06 19:09:00 +0800",
          "id" : "c96eaa847718662964d9474b5d2a825312fe1374",
          "msg" : "修复 replayer 换图后 DrawMap 缓存 offset_ptr 悬空导致的崩溃",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_map.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_map.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/plan_frame.cpp",
            "data/decide/decide_reaction.hpp"
          ],
          "commitId" : "4119dd8a91225742a102087052275e92f31e2741",
          "timestamp" : 1783342535000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "修复变道临停标志位在非变道场景残留导致的幽灵停车线\u000a\u000areq_stop_to_wait_change_lane_ 是跨帧锁存位, 原仅在 LaneChangeDecider 内复位,\u000a而 OPEN_SPACE/BULKLOAD/倒车等场景不调度该 decider, 标志位残留会被 constrain_decider\u000a读到并一直在车前挂临停停车线. 改为在 decision_reaction_ 每帧 FromHis 流转处按\u000aplanner 边界兜底清除.\u000a",
          "date" : "2026-07-06 20:55:35 +0800",
          "id" : "4119dd8a91225742a102087052275e92f31e2741",
          "msg" : "修复变道临停标志位在非变道场景残留导致的幽灵停车线",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/decide/decide_reaction.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan_frame.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "hmi/draw/draw_map.cpp"
          ],
          "commitId" : "ad363a6776d190a15f4c8d6f1876c1534647a9b1",
          "timestamp" : 1783344757000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "修复 DrawMap last_map_path_ 从未赋值导致每帧全量重取地图\u000a\u000alast_map_path_ 声明后从未被赋值, 恒为空串, 使换图检测 map_changed 恒为\u000atrue, 每帧强制重取 lanes/roads/junctions 等, 架空 IsNeedGetMap 的位移缓存。\u000a在重取分支开头记录当前 map_path(放在后续 Get* 之前, 保证即便中途异常也已\u000a记下, 不会下一帧误判换图)。\u000a",
          "date" : "2026-07-06 21:32:37 +0800",
          "id" : "ad363a6776d190a15f4c8d6f1876c1534647a9b1",
          "msg" : "修复 DrawMap last_map_path_ 从未赋值导致每帧全量重取地图",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_map.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/obstacle/ogm.hpp",
            "data/obstacle/ogm.cpp"
          ],
          "commitId" : "2019c0c26a27438accffa0ef8c1227a46aa84356",
          "timestamp" : 1783403360000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "OGM 距离场增加最近占用来源标注, mask 3→5, 查询索引对齐写入端截断约定\u000a\u000a- distanceTransform 带 DIST_LABEL_PIXEL 输出 label_map, 按占用灰度建\u000a  label→OccSource(道路边界/沟/上下层点云/实体/预测框) 查表, 供走廊与\u000a  DP 按来源分级处理\u000a- mask 3→5: 3×3 掩模斜向 2~5% 低估对小障碍边界定位影响放大\u000a- GetNearestObstacleDistance/GetNearestSource 先截断 x/res 再加 center,\u000a  与写入端同约定, 消除负半平面 1 格系统性偏移\u000a",
          "date" : "2026-07-07 13:49:20 +0800",
          "id" : "2019c0c26a27438accffa0ef8c1227a46aa84356",
          "msg" : "OGM 距离场增加最近占用来源标注, mask 3→5, 查询索引对齐写入端截断约定",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/obstacle/ogm.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/ogm.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/boundary/driving_corridor.cpp",
            "data/boundary/driving_corridor.hpp"
          ],
          "commitId" : "194f7ed1a5314077a82ef32190909f6d32359516",
          "timestamp" : 1783403410000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "走廊 gap 扫描升级: 占用按来源分型写入, 断面间小障碍防丢, EMA 端点双条件\u000a\u000a- BuildOgm 按危险度排序写占用灰度(道路边界200/沟248/下层253/上层255/\u000a  obj251/预测250), 道路边界墙沿 shift 边界左右分开画折线, 防 uturn 宽\u000a  边界闭合多边形自相交\u000a- gap 扫描顺存与 SDF 同索引的最近占用来源行(set_sdf_source/\u000a  GetSdfSourceByIdx), 供 DP/限速按来源分级\u000a- 幻影挖窗: free 段内 SDF 局部极小 < interval/2 判为断面间小障碍, 按等\u000a  值弦宽挖占用窗, 治小障碍随车前进可见/消失闪烁; 大障碍边界仍由细等值\u000a  线定位不损通道宽\u000a- gap 帧间 EMA 改端点双条件匹配, 防新障碍切出的子 gap 错配上帧大 gap\u000a  被拉走边界\u000a- 限速: 最近占用为道路边界/沟点的角点不触发降速, 只对障碍类降速\u000a",
          "date" : "2026-07-07 13:50:10 +0800",
          "id" : "194f7ed1a5314077a82ef32190909f6d32359516",
          "msg" : "走廊 gap 扫描升级: 占用按来源分型写入, 断面间小障碍防丢, EMA 端点双条件",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_lat_decide.cpp",
            "data/dp_poly_path/comparable_cost.hpp",
            "data/dp_poly_path/trajectory_cost.cpp",
            "data/config/cfg_lat_decide.hpp",
            "data/dp_poly_path/comparable_cost.cpp"
          ],
          "commitId" : "cb118a9628e712bb6e5cd1ebed337ffbca061b5b",
          "timestamp" : 1783403467000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "DP 代价修复: SDF 罚按来源分型, path_l/end 去归一化米制, 终点罚 off-by-one, 首碰 s 记录\u000a\u000a治绕行后不回目标车道的三层叠加缺陷 + 低速晚急拐形态:\u000a- SDF 软罚预留量按占用来源分档(cfg dp_poly_sdf_margin_*, 道路边界 0.3\u000a  其余 1.0): 原统一 1m 使普通车道纯居中也背 safety, 路径无故偏心 ~0.8m\u000a- SDF 碰撞硬判只统计非道路来源: 车身斜穿时角点横甩 1~2m 必扫进道路边\u000a  界硬判带,致回中心必碰整列 HAS_COLLISION; 道路越界由 gap 硬判+\u000a  deficit+软罚兜底\u000a- path_l/path_end 偏离量改米制: 原 /(left+right) 归一化使回正拉力随走\u000a  廊宽度稀释, 高速压不过 v⁴ 级 ddl 机动代价; 权重换算 800→50/1e4\u000a- 末层判定 curr_level+1==total_level: 原 ==total_level 永不成立, 终点\u000a  回正罚从未生效\u000a- dl/ddl 等效车速下限 cfg 化(dp_poly_lat_v_floor): 低速急拐不再近乎免\u000a  费, 恢复早而缓的绕行形态偏好\u000a- ComparableCost 新增 first_coll_s 随碰撞位传播(取链上最小), 供 trace/\u000a  HMI 把红×画在真实碰撞位置\u000a- CfgLatDecide 序列化 bump v4(新字段分版本 gate, 旧 dump 可回放)\u000a",
          "date" : "2026-07-07 13:51:07 +0800",
          "id" : "cb118a9628e712bb6e5cd1ebed337ffbca061b5b",
          "msg" : "DP 代价修复: SDF 罚按来源分型, path_l/end 去归一化米制, 终点罚 off-by-one, 首碰 s 记录",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_decide.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/comparable_cost.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/comparable_cost.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/trajectory_cost.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_decide.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/dp_poly_path/dp_road_graph.cpp",
            "data/dp_poly_path/dp_road_graph.hpp"
          ],
          "commitId" : "feef2cf71d58677b8d9e71c41a573e349b6dd80f",
          "timestamp" : 1783403527000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "DP 采样与绕行决策: dl 5 档+双重剪枝, side_pass_range 真实区间, 回正保持\u000a\u000a- dl 档 {±0.2,0}→{±0.2,±0.1,0}: 补中间档使匀速缓爬可表达, 治低速\"贴 0\u000a  到临近才集中爬完\"的晚急形态\u000a- 转移剪枝: 端点 dl 档与段平均斜率偏差 >0.15 的曲线不构不算(直行区只留\u000a  |dl|≤0.1 档), 把 5 档转移量压回 3 档量级; level1 起点真实 dl 不剪\u000a- 边界邻近 dl 档过滤: 到 gap 车中心可行边界余量 < 档位×5m 的\"冲向边界\"\u000a  档不生成节点, 贴边死节点连同其全部入边转移一并省掉\u000a- side_pass_range 改真实绕行区间[起坡点,回正点](沿路径回溯/延伸到偏移\u000a  回落 ≤0.3m); 旧 {触发s, +0.5} 起点晚报且终点无意义\u000a- 回正保持 KeepSidePassUntilCentered: 上帧在绕行且车实际仍偏 >0.5m 时\u000a  延续 label 直到回落, 三个无触发出口(路径空/dp_search_ok=false/前方无\u000a  障碍侧 gap)统一接入; 失败帧只延续不新发起, 依据车辆实际位置而非失败\u000a  路径形状, 治障碍甩到车后或单帧搜索失败时状态机提前退出绕行态\u000a",
          "date" : "2026-07-07 13:52:07 +0800",
          "id" : "feef2cf71d58677b8d9e71c41a573e349b6dd80f",
          "msg" : "DP 采样与绕行决策: dl 5 档+双重剪枝, side_pass_range 真实区间, 回正保持",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/dp_road_graph.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/dp_road_graph.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "hmi/widget/dp_decision_detail.hpp",
            "data/dp_poly_path/decision_trace.cpp",
            "hmi/widget/dp_decision_detail.cpp",
            "data/dp_poly_path/decision_trace.hpp"
          ],
          "commitId" : "b66975cb75f6934e16c59124411a873aa7cbd2fe",
          "timestamp" : 1783403558000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "side-pass trace/HMI 可观测增强: gap 边界来源分型, 红×画真实首碰位置\u000a\u000a- HMI \"DP决策过程\" gap 边界按 Gap::Source 分 5 类散点(道路/静障/OGM/\u000a  动态/未知), 空类型不占图例\u000a- trace 节点带 coll_s(链上首碰实际 s), 红×画在首碰位置而非节点 s(节点\u000a  记账有层间距+半车长视觉偏差, 易误读为障碍定位错), 红×聚成障碍轮廓;\u000a  tooltip 增加首碰 s 与节点 s 对照\u000a- dl 档摊开系数 0.75→2.5 适配 5 档(相邻档 s 偏 0.25m 可分辨/可分别 hover)\u000a- DumpTraceJson 对 inf/nan clamp(不可达节点原写出裸 inf 致 JSON 非法)\u000a",
          "date" : "2026-07-07 13:52:38 +0800",
          "id" : "b66975cb75f6934e16c59124411a873aa7cbd2fe",
          "msg" : "side-pass trace/HMI 可观测增强: gap 边界来源分型, 红×画真实首碰位置",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "hmi/widget/dp_decision_detail.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/dp_decision_detail.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/decision_trace.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/decision_trace.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tasks/deciders/lat_decider/wbca_path_boundary_decider.cpp"
          ],
          "commitId" : "0fe2532aafdf938b5180b486f12e94de923a10ee",
          "timestamp" : 1783403590000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "wbca 边界: path_bound 查找改最近邻断面, 修右边界误用左半宽\u000a\u000a- 查 driving_corridor path_bound() 原取\"右邻\"断面(单向 0~0.5m s 偏),\u000a  叠加 path_bound 标签在段中点(+0.25)后小障碍凹口与障碍 s 明显错位;\u000a  改取左右邻中更近者, 偏差降为 ±0.25(0.5m 断面结构下限)\u000a- 右边界原误加 UnderlyingHeadBase2left(复制粘贴), 左右半宽不同车型\u000a  右侧凹口深度偏差, 改 Base2right\u000a",
          "date" : "2026-07-07 13:53:10 +0800",
          "id" : "0fe2532aafdf938b5180b486f12e94de923a10ee",
          "msg" : "wbca 边界: path_bound 查找改最近邻断面, 修右边界误用左半宽",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tasks/deciders/lat_decider/wbca_path_boundary_decider.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/boundary/driving_corridor.cpp"
          ],
          "commitId" : "ec46acf9b3f93515568d6f4e9e0a5686c0f20ce3",
          "timestamp" : 1783406310000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "gap 边界来源分型改查 SDF 真实占用来源, 修贴路沿 obj 被误标道路\u000a\u000aBuildGaps 端点来源原是几何猜测(距 shift 边界 0.3m 内标 ROAD, 否则一律\u000aSTATIC_OBS), 贴路沿的 obj 会被误标成道路; 道路边界被滤波/挖窗内侵超\u000a0.3m 时也会被误标静障、凑出假绕行 side。\u000a\u000a改为优先查 source_at_l(往占用侧外探半步防窄 gap 查到对侧), 按 OccSource\u000a映射: ROAD/DITCH→道路, UNDERLYING/UPPER→OGM, OBJ→静障, PRED_OBJ→动态;\u000aSDF 无信息才回退几何判定。side 触发判定同步从 ==STATIC_OBS 放宽为\u000a!=ROAD, 保持 OGM/动态切出边界仍可触发绕行的原行为。\u000a",
          "date" : "2026-07-07 14:38:30 +0800",
          "id" : "ec46acf9b3f93515568d6f4e9e0a5686c0f20ce3",
          "msg" : "gap 边界来源分型改查 SDF 真实占用来源, 修贴路沿 obj 被误标道路",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/scenarios/tractor_trailer_single_segment_parking_planner.h"
          ],
          "commitId" : "89b74c00e4aa7a417f79051a56bb3e35e52d6c12",
          "timestamp" : 1783410768000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: SSEP: 集卡单段倒车裁剪不必要的短轨迹\u000a\u000a",
          "date" : "2026-07-07 15:52:48 +0800",
          "id" : "89b74c00e4aa7a417f79051a56bb3e35e52d6c12",
          "msg" : "fix: SSEP: 集卡单段倒车裁剪不必要的短轨迹",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_single_segment_parking_planner.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/obstacle/ogm.hpp",
            "data/boundary/driving_corridor.cpp",
            "data/obstacle/ogm.cpp"
          ],
          "commitId" : "116049d3a4a9a36d52f65de598509154ca22795b",
          "timestamp" : 1783413671000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "边界限速修误限: 贴边路沿点云归 ROAD, 兜底分支不吞豁免, 限速原因日志\u000a\u000a修\"贴道路边界就降速\": 真实路沿的下层/上层点云叠在/紧邻几何边界墙,\u000a按 253/255 写入后最近占用查出\"障碍\", ROAD/DITCH 豁免形同虚设。BuildOgm\u000a画完墙后对墙单独求距离场, 距墙 0.75m 带内的下层/上层点改标 200(路沿\u000a观测归道路边界); band 覆盖地图偏差(实测 0.46m 例)+截断离散 1 格。\u000aobj/预测框后画覆盖不受影响。\u000a\u000a修兜底误限: 轮廓顶点全被豁免时 clearance==DBL_MAX 被误判\"轮廓不可用\",\u000a退静态半宽兜底把已豁免占用重新罚回。contour_clearance 回传 any_valid,\u000a轮廓有效但全豁免=余量充足, 不再退兜底。\u000a\u000a可观测: 每段限速输出 [boundary_limit] 日志(最窄余量/来源/触发角点/\u000a占用像素 Frenet 位置); OgmDistance 新增 label_pos_ 表与 GetNearestOccPos\u000a反查最近占用位置。限速上限逐点取该 s 处地图限速(原用 ego 处一刀切)。\u000a",
          "date" : "2026-07-07 16:41:11 +0800",
          "id" : "116049d3a4a9a36d52f65de598509154ca22795b",
          "msg" : "边界限速修误限: 贴边路沿点云归 ROAD, 兜底分支不吞豁免, 限速原因日志",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/obstacle/ogm.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/ogm.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_safe_const.cpp",
            "tasks/deciders/long_decider/constrain_decider.cpp"
          ],
          "commitId" : "d2cf01ba41650367ce28ef310b4f14b9665013b5",
          "timestamp" : 1783413693000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "边界限速调参: 距离阈值下限 0.25, 约束点去 10m 提前量\u000a\u000amin_boundary_distance_thr 0→0.25: 余量低于 0.25m 即压到最低限速,\u000a线性段从 0.25 起算, 贴障碍时限速更果断。\u000aCreateBoundaryConstrain 约束位置去掉固定 -10m 提前量, 按窄区真实\u000a入口下发(原提前量叠加窄区入口, 减速点过早)。\u000a",
          "date" : "2026-07-07 16:41:33 +0800",
          "id" : "d2cf01ba41650367ce28ef310b4f14b9665013b5",
          "msg" : "边界限速调参: 距离阈值下限 0.25, 约束点去 10m 提前量",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_safe_const.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/long_decider/constrain_decider.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/obstacle/ogm.hpp",
            "data/boundary/driving_corridor.cpp",
            "data/obstacle/ogm.cpp"
          ],
          "commitId" : "a0619a8d3ecd89c9c8d6af7a9377f1b2f9e49fd2",
          "timestamp" : 1783417370000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "移除边界限速调试日志与占用反查诊断\u000a\u000a问题已定位修复([boundary_limit] 日志完成使命), 摘除诊断链路:\u000aflush_segment 的日志与 occ 反查、NarrowInfo 收集、OgmDistance 的\u000alabel_pos_ 表与 GetNearestOccPos。保留功能性修复不动: 贴墙点云改标\u000aROAD、兜底 any_valid(轮廓全豁免不退兜底)。需要时从 116049d3a 找回。\u000a",
          "date" : "2026-07-07 17:42:50 +0800",
          "id" : "a0619a8d3ecd89c9c8d6af7a9377f1b2f9e49fd2",
          "msg" : "移除边界限速调试日志与占用反查诊断",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/obstacle/ogm.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/ogm.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tasks/deciders/long_decider/constrain_decider.cpp"
          ],
          "commitId" : "8f8bf8b409923b1283029be33419cab8d2f98a64",
          "timestamp" : 1783417390000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "边界限速约束点再去车头偏置, 按窄区入口原值下发\u000a\u000aCreateBoundaryConstrain 的 distance 去掉 -HeadBase2front: 窄区入口\u000a距离本就是沿路径到该断面的量, 再减车头偏置会把减速点提前一个车头。\u000a",
          "date" : "2026-07-07 17:43:10 +0800",
          "id" : "8f8bf8b409923b1283029be33419cab8d2f98a64",
          "msg" : "边界限速约束点再去车头偏置, 按窄区入口原值下发",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tasks/deciders/long_decider/constrain_decider.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/dp_poly_path/dp_road_graph.cpp",
            "data/plan/side_pass_data.cpp"
          ],
          "commitId" : "788df06af2b12c622211308281cda512ac56ca5a",
          "timestamp" : 1783426041000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "修 UseHis 拼接膨胀: frenet_frame_path 先清空再替换, 触发条件改回 USE_HIS 状态\u000a\u000a两半同一 bug: ① IsNeedUseHis 手误写成 status_==RIGHT_SIDE_PASS → 右绕行\u000a期间每帧触发 UseHis; ② UseHis 不清空直接 append, his 又是上帧拼接结果\u000a→ frenet_frame_path 每帧净增约一条路径长, 线性膨胀且 s 失序(下游\u000aGenerateBoundary/EvaluateByS 按 s 有序二分, 边界被带乱)。\u000a\u000a修: UseHis 先 clear 再整体替换(s 平移到本帧参考系); 触发条件改回\u000astatus_==USE_HIS(状态机判定本帧 DP 结果不可信时才沿用上帧)。附带行为\u000a修正: 右绕行恢复与左绕一致、每帧使用 DP 新结果, 不再执行首帧旧路径的\u000a平移拼接版。\u000a",
          "date" : "2026-07-07 20:07:21 +0800",
          "id" : "788df06af2b12c622211308281cda512ac56ca5a",
          "msg" : "修 UseHis 拼接膨胀: frenet_frame_path 先清空再替换, 触发条件改回 USE_HIS 状态",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/dp_road_graph.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/side_pass_data.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "algorithm/wbca/wbca_manager.cpp"
          ],
          "commitId" : "dbd4b15f7d7bb90ad6666103ccf4eb966fec5a10",
          "timestamp" : 1783426056000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "wbca 热启动: route_info 空容器防护\u000a\u000aWarmStartFromHistory 访问 route_info.front() 前补 empty 检查, 防空容器\u000a未定义行为。\u000a",
          "date" : "2026-07-07 20:07:36 +0800",
          "id" : "dbd4b15f7d7bb90ad6666103ccf4eb966fec5a10",
          "msg" : "wbca 热启动: route_info 空容器防护",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "algorithm/wbca/wbca_manager.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h"
          ],
          "commitId" : "7d4f4840a712ed09b597ac66120373e289b263d0",
          "timestamp" : 1783502490000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "chore: SSEP: 集卡多段倒车增加30厘米碰撞软约束\u000a\u000a",
          "date" : "2026-07-08 17:21:30 +0800",
          "id" : "7d4f4840a712ed09b597ac66120373e289b263d0",
          "msg" : "chore: SSEP: 集卡多段倒车增加30厘米碰撞软约束",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h"
          ],
          "commitId" : "9ab274c76c37c279a22230bf4ecaa2074981f8e3",
          "timestamp" : 1783502506000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "feat: SSEP: 调整集卡多段倒车拉直逻辑\u000a\u000a",
          "date" : "2026-07-08 17:21:46 +0800",
          "id" : "9ab274c76c37c279a22230bf4ecaa2074981f8e3",
          "msg" : "feat: SSEP: 调整集卡多段倒车拉直逻辑",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h"
          ],
          "commitId" : "638df764d854ee610ffb043450c156efabac45a0",
          "timestamp" : 1783504840000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: build error\u000a",
          "date" : "2026-07-08 18:00:40 +0800",
          "id" : "638df764d854ee610ffb043450c156efabac45a0",
          "msg" : "fix: build error",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tasks/deciders/other_decider/replan_decider.hpp",
            "tasks/deciders/search_decider/bridge_junction_search_decider.cpp",
            "tasks/deciders/other_decider/replan_decider.cpp"
          ],
          "commitId" : "c8867e6bfb420f15e74e702dc7eaff1d9aab4fb9",
          "timestamp" : 1783504854000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "桥区重规划: 上桥切下桥触发重规划并重置搜索状态\u000a\u000a- ReplanDecider 增加 JudgeBridgeSearchReplan: BRIDGE_JUNCTION 规划器下, 历史帧在上桥区、当前帧进入下桥区时触发 CONTINUOUS_NORMAL_INTERSECTION 重规划\u000a- SsepReplanUpdate 早退门加入桥区, 使桥区不再被直接清空 replan 状态\u000a- BridgeJunctionSearchDecider::SubProcessReuse 响应该重规划类型, 重置搜索元素与回退计数\u000a",
          "date" : "2026-07-08 18:00:54 +0800",
          "id" : "c8867e6bfb420f15e74e702dc7eaff1d9aab4fb9",
          "msg" : "桥区重规划: 上桥切下桥触发重规划并重置搜索状态",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tasks/deciders/search_decider/bridge_junction_search_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/other_decider/replan_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/other_decider/replan_decider.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "math/dubins_curve/dubins_curve.hpp"
          ],
          "commitId" : "bccfab1070eca23f4bdf9e497d6fdc7308234896",
          "timestamp" : 1783504921000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 添加<cstddef>头文件以支持大小类型\u000a",
          "date" : "2026-07-08 18:02:01 +0800",
          "id" : "bccfab1070eca23f4bdf9e497d6fdc7308234896",
          "msg" : "feat: 添加<cstddef>头文件以支持大小类型",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "math/dubins_curve/dubins_curve.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tasks/deciders/other_decider/replan_decider.hpp",
            "tasks/deciders/other_decider/replan_decider.cpp",
            "tasks/deciders/search_decider/bridge_junction_search_decider.cpp"
          ],
          "commitId" : "d9e8f54ec02e69f09891c514b14050081e043aa8",
          "timestamp" : 1783504937000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "桥区重规划: 上桥切下桥触发重规划并重置搜索状态\u000a\u000a- ReplanDecider 增加 JudgeBridgeSearchReplan: BRIDGE_JUNCTION 规划器下, 历史帧在上桥区、当前帧进入下桥区时触发 CONTINUOUS_NORMAL_INTERSECTION 重规划\u000a- SsepReplanUpdate 早退门加入桥区, 使桥区不再被直接清空 replan 状态\u000a- BridgeJunctionSearchDecider::SubProcessReuse 响应该重规划类型, 重置搜索元素与回退计数\u000a",
          "date" : "2026-07-08 18:02:17 +0800",
          "id" : "d9e8f54ec02e69f09891c514b14050081e043aa8",
          "msg" : "桥区重规划: 上桥切下桥触发重规划并重置搜索状态",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tasks/deciders/other_decider/replan_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/other_decider/replan_decider.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/search_decider/bridge_junction_search_decider.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "scenarios/lane_follow_scenario/lane_follow_stage.cpp",
            "scenarios/lane_change_scenario/lane_change_stage.cpp",
            "scenarios/bulkload_scenario/bulkload_move_forward_stage.cpp",
            "scenarios/lane_change_scenario/lane_change_cancel_stage.cpp",
            "scenarios/into_yard_junction_scenario/into_yard_junction_first_stage.cpp",
            "scenarios/ex_lane_change_scenario/ex_lane_change_stage.cpp",
            "scenarios/bulkload_scenario/bulkload_ssep_forward_stage.cpp",
            "scenarios/bulkload_scenario/bulkload_ssep_backward_stage.cpp",
            "scenarios/parking_scenario/parking_move_stage.cpp",
            "scenarios/parking_scenario/parking_prepare_stage.cpp",
            "scenarios/lane_change_scenario/lane_change_prepare_stage.cpp",
            "scenarios/stage.cpp",
            "scenarios/out_yead_junction_scenario/out_yard_junction_first_stage.cpp",
            "scenarios/parking_scenario/parking_lane_change_stage.cpp",
            "scenarios/bulkload_scenario/bulkload_lane_change_stage.cpp",
            "scenarios/stage.hpp",
            "scenarios/bulkload_scenario/bulkload_preapre_stage.cpp",
            "scenarios/bulkload_scenario/bulkload_move_backward_stage.cpp",
            "scenarios/ex_lane_change_scenario/ex_lane_change_prepare_stage.cpp"
          ],
          "commitId" : "5b8f7852ab29bc70f34ef965a5d8cebfa9a8ffc6",
          "timestamp" : 1783513002000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "refactor: 后继任务重置逻辑抽取到 Stage 基类 ResetSuccessorTasks\u000a\u000a任务失败后重置后继任务的循环在 18 个 stage 中重复, 统一抽到基类;\u000a其中 MOTION_FSM_TASK/CONSTRAIN_DECIDER 不做 Reset 而继续 RunTask 执行,\u000a以维持状态机与约束输出, 该行为随基类函数推广到所有场景 stage\u000a",
          "date" : "2026-07-08 20:16:42 +0800",
          "id" : "5b8f7852ab29bc70f34ef965a5d8cebfa9a8ffc6",
          "msg" : "refactor: 后继任务重置逻辑抽取到 Stage 基类 ResetSuccessorTasks",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "scenarios/bulkload_scenario/bulkload_ssep_forward_stage.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/lane_change_scenario/lane_change_prepare_stage.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/into_yard_junction_scenario/into_yard_junction_first_stage.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/stage.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/lane_change_scenario/lane_change_stage.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/stage.hpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/bulkload_scenario/bulkload_move_backward_stage.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/bulkload_scenario/bulkload_move_forward_stage.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/lane_follow_scenario/lane_follow_stage.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/lane_change_scenario/lane_change_cancel_stage.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/out_yead_junction_scenario/out_yard_junction_first_stage.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/parking_scenario/parking_lane_change_stage.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/bulkload_scenario/bulkload_ssep_backward_stage.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/parking_scenario/parking_move_stage.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/bulkload_scenario/bulkload_preapre_stage.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/ex_lane_change_scenario/ex_lane_change_stage.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/parking_scenario/parking_prepare_stage.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/ex_lane_change_scenario/ex_lane_change_prepare_stage.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/bulkload_scenario/bulkload_lane_change_stage.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/ssep/bridge_junction_ec.cpp"
          ],
          "commitId" : "dd7b211bac761d953c6c4fc932dd80486927d13a",
          "timestamp" : 1783513541000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "桥区重规划: last path 无效时回退自车位姿起搜, 不再放弃搜索\u000a\u000aConstructDefaultStartPosture 中 last_path_ 不可用原先直接 return false,\u000a改为用自车 x/y/yaw(挂角有效时含挂角)构造起点位姿并置 is_search_from_ego_,\u000a日志同步改为 search from ego pose\u000a",
          "date" : "2026-07-08 20:25:41 +0800",
          "id" : "dd7b211bac761d953c6c4fc932dd80486927d13a",
          "msg" : "桥区重规划: last path 无效时回退自车位姿起搜, 不再放弃搜索",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/ssep/bridge_junction_ec.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/scenario/scenario_planner_action.cpp"
          ],
          "commitId" : "dfc82bc615e203baa61b9e6dccc5a1f623c163b9",
          "timestamp" : 1783517649000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "scenario BT: 出桥区进入普通路口区时立即退出 BRIDGE_JUNCTION planner\u000a",
          "date" : "2026-07-08 21:34:09 +0800",
          "id" : "dfc82bc615e203baa61b9e6dccc5a1f623c163b9",
          "msg" : "scenario BT: 出桥区进入普通路口区时立即退出 BRIDGE_JUNCTION planner",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/scenario/scenario_planner_action.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_env_const.hpp",
            "data/vehicle/deviation_status.hpp",
            "data/config/cfg_env_const.cpp",
            "data/vehicle/deviation_status.cpp"
          ],
          "commitId" : "968347c220258c6521d8948400157cb4f265496d",
          "timestamp" : 1783580742000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: multi-frames trigger\u000a",
          "date" : "2026-07-09 15:05:42 +0800",
          "id" : "968347c220258c6521d8948400157cb4f265496d",
          "msg" : "fix: multi-frames trigger",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/vehicle/deviation_status.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/vehicle/deviation_status.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/obstacle/block.cpp"
          ],
          "commitId" : "c87ab5c742c1ab47bbb67327191b68d32269ec0e",
          "timestamp" : 1783910923000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "block: 过滤本车自己上报的堆高机作业区(stackerWork_*_本车ID)\u000a",
          "date" : "2026-07-13 10:48:43 +0800",
          "id" : "c87ab5c742c1ab47bbb67327191b68d32269ec0e",
          "msg" : "block: 过滤本车自己上报的堆高机作业区(stackerWork_*_本车ID)",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/obstacle/block.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/ssep/into_yard_junction_ec.cpp"
          ],
          "commitId" : "2c663fc2e3eb7ba04d86a73d6c074e7ef2fd6b61",
          "timestamp" : 1784021598000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "ssep: 进场景计划区域合并起点框时校验面积, 防止区域轮廓被 sanitize 丢弃后只剩起点框\u000a",
          "date" : "2026-07-14 17:33:18 +0800",
          "id" : "2c663fc2e3eb7ba04d86a73d6c074e7ef2fd6b61",
          "msg" : "ssep: 进场景计划区域合并起点框时校验面积, 防止区域轮廓被 sanitize 丢弃后只剩起点框",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/ssep/into_yard_junction_ec.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/boundary/road_boundary.cpp",
            "data/boundary/polygon_sl_projector.cpp",
            "data/boundary/polygon_sl_projector_test.cpp",
            "data/config/cfg_func_sw.hpp",
            "data/boundary/road_boundary.hpp",
            "data/common/path.cpp",
            "data/config/cfg_func_sw.cpp",
            "data/common/path.hpp",
            "data/boundary/polygon_sl_projector.hpp",
            "CMakeLists.txt"
          ],
          "commitId" : "a156a6dbb9763d6fb15daf0e957a4dce81d11ac2",
          "timestamp" : 1784021958000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "boundary: 路口边界改用多边形 SL 投影, 修复异形路口边界错误(灰度默认关)\u000a\u000a旧逻辑逐点垂线射线与手工过滤的多边形边集求交, 对凹形/异形路口取\u000a最近交点语义错误, 门边剔除脆弱, 单点失败兜底值无限传播。\u000a\u000a新增 PolygonSLProjector: 将路口多边形/envelope 轮廓离散投影到\u000aguide line SL 系逐格聚合左右边界。要点:\u000a- 门区(出入口 ±gate_window)样本一律不采信, 防异形门口的门柱顶点\u000a  把 l≈0 砸进门口格子(实车日志实证)\u000a- 横跨 guide line 且交叉点落在门区内的门边整条剔除\u000a- max_slope=3.0 限坡磨尖刺, 不削直角外凸的可行驶区\u000a- max_lateral=50 覆盖大路口敞开区, 避免人为截断走廊\u000a- 出入口不与车道宽度混合, 门口宽度台阶是放宽方向, 与旧逻辑一致\u000a\u000a顺手修复 Path::GetProjection s_range 窗口两处隐藏 bug(上界 fmax\u000a应为 fmin; 平方距离误与 50.0 比较), 新增显式窗口投影接口\u000aGetProjectionInRange(不回退全线扫描)。\u000a\u000a开关 use_func_junction_boundary_sl_projection 默认关闭; 开启时\u000a每帧输出 [sl_bd] 新旧对比与边界表摘要日志, 供灰度期 replay 排查,\u000a默认打开后随旧射线路径一并清理。\u000a\u000a单测 pnc_polygon_sl_projector_test(-DPNC_BUILD_TESTS=ON) 覆盖\u000a矩形/凹形/直角外凸/门柱坑/单侧无约束/退化输入与窗口投影。\u000a",
          "date" : "2026-07-14 17:39:18 +0800",
          "id" : "a156a6dbb9763d6fb15daf0e957a4dce81d11ac2",
          "msg" : "boundary: 路口边界改用多边形 SL 投影, 修复异形路口边界错误(灰度默认关)",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.cpp"
            },
            {
              "editType" : "add",
              "file" : "data/boundary/polygon_sl_projector.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/road_boundary.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/common/path.hpp"
            },
            {
              "editType" : "edit",
              "file" : "CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "data/common/path.cpp"
            },
            {
              "editType" : "add",
              "file" : "data/boundary/polygon_sl_projector_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/road_boundary.cpp"
            },
            {
              "editType" : "add",
              "file" : "data/boundary/polygon_sl_projector.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/ssep/open_space_ec.cpp",
            "data/map/reference/reference_line.cpp",
            "data/map/reference/reference_line.hpp"
          ],
          "commitId" : "9b202b39519038925ea10704abad7c572fc8c21a",
          "timestamp" : 1784022418000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix:出堆场 直接open sapce上码头面搜索起点不合适的bug\u000a",
          "date" : "2026-07-14 17:46:58 +0800",
          "id" : "9b202b39519038925ea10704abad7c572fc8c21a",
          "msg" : "fix:出堆场 直接open sapce上码头面搜索起点不合适的bug",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/ssep/open_space_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/map/reference/reference_line.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/map/reference/reference_line.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/ssep/normal_junction_ec.cpp"
          ],
          "commitId" : "0528362a8f7311d237c27a23d17b41227443cddb",
          "timestamp" : 1784023505000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "ssep: 删除路口终点位姿的车头点框内回退校验\u000a\u000a终点区域已扩大且终点支持动态调整, 该直矩形点包含校验失去保护意义,\u000a且在出口车道大曲率时误杀(回退到停止线得到未拉直的终点位姿)。\u000a",
          "date" : "2026-07-14 18:05:05 +0800",
          "id" : "0528362a8f7311d237c27a23d17b41227443cddb",
          "msg" : "ssep: 删除路口终点位姿的车头点框内回退校验",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/ssep/normal_junction_ec.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/maps/ogm.cc"
          ],
          "commitId" : "fb51a26b1bdd53e3f14d69ad32617986390f2833",
          "timestamp" : 1784023682000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat:删除打印的日志\u000a",
          "date" : "2026-07-14 18:08:02 +0800",
          "id" : "fb51a26b1bdd53e3f14d69ad32617986390f2833",
          "msg" : "feat:删除打印的日志",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/maps/ogm.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_func_sw.cpp"
          ],
          "commitId" : "a8c764bfaa62b8a6fd5f3ae8525f2f040260ff66",
          "timestamp" : 1784023833000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 禁用前向搜索设置中的 theta 功能\u000a",
          "date" : "2026-07-14 18:10:33 +0800",
          "id" : "a8c764bfaa62b8a6fd5f3ae8525f2f040260ff66",
          "msg" : "fix: 禁用前向搜索设置中的 theta 功能",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "algorithm/wbca/linear_velocity_generator.cpp"
          ],
          "commitId" : "7aae25bd393db481ed8f8640a5caec04821f7546",
          "timestamp" : 1784035685000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: wbca velocity profile bug\u000a",
          "date" : "2026-07-14 21:28:05 +0800",
          "id" : "7aae25bd393db481ed8f8640a5caec04821f7546",
          "msg" : "fix: wbca velocity profile bug",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "algorithm/wbca/linear_velocity_generator.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/obstacle/ogm.cpp",
            "data/boundary/driving_corridor.cpp",
            "data/dp_poly_path/decision_trace.hpp",
            "hmi/widget/dp_decision_detail.cpp",
            "hmi/widget/dp_decision_detail.hpp",
            "data/obstacle/ogm.hpp",
            "data/dp_poly_path/trajectory_cost.cpp",
            "data/boundary/driving_corridor.hpp"
          ],
          "commitId" : "213b9b1ba2fdfd2c2cca12ee810cd90698c7167a",
          "timestamp" : 1784088690000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "boundary: OGM 真值入栅格+贴边位编码, 修无障碍走廊边界内缩\u000a\u000a旧的贴边点云改标 200 方案用无符号距离带, 边界内侧真障碍点云也被吞成\u000a道路(限速被豁免+不发绕行+HMI 显示错), 且写入时销毁真源。改为:\u000a\u000a- 点云一律写真实灰度(253/255); BuildOgm 构建有符号边界带 mask(外侧\u000a  0.75m+内侧 2 格离散容差), ConstructDistanceMap 给占用像素打\u000a  kOccInBandBit 高位, 低 7 位保真源, 消费端各自解释: 限速豁免\u000a  in_band 亦豁免; DP 软罚按真源档(贴边点云 underlying 1.0m > 几何墙\u000a  road 0.3m, 观测优先于几何), in_band 只豁免硬判; gap 分型贴边点云\u000a  归 ROAD 不发绕行\u000a- Gap::Source 扩 7 值与 OccSource 数值一一对齐, side 判定改\u000a  IsBoundarySource(ROAD||DITCH), HMI DP 窗 7 桶分色, trace 数值语义\u000a  同步(旧 dump 不兼容)\u000a- 修无障碍下走廊边界内缩(路口张开区不跟随/直线段锯齿/加点反而外扩):\u000a  挖窗豁免 ROAD(墙斜连线平坦垂距区被误判局部极小整片挖占用);\u000a  墙折线宽度突变阶梯化(斜连线贴线带啃噬 ~0.2*Δl);\u000a  扫描端点带 0.3m 内纯几何墙豁免(封边由扫描范围表达, 消像素基线锯齿);\u000a  EMA 匹配容差 0.6→0.35(防历史系统性偏差持续混入不收敛)\u000a- HMI DP 窗加 shift 边界白点线(gap 端点对比定位内缩来源)\u000a",
          "date" : "2026-07-15 12:11:30 +0800",
          "id" : "213b9b1ba2fdfd2c2cca12ee810cd90698c7167a",
          "msg" : "boundary: OGM 真值入栅格+贴边位编码, 修无障碍走廊边界内缩",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/decision_trace.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/dp_decision_detail.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/trajectory_cost.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/ogm.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/ogm.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/dp_decision_detail.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/vehicle/cloud_pnc_config.cpp",
            "source/ros_source_pnc_config.hpp",
            "hmi/draw/draw_map.cpp",
            "data/vehicle/cloud_pnc_config.hpp",
            "source/ros_source_pnc_config.cpp"
          ],
          "commitId" : "86128a399f44d1f70d71b1cb91cd19c8ec03043d",
          "timestamp" : 1784100250000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 云端pnc config适配access line转换, 补HMI绘制与收包打印\u000a",
          "date" : "2026-07-15 15:24:10 +0800",
          "id" : "86128a399f44d1f70d71b1cb91cd19c8ec03043d",
          "msg" : "feat: 云端pnc config适配access line转换, 补HMI绘制与收包打印",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/vehicle/cloud_pnc_config.cpp"
            },
            {
              "editType" : "edit",
              "file" : "source/ros_source_pnc_config.cpp"
            },
            {
              "editType" : "edit",
              "file" : "source/ros_source_pnc_config.hpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_map.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/vehicle/cloud_pnc_config.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/vehicle/cloud_pnc_config.cpp"
          ],
          "commitId" : "03260cb307241474583031ba804545e680c3466c",
          "timestamp" : 1784113105000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修正云端访问线路的yard_id赋值\u000a",
          "date" : "2026-07-15 18:58:25 +0800",
          "id" : "03260cb307241474583031ba804545e680c3466c",
          "msg" : "fix: 修正云端访问线路的yard_id赋值",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/vehicle/cloud_pnc_config.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/vehicle/cloud_pnc_config.cpp"
          ],
          "commitId" : "44d902e0bf0b25cdb826c586914fcaf8958e3900",
          "timestamp" : 1784113982000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修正云端配置中access line的yard_id赋值\u000a",
          "date" : "2026-07-15 19:13:02 +0800",
          "id" : "44d902e0bf0b25cdb826c586914fcaf8958e3900",
          "msg" : "fix: 修正云端配置中access line的yard_id赋值",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/vehicle/cloud_pnc_config.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/app/fsm/task_fsm/task_align_fsm/task_align_fsm.cpp"
          ],
          "commitId" : "824daf8445e92722d6ce546b2e8a03a11c876376",
          "timestamp" : 1784120704000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: Align FSM超距退出3/4阶段时更新need_spreader_align_计数, 防止重回3阶段\u000a",
          "date" : "2026-07-15 21:05:04 +0800",
          "id" : "824daf8445e92722d6ce546b2e8a03a11c876376",
          "msg" : "fix: Align FSM超距退出3/4阶段时更新need_spreader_align_计数, 防止重回3阶段",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/app/fsm/task_fsm/task_align_fsm/task_align_fsm.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/plan/path_data.cpp"
          ],
          "commitId" : "6bd8b9e047a8f87fd87c19238bc32ef873d1677a",
          "timestamp" : 1784172564000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: truck reversing path kappa calculation\u000a",
          "date" : "2026-07-16 11:29:24 +0800",
          "id" : "6bd8b9e047a8f87fd87c19238bc32ef873d1677a",
          "msg" : "fix: truck reversing path kappa calculation",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/plan/path_data.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "plan/prepare/prepare_ogm.cpp",
            "plan/prepare/prepare_ogm.hpp"
          ],
          "commitId" : "4f361ae47bc58a4dca72f5bed937aac4e62e5974",
          "timestamp" : 1784178402000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "perf: OGM精细碰撞采样点分级去重, 控制序列化体积\u000a\u000a精细碰撞开启时采样点不再全量保留:\u000a- 引导线路径带(半径12m, 1m粗块掩码)内按1/4 cell子格去重,\u000a  位置误差上界约3.5cm, 每cell至多16点\u000a- 路径带外及无引导线时退化为每cell仅保留首点(等同旧抽稀密度)\u000a- 栅格写入逻辑不变, 仅瘦身采样点集; 精细开关关闭时行为不变\u000a- 顺手收拢龙须/上下层四处重复写入分支为AddPoint\u000a",
          "date" : "2026-07-16 13:06:42 +0800",
          "id" : "4f361ae47bc58a4dca72f5bed937aac4e62e5974",
          "msg" : "perf: OGM精细碰撞采样点分级去重, 控制序列化体积",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_ogm.cpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_ogm.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tasks/deciders/other_decider/replan_decider.cpp"
          ],
          "commitId" : "9c1cf4a0f757427a691cfeb24228aeeb482cddb7",
          "timestamp" : 1784182499000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: extending distance from current ego position.\u000a",
          "date" : "2026-07-16 14:14:59 +0800",
          "id" : "9c1cf4a0f757427a691cfeb24228aeeb482cddb7",
          "msg" : "fix: extending distance from current ego position.",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tasks/deciders/other_decider/replan_decider.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/vehicle/lock_station_data.cpp"
          ],
          "commitId" : "41119aa52d08f3d36a58e0f0bd5bd9e77c269c67",
          "timestamp" : 1784186100000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: Guardian锁站区域退出改为锚定车尾(带挂取挂车尾), 途径点单点前后扩展近似锁站区间, 防止车尾未过锁站障碍物提前退出\u000a",
          "date" : "2026-07-16 15:15:00 +0800",
          "id" : "41119aa52d08f3d36a58e0f0bd5bd9e77c269c67",
          "msg" : "fix: Guardian锁站区域退出改为锚定车尾(带挂取挂车尾), 途径点单点前后扩展近似锁站区间, 防止车尾未过锁站障碍物提前退出",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/vehicle/lock_station_data.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/map/envelop/map_envelops.cpp"
          ],
          "commitId" : "c3d8a6c116c0a9e8f4ff69bf5904033acab647a1",
          "timestamp" : 1784197676000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 恢复union region异步计算, latch结果消费即释放治理内存驻留\u000a\u000a- CreateUnionRegion恢复std::async异步, polygons改move捕获少一份拷贝\u000a- latch结果消费一次即move取走并shrink_to_fit释放, 不再常驻AsyncUnionRegionState\u000a- 重建路径不再预清union_region_/重建async_state, 异步未就绪时沿用上一帧轮廓\u000a",
          "date" : "2026-07-16 18:27:56 +0800",
          "id" : "c3d8a6c116c0a9e8f4ff69bf5904033acab647a1",
          "msg" : "fix: 恢复union region异步计算, latch结果消费即释放治理内存驻留",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/map/envelop/map_envelops.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "replayer/logic.cpp"
          ],
          "commitId" : "d749b4221ec4750bc1d19a2308f5c31730545b71",
          "timestamp" : 1784200418000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "perf: 回放同帧降频节流, 暂停/停在末帧时避免循环满频重复计算, 改参数仍0.5s内重算生效\u000a",
          "date" : "2026-07-16 19:13:38 +0800",
          "id" : "d749b4221ec4750bc1d19a2308f5c31730545b71",
          "msg" : "perf: 回放同帧降频节流, 暂停/停在末帧时避免循环满频重复计算, 改参数仍0.5s内重算生效",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "replayer/logic.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "plan/prepare/prepare_status.hpp",
            "data/app/fsm/motion_fsm/motion_remote_fsm/motion_remote_state.hpp",
            "plan/prepare/prepare_status.cpp"
          ],
          "commitId" : "46f793d6f300e33aa0d19b0a6c518d26f886bfd1",
          "timestamp" : 1784260934000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 远程单次直线步进END后不退出循环重回MOVE\u000a\u000aUpdateFSMState 每周期被调两次(pilot_update 一次, 失败 stage 经\u000aResetSuccessorTasks 仍强制执行的 MOTION_FSM_TASK 一次), fsm_interface\u000a的 last_motion_sub_state_type 被第二次快照拍平, REMOTE_MOVE->REMOTE_END\u000a边沿被吞, is_need_increase_remote_idx_ 永不置位, cur_remote_idx_ 不推进,\u000afinishReqRemoteCtrl 不触发, REMOTE_END 停 remote_align_stop_sec 后经\u000aRemoteInit 无条件重回 REMOTE_MOVE 直至超时.\u000a\u000aprepare 改为自持上周期 remote 子状态判 END 进入沿, 不再依赖\u000afsm_interface 的 last_*; REMOTE_STOP 跳过判断同步替换恢复原语义.\u000a",
          "date" : "2026-07-17 12:02:14 +0800",
          "id" : "46f793d6f300e33aa0d19b0a6c518d26f886bfd1",
          "msg" : "fix: 远程单次直线步进END后不退出循环重回MOVE",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/app/fsm/motion_fsm/motion_remote_fsm/motion_remote_state.hpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_status.hpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_status.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_lat_plan.hpp",
            "tasks/deciders/lat_decider/trailer_side_pass_decider.cpp",
            "replayer/replayer_data_process/replayer_data_process.cpp",
            "data/boundary/driving_corridor.cpp",
            "data/config/cfg_lat_plan.cpp",
            "tasks/deciders/lat_decider/path_bounds_decider.cpp",
            "tasks/deciders/lat_decider/trailer_path_bounds_decider.cpp",
            "tasks/deciders/lat_decider/side_pass_decider.cpp",
            "data/boundary/driving_corridor.hpp"
          ],
          "commitId" : "74b035a35b095b2e5650e2eb298b03fd8d46b143",
          "timestamp" : 1784261160000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 走廊边界按gap端点来源差异化内缩(corridor_buffer_*), 钳制保DP路径可行\u000a\u000a- GenerateBoundary: 选中gap端点按来源查buffer内缩(道路/沟点小, 点云/实体/预测框大),\u000a  钳制到容得下DP路径(车中心±半宽+0.3 slack, 覆盖WBCA Dilated每侧0.2m侵蚀), 只缩不反转;\u000a  贴障/起步时要求的预留自适应压到实际余量, 不做近自车渐变(避免越接近障碍预留越衰减);\u000a  DP无路径降级帧不内缩, 保持原始边界\u000a- 新增raw_path_bound(未内缩原始端点): path_bounds/trailer_path_bounds_decider的\u000a  区域相等性判定(bound==shift宽)改读raw, 防内缩翻转is_in_obstacle_region分支\u000a- cfg_lat_plan新增6个corridor_buffer_*参数(rosparam, 序列化v5), 类内初始化0兜底\u000a  老dump反序列化(v<5跳过字段落0=不内缩=复现老行为)\u000a- BuildGaps拆出BuildGapAt(单gap构建), 免每断面整表分类; 挂车半宽提TrailerAwareHalfWidths\u000a  与GetSpeedLimitsAndDistances共用\u000a",
          "date" : "2026-07-17 12:06:00 +0800",
          "id" : "74b035a35b095b2e5650e2eb298b03fd8d46b143",
          "msg" : "feat: 走廊边界按gap端点来源差异化内缩(corridor_buffer_*), 钳制保DP路径可行",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_plan.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/lat_decider/path_bounds_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/lat_decider/trailer_path_bounds_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_plan.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/replayer_data_process/replayer_data_process.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/lat_decider/trailer_side_pass_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/lat_decider/side_pass_decider.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/app/fsm/task_fsm/task_park_fsm/park_fsm_transition/bulk_transition.cpp",
            "data/app/fsm/task_fsm/task_fsm.cpp",
            "data/app/fsm/task_command_type.cpp"
          ],
          "commitId" : "8f7e94a46edce22ff96ee1be076fdc8031d6b153",
          "timestamp" : 1784264979000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: park子状态机收普通任务卡死PARK_MOVE无法退出\u000a\u000abulk分支(FSM_TYPE_B)在PARK_LOCK收到无散货途径点的普通任务时,\u000aLock2Init/Init2Move仅凭routing标志放行进入PARK_MOVE, 而该态下\u000aMove2Adjust(需bulk_in点)与Park_Bulk2Travel(需bulk_out点)恒假,\u000a只能靠再次取消任务解锁(实车卡死近4小时):\u000a- Lock2Init/Init2Move补散货途径点检查, 普通任务不再进入死区\u000a- Park_Bulk2Travel新增逃生: 新任务无任何散货途径点且地图可用时退回TRAVEL\u000a\u000a同修停车场分支(FSM_TYPE_A)同类隐患: Park_Park2Travel对PARK_MOVE\u000a放行新routing逃生, 但带双卡死判据(switch恒KEEP+停留超20s),\u000a正常进位途中刷新停车任务不受影响\u000a\u000a另补EnumType2String缺失的E_TASK_FSM/E_MOTION_FSM映射,\u000a日志不再把正常事件误打成E_NO_STATE\u000a",
          "date" : "2026-07-17 13:09:39 +0800",
          "id" : "8f7e94a46edce22ff96ee1be076fdc8031d6b153",
          "msg" : "fix: park子状态机收普通任务卡死PARK_MOVE无法退出",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/app/fsm/task_fsm/task_fsm.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/app/fsm/task_command_type.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/app/fsm/task_fsm/task_park_fsm/park_fsm_transition/bulk_transition.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "plan/prepare/prepare_status.hpp",
            "plan/prepare/prepare_status.cpp",
            "data/app/fsm/motion_fsm/motion_remote_fsm/motion_remote_state.hpp"
          ],
          "commitId" : "ed2c1d8a2e9893510e2680bcfed62c70ff1dd41f",
          "timestamp" : 1784266212000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 远程单次直线步进END后不退出循环重回MOVE\u000a\u000aUpdateFSMState 每周期被调两次(pilot_update 一次, 失败 stage 经\u000aResetSuccessorTasks 仍强制执行的 MOTION_FSM_TASK 一次), fsm_interface\u000a的 last_motion_sub_state_type 被第二次快照拍平, REMOTE_MOVE->REMOTE_END\u000a边沿被吞, is_need_increase_remote_idx_ 永不置位, cur_remote_idx_ 不推进,\u000afinishReqRemoteCtrl 不触发, REMOTE_END 停 remote_align_stop_sec 后经\u000aRemoteInit 无条件重回 REMOTE_MOVE 直至超时.\u000a\u000aprepare 改为自持上周期 remote 子状态判 END 进入沿, 不再依赖\u000afsm_interface 的 last_*; REMOTE_STOP 跳过判断同步替换恢复原语义.\u000a",
          "date" : "2026-07-17 13:30:12 +0800",
          "id" : "ed2c1d8a2e9893510e2680bcfed62c70ff1dd41f",
          "msg" : "fix: 远程单次直线步进END后不退出循环重回MOVE",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_status.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/app/fsm/motion_fsm/motion_remote_fsm/motion_remote_state.hpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_status.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/app/fsm/task_fsm/task_park_fsm/park_fsm_transition/bulk_transition.cpp",
            "data/app/fsm/task_command_type.cpp",
            "data/app/fsm/task_fsm/task_fsm.cpp"
          ],
          "commitId" : "c0b886c3483f4c06631a38fffa6952e98b606405",
          "timestamp" : 1784266225000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: park子状态机收普通任务卡死PARK_MOVE无法退出\u000a\u000abulk分支(FSM_TYPE_B)在PARK_LOCK收到无散货途径点的普通任务时,\u000aLock2Init/Init2Move仅凭routing标志放行进入PARK_MOVE, 而该态下\u000aMove2Adjust(需bulk_in点)与Park_Bulk2Travel(需bulk_out点)恒假,\u000a只能靠再次取消任务解锁(实车卡死近4小时):\u000a- Lock2Init/Init2Move补散货途径点检查, 普通任务不再进入死区\u000a- Park_Bulk2Travel新增逃生: 新任务无任何散货途径点且地图可用时退回TRAVEL\u000a\u000a同修停车场分支(FSM_TYPE_A)同类隐患: Park_Park2Travel对PARK_MOVE\u000a放行新routing逃生, 但带双卡死判据(switch恒KEEP+停留超20s),\u000a正常进位途中刷新停车任务不受影响\u000a\u000a另补EnumType2String缺失的E_TASK_FSM/E_MOTION_FSM映射,\u000a日志不再把正常事件误打成E_NO_STATE\u000a",
          "date" : "2026-07-17 13:30:25 +0800",
          "id" : "c0b886c3483f4c06631a38fffa6952e98b606405",
          "msg" : "fix: park子状态机收普通任务卡死PARK_MOVE无法退出",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/app/fsm/task_command_type.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/app/fsm/task_fsm/task_fsm.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/app/fsm/task_fsm/task_park_fsm/park_fsm_transition/bulk_transition.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/map/pnc_map/pnc_map_path.cpp",
            "data/common/path.cpp"
          ],
          "commitId" : "f7ecf7b1dee5d6720bc871d7301910b4d6fd3b39",
          "timestamp" : 1784442326000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 空Path取点断言与退化lane segment构造CHECK线上崩溃, 改优雅降级\u000a\u000a- Path::GetIndexFromS/GetSmoothPoint 空路径不再fatal, 返回默认值并记ERROR日志\u000a- PncMapPath lane segment构造函数点数不足2时清空path_points_留无效path,\u000a  下游经IsAvailable安全降级, 不再CHECK崩进程\u000a",
          "date" : "2026-07-19 14:25:26 +0800",
          "id" : "f7ecf7b1dee5d6720bc871d7301910b4d6fd3b39",
          "msg" : "fix: 空Path取点断言与退化lane segment构造CHECK线上崩溃, 改优雅降级",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/map/pnc_map/pnc_map_path.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/common/path.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/common/path.hpp",
            "data/common/path.cpp",
            "data/common/path_point.cpp"
          ],
          "commitId" : "f8233babbba259246c3ed95227f6b9e2a070d600",
          "timestamp" : 1784449421000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: Path/DiscretizedPath 空与单点场景既有隐患修复\u000a\u000a- Path::Reset 补清 length_/num_sample_points_, 防复位后陈旧值残留\u000a- path.hpp 给 num_sample_points_/length_ 加类内默认值, 防默认构造读未初始化垃圾\u000a- Path::InitPoints 单点路径不再越界访问 path_pts_[-1]\u000a- DiscretizedPath::GetPathPtFromS/GetPathPtIdxFromS 空容器 front() UB 改空判降级,\u000a  Evaluate/EvaluateReverse 的 CHECK(!empty()) fatal 同步改 LOG(ERROR)+默认点\u000a",
          "date" : "2026-07-19 16:23:41 +0800",
          "id" : "f8233babbba259246c3ed95227f6b9e2a070d600",
          "msg" : "fix: Path/DiscretizedPath 空与单点场景既有隐患修复",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/common/path.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/common/path.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/common/path_point.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "plan/prepare/prepare_status.cpp"
          ],
          "commitId" : "6087fa2830942d05011e37f9971570f912f11c23",
          "timestamp" : 1784461943000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 堆场内open space场景误报REGION_OUT_BRIDGE提前降安全阈值, 改按guide line查挂尾所在路段类型, 挂出堆场后再切换\u000a",
          "date" : "2026-07-19 19:52:23 +0800",
          "id" : "6087fa2830942d05011e37f9971570f912f11c23",
          "msg" : "fix: 堆场内open space场景误报REGION_OUT_BRIDGE提前降安全阈值, 改按guide line查挂尾所在路段类型, 挂出堆场后再切换",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_status.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/common/trajectory_point.cpp"
          ],
          "commitId" : "6762d53f760e626f1471f94fdd2ee82ef093e505",
          "timestamp" : 1784514428000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: MatchPtByS 对超末端 s 解引用 end() 迭代器的未定义行为\u000a\u000alower_bound 落在 end() 时原代码用 *end() 参与外插, 读垃圾内存, 结果不可信\u000a且可崩溃; 与 MatchPtByt 的同款历史修复对齐, 夹到末点返回, 并补 size<2 的\u000abegin 分支越界保护。动态边界收窄的 arrive_t 反查每帧命中该分支, 既有\u000acloud_trajectory/trajectory_combiner 调用点同受益。\u000a",
          "date" : "2026-07-20 10:27:08 +0800",
          "id" : "6762d53f760e626f1471f94fdd2ee82ef093e505",
          "msg" : "fix: MatchPtByS 对超末端 s 解引用 end() 迭代器的未定义行为",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/common/trajectory_point.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/obstacle/decision/obstacle_decision.hpp",
            "tasks/plan/keb_utils.cpp",
            "tasks/deciders/other_decider/obstacle_decider.cpp",
            "data/obstacle/decision/obstacle_decision.cpp",
            "data/obstacle/obstacle_decider_attr.cpp",
            "data/obstacle/obstacle.hpp",
            "data/obstacle/obstacle_decider_attr.hpp",
            "data/dp_poly_path/trajectory_cost.cpp"
          ],
          "commitId" : "b9defc7cc8a6bd2c81866bf3e0ebfc67f944ffd5",
          "timestamp" : 1784514450000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 障碍决策模块化, 运动状态迟滞+label消抖+准入谓词单一源\u000a\u000a新增 data/obstacle/decision/: ObstacleDecider 循环体收敛为 obstacle_decision::\u000aUpdate(决策态继承→运动状态估计→Base/Label 决策→label 消抖)。\u000a\u000a- 运动状态估计治动静误判误绕行: 感知 is_static 是 1km/h 单帧阈值, 测速置零\u000a  即翻转, 走静态标签分支引发误绕行。改用 his_states 15帧均值速度 + 3s 窗\u000a  净位移证据(≥0.8m, 滤 bbox 遮挡抖动) + 非对称迟滞(判动3帧/判静10帧);\u000a  UNDETERMINED 回落感知 is_static, 真静障首帧即走静态通道。\u000a- direction 修复: 投影失败返 0 误判 REVERSE(同向车被当对向画反向延伸/污染\u000a  长决策)。改 +0.3/-0.15 非对称死区, 死区内保持上帧值。\u000a- label 消抖: 收紧立即生效, 放松需连续 5 帧确认。\u000a- 决策态继承走 Update 内 InheritDecisionState 而非 Obstacles::FromHis:\u000a  后者全 stage 无条件跑, 会在不调度 OBSTACLE_DECIDER 的 stage 残留旧值。\u000a- 准入谓词统一: IsDpDynamicCandidate/IsCorridorGridObstacle 单一事实源,\u000a  DP 动态盒与 KEB 走廊消费端只调用不自判。\u000a- ObstacleHisStates 加 velocity_filter_available(): MeanFilter 空缓存取均值\u000a  LOG_ASSERT 直接崩, 且该滤波器不参与序列化(回放载入恒空), 消费前必查。\u000a- debug_str 增加运动状态标记(U_/S_/M_)。attr 序列化升 v3。\u000a",
          "date" : "2026-07-20 10:27:30 +0800",
          "id" : "b9defc7cc8a6bd2c81866bf3e0ebfc67f944ffd5",
          "msg" : "feat: 障碍决策模块化, 运动状态迟滞+label消抖+准入谓词单一源",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/obstacle/obstacle_decider_attr.cpp"
            },
            {
              "editType" : "add",
              "file" : "data/obstacle/decision/obstacle_decision.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/obstacle_decider_attr.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/other_decider/obstacle_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_utils.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/obstacle.hpp"
            },
            {
              "editType" : "add",
              "file" : "data/obstacle/decision/obstacle_decision.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/trajectory_cost.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_lat_plan.hpp",
            "tasks/deciders/lat_decider/trailer_side_pass_decider.cpp",
            "replayer/replayer_data_process/replayer_data_process.cpp",
            "data/boundary/driving_corridor.cpp",
            "data/config/cfg_lat_plan.cpp",
            "tasks/deciders/lat_decider/side_pass_decider.cpp",
            "data/boundary/driving_corridor.hpp"
          ],
          "commitId" : "4c6347125137a837135fd420306b5564fb539b50",
          "timestamp" : 1784514474000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 动态障碍时间对齐边界收窄+会车旁路(灰度 use_dynamic_bound_clamp)\u000a\u000aDP 有时间参数化的动态碰撞 cost 但 path_bound 只由静态化 OGM 切出, 动态避让\u000a仅经 ref_l 软引导进 WBCA, 平滑权重把绕行量拉回。GenerateBoundary 在静态内缩\u000a后追加动态收窄:\u000a\u000a- 同向车时间对齐投影: 自车到达时刻按上帧轨迹反查(与 DP 同口径), 回放/首帧\u000a  退化匀速映射(下限步速 1.5m/s, 防起步覆盖塌缩); 预测横向漂移限幅采信在\u000a  当前实测 l ± min(0.5·t, 1m), 防邻道预测线漂移把直道路径挤偏。\u000a- 对向车会车旁路(dyn_clamp_meeting_bypass): 常被弯道/航向门打成 IGNORE 但\u000a  会车交互仍在, REVERSE+FRONT/SIDE+确认运动独立于 label 进收窄(不进 DP 盒\u000a  不改绕行决策); 弃时间对齐用 6s 扫掠包络(低速会车两车到达时刻天然错开),\u000a  豁免横向限幅(弯道对向车 Frenet 横移是真实几何), 收窄深度封顶半富余。\u000a- 安全阀: 只收窄不翻转绕行侧, 下限=DP路径±半宽+slack, 车前 5m 起步豁免,\u000a  K=3/M=5 帧锁存消抖(锁存迁移不受单帧降级门控, 防会车中途边界抖动)。\u000a- 障碍 SL 半宽取 fabs: GetSLBoundary start/end 顺序未归一化, 裸减得负宽会\u000a  把占用区间整段丢弃(根治待源头归一, 见审计记录)。\u000a- 观测: 障碍 debug_str 追加 _D<C|B><H><A>:<n> 漏斗标记(幂等, 防回放重算\u000a  累积); trailer 走廊共用对象但不参与收窄不触碰锁存。\u000a- 灰度默认关(rosparam use_dynamic_bound_clamp, 验证需显式开)。\u000a",
          "date" : "2026-07-20 10:27:54 +0800",
          "id" : "4c6347125137a837135fd420306b5564fb539b50",
          "msg" : "feat: 动态障碍时间对齐边界收窄+会车旁路(灰度 use_dynamic_bound_clamp)",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_plan.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/lat_decider/trailer_side_pass_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/lat_decider/side_pass_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_plan.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/replayer_data_process/replayer_data_process.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/dp_poly_path/decision_trace.cpp",
            "data/dp_poly_path/decision_trace.hpp"
          ],
          "commitId" : "613bb76c1c04a61369d8cf718abbdd3ac5273f35",
          "timestamp" : 1784514485000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: side-pass trace 增加动态收窄漏斗与逐障碍投影明细\u000a\u000adyn_dbg 漏斗行(enabled→cand/bypass→arrive→hit→active→clamped, 哪层归零卡\u000a哪层) + dyn_notes 逐障碍投影统计(预测 s/l 范围/swept/inter/被拒原因) +\u000a断面级 dyn_* 收窄快照; dump 移到 GenerateBoundary 之后以带出收窄结果。\u000a排查'为什么没收窄'先看这两处。\u000a",
          "date" : "2026-07-20 10:28:05 +0800",
          "id" : "613bb76c1c04a61369d8cf718abbdd3ac5273f35",
          "msg" : "feat: side-pass trace 增加动态收窄漏斗与逐障碍投影明细",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/decision_trace.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/decision_trace.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/coarse_search/searcher_builders/tractor_trailer_multi_segment_parking_bidirectional_searcher_builder.cc",
            "ssep/keb_optimizer/keb_problem.h",
            "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h",
            "ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc",
            "ssep/keb_optimizer/tractor_trailer_keb_optimizer.h",
            "ssep/keb_optimizer/keb_problem.cc"
          ],
          "commitId" : "9a1dc2c1f376dca0db4718bbffaef59ef3ebc0e5",
          "timestamp" : 1784514803000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "feat: SSEP: 集卡多段倒车场景前进后退使用不同曲率上限\u000a\u000a",
          "date" : "2026-07-20 10:33:23 +0800",
          "id" : "9a1dc2c1f376dca0db4718bbffaef59ef3ebc0e5",
          "msg" : "feat: SSEP: 集卡多段倒车场景前进后退使用不同曲率上限",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/tractor_trailer_keb_optimizer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/tractor_trailer_multi_segment_parking_bidirectional_searcher_builder.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/plan/start_point_data.cpp"
          ],
          "commitId" : "6eb77072de01bc1b352ec471101f6a8b0664ef2a",
          "timestamp" : 1784519056000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: revering in straight line\u000a",
          "date" : "2026-07-20 11:44:16 +0800",
          "id" : "6eb77072de01bc1b352ec471101f6a8b0664ef2a",
          "msg" : "fix: revering in straight line",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/plan/start_point_data.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/app/fsm/task_fsm/task_fsm.cpp"
          ],
          "commitId" : "5e94cf0938c76aee4944c9521d1073f2e917a140",
          "timestamp" : 1784531577000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: Station2Align 补齐准入过滤, 防不该进align场景绕道从station复入\u000a",
          "date" : "2026-07-20 15:12:57 +0800",
          "id" : "5e94cf0938c76aee4944c9521d1073f2e917a140",
          "msg" : "fix: Station2Align 补齐准入过滤, 防不该进align场景绕道从station复入",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/app/fsm/task_fsm/task_fsm.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/boundary/driving_corridor.cpp",
            "hmi/draw/draw_perception.cpp",
            "data/dp_poly_path/decision_trace.hpp",
            "tasks/deciders/long_decider/constrain_decider.hpp",
            "data/constrain/longitude_constrain.cpp",
            "data/obstacle/perception_obstacle.hpp",
            "tasks/deciders/long_decider/constrain_decider.cpp",
            "data/config/cfg_func_sw.hpp",
            "data/config/cfg_func_sw.cpp",
            "data/obstacle/perception_obstacle.cpp",
            "data/dp_poly_path/trajectory_cost.cpp",
            "data/boundary/driving_corridor.hpp",
            "data/config/cfg_safe_const.hpp",
            "data/config/cfg_lat_plan.hpp",
            "data/common/sl_boundary.hpp",
            "data/obstacle/decision/obstacle_decision.hpp",
            "data/obstacle/decision/obstacle_decision.cpp",
            "data/config/cfg_lat_plan.cpp",
            "data/config/cfg_safe_const.cpp",
            "data/map/reference/reference_segment.cpp",
            "data/dp_poly_path/decision_trace.cpp",
            "data/obstacle/obstacle_decider_attr.cpp",
            "data/constrain/longitude_constrain.hpp",
            "data/obstacle/obstacle_decider_attr.hpp"
          ],
          "commitId" : "5d4c8178edc1a0a13f8a08bd4e556f43e4ac96cf",
          "timestamp" : 1784590790000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 绕行决策加固一轮(误绕行治理+类型策略+动作承诺+限速补全)\u000a\u000a- DP 动态碰撞时域修复: num=5.0/0.5 却按 0.1 步进致实际只看 1s, 收成\u000a  编译期单源 kDynEvalDtS/kDynHorizonS(5s), 让 DP 及早为对向车主动让行\u000a- 动态障碍边界时间对齐收窄 + 会车 MEETING label 化 + 投影策略集中\u000a  (对向扫掠包络/收窄深度封顶 dyn_clamp_meeting_depth_cap 可调) + trace 观测\u000a- 狭窄会车识别: 收窄后可用宽度不足→降速+缩跟车距离(narrow_meeting)\u000a- 误绕行治理:\u000a  * 跟踪成熟度门(reserved_int_1 未初始化 + age), 修 age>0 放过新 track 的洞\u000a  * 动态障碍足迹掩膜: 动车漏聚类只剩 OGM 点云时不切 gap(仅横向, 纵向照常)\u000a  * 类型策略 SidePassPolicy: 车辆类居中跟车等/VRU 居中停让/靠边绕/场桥不碰,\u000a    VRU 靠边无条件绕(解耦动静), 车辆类居中抛锚超时逃生口\u000a  * 动作承诺: 一旦绕行锁到动作完成(甩到车后/VRU挡前硬退出/超时), 承诺期\u000a    旁路各软门, 防超车并排时半途回摆; 进入侧连续 N 帧确认防单帧误判固化\u000a- 走廊限速失真治理(零新栅格): 静态非绕行障碍横向余量按 frenet 补进限速;\u000a  同向并行/超车贴身降速(空间足够不降速), 复用 PARALLEL_OBSTACLE_SPEED_LIMIT\u000a- SL 约定全仓统一(start_l=左缘/end_l=右缘)+语义访问器\u000a- 所有功能使能开关集中到 CfgFuncSw, 数值调参留各域 config;\u000a  序列化迁移用占位模式保旧 dump 对齐(CfgFuncSw/CfgLatPlan/CfgSafeConst/\u000a  ObstacleDeciderAttr/PerceptionObstacle 各升版本)\u000a",
          "date" : "2026-07-21 07:39:50 +0800",
          "id" : "5d4c8178edc1a0a13f8a08bd4e556f43e4ac96cf",
          "msg" : "feat: 绕行决策加固一轮(误绕行治理+类型策略+动作承诺+限速补全)",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_perception.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/map/reference/reference_segment.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/long_decider/constrain_decider.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/constrain/longitude_constrain.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_plan.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_safe_const.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/obstacle_decider_attr.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/decision_trace.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/constrain/longitude_constrain.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/decision_trace.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_safe_const.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/perception_obstacle.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/perception_obstacle.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_plan.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/common/sl_boundary.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/trajectory_cost.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/long_decider/constrain_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/obstacle_decider_attr.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "plan/prepare/prepare_status.cpp"
          ],
          "commitId" : "6e9cab717af1c23854fbee8aaaac0f9848832126",
          "timestamp" : 1784603089000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: is_in_straight_lane = false during park state\u000a",
          "date" : "2026-07-21 11:04:49 +0800",
          "id" : "6e9cab717af1c23854fbee8aaaac0f9848832126",
          "msg" : "fix: is_in_straight_lane = false during park state",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_status.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/dp_poly_path/dp_road_graph.cpp"
          ],
          "commitId" : "57432d24b14d214084e3c0719893a693d3db7796",
          "timestamp" : 1784642244000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 绕行DP转移预剪放宽, 治偏置起点+畸短首段致l=0直行走廊不可达误绕行\u000a\u000adl剪枝带用弦斜率avg_dl=Δl/seg_len当机动激进度代理, 在短基线上被天然放大;\u000ainit锚车辆真实s防采样抖导致首段常畸短, 偏置起点回正弦斜率超带→l=0在DP图上\u000a不可达(留默认inf非碰撞)→被迫朝障碍侧大拱误绕行。改: 短段按基线比例放宽带宽\u000a(cap 5x), 回正方向(|cur_l|<|prev_l|)一律放行打破方向锁; 激进度仍由IsValidCurve兜底。\u000a不动s锚定/采样。\u000a",
          "date" : "2026-07-21 21:57:24 +0800",
          "id" : "57432d24b14d214084e3c0719893a693d3db7796",
          "msg" : "fix: 绕行DP转移预剪放宽, 治偏置起点+畸短首段致l=0直行走廊不可达误绕行",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/dp_road_graph.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/obstacle/decision/obstacle_decision.cpp"
          ],
          "commitId" : "7f9cc76953b6e990b2a03616093dd9a9369432f7",
          "timestamp" : 1784642401000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 绕行动作承诺加实际横向执行门槛(防空承诺固化误绕行)\u000a\u000a- 进入承诺除 label 意图外, 增加自车已实际横向偏移(|ego_match l|>0.5,\u000a  与 DP KeepSidePassUntilCentered 同源、对齐 kKeepLThr)作为必要条件,\u000a  防 l≈0 纯意图被单帧抖动瞬时锁成 30s 承诺\u000a- 退出新增\"空承诺撤销\": 已承诺但未实际横向执行且已不满足准入即释放,\u000a  零回摆风险; 已绕到一半(lateral_engaged)的仍走硬承诺完成\u000a- ego_match 不可用时证据无效, 进入保守拒绝、已建承诺不误撤\u000a",
          "date" : "2026-07-21 22:00:01 +0800",
          "id" : "7f9cc76953b6e990b2a03616093dd9a9369432f7",
          "msg" : "feat: 绕行动作承诺加实际横向执行门槛(防空承诺固化误绕行)",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_func_sw.cpp"
          ],
          "commitId" : "245dc82d4e357b7d33cabc7b091bdb2b7c2aeead",
          "timestamp" : 1784642447000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 类型策略灰度默认开启(use_sidepass_type_policy 默认 true)\u000a",
          "date" : "2026-07-21 22:00:47 +0800",
          "id" : "245dc82d4e357b7d33cabc7b091bdb2b7c2aeead",
          "msg" : "feat: 类型策略灰度默认开启(use_sidepass_type_policy 默认 true)",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/obstacle/obstacle_decider_attr.cpp"
          ],
          "commitId" : "e448e4ce08f401dd7e70250707072e155614d092",
          "timestamp" : 1784690400000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 直道正面逆向车走会车收窄让行, 不再 BLOCK 死等\u000a\u000a会车 MEETING 原只挂在弯道/航向差大两门上, 直道正面对开车掉头后与参考线\u000a反平行(r_diff≈0)且在直线, 两门都不触发, 掉进余宽判定两侧不足即 BLOCK\u000a停等。在 LabelDecider !treat_as_static 块【先于】两门加会车短路:\u000aIsMeetingScenario(确认运动+逆向+车前/侧)一律走 MEETING——本体不 BLOCK/\u000a不写实体栅格, 只按预测轨迹收窄边界让行; 空间真不够时收窄切不出 gap,\u000a纵向 ST/guardian 照常停, 安全不丢。灰度仍 dyn_clamp_meeting_bypass。\u000a",
          "date" : "2026-07-22 11:20:00 +0800",
          "id" : "e448e4ce08f401dd7e70250707072e155614d092",
          "msg" : "feat: 直道正面逆向车走会车收窄让行, 不再 BLOCK 死等",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/obstacle/obstacle_decider_attr.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_lat_plan.cpp"
          ],
          "commitId" : "40537f7ac3d275051064cfa1361a4a989672e8a6",
          "timestamp" : 1784690400000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "chore: 会车收窄封顶 dyn_clamp_meeting_depth_cap 默认 0.8→0.9(收窄更紧)\u000a",
          "date" : "2026-07-22 11:20:00 +0800",
          "id" : "40537f7ac3d275051064cfa1361a4a989672e8a6",
          "msg" : "chore: 会车收窄封顶 dyn_clamp_meeting_depth_cap 默认 0.8→0.9(收窄更紧)",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_plan.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/constrain/longitude_constrain.hpp",
            "data/constrain/longitude_constrain.cpp"
          ],
          "commitId" : "ac4a015c1d0fa9fff7faee5f20a363bfd4d0706b",
          "timestamp" : 1784691662000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 补 NARROW_MEETING_SPEED_LIMIT 登记, 修 CreateNarrowMeetingConstrain 断言崩溃\u000a\u000aNARROW_MEETING_SPEED_LIMIT 实装时只登记了 IsSpeedLimitType, 漏了\u000aLongitudeSpeedLimitConstrain::Initialize 的类型断言白名单。窄会车识别一旦\u000a触发 CreateNarrowMeetingConstrain 就 LOG_ASSERT 崩溃(Signal 6)。补三处:\u000a断言白名单 / TraceBack switch 分组(同 PARALLEL 走减速曲线) / ToString case\u000a(原走 default 显示 UNKNOWN)。走软限速, 未加 IsHardConstrainType。\u000a",
          "date" : "2026-07-22 11:41:02 +0800",
          "id" : "ac4a015c1d0fa9fff7faee5f20a363bfd4d0706b",
          "msg" : "fix: 补 NARROW_MEETING_SPEED_LIMIT 登记, 修 CreateNarrowMeetingConstrain 断言崩溃",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/constrain/longitude_constrain.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/constrain/longitude_constrain.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/obstacle/decision/obstacle_decision.hpp",
            "data/map/pnc_map/pnc_map_path.cpp",
            "data/boundary/driving_corridor.cpp",
            "data/obstacle/decision/obstacle_decision.cpp",
            "data/obstacle/obstacle_decider_attr.cpp",
            "data/config/cfg_func_sw.hpp",
            "data/obstacle/obstacle_decider_attr.hpp",
            "data/config/cfg_func_sw.cpp",
            "data/map/pnc_map/pnc_map_path.hpp"
          ],
          "commitId" : "58317cd215b7ab93b84dab9a684c06666a8dacec",
          "timestamp" : 1784792061000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 会车逆向道窄时不借道让行(纯逻辑判场景+走廊左界渐变钳)\u000a\u000a窄路正面会车时, 本车道被 OGM 点堵住需绕行, 原会向左借进逆向道, 与对向\u000a来车正面冲突。改为在决策层纯逻辑判场景, 执行侧钳走廊左界, 不动 DP 搜索。\u000a\u000a参考线预计算逆向车道几何(PncMapPath::InitWidth):\u000a- 新增 ReverseLaneGeo{valid,num,near_bound_l,far_bound_l,gap}, 逐采样点\u000a  存左/右逆向道近远边界与缝宽(可为负), 复用原有 GetToRoadBoundaryDistance\u000a  /GetProjection 结果不重复查图; 不序列化。\u000a- 访问器 GetReverseLaneGeo(s, is_left, out)。\u000a\u000a场景判定(obstacle_decision::IsMeetingBorrowYieldScenario, 帧级):\u000a对向逆向车快速逼近(速度取 his_states 15 帧均值, 不用裸 speed_km_h——感知\u000a单帧测速置零会误撤让行门, 是危险方向的失效) + 逆向道过窄 → 宁让不借。\u000a\u000a执行(DrivingCorridor::Init) 三层门控:\u000a1. 场景成立;\u000a2. 已承诺左借(ego 中心越过车道左边线)则不钳——中途拉回比走完更危险,\u000a   让它尽快清空逆向道; 让行只拦尚未起步的借行;\u000a3. 本车道确实被堵才钳——用 his 走廊 drivable_seg 判(原始 OGM 堵塞, 与本帧\u000a   钳制无关, 不震荡); 本车道畅通则完全不动边界。\u000a命中后左界按 ego 左边缘锚点沿 12m 线性渐变钳到 lane_left_l, 避免硬钳导致\u000a方向盘猛打; 车道被堵死→无 gap→复用纵向停, 不硬挤右侧。\u000a\u000a停住的对向车写入栅格(IsCorridorGridObstacle):\u000a对方停下后让行解除放行绕道, 若它不在图里就是\"图上空、实际有车\"。故确认\u000a静止+逆向+heading 对齐者写图, 能否通过交真实几何判定。heading 对齐判定\u000a(30°+3 帧防抖)从 meeting_fallback 分支提到动静分支之外, 否则静态车只能\u000a读到上帧陈旧值。\u000a\u000a其他:\u000a- 逆向车绕行策略直接 ALLOW: pulled_over 相对自车参考线判, 会把侵入自车道\u000a  的逆向车误判为\"居中\"→跟一辆迎面来的车。\u000a- 走廊左钳与堵塞判据统一用 TrailerAwareHalfWidths(挂车感知/左右非对称),\u000a  该函数上移至 Init 之前, 保持各处 footprint 口径一致。\u000a- GetBoundaryFromS 内是 CHECK(!empty()), 新增调用在断面循环之前, 加空守卫。\u000a- 灰度 use_meeting_borrow_yield_(cfg_func_sw v14), 观测日志 LOG_EVERY_N 降频。\u000a",
          "date" : "2026-07-23 15:34:21 +0800",
          "id" : "58317cd215b7ab93b84dab9a684c06666a8dacec",
          "msg" : "feat: 会车逆向道窄时不借道让行(纯逻辑判场景+走廊左界渐变钳)",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/obstacle_decider_attr.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/obstacle_decider_attr.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/map/pnc_map/pnc_map_path.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/map/pnc_map/pnc_map_path.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/obstacle/ogm.hpp",
            "tasks/plan/keb_utils.cpp",
            "data/obstacle/ogm.cpp",
            "data/boundary/driving_corridor.cpp",
            "hmi/draw/draw_perception.cpp"
          ],
          "commitId" : "51819254225b35991f7648de9c4d98c51f1e32b2",
          "timestamp" : 1784793352000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 烟台车内/柱子/房子点云及下沉坑点适配\u000a\u000a新增 107/108/110/111 四种点云类型: 前三者(车辆内部/柱子/房子点云)标记\u000a为无效点云, 碰撞与侧避均不考虑; 下沉坑点(111)按路边点云同等逻辑处理,\u000a参与侧避绕行(限速不因它降速, 但 gap/碰撞仍当墙, KEB 补画为障碍规避)。\u000a",
          "date" : "2026-07-23 15:55:52 +0800",
          "id" : "51819254225b35991f7648de9c4d98c51f1e32b2",
          "msg" : "feat: 烟台车内/柱子/房子点云及下沉坑点适配",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/obstacle/ogm.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_utils.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/ogm.hpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_perception.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/obstacle/decision/obstacle_decision.hpp",
            "data/map/pnc_map/pnc_map_path.cpp",
            "data/boundary/driving_corridor.cpp",
            "data/obstacle/decision/obstacle_decision.cpp",
            "data/boundary/road_boundary.cpp",
            "data/boundary/road_boundary.hpp",
            "data/map/pnc_map/pnc_map_path.hpp"
          ],
          "commitId" : "336c09dfd3035a62ada742b79f001dbda066f0c3",
          "timestamp" : 1784807246000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 会车让行逆向道几何改用 guide 系断面, 钳制线改为逆向道近边界\u000a\u000a坐标系纠错:\u000a障碍物 sl_boundary 由 GenerateRefSlBoundary(guide_line) 生成, 是 guide 系,\u000a原实现却拿它的 s 去查 reference_line().pnc_map_path() 的 ref 系逆向道表,\u000a两系不重合时取到错误断面; 且硬编码主参考线, standby 断面直接查错线。\u000a改为在 GenerateRoadBoundary 建表时用 point_info.s() 从该断面对应的那条\u000a参考线取, 存进 BoundaryPt, 与 lane_left_l 同源, 消费侧全在 guide 系查。\u000a顺带补 rev_s<0 早退(GetBoundaryFromS 对负 s 退化返回最远断面)。\u000a\u000a钳制线纠错:\u000a原钳到自车道左边线, 而\"不借道\"的硬线是逆向道近边界, 二者之间的本方向\u000a其余车道与道间缝隙被白白没收; 本方向多车道时还会拦住合法的同向换道绕行。\u000a改为 lane_left_l + reverse_lane_gap(自车道边线到逆向道近边界的距离),\u000a承诺判据线同步取同一条, 否则同向换道会被误判成\"已借逆向道\"而撤销钳制。\u000a地图两 road 重叠(gap<0)时该线比车道边线更靠右, 反而堵住侵入漏洞。\u000a\u000a只搬差值(宽度、缝隙)不搬 near/far 绝对量: 差值的参考系零点相消, 绝对量\u000a搬进 guide 系必须先减 point_info.l()。\u000a\u000aSSEP 断面排除:\u000a该段无对应参考线, lane_left_l 停在\"半车宽+0.15\"兜底值而本身是 left_l=10\u000a的开阔区; meeting_yield 是帧级开关而 guide line 多段拼接, 不排除会把开阔\u000a的 SSEP 段硬缩到贴车身。\u000a",
          "date" : "2026-07-23 19:47:26 +0800",
          "id" : "336c09dfd3035a62ada742b79f001dbda066f0c3",
          "msg" : "fix: 会车让行逆向道几何改用 guide 系断面, 钳制线改为逆向道近边界",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/boundary/road_boundary.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/map/pnc_map/pnc_map_path.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/road_boundary.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/map/pnc_map/pnc_map_path.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tasks/deciders/other_decider/replan_decider.cpp",
            "data/config/cfg_func_sw.hpp",
            "data/config/cfg_func_sw.cpp",
            "data/plan/ssep_data.hpp",
            "plan/prepare/prepare_status.cpp",
            "tasks/deciders/search_decider/forward_search_decider.cpp"
          ],
          "commitId" : "94122d2e3c767ba73e197af595bd7c320b09cb61",
          "timestamp" : 1784809591000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: disable replan during path direction changing for straightening\u000a",
          "date" : "2026-07-23 20:26:31 +0800",
          "id" : "94122d2e3c767ba73e197af595bd7c320b09cb61",
          "msg" : "fix: disable replan during path direction changing for straightening",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_status.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/ssep_data.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/other_decider/replan_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/search_decider/forward_search_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/coarse_search/evaluator/evaluator.h",
            "ssep/coarse_search/searcher_builders/tractor_trailer_bidirectional_searcher_builder.cc",
            "ssep/coarse_search/batched_priority_queue.h",
            "ssep/coarse_search/motion_primitive_sampler/composed_motion_primitive_sampler.h",
            "ssep/coarse_search/indexed_priority_queue.h",
            "ssep/coarse_search/evaluator/gpu_bidirectional_kinematic_heuristic_computer.h",
            "ssep/gpu/heuristic/heuristic_batch_bridge.h",
            "ssep/gpu/heuristic/dubins_kernel.cuh",
            "ssep/gpu/heuristic/heuristic_batch_bridge.cu",
            "ssep/coarse_search/evaluator/gpu_kinematic_heuristic_computer.h",
            "ssep/gpu/heuristic/reeds_shepp_kernel.cuh",
            "ssep/gpu/device_types.h",
            "ssep/coarse_search/evaluator/composite_heuristic_computer.h",
            "ssep/coarse_search/evaluator/heuristic_feature_computer.h",
            "ssep/coarse_search/searcher_builders/tractor_trailer_multi_segment_parking_bidirectional_searcher_builder.cc",
            "ssep/coarse_search/searcher_builders/tractor_trailer_multi_segment_parking_bidirectional_searcher_builder.h",
            "ssep/coarse_search/gpu_context.cc",
            "ssep/coarse_search/bidirectional_hybrid_astar_search_engine.cc",
            "ssep/coarse_search/bounded_priority_queue.h",
            "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h",
            "ssep/coarse_search/gpu_context.h",
            "ssep/gpu/collision/collision_checker.cuh",
            "ssep/scenarios/tractor_trailer_single_segment_parking_planner.h"
          ],
          "commitId" : "afa6ee73ae937ed5741d7283728c8b9053085d69",
          "timestamp" : 1784861210000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "feat: SSEP: 集卡多段倒车支持GPU搜索，搜索速度提升5-10倍\u000a\u000a",
          "date" : "2026-07-24 10:46:50 +0800",
          "id" : "afa6ee73ae937ed5741d7283728c8b9053085d69",
          "msg" : "feat: SSEP: 集卡多段倒车支持GPU搜索，搜索速度提升5-10倍",
          "paths" : [
            {
              "editType" : "add",
              "file" : "ssep/gpu/heuristic/heuristic_batch_bridge.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/bounded_priority_queue.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/gpu/heuristic/reeds_shepp_kernel.cuh"
            },
            {
              "editType" : "edit",
              "file" : "ssep/gpu/device_types.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/gpu/heuristic/dubins_kernel.cuh"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/motion_primitive_sampler/composed_motion_primitive_sampler.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/evaluator/composite_heuristic_computer.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/coarse_search/evaluator/gpu_kinematic_heuristic_computer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/evaluator/heuristic_feature_computer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/batched_priority_queue.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/indexed_priority_queue.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/coarse_search/evaluator/gpu_bidirectional_kinematic_heuristic_computer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/tractor_trailer_multi_segment_parking_bidirectional_searcher_builder.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/tractor_trailer_multi_segment_parking_bidirectional_searcher_builder.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/bidirectional_hybrid_astar_search_engine.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/gpu/collision/collision_checker.cuh"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/gpu_context.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/gpu/heuristic/heuristic_batch_bridge.cu"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/evaluator/evaluator.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/tractor_trailer_bidirectional_searcher_builder.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/gpu_context.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_single_segment_parking_planner.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/decide/decide_reaction.cpp",
            "data/decide/decide_reaction.hpp",
            "node/logic.cpp",
            "sink/ros_sink_record_trigger.cpp"
          ],
          "commitId" : "2bc76bf271b37cbd6e4fb2c4eb1b0e65228db1bf",
          "timestamp" : 1784873600000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: HMI快照按钮触发发SNAP录包(关掉决策结果保存)\u000a\u000a- DecisionReaction 加一次性标志 hmi_req_record_snap_(不序列化/不入FromHis)\u000a- logic plan循环消费快照按钮标志并当场复位, 修从不复位每帧触发问题\u000a- 快照按钮不再置 save_decision_result\u000a- RosSinkRecordTrigger 按钮标志与自动条件一并发 SNAP Trigger\u000a",
          "date" : "2026-07-24 14:13:20 +0800",
          "id" : "2bc76bf271b37cbd6e4fb2c4eb1b0e65228db1bf",
          "msg" : "feat: HMI快照按钮触发发SNAP录包(关掉决策结果保存)",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "node/logic.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/decide/decide_reaction.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/decide/decide_reaction.hpp"
            },
            {
              "editType" : "edit",
              "file" : "sink/ros_sink_record_trigger.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tasks/deciders/long_decider/constrain_decider.cpp",
            "common/util/express.cpp",
            "data/boundary/driving_corridor.cpp",
            "data/config/cfg_lat_plan.cpp",
            "data/constrain/longitude_constrain.cpp",
            "data/boundary/driving_corridor.hpp"
          ],
          "commitId" : "bef81f367cafc8ae74ab8e77155a23d1478f14c7",
          "timestamp" : 1784874214000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 窄会车主动贴右让行(走廊左界钳到对向车近侧)+修急停判定两处笔误\u000a\u000a- 走廊 Init 注入 narrow_hug: 距会车点 kHugLeadS 内把左界钳到\"对向车近侧-余量\",\u000a  逼 DP/PJPO 贴右, 横向让出空间给对向车; 读 his 帧结果同时喂 DP 与 PJPO\u000a- 判窄改用交互过滤前的几何净空(raw_l_intervals), 不再要求收窄锁存 active,\u000a  避免\"对向车已压上路径才判窄\"(该刹车非靠边)的时机错位\u000a- 逐断面存对向车近侧 l(narrow_hug_near_l_), 贴对向车而非道路右界免疫弯道 SL 畸变\u000a- GenerateBoundary 贴右时右侧障碍源保留最小膨胀(kNarrowRightObsKeep), 防啃 og 点\u000a- 缩跟车距离加距会车点门(kNarrowFollowLeadS), 与贴右提前量口径一致\u000a- side_margin 默认 0.4→0.6\u000a- 修 constrain_decider 两处: fabs(end_l()<=3.0) 括号错位; 横向切入判定\u000a  M_2_PI(36°)误用应为 M_PI_2(90°), 致同向并行车误急停/斜插漏拦\u000a",
          "date" : "2026-07-24 14:23:34 +0800",
          "id" : "bef81f367cafc8ae74ab8e77155a23d1478f14c7",
          "msg" : "feat: 窄会车主动贴右让行(走廊左界钳到对向车近侧)+修急停判定两处笔误",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "common/util/express.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_plan.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/constrain/longitude_constrain.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/long_decider/constrain_decider.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/boundary/driving_corridor.cpp"
          ],
          "commitId" : "b3106e93ac9e3d2edae8c64ad2ea91fc7c15e877",
          "timestamp" : 1784874580000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "perf: 窄会车贴右就近查改单调游标(O(n²)→均摊O(n)), 诊断日志降频\u000a\u000a- Init 内 his_hug/his_pb 逐断面线性扫描改只前进的单调游标: 二者沿行驶方向\u000a  单调且与本帧 while 同向, start_s 单调推进→最近邻单调推进, 均摊 O(n);\u000a  仅采信半个 interval 内最近点, 阈值语义与原线性扫描一致\u000a- [narrow_hug]/[narrow_hug_dbg]/[narrow_meet] 三条诊断日志频率降到 EVERY_N 50\u000a",
          "date" : "2026-07-24 14:29:40 +0800",
          "id" : "b3106e93ac9e3d2edae8c64ad2ea91fc7c15e877",
          "msg" : "perf: 窄会车贴右就近查改单调游标(O(n²)→均摊O(n)), 诊断日志降频",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_region.hpp",
            "data/ssep/forward_ec.cpp",
            "data/config/cfg_region.cpp"
          ],
          "commitId" : "ed38742ac3653b98bffbf6039acd113a38e5c05d",
          "timestamp" : 1784943547000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 新增镇石(ZHEN_SHI)站点地理围栏, IMV前进进出站复用西联场景\u000a",
          "date" : "2026-07-25 09:39:07 +0800",
          "id" : "ed38742ac3653b98bffbf6039acd113a38e5c05d",
          "msg" : "feat: 新增镇石(ZHEN_SHI)站点地理围栏, IMV前进进出站复用西联场景",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_region.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_region.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_func_sw.cpp",
            "data/ssep/ex_lane_change_ec.cpp",
            "data/config/cfg_func_sw.hpp"
          ],
          "commitId" : "a93cf96e88f3a7a11105b1445a36733642ee3fe7",
          "timestamp" : 1785120780000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 极限变道弯道tunnel沿参考线折线化, 补挂车offtracking裕量与急弯降级\u000a\u000a极限变道的 tunnel 约束原本用单条长直线段近似弯曲车道, 弦误差为 L^2*kappa/8\u000a(40m 直线在 R=100m 弯道上偏 2.0m), 而 end tunnel 的 HARD 管道半宽只有车道半宽\u000a加 5cm(约2m), 弯道上管道与真实车道几乎不重叠, 起点/终点被墙关在外面, 导致\u000a搜索必然失败。\u000a\u000a- 折线化: 新增 AppendOffsetPolylineTunnel(沿参考线 2m 等 l 偏移折线) /\u000a  AppendCrossLineTunnel(等 s 断面法向封口线) / CalcMaxCurvature(theta 差分\u000a  带符号曲率), 替换四处弦近似: ConstructStartTunnel 两条侧墙+横切线、\u000a  ConstructEndTunnel 左右管道+后端封口、ConstructObsTunnel、\u000a  GetRealObstacleTunnel。横向量统一为 SL 约定(左正右负), 与旧\u000a  GetParallelLine \"线段方向右侧为正\"、且纵向线反向构造致法向翻转的隐式约定等价\u000a- 弯道裕量: end tunnel 补挂车 offtracking(L^2*kappa/2, 上限 1.2m, 按曲率符号\u000a  只放宽弯道内侧, 仅带挂车型); 后向管道长度按曲率收缩(kappa>0.01 起, 最短 8m)\u000a- 急弯兜底: kappa>0.02(R<50m) 且端约束为 HARD 且带挂时降级为 SOFT, IMV 不降级\u000a- 顺带修: s 超出参考线长度时线段退化的隐患; SL 法向外推在 |l|*kappa 接近 1 时\u000a  跨过曲率中心翻折成幽灵墙, 按局部曲率钳制横向跨度; 曲率采样改用插值的\u000a  GetReferencePoint, 避免最近离散点致曲率被静默低估为 0\u000a\u000a灰度 use_func_lc_tunnel_curvature_fit / use_func_lc_tunnel_curvature_margin,\u000acfg_func_sw 序列化 version 15。replay 与实车均未验证。\u000a",
          "date" : "2026-07-27 10:53:00 +0800",
          "id" : "a93cf96e88f3a7a11105b1445a36733642ee3fe7",
          "msg" : "fix: 极限变道弯道tunnel沿参考线折线化, 补挂车offtracking裕量与急弯降级",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ex_lane_change_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/scenarios/tractor_trailer_single_segment_parking_planner.h"
          ],
          "commitId" : "1569c48ce9857798b46abe25056f31736b806b5d",
          "timestamp" : 1785133492000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "chore: SSEP:  解决集卡倒车距离障碍物较近时会倒着进的问题\u000a\u000a",
          "date" : "2026-07-27 14:24:52 +0800",
          "id" : "1569c48ce9857798b46abe25056f31736b806b5d",
          "msg" : "chore: SSEP:  解决集卡倒车距离障碍物较近时会倒着进的问题",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_single_segment_parking_planner.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/obstacle/reverse_lane_approach.cpp",
            "hmi/draw/draw_constrain.cpp",
            "data/config/cfg_hmi.hpp",
            "data/obstacle/reverse_lane_approach.hpp",
            "tasks/deciders/long_decider/constrain_decider.hpp",
            "data/constrain/longitude_constrain.cpp",
            "data/constrain/long_target.cpp",
            "data/config/cfg_hmi.cpp",
            "tasks/deciders/long_decider/constrain_decider.cpp",
            "data/config/cfg_func_sw.hpp",
            "data/config/cfg_func_sw.cpp",
            "data/app/fsm/stop_reason.cpp",
            "hmi/draw/draw_reverse_approach.hpp",
            "data/config/cfg_safe_const.hpp",
            "hmi/widget/pnc_mat_shared.cpp",
            "hmi/draw/draw_all.cpp",
            "data/config/cfg_safe_const.cpp",
            "data/plan_frame.hpp",
            "data/constrain/longitude_constrain.hpp",
            "common/util/express.cpp",
            "data/plan_frame.cpp",
            "hmi/draw/draw_reverse_approach.cpp",
            "hmi/node_hmi.cpp"
          ],
          "commitId" : "37e60d1fffdd460496b2b6249ed71c92517de4c9",
          "timestamp" : 1785163467000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 逆向车道快速接近凸包停车防护(cluster兜底)\u000a\u000a对向来车未被感知分类为obj、只输出TYPE_CLUSTER时, PNC纵向决策对它完全无反应:\u000acluster不进interested因而无decider_attr, FromHis跳过它因而无历史, ST按静态建\u000a且不进path_time_obstacles_, 唯一影响是写OGM当前占用->只限速不停车。对\"点云少+\u000a速度快\"的逆向来车, 等它进自车path时已无刹停距离。\u000a\u000acluster无id概念、前后帧id不对应, 因此判据做成不依赖id的标量时序:\u000a- 逆向车道链: 自车已驶入转弯lane(无逆向邻车道)时沿参考线回退到弯道前直道作\u000a  锚点, 再沿直道predecessor往上游延伸, 终止条件是\"自车上游累计长度够不够\",\u000a  不是级数/链总长(单条lane就可能几百米, 按总长封顶会一次都延伸不进去)\u000a- 冲突区: 自车走廊与对向道路判定带的重叠段, 不用两条中心线求交 —— 车体有\u000a  宽度, 中心线不相交时车照样扫过去\u000a- 判据: cluster投影到逆向链自身量弧长(不碰guide的SL, 规避弯道投影问题),\u000a  帧级批量关联维持航迹, 两车占用冲突区的时间窗交叠即触发\u000a\u000a防误停三道门: 路沿侧边界内缩、接近速度死区、航迹成熟度。\u000a停止线保持2s防判据抖动导致点头; 车头横向切入对向道路超阈则整体释放 —— 进区\u000a后再停等于横在对向道上挡路, 比抢过去更危险。\u000a\u000a灰度use_reverse_approach_stop默认关, 12项参数均可rosparam调。\u000aHMI\"逆向车道接近\"菜单画链/道路边界/判定带/冲突区/命中cluster, 状态行给出各道\u000a门的通过情况。\u000a",
          "date" : "2026-07-27 22:44:27 +0800",
          "id" : "37e60d1fffdd460496b2b6249ed71c92517de4c9",
          "msg" : "feat: 逆向车道快速接近凸包停车防护(cluster兜底)",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/constrain/long_target.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan_frame.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/long_decider/constrain_decider.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/constrain/longitude_constrain.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_safe_const.hpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_all.cpp"
            },
            {
              "editType" : "edit",
              "file" : "common/util/express.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/constrain/longitude_constrain.cpp"
            },
            {
              "editType" : "add",
              "file" : "data/obstacle/reverse_lane_approach.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_constrain.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_hmi.cpp"
            },
            {
              "editType" : "add",
              "file" : "hmi/draw/draw_reverse_approach.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/app/fsm/stop_reason.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_hmi.hpp"
            },
            {
              "editType" : "add",
              "file" : "data/obstacle/reverse_lane_approach.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_safe_const.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan_frame.hpp"
            },
            {
              "editType" : "add",
              "file" : "hmi/draw/draw_reverse_approach.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/long_decider/constrain_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/pnc_mat_shared.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/node_hmi.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_func_sw.hpp"
          ],
          "commitId" : "b61c553c0f4ff9a36aedab5c5614f28b518af1c2",
          "timestamp" : 1785198914000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "chore: 逆向车道接近防护灰度默认打开\u000a\u000ahpp 类内初始化与 cpp 的 rosparam 默认值一并改 true —— 前者在回放\u000aversion<16 的老 dump 时生效, 只改后者会让老包回放仍是关的。\u000a",
          "date" : "2026-07-28 08:35:14 +0800",
          "id" : "b61c553c0f4ff9a36aedab5c5614f28b518af1c2",
          "msg" : "chore: 逆向车道接近防护灰度默认打开",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "hmi/draw/draw_constrain.cpp"
          ],
          "commitId" : "afa15f9f2342928ced17b1889a3035764b115244",
          "timestamp" : 1785214793000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 窄会车限速HMI补绘制颜色, 原落到default暗红\u000a",
          "date" : "2026-07-28 12:59:53 +0800",
          "id" : "afa15f9f2342928ced17b1889a3035764b115244",
          "msg" : "fix: 窄会车限速HMI补绘制颜色, 原落到default暗红",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_constrain.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_env_const.hpp",
            "data/config/cfg_topic.hpp",
            "hmi/draw/draw_constrain.cpp",
            "data/config/cfg_topic.cpp",
            "data/constrain/longitude_constrain.cpp",
            "tasks/deciders/long_decider/constrain_decider.hpp",
            "tasks/deciders/long_decider/constrain_decider.cpp",
            "data/config/cfg_env_const.cpp",
            "data/config/cfg_func_sw.hpp",
            "data/config/cfg_func_sw.cpp",
            "source/ros_source_traffic_light.cpp",
            "hmi/widget/diagnose.cpp",
            "data/vehicle/traffic_light_data.cpp",
            "data/constrain/disable_stop_range.cpp",
            "data/constrain/disable_stop_range.hpp",
            "source/ros_source_traffic_light.hpp",
            "data/vehicle/traffic_light_data.hpp",
            "data/plan_frame.hpp",
            "data/constrain/longitude_constrain.hpp",
            "common/util/express.cpp",
            "source/module.cpp"
          ],
          "commitId" : "29aab4d28dc68f370f38bc4787b9fa5c55d256b9",
          "timestamp" : 1785215545000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 红绿灯实时灯态停车, 含倒计时通行判断与红灯缓行\u000a\u000a从 feat_traffic 移植实时灯态接入, 原逻辑只按地图判\"路口有灯就停\",\u000a现改为按灯色放行:\u000a- 新增 TrafficLightData 与 ROS 源, 订阅 traffic_light_det\u000a- 按路口转向选相位判定停走, 补齐右转灯(未检出右转灯时维持放行)\u000a- HMI 诊断显示灯态与倒计时\u000a\u000a倒计时(感知复用 conf 字段承载)相关:\u000a- 绿灯剩余不足以让车头驶出路口时提前停等; 已无法在停止线前停住\u000a  则继续通过, 避免明知停不住仍急刹\u000a- 红灯将结束时压低接近速度缓行; 停止线约束保留, 不会闯红灯\u000a\u000a移植修正:\u000a- FromMsg 补 clear(), 原实现跨帧累积会让历史绿灯命中 IsHaveStatus\u000a- ROS 源补 mutex, 与其余数据源一致\u000a- 未移植 NeedTrafficLightStop 里的调试用 return true(会架空灰度开关)\u000a\u000a灰度 use_func_traffic_light_countdown / use_func_traffic_light_creep\u000a默认关; PlanFrame 序列化升至 version 6, 新字段按版本追加。\u000a",
          "date" : "2026-07-28 13:12:25 +0800",
          "id" : "29aab4d28dc68f370f38bc4787b9fa5c55d256b9",
          "msg" : "feat: 红绿灯实时灯态停车, 含倒计时通行判断与红灯缓行",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tasks/deciders/long_decider/constrain_decider.cpp"
            },
            {
              "editType" : "add",
              "file" : "data/vehicle/traffic_light_data.hpp"
            },
            {
              "editType" : "add",
              "file" : "data/vehicle/traffic_light_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.hpp"
            },
            {
              "editType" : "add",
              "file" : "source/ros_source_traffic_light.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/constrain/disable_stop_range.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/constrain/longitude_constrain.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan_frame.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_constrain.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/constrain/disable_stop_range.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_topic.cpp"
            },
            {
              "editType" : "edit",
              "file" : "common/util/express.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/constrain/longitude_constrain.cpp"
            },
            {
              "editType" : "add",
              "file" : "source/ros_source_traffic_light.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_topic.hpp"
            },
            {
              "editType" : "edit",
              "file" : "source/module.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/diagnose.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/long_decider/constrain_decider.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/vehicle/traffic_light_data.cpp"
          ],
          "commitId" : "9e7385a8a3484d64ba9b49974ca6230826de396e",
          "timestamp" : 1785216327000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "style: 灯相位改指定初始化器, 防字段顺序变动时静默错位\u000a",
          "date" : "2026-07-28 13:25:27 +0800",
          "id" : "9e7385a8a3484d64ba9b49974ca6230826de396e",
          "msg" : "style: 灯相位改指定初始化器, 防字段顺序变动时静默错位",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/vehicle/traffic_light_data.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "hmi/draw/draw_map.hpp",
            "hmi/draw/draw_map.cpp"
          ],
          "commitId" : "23b1fbfac1ccccc0570406cec64bbe47367d9b69",
          "timestamp" : 1785216718000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 地图标注红绿灯相位与倒计时, 挂动态层避免静态缓存不刷新\u000a",
          "date" : "2026-07-28 13:31:58 +0800",
          "id" : "23b1fbfac1ccccc0570406cec64bbe47367d9b69",
          "msg" : "feat: 地图标注红绿灯相位与倒计时, 挂动态层避免静态缓存不刷新",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_map.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_map.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "CMakeLists.txt"
          ],
          "commitId" : "f7fe9b1838d7deb33e6534ab396cc6efefd484ad",
          "timestamp" : 1785222216000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "build: Debug 调试信息拆到 .dwo, 链接改用 lld\u000a\u000a-fstandalone-debug 让每个 .o 都带完整调试信息, 全量产出 819 个 .o 共 4.7GB、\u000a可执行文件各 1.35GB, 结果 ccache 装不下一次全量(命中率仅 17%), 链接也很慢。\u000a追加 -gsplit-dwarf 把调试信息拆到独立 .dwo, 不再进 .o 和最终二进制。两个 flag\u000a各管一件事(前者决定类型完整性, 后者决定存放位置), 必须同时保留, 调试能力不变。\u000a改动后 .o 总量降到 1.25GB, pnc_node 降到 768MB。\u000a\u000a链接器在探测到 lld 时改用 lld, 链接阶段耗时占比从瓶颈降到 0.3%。lld 是独立包\u000a不随 clang 一起装, 所以先问编译器能否使用再启用, 没装的机器回落系统默认链接器。\u000a\u000a注意: .dwo 按相对路径记录, 调试器需从 build/ 目录启动才能定位。\u000a",
          "date" : "2026-07-28 15:03:36 +0800",
          "id" : "f7fe9b1838d7deb33e6534ab396cc6efefd484ad",
          "msg" : "build: Debug 调试信息拆到 .dwo, 链接改用 lld",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "CMakeLists.txt"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "scenarios/task_condition_evaluator.cpp"
          ],
          "commitId" : "d7c66ed883d6c439a310ea0f7569991cf1bf51ef",
          "timestamp" : 1785229446000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: BETWEEN_YARD 条件增加前进方向判断, 倒车时不启用\u000a",
          "date" : "2026-07-28 17:04:06 +0800",
          "id" : "d7c66ed883d6c439a310ea0f7569991cf1bf51ef",
          "msg" : "fix: BETWEEN_YARD 条件增加前进方向判断, 倒车时不启用",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "scenarios/task_condition_evaluator.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/plan/path_direction_data.cpp"
          ],
          "commitId" : "b2f9bbd3d848b5a7587239e398db547471e9b00c",
          "timestamp" : 1785233883000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 锁站方向判定增加终点在车后倒车分支\u000a\u000a终点在车后且对齐余量超过 1m 时直接置为倒车方向, 避免落到\u000areq_step_align 分支后按前进方向规划。\u000a",
          "date" : "2026-07-28 18:18:03 +0800",
          "id" : "b2f9bbd3d848b5a7587239e398db547471e9b00c",
          "msg" : "feat: 锁站方向判定增加终点在车后倒车分支",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/plan/path_direction_data.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/map/reference/center_line.cpp"
          ],
          "commitId" : "555643794eb3726b03b06138afd7b43fecee2241",
          "timestamp" : 1785237895000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 途径点匹配改按横向距离绝对值取最近中心线\u000a\u000a引桥/岸桥/park/buffer/lane_change 五处筛选中心线时, min_l 初值为 DBL_MAX\u000a却用带符号的 l() 比较, 实际选出的是横向偏移最负(最靠右)的那条, 而非横向\u000a最近的。外层已按 fabs(l()) < 2.0 过滤, 内层比较与之矛盾。改为与\u000aUpdateDestAttr / UpdateCurrentAttr 一致的 fabs 写法。\u000a",
          "date" : "2026-07-28 19:24:55 +0800",
          "id" : "555643794eb3726b03b06138afd7b43fecee2241",
          "msg" : "fix: 途径点匹配改按横向距离绝对值取最近中心线",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/map/reference/center_line.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/map/reference/center_line.hpp",
            "data/plan/switch_data.hpp",
            "data/map/reference/center_line.cpp"
          ],
          "commitId" : "55345aae591d63ec186a92ce017ada334467c55c",
          "timestamp" : 1785240143000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: center_line 深度 review 一轮(判定修正+越界防护+去冗余拷贝+清死代码)\u000a\u000a判定:\u000a- 变道左右邻的 distance 跨越数不同, 原 check_range 被右邻覆盖后左侧实线\u000a  检查也复用它, 拆成 left/right 各算各的\u000a- 引桥途径点 s 只算不用, 结果取到最后一个而非最近的, 补上筛选\u000a- seaside/lane_change 比较用 start_match.s() 却存 end_match.s(), 下一轮\u000a  比较基准错位, 统一回 start\u000a\u000a越界与崩溃防护:\u000a- RelationOfRefByIdx 两个重载空容器时 size()-1 下溢, 后面 CHECK 必失败,\u000a  改优雅返回 INT32_MAX(46 处调用点已按此值处理)\u000a- UpdateSwitchAttr 开头补 empty() 早退, 原先 back() 无保护\u000a- JudgeIsInBlackLane 查的是邻车道, 补 idx==0 查左邻的边界判断\u000a- GetBlackLaneDistanceFromEgo 的 count 是变道相对关系可为负, idx+count\u000a  走 size_t 会下溢, 改 int64_t 中转后校验\u000a- SwitchData::curr_lane_idx_/target_lane_idx_ 无类内初始化也不在构造列表,\u000a  补 SIZE_MAX\u000a\u000a冗余拷贝(均为每帧热路径, CenterLine 含完整点列):\u000a- UpdateBlackLaneDistance 深拷贝整个 MltCenterLines\u000a- GetBlackLaneDistanceFromEgo 首次 at(idx) 拷贝立即被覆盖\u000a- JudgeIsInBlackLane 按值拷贝邻车道\u000a\u000a死代码:\u000a- 136 行注释掉的 lane_change 旧实现\u000a- LaneChangePtIsInCurPath(条件括号错位致语义反转, 仅注释块内调用)\u000a- buffer 途径点在 center_line 侧的链路(赋值处早已注释, 无消费者);\u000a  AppReaction::buffer_passing_pts_ 仍在用, 未动\u000a",
          "date" : "2026-07-28 20:02:23 +0800",
          "id" : "55345aae591d63ec186a92ce017ada334467c55c",
          "msg" : "fix: center_line 深度 review 一轮(判定修正+越界防护+去冗余拷贝+清死代码)",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/map/reference/center_line.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/map/reference/center_line.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/switch_data.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "hmi/draw/draw_path_boundary.hpp",
            "hmi/widget/pnc_mat_shared.cpp",
            "hmi/draw/draw_path_boundary.cpp",
            "hmi/draw/draw_all.cpp"
          ],
          "commitId" : "5b27175f0138069d8f6b7d25750b6511d52adb1a",
          "timestamp" : 1785246274000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: HMI 显示 road boundary 的 shift type\u000a\u000a在 road boundary 左边界点旁标注每段的 shift type, 类型跳变处各标一个,\u000a同类型连续断面不重复标。\u000a\u000a文字画在 cv::flip 之后(flip 前画会上下颠倒), 沿用 DrawReverseApproach\u000a的两段式: Draw 阶段只缓存 UTM 锚点, DrawText 做坐标变换并出字。\u000a",
          "date" : "2026-07-28 21:44:34 +0800",
          "id" : "5b27175f0138069d8f6b7d25750b6511d52adb1a",
          "msg" : "feat: HMI 显示 road boundary 的 shift type",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_path_boundary.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_path_boundary.hpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_all.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/pnc_mat_shared.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/common/trajectory_point.cpp"
          ],
          "commitId" : "6d93e3a9c729dba971bb8b40f0600f479bffc180",
          "timestamp" : 1785300131000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复 TrajectoryPoints 三处按弧长插值的参数误用\u000a\u000aMatchPtByt/MatchPtByS/MatchMultiPtsByMultiS 都把 [0,1] 的比例传给\u000aInterpPtByLinearS, 而后者第三参是绝对弧长, 于是恒命中其 \"p0.s() >= s - 0.01\"\u000a早退分支 —— 轨迹中段 s 是几十米量级、恒大于比例值, 插值从未真正生效, 取点一直\u000a退化成按离散点向下取整。\u000a\u000a- MatchPtByt: 把时间比例换算成对应弧长再传\u000a- MatchPtByS / MatchMultiPtsByMultiS: 本就按 s 查, 直接传 s\u000a- MatchMultiPtsByMultiS: 顺带修解引用 end() 的 UB 与 l/u 写反(该函数无调用方)\u000a- InterpPtByLinearS: z_ 是被重载的字段(存挂车横摆角, 另有 10000 终止哨兵),\u000a  插值真正生效后不能再盲目 lerp —— 任一端越界或两端相差超过 pi 时取下界点\u000a\u000a影响面较大: obstacle 预测采样、DP 动态代价、走廊 s<->t 反查、lattice 停车轨迹、\u000acloud_trajectory 都从\"取整\"变为\"真插值\", 数值会有变化, 目前只验证过变道场景。\u000a",
          "date" : "2026-07-29 12:42:11 +0800",
          "id" : "6d93e3a9c729dba971bb8b40f0600f479bffc180",
          "msg" : "fix: 修复 TrajectoryPoints 三处按弧长插值的参数误用",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/common/trajectory_point.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/pjpo_case_test.cpp",
            "data/plan/start_point_data.cpp",
            "algorithm/plan/pjpo.cpp",
            "tasks/deciders/lat_decider/switching_bounds_decider.cpp",
            "algorithm/plan/pjpo.hpp",
            "tasks/plan/pjpo_task.cpp"
          ],
          "commitId" : "d22a1c8ac945ee70b47bf11a0263366d995c84f9",
          "timestamp" : 1785300165000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复 PJPO 变道横移走不完与跨两车道路径扭曲\u000a\u000a一、变道横移走不完(车挪 1~3m 就停住, 路径起点段变直)\u000a车的横移速率 ≈ init_dl × v(每帧只执行路径最前约 0.5m), 所以起点斜率一旦被压到\u000a0, 路径形状再对车也不动。两处把它压到 0:\u000a- 起点 dl 在变道场景恢复硬约束(新增 soften_init_dl)。dcf2390c1 为治 side-pass\u000a  的起点 kappa kink 把 init_dl 软化, 但变道恰恰需要起点持续保持朝目标的横移\u000a  斜率, 软化后 QP 每帧把它拉回 0(kSoftInitPenalty 相对 l_ref 权重极低, 拉回几乎\u000a  无代价), 实测逐帧 0.113 -> 0.0137 -> 0.00065。\u000a- kInitDlOutwardMax 的\"向外\"判据改为相对 path_reference_l。原按 init_l 符号判,\u000a  会把 PREPARE 段\"正朝目标车道靠拢\"误判成向外漂移(实测 ref_l=1.57/init_l=0.82/\u000a  init_dl=0.06), 起点斜率被夹死在 0.05。\u000a另新增 BoostLaneChangeInitDl: QP 每帧的解从起点起 dl 就单调递减, 而车只执行起点\u000a段, 构成一阶惯性环节(指数收敛、尾巴无限长), 只能在入口给定横移速率下限打破。\u000a\u000a二、跨两车道路径扭曲(变一道正常, 变两道路径扭、控制跟不住而触发曲率限速)\u000a- 变道 dl 上限放宽到 0.8。单车道 S 曲线峰值仅 0.26, 跨两车道需 ~0.5, 恰好顶死\u000a  ±0.5 上限, QP 在约束边界上滑动导致解非光滑。用同一帧 dump 离线扫描, dl 拐点\u000a  数与触限程度严格对应: 0.3->7, 0.5->3, 0.8->1; 放宽后实际只用到 0.505。\u000a- config_local 的 lane_change_weight.dl_weight 20->5000(不在本仓库, 需单独同步)\u000a  压 dl 峰值治\"急\": 峰值 0.42->0.30, 拐点 2->0, 收敛距离 18m->44.5m。\u000a\u000a三、连带修复\u000a- init_dl 为硬约束时补上夹进 dl 边界。piecewise_jerk_problem 把 dx[0] 上下界同设\u000a  为 init 值(硬等式), 与 dx 的 box 约束矛盾时 OSQP 直接 primal infeasible, 而变道\u000a  关闭了 all_soft 兜底, 会一路掉到 last_path fallback。\u000a- 起点 dl/ddl 增加 Frenet 直传(参考线几何未变时从上一帧解按 s 取), 绕开 Cartesian\u000a  往返; 失败自动回退反算。\u000a- PjpoConstraintOptions 序列化补 enable_all_soft_fallback(版本 2->3)。生产置 false\u000a  而结构体默认 true, 之前从不入档, 离线回放会多挂 all_soft 档致复现不可信。\u000a- 新增离线工具 AnalyzeDlBoundEffect(扫 dl 上限/权重, 打印 opt_dl 曲线与拐点数)与\u000a  SidePassOutwardClampRegression(比对新旧向外判据并校验解是否退化)。\u000a\u000a验证: 实车变道正常、曲率连续; side-pass 回归 72 例 0 退化, 其中 1 例判据差异是对\u000a旧判据误夹的纠正(车朝走廊中点走却被当成向外漂移)。\u000a",
          "date" : "2026-07-29 12:42:45 +0800",
          "id" : "d22a1c8ac945ee70b47bf11a0263366d995c84f9",
          "msg" : "fix: 修复 PJPO 变道横移走不完与跨两车道路径扭曲",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/plan/start_point_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "algorithm/plan/pjpo.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/lat_decider/switching_bounds_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "algorithm/plan/pjpo.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/pjpo_task.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/pjpo_case_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/ssep/forward_ec.cpp"
          ],
          "commitId" : "494a4c03c12d713a4f2c572f39263f19537749f2",
          "timestamp" : 1785300245000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 梁山港进料场景也使用通用牵引挂车泊车场景\u000a\u000a原先仅出料(BulkOut)时设为 kTractorTrailerGeneral, 现进料(BulkIn)同样适用。\u000a",
          "date" : "2026-07-29 12:44:05 +0800",
          "id" : "494a4c03c12d713a4f2c572f39263f19537749f2",
          "msg" : "feat: 梁山港进料场景也使用通用牵引挂车泊车场景",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/plan/cloud_trajectory.cpp",
            "data/plan/cloud_trajectory.hpp"
          ],
          "commitId" : "6b68ccaa05a2dfddc975df3c86c4ab8b783fa6d2",
          "timestamp" : 1785303286000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 云端轨迹下发各 lane 的剩余长度与总长度\u000a\u000aTraj.msg 的 length_s/total_length_s 与 lane_ids 逐项对齐, 取值来自\u000a第一条引导线的 line_infos: 自车所在 lane 只算未走完的部分, 其后的\u000alane 取引导线覆盖的全长; 变道备用引导线不下发长度。\u000a",
          "date" : "2026-07-29 13:34:46 +0800",
          "id" : "6b68ccaa05a2dfddc975df3c86c4ab8b783fa6d2",
          "msg" : "feat: 云端轨迹下发各 lane 的剩余长度与总长度",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/plan/cloud_trajectory.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/cloud_trajectory.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/obstacle/reverse_lane_approach.cpp",
            "hmi/draw/draw_reverse_approach.hpp",
            "replayer/replayer_data_process/replayer_data_process.cpp",
            "data/obstacle/reverse_lane_approach.hpp",
            "tasks/deciders/long_decider/constrain_decider.cpp",
            "data/plan_frame.hpp",
            "data/plan_frame.cpp",
            "hmi/replayer_hmi.cpp",
            "hmi/draw/draw_reverse_approach.cpp"
          ],
          "commitId" : "5c38a92c41b9a233368ed32efc2c458151835018",
          "timestamp" : 1785324485000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 逆向车道接近支持 Replayer 回放诊断\u000a",
          "date" : "2026-07-29 19:28:05 +0800",
          "id" : "5c38a92c41b9a233368ed32efc2c458151835018",
          "msg" : "feat: 逆向车道接近支持 Replayer 回放诊断",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/obstacle/reverse_lane_approach.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/replayer_hmi.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/long_decider/constrain_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_reverse_approach.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan_frame.hpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_reverse_approach.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/reverse_lane_approach.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan_frame.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/replayer_data_process/replayer_data_process.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/obstacle/reverse_lane_approach.cpp",
            "data/obstacle/reverse_lane_approach.hpp",
            "hmi/draw/draw_reverse_approach.cpp"
          ],
          "commitId" : "95407a6e3a73566bcde36b509d0f64e176ed2571",
          "timestamp" : 1785333570000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修正逆向车道防护区域构建\u000a\u000a按 section real_lane_ids 过滤反向生成的重叠车道，统一初始候选和前驱链校验。\u000a\u000a防护区域靠自车侧使用逆向车道左 lane boundary，按自车方向的左侧外沿使用逆向车道右 road boundary，避免正反向 road boundary 重叠造成区域越界。\u000a\u000a冲突区域改为与自车走廊求交，并补充纵向 padding 与去重采样，避免垂直相交时 polygon 退化；同步更新 HMI 边界显示。\u000a",
          "date" : "2026-07-29 21:59:30 +0800",
          "id" : "95407a6e3a73566bcde36b509d0f64e176ed2571",
          "msg" : "fix: 修正逆向车道防护区域构建",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_reverse_approach.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/reverse_lane_approach.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/reverse_lane_approach.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_safe_const.hpp",
            "config/config_truck/plan.yaml",
            "data/config/cfg_safe_const.cpp",
            "tasks/deciders/long_decider/constrain_decider.hpp",
            "config/config_imv/plan.yaml",
            "tasks/deciders/long_decider/constrain_decider.cpp",
            "config/config_car/plan.yaml"
          ],
          "commitId" : "f8383017ad40e74bba23f8eedfd1ed144d3a18e1",
          "timestamp" : 1785408734000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 增加堆高机侧向吊具高度防护\u000a\u000a按堆高机与车身的横纵向位置及垂直朝向识别侧向作业场景。\u000a\u000a场景内采用可配置的 5.5 米吊具高度阈值，并追加角度、横向距离和纵向容错配置及回放序列化。\u000a",
          "date" : "2026-07-30 18:52:14 +0800",
          "id" : "f8383017ad40e74bba23f8eedfd1ed144d3a18e1",
          "msg" : "feat: 增加堆高机侧向吊具高度防护",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "config/config_imv/plan.yaml"
            },
            {
              "editType" : "edit",
              "file" : "config/config_truck/plan.yaml"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/long_decider/constrain_decider.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_safe_const.cpp"
            },
            {
              "editType" : "edit",
              "file" : "config/config_car/plan.yaml"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/long_decider/constrain_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_safe_const.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "hmi/draw/draw_perception.cpp",
            "data/obstacle/perception_obstacle.cpp",
            "data/obstacle/perception_obstacle.hpp"
          ],
          "commitId" : "ca4985937f3eda88a3813000f1dc4ce9e56ab031",
          "timestamp" : 1785408749000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 显示障碍物朝向与速度方向\u000a\u000a修正速度方向访问器，并为外部聚类障碍物初始化速度方向。\u000a\u000aHMI 使用较浅、较短的箭头区分 heading 和速度方向，同时过滤场桥虚拟障碍物及聚类障碍物。\u000a",
          "date" : "2026-07-30 18:52:29 +0800",
          "id" : "ca4985937f3eda88a3813000f1dc4ce9e56ab031",
          "msg" : "feat: 显示障碍物朝向与速度方向",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_perception.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/perception_obstacle.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/perception_obstacle.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/constrain/block_data.cpp",
            "data/constrain/temporary_stop_data.cpp",
            "data/constrain/disable_stop_range.cpp",
            "data/constrain/block_data.hpp",
            "data/constrain/disable_stop_range.hpp"
          ],
          "commitId" : "29b6b238475dd1893941953a4293910c95006f40",
          "timestamp" : 1785417832000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 禁止跳过动态场桥临停约束\u000a\u000a在 Range 中增加可跳过属性，并将属性传递到临停约束。\\n\\n区分动态场桥与静态场桥、未聚类障碍物，动态场桥始终保持停车且拒绝 SS 跳过请求，同时记录告警日志。\\n\\n修正出堆场场桥障碍物索引读取错误。\u000a",
          "date" : "2026-07-30 21:23:52 +0800",
          "id" : "29b6b238475dd1893941953a4293910c95006f40",
          "msg" : "fix: 禁止跳过动态场桥临停约束",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/constrain/block_data.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/constrain/disable_stop_range.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/constrain/block_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/constrain/disable_stop_range.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/constrain/temporary_stop_data.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/ssep/forward_ec.cpp"
          ],
          "commitId" : "ad80465330e84bdcb0d01569eb179354d4cb00d1",
          "timestamp" : 1785420614000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 支持真石 IMV 按途经点多段停车\u000a\u000a真石 IMV 进场且携带搜索途经点时，切换到 IMV 多段停车规划器并构建 pass posture。\u000a\u000a收紧途经点支持范围，避免真石 CAR/TT 意外启用随机途经点采样，同时保持其他港区原有逻辑不变。\u000a",
          "date" : "2026-07-30 22:10:14 +0800",
          "id" : "ad80465330e84bdcb0d01569eb179354d4cb00d1",
          "msg" : "feat: 支持真石 IMV 按途经点多段停车",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/app/cmd/cmd_remote_ctrl.hpp",
            "data/app/cmd/cmd_remote_ctrl.cpp"
          ],
          "commitId" : "0c3fea420317acb226dbc6e783f141e5854c7558",
          "timestamp" : 1785475712000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复直线步进指令立即中断\u000a\u000a区分远控命令尚未进入与已退出 MOTION_REMOTE 的状态，保留 STOP/DISABLE 启动阶段请求，使 stop2remote 能在后续周期正常触发。\\n\\n进入 MOTION_REMOTE 后退出仍立即中断，并保留原有超时保护；同步升级命令序列化版本。\u000a",
          "date" : "2026-07-31 13:28:32 +0800",
          "id" : "0c3fea420317acb226dbc6e783f141e5854c7558",
          "msg" : "fix: 修复直线步进指令立即中断",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/app/cmd/cmd_remote_ctrl.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/app/cmd/cmd_remote_ctrl.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_lat_plan.hpp",
            "data/obstacle/decision/obstacle_decision.cpp"
          ],
          "commitId" : "570a5354eaa718c4626c8bd24d1aefad515aa52b",
          "timestamp" : 1785478691000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 提前窄路靠边车辆绕行判定\u000a\u000a缩短动态障碍转静态时的确认帧数和近期位移窗口，降低停车后开始绕行的等待时间。\\n\\n靠边判断增加障碍外缘到真实道路边界的距离证据，使窄路上绝对横向偏移较小但实际已贴边的车辆能够及时放行；道路边界无效时保留原中心带判据。\u000a",
          "date" : "2026-07-31 14:18:11 +0800",
          "id" : "570a5354eaa718c4626c8bd24d1aefad515aa52b",
          "msg" : "fix: 提前窄路靠边车辆绕行判定",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_plan.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/dp_poly_path/dp_road_graph.cpp",
            "data/dp_poly_path/dp_road_graph.hpp"
          ],
          "commitId" : "9daeef8eed2c2e3f87c130bd6dde91ed5f784927",
          "timestamp" : 1785481135000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 防止DP搜索中断后绕行路径错误回正\u000a\u000aDP完整路径无解时，从最深层的最优可行节点回溯，仅保留无碰撞、无越界的搜索前缀。\u000a\u000a保持失败帧不发起新绕行决策，并让后续路径边界维持中断前的绕行侧位置，避免采用硬约束节点之后的虚假回目标车道段。\u000a",
          "date" : "2026-07-31 14:58:55 +0800",
          "id" : "9daeef8eed2c2e3f87c130bd6dde91ed5f784927",
          "msg" : "fix: 防止DP搜索中断后绕行路径错误回正",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/dp_road_graph.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/dp_road_graph.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tasks/deciders/lat_decider/trailer_side_pass_decider.cpp",
            "data/obstacle/decision/obstacle_decision.hpp",
            "tasks/plan/keb_utils.cpp",
            "data/boundary/driving_corridor.cpp",
            "data/obstacle/decision/obstacle_decision.cpp",
            "data/obstacle/obstacle_decider_attr.cpp",
            "tasks/deciders/lat_decider/side_pass_decider.cpp",
            "data/obstacle/obstacle_decider_attr.hpp",
            "data/boundary/driving_corridor.hpp"
          ],
          "commitId" : "ea1ed71bd038fc6b4f93a9c4519f1904b52c5564",
          "timestamp" : 1785540986000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 稳定动态障碍绕行边界切换\u000a\u000a隔离 UseHis 最终执行路径与动态交互路径，并改用原始可行 gap 计算窄会车空间，消除历史 DP 反灌造成的边界闪烁。\u000a\u000a横向切入采用让速不让道，切入完成或障碍后缘超过自车后释放来源侧车道边界，同时保留 KEB 碰撞防护。\u000a\u000a增加 OG 到 obj 的占用交接标签，以历史原始 OG 作为新 box 的成熟度证据；仅旁路 age，侧向与 KEB 构图均保留原始 bbox 且不额外膨胀。\u000a",
          "date" : "2026-08-01 07:36:26 +0800",
          "id" : "ea1ed71bd038fc6b4f93a9c4519f1904b52c5564",
          "msg" : "fix: 稳定动态障碍绕行边界切换",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tasks/deciders/lat_decider/side_pass_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/lat_decider/trailer_side_pass_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/obstacle_decider_attr.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_utils.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/obstacle_decider_attr.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/boundary/driving_corridor.cpp",
            "data/boundary/driving_corridor.hpp"
          ],
          "commitId" : "3b0e547e25d4f535a44a0549efb3910dd9a897ae",
          "timestamp" : 1785547957000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 稳定窄路会车的 DP 采样边界\u000a\u000a在自车纵向范围内延后边界收缩，并结合历史可行 gap、当前道路边界、安全缓冲和栅格余量保证最小通行空间。\u000a\u000a锁存贴右进入与退出状态，对各采样断面的对向车几何独立做短时保持，避免快速来车时边界逐帧收缩和放开。\u000a",
          "date" : "2026-08-01 09:32:37 +0800",
          "id" : "3b0e547e25d4f535a44a0549efb3910dd9a897ae",
          "msg" : "fix: 稳定窄路会车的 DP 采样边界",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/boundary/driving_corridor.cpp",
            "data/obstacle/decision/obstacle_decision.cpp",
            "data/obstacle/decision/obstacle_decision.hpp"
          ],
          "commitId" : "8eb6c8060e6e7bb18987b2f6220a5a1beaa5be5c",
          "timestamp" : 1785547965000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 过滤未沿道路对齐的会车收边\u000a\u000aMEETING 障碍只有通过沿当前道路逆向对齐确认后才能进入动态边界收窄，避免弯道外侧、支路横穿或调头车辆误触发狭窄会车。\u000a\u000a补充 along 诊断字段，便于回放区分标签命中与沿路对开确认。\u000a",
          "date" : "2026-08-01 09:32:45 +0800",
          "id" : "8eb6c8060e6e7bb18987b2f6220a5a1beaa5be5c",
          "msg" : "fix: 过滤未沿道路对齐的会车收边",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/dp_poly_path/trajectory_cost.cpp"
          ],
          "commitId" : "c5d61657e629d304d2463ecfbb5a47b6b735b6f8",
          "timestamp" : 1785636337000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修正 DP 动态障碍横向范围过滤\u000a\u000a使用障碍物 SL 横向边界与走廊横向宽度进行比较，修复原先混用 s 边界造成的量纲错误。\\n\\n避免前方动态障碍被提前过滤，恢复 DP 动态碰撞代价的有效性。\u000a",
          "date" : "2026-08-02 10:05:37 +0800",
          "id" : "c5d61657e629d304d2463ecfbb5a47b6b735b6f8",
          "msg" : "fix: 修正 DP 动态障碍横向范围过滤",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/trajectory_cost.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/boundary/driving_corridor.cpp",
            "hmi/draw/draw_perception.cpp",
            "data/obstacle/perception_obstacle.hpp",
            "config/config_imv/plan.yaml",
            "tasks/deciders/long_decider/constrain_decider.cpp",
            "data/config/cfg_func_sw.hpp",
            "data/config/cfg_func_sw.cpp",
            "data/obstacle/perception_obstacle.cpp",
            "data/dp_poly_path/dp_road_graph.cpp",
            "data/config/cfg_lat_plan.hpp",
            "data/plan/side_pass_data.cpp",
            "data/obstacle/decision/obstacle_decision.hpp",
            "data/obstacle/decision/obstacle_decision.cpp",
            "data/config/cfg_lat_plan.cpp",
            "data/obstacle/obstacle_decider_attr.cpp",
            "data/obstacle/obstacle_decider_attr.hpp",
            "data/plan/side_pass_data.hpp"
          ],
          "commitId" : "421fbda76064ca97a6705ec7761467e39bfc8e18",
          "timestamp" : 1785636360000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 支持受控低速车辆超车\u000a\u000a新增清扫车和洒水车类型，支持明确类型授权与可配置速度门控的低速超车候选。\\n\\n实现单目标锁定、左侧单向 DP 采样、目标扫掠与短时掉帧占用、动作承诺及超车限速，并在切入、会车、路口、倒车和目标失效时统一退出。\\n\\n按道路姿态区分静止车辆绕行：纵向对齐车辆使用短等待，斜停或横停车辆仅在确认静止并长时间堵塞后开放，避免方向和靠边判据旁路姿态保护。\\n\\n补充配置、诊断标记和快照序列化兼容。\u000a",
          "date" : "2026-08-02 10:06:00 +0800",
          "id" : "421fbda76064ca97a6705ec7761467e39bfc8e18",
          "msg" : "feat: 支持受控低速车辆超车",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/plan/side_pass_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/dp_road_graph.cpp"
            },
            {
              "editType" : "edit",
              "file" : "config/config_imv/plan.yaml"
            },
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_perception.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/perception_obstacle.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/long_decider/constrain_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_plan.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_plan.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/obstacle_decider_attr.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/obstacle_decider_attr.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/side_pass_data.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/perception_obstacle.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/obstacle/decision/obstacle_decision.hpp",
            "data/boundary/driving_corridor.cpp",
            "data/obstacle/decision/obstacle_decision.cpp",
            "data/config/cfg_lat_plan.cpp"
          ],
          "commitId" : "49b1706abe4aa9841141d718927fa1ac19f5282c",
          "timestamp" : 1785724938000,
          "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-08-03 10:42:18 +0800",
          "id" : "49b1706abe4aa9841141d718927fa1ac19f5282c",
          "msg" : "fix: 收紧快速对向会车边界",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_plan.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/dp_poly_path/dp_road_graph.cpp",
            "tasks/deciders/lat_decider/trailer_side_pass_decider.cpp",
            "tasks/deciders/lat_decider/side_pass_decider.cpp",
            "data/dp_poly_path/dp_road_graph.hpp"
          ],
          "commitId" : "448bc5c581f7903a3befb73a05404843d9c8a982",
          "timestamp" : 1785724938000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 保持绕行路径连续性\u000a\u000a绕行未获得足够回中空间或本帧 DP 无解时，请求沿用历史路径，避免车辆提前回目标车道后陷入首层无解。\u000a\u000a历史路径复用增加参考线锚点与当前可行走廊校验；校验失败时交由上层停车兜底，并修正拖挂路径使用错误参考线的问题。\u000a",
          "date" : "2026-08-03 10:42:18 +0800",
          "id" : "448bc5c581f7903a3befb73a05404843d9c8a982",
          "msg" : "fix: 保持绕行路径连续性",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tasks/deciders/lat_decider/side_pass_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/dp_road_graph.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/lat_decider/trailer_side_pass_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/dp_road_graph.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "sink/ros_sink_record_trigger.cpp"
          ],
          "commitId" : "75ddb364839d8c88ff2a9e802606bd70a9bac1e4",
          "timestamp" : 1785724938000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修正录包触发模块标识\u000a\u000a将快照录包触发消息的模块名由 decision 统一为 pnc，与当前节点其他对外消息保持一致。\u000a",
          "date" : "2026-08-03 10:42:18 +0800",
          "id" : "75ddb364839d8c88ff2a9e802606bd70a9bac1e4",
          "msg" : "fix: 修正录包触发模块标识",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "sink/ros_sink_record_trigger.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h",
            "ssep/coarse_search/searcher_builders/tractor_trailer_multi_segment_parking_bidirectional_searcher_builder.cc"
          ],
          "commitId" : "bced6f6d483813906b1a3fd2308a7a4835c657ab",
          "timestamp" : 1785742740000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/tangwenqing",
            "fullName" : "tangwenqing"
          },
          "authorEmail" : "tangwenqing@senior.auto",
          "comment" : "chore: SSEP: 集卡多段倒车自适应CPU/GPU模式，回退部分CPU参数\u000a\u000a",
          "date" : "2026-08-03 15:39:00 +0800",
          "id" : "bced6f6d483813906b1a3fd2308a7a4835c657ab",
          "msg" : "chore: SSEP: 集卡多段倒车自适应CPU/GPU模式，回退部分CPU参数",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/tractor_trailer_multi_segment_parking_bidirectional_searcher_builder.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h",
            "ssep/coarse_search/searcher_builders/tractor_trailer_multi_segment_parking_bidirectional_searcher_builder.cc"
          ],
          "commitId" : "7310b0790e1f4ff173958ec25f1a6d5c062de87a",
          "timestamp" : 1785744728000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "chore: SSEP: 集卡多段倒车自适应CPU/GPU模式，回退部分CPU参数\u000a\u000a",
          "date" : "2026-08-03 16:12:08 +0800",
          "id" : "7310b0790e1f4ff173958ec25f1a6d5c062de87a",
          "msg" : "chore: SSEP: 集卡多段倒车自适应CPU/GPU模式，回退部分CPU参数",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/tractor_trailer_multi_segment_parking_bidirectional_searcher_builder.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/vehicle/deviation_status.hpp",
            "data/vehicle/deviation_status.cpp"
          ],
          "commitId" : "dbbcf4a213b3e8c72a863a153b00c5966a06b249",
          "timestamp" : 1785757479000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: synchronize straighten hold with SSEP search\u000a",
          "date" : "2026-08-03 19:44:39 +0800",
          "id" : "dbbcf4a213b3e8c72a863a153b00c5966a06b249",
          "msg" : "fix: synchronize straighten hold with SSEP search",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/vehicle/deviation_status.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/vehicle/deviation_status.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "plan/prepare/prepare_status.cpp"
          ],
          "commitId" : "8431c0cf7263b8e64e011c14543bcca8c13f58f0",
          "timestamp" : 1785766365000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 延迟普通出堆场区域切换\u000a\u000a普通出堆场场景按挂尾所在路段确定反馈区域，挂尾仍在堆场或堆垛区时保持对应安全档位，完全离开后再切换为出堆场路口。\u000a\u000a复用按需计算的挂尾路段查询，避免非相关场景执行额外地图查询，并保持 open space 原有逻辑不变。\u000a",
          "date" : "2026-08-03 22:12:45 +0800",
          "id" : "8431c0cf7263b8e64e011c14543bcca8c13f58f0",
          "msg" : "fix: 延迟普通出堆场区域切换",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_status.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "plan/prepare/prepare_status.cpp"
          ],
          "commitId" : "6ee53cedccd00a851aa1e1bff39897eacd3f4e39",
          "timestamp" : 1785810177000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 稳定任务切换期间区域状态\u000a\u000a车辆静止且 PNC local map 尚未稳定时沿用上一帧区域状态，地图恢复或车辆起步后退出保持。\u000a\u000a通过新 routing 接收标志和 task id 变化识别任务首帧，避免场景状态尚未更新时短暂回退到普通道路或路口区域；保留 PARK_LOCK 专用判定优先级。\u000a",
          "date" : "2026-08-04 10:22:57 +0800",
          "id" : "6ee53cedccd00a851aa1e1bff39897eacd3f4e39",
          "msg" : "fix: 稳定任务切换期间区域状态",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_status.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_lat_plan.hpp"
          ],
          "commitId" : "9a38fc7decf718c1b841c65117eda39a4e352472",
          "timestamp" : 1785810183000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: serialize WBCA max cost\u000a",
          "date" : "2026-08-04 10:23:03 +0800",
          "id" : "9a38fc7decf718c1b841c65117eda39a4e352472",
          "msg" : "fix: serialize WBCA max cost",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_plan.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "plan/prepare/prepare_status.cpp"
          ],
          "commitId" : "9d2aba33a792be680c5fc0f7c831bb6c5f799330",
          "timestamp" : 1785810195000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 低速出桥场景适配锁站安全档位\u000a\u000a启用低速安全阈值调整时，将 REGION_OUT_BRIDGE 纳入锁站安全档位转换范围，避免该枚举因数值位于 REGION_STACKER 之后而被遗漏。\u000a",
          "date" : "2026-08-04 10:23:15 +0800",
          "id" : "9d2aba33a792be680c5fc0f7c831bb6c5f799330",
          "msg" : "fix: 低速出桥场景适配锁站安全档位",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_status.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/plan/start_point_data.cpp"
          ],
          "commitId" : "eef8e9a6d8adc39d76cc7f720a1d7102ebdacd24",
          "timestamp" : 1785811528000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/5081703.cr",
            "fullName" : "5081703.cr"
          },
          "authorEmail" : "5081703.cr@163.com",
          "comment" : "fix: plan from history in low speed\u000a",
          "date" : "2026-08-04 10:45:28 +0800",
          "id" : "eef8e9a6d8adc39d76cc7f720a1d7102ebdacd24",
          "msg" : "fix: plan from history in low speed",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/plan/start_point_data.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/scenario/scenario_planner_action.cpp"
          ],
          "commitId" : "f196f370519ae2951f909d6067cbb575ca6936db",
          "timestamp" : 1785820957000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修正场景规划器过早退出判断\u000a\u000a修正横向偏差与航向角阈值表达式的括号错误，避免将比较结果传入 fabs 导致左右判断不对称。\u000a\u000a补齐出堆场区域切换判断，并校验搜索路径坐标长度，防止错误退出及无效路径访问。\u000a",
          "date" : "2026-08-04 13:22:37 +0800",
          "id" : "f196f370519ae2951f909d6067cbb575ca6936db",
          "msg" : "fix: 修正场景规划器过早退出判断",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/scenario/scenario_planner_action.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "algorithm/wbca/imv_wbca_manager.hpp",
            "algorithm/wbca/imv_wbca_manager.cpp",
            "algorithm/wbca/path_optimization/imv_path_optimization.cpp",
            "algorithm/wbca/path_optimization/truck_path_optimization.cpp"
          ],
          "commitId" : "12a6cda7e67d01b78624b8ff8f5a32cde1234548",
          "timestamp" : 1785822755000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: update WBCA for truck and imv\u000a",
          "date" : "2026-08-04 13:52:35 +0800",
          "id" : "12a6cda7e67d01b78624b8ff8f5a32cde1234548",
          "msg" : "fix: update WBCA for truck and imv",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "algorithm/wbca/path_optimization/imv_path_optimization.cpp"
            },
            {
              "editType" : "edit",
              "file" : "algorithm/wbca/imv_wbca_manager.cpp"
            },
            {
              "editType" : "edit",
              "file" : "algorithm/wbca/imv_wbca_manager.hpp"
            },
            {
              "editType" : "edit",
              "file" : "algorithm/wbca/path_optimization/truck_path_optimization.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/data_structures/path.cc",
            "tasks/plan/keb_lane_follow_path_task.cpp"
          ],
          "commitId" : "fc6eb0868971fc680840de071580930fd7143f99",
          "timestamp" : 1785913580000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/tangwenqing",
            "fullName" : "tangwenqing"
          },
          "authorEmail" : "tangwenqing@senior.auto",
          "comment" : "fix: Keb: 修复IMV重规划时起点曲率异常的问题\u000a\u000a",
          "date" : "2026-08-05 15:06:20 +0800",
          "id" : "fc6eb0868971fc680840de071580930fd7143f99",
          "msg" : "fix: Keb: 修复IMV重规划时起点曲率异常的问题",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/data_structures/path.cc"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_lane_follow_path_task.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/app/fsm/task_fsm/task_park_fsm/task_park_fsm.cpp",
            "tasks/deciders/long_decider/constrain_decider.cpp",
            "tasks/plan/reversing_truck_path_task.cpp",
            "data/other/flow_control.cpp",
            "data/app/fsm/task_fsm/task_park_fsm/task_park_fsm.hpp",
            "data/vehicle/deviation_status.cpp"
          ],
          "commitId" : "1c386a5065d8e855a1295221908126dd72fbfe57",
          "timestamp" : 1785916711000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: stabilize STEP_ALIGN trajectory\u000a",
          "date" : "2026-08-05 15:58:31 +0800",
          "id" : "1c386a5065d8e855a1295221908126dd72fbfe57",
          "msg" : "fix: stabilize STEP_ALIGN trajectory",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/app/fsm/task_fsm/task_park_fsm/task_park_fsm.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/long_decider/constrain_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/other/flow_control.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/reversing_truck_path_task.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/app/fsm/task_fsm/task_park_fsm/task_park_fsm.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/vehicle/deviation_status.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "algorithm/wbca/imv_wbca_manager.cpp"
          ],
          "commitId" : "e8c56d84d6c5f40efb5d5ab3a8d3ffd273ff41d2",
          "timestamp" : 1785924191000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix: use history path for IMV direct link\u000a",
          "date" : "2026-08-05 18:03:11 +0800",
          "id" : "e8c56d84d6c5f40efb5d5ab3a8d3ffd273ff41d2",
          "msg" : "fix: use history path for IMV direct link",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "algorithm/wbca/imv_wbca_manager.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/app/fsm/motion_fsm/motion_fsm.cpp",
            "data/app/fsm/motion_fsm/motion_move_fsm/motion_move_fsm.cpp"
          ],
          "commitId" : "c4d88d1700cdc8e4586d2b4556e6a5f089d906fd",
          "timestamp" : 1785931504000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复缓刹遇障碍后无法进入停止态\u000a\u000aNStop 执行期间进入 MOVE_BRAKE 后保持障碍制动，避免 MOVE_NSTOP 与 MOVE_BRAKE 循环切换。\u000a\u000a车辆静止退出 MOVE_BRAKE 时恢复 NN_STOP 停车原因，使 MotionStopFsm 直接进入 STOP_CTRL。\u000a",
          "date" : "2026-08-05 20:05:04 +0800",
          "id" : "c4d88d1700cdc8e4586d2b4556e6a5f089d906fd",
          "msg" : "fix: 修复缓刹遇障碍后无法进入停止态",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/app/fsm/motion_fsm/motion_move_fsm/motion_move_fsm.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/app/fsm/motion_fsm/motion_fsm.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tasks/plan/keb_lane_follow_path_task.cpp",
            "offboard/keb_path_opt_cli/keb_scene_converter.cc"
          ],
          "commitId" : "6610aa1d8d22f71ff4c955a5d43d474b8bf8f1b4",
          "timestamp" : 1785931883000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/tangwenqing",
            "fullName" : "tangwenqing"
          },
          "authorEmail" : "tangwenqing@senior.auto",
          "comment" : "fix: Keb: 修复堆场转场时避障距离过大的问题\u000a\u000a",
          "date" : "2026-08-05 20:11:23 +0800",
          "id" : "6610aa1d8d22f71ff4c955a5d43d474b8bf8f1b4",
          "msg" : "fix: Keb: 修复堆场转场时避障距离过大的问题",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "offboard/keb_path_opt_cli/keb_scene_converter.cc"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_lane_follow_path_task.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc",
            "tasks/plan/keb_utils_core.cpp"
          ],
          "commitId" : "cccfcf32d51b255fe754f3de5dac69683c785718",
          "timestamp" : 1785998658000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/tangwenqing",
            "fullName" : "tangwenqing"
          },
          "authorEmail" : "tangwenqing@senior.auto",
          "comment" : "fix: Keb: 修复出堆场时挂车距离障碍物太近的问题\u000a\u000a",
          "date" : "2026-08-06 14:44:18 +0800",
          "id" : "cccfcf32d51b255fe754f3de5dac69683c785718",
          "msg" : "fix: Keb: 修复出堆场时挂车距离障碍物太近的问题",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_utils_core.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/offboard/ssep_planner_wrapper.cc",
            "ssep/scenarios/truck_bulk_yark_in_out_planner.cc",
            "ssep/maps/ogm.h",
            "ssep/maps/ogm_builder.h",
            "ssep/ssep_planner.cc",
            "ssep/ssep_planner.h",
            "ssep/maps/ogm_builder.cc"
          ],
          "commitId" : "3002b0204ba227f2c7e17bfe25fbd5b31a86c058",
          "timestamp" : 1786015196000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/tangwenqing",
            "fullName" : "tangwenqing"
          },
          "authorEmail" : "tangwenqing@senior.auto",
          "comment" : "feat: SSEP: 前港清除access line附近的地图障碍物\u000a\u000a",
          "date" : "2026-08-06 19:19:56 +0800",
          "id" : "3002b0204ba227f2c7e17bfe25fbd5b31a86c058",
          "msg" : "feat: SSEP: 前港清除access line附近的地图障碍物",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/maps/ogm.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/ssep_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/ssep_planner_wrapper.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/maps/ogm_builder.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/maps/ogm_builder.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/truck_bulk_yark_in_out_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/ssep_planner.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/vehicle/lock_station_data.cpp"
          ],
          "commitId" : "6e8c698095499413e06bbb4b1e350403d3c7ce5e",
          "timestamp" : 1786016132000,
          "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-08-06 19:35:32 +0800",
          "id" : "6e8c698095499413e06bbb4b1e350403d3c7ce5e",
          "msg" : "fix: 修复普通场景缓冲区数据失效问题",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/vehicle/lock_station_data.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "math/piecewise_jerk/constant_jerk_traj.cpp",
            "data/common/trajectory_point.cpp",
            "data/lattice/trajectory_combiner.cpp",
            "data/lattice/piecewise_traj_generator.cpp",
            "data/lattice/feasible_region.cpp",
            "math/piecewise_jerk/piecewise_jerk_traj.cpp",
            "data/lattice/feasible_region.hpp"
          ],
          "commitId" : "bc74bb89bd349452152f3e327b06384e849a8322",
          "timestamp" : 1786027375000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修正纵向轨迹基础计算边界\u000a\u000a修正轨迹点投影的绝对 s 计算、可行域减速边界和加速段距离公式。\u000a\u000a补齐终点采样，允许数值稳定的微小时长 jerk 段，并实现 PiecewiseJerkTraj 深拷贝。\u000a",
          "date" : "2026-08-06 22:42:55 +0800",
          "id" : "bc74bb89bd349452152f3e327b06384e849a8322",
          "msg" : "fix: 修正纵向轨迹基础计算边界",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "math/piecewise_jerk/constant_jerk_traj.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/feasible_region.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/feasible_region.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/common/trajectory_point.cpp"
            },
            {
              "editType" : "edit",
              "file" : "math/piecewise_jerk/piecewise_jerk_traj.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/piecewise_traj_generator.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/trajectory_combiner.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tasks/deciders/long_decider/constrain_decider.cpp",
            "common/util/crash_helper.hpp",
            "data/lattice/collision_sweep.hpp",
            "data/lattice/collision_checker.cpp",
            "common/util/crash_helper.cpp",
            "data/lattice/ogm_crash_data.cpp"
          ],
          "commitId" : "6adf47332ad16566b6d51f2c4043c4656bd60800",
          "timestamp" : 1786027398000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 增强纵向碰撞连续扫掠\u000a\u000a按时间和空间双阈值补齐轨迹点间的连续碰撞检测，并统一牵引车与挂车扫掠轨迹。\u000a\u000a细化 OGM 首碰位置，修正碰撞距离重复扣除 ego s 的问题。\u000a",
          "date" : "2026-08-06 22:43:18 +0800",
          "id" : "6adf47332ad16566b6d51f2c4043c4656bd60800",
          "msg" : "feat: 增强纵向碰撞连续扫掠",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "common/util/crash_helper.cpp"
            },
            {
              "editType" : "add",
              "file" : "data/lattice/collision_sweep.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/ogm_crash_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/long_decider/constrain_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "common/util/crash_helper.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/collision_checker.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/lattice/trajectory1d_generator.hpp",
            "replayer/replayer_data_process/replayer_data_process.cpp",
            "data/constrain/speed_hard_constrain.hpp",
            "data/lattice/trajectory1d_generator.cpp",
            "data/constrain/longitude_constrain.cpp",
            "data/constrain/long_target.cpp",
            "CMakeLists.txt",
            "data/lattice/condition_sampler.cpp",
            "data/lattice/trajectory_combiner.hpp",
            "data/plan/start_point_data.cpp",
            "data/lattice/lattice_trajectory1d.cpp",
            "data/lattice/constraint_checker.hpp",
            "data/lattice/trajectory_evaluator.hpp",
            "data/config/cfg_long_plan.cpp",
            "algorithm/plan/lattice.cpp",
            "data/constrain/long_target.hpp",
            "data/lattice/trajectory_combiner.cpp",
            "data/lattice/trajectory_evaluator.cpp",
            "data/constrain/speed_hard_constrain.cpp",
            "tasks/plan/lattice_task.hpp",
            "data/lattice/lattice_trajectory1d.hpp",
            "tasks/plan/lattice_task.cpp",
            "data/lattice/constraint_checker.cpp",
            "data/lattice/longitudinal_comfort.hpp",
            "data/lattice/stop_planning_context.hpp",
            "data/lattice/jerk_limited_stop.hpp",
            "data/lattice/fsm_safety_brake.hpp",
            "data/lattice/longitudinal_curve_validator.hpp",
            "data/lattice/condition_sampler.hpp",
            "data/lattice/lattice_debug_data.hpp",
            "data/lattice/path_time_graph.cpp",
            "data/config/cfg_long_plan.hpp",
            "data/app/fsm/stop_reason.cpp",
            "Testing/jerk_limited_stop_test.cpp",
            "data/lattice/stop_profile_planner.hpp",
            "data/plan_frame.hpp",
            "data/constrain/longitude_constrain.hpp",
            "data/plan_frame.cpp"
          ],
          "commitId" : "7d80498d997025a130ff2e2dcf8b5e592ef202df",
          "timestamp" : 1786031480000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 统一纵向停车规划与限速约束\u000a\u000a建立统一停车上下文与运行状态，明确普通规划继承规划曲线起点、FSM 安全制动继承车辆反馈。\u000a\u000a将严格停车改为 jerk 受限的多候选采样并支持上一条安全曲线续接，统一零速硬约束、动态限速和碰撞检查。\u000a\u000a压缩停车诊断序列化，在回放端重建可派生数据，并补齐停车、重入、重载、限速及连续扫掠回归测试。\u000a",
          "date" : "2026-08-06 23:51:20 +0800",
          "id" : "7d80498d997025a130ff2e2dcf8b5e592ef202df",
          "msg" : "fix: 统一纵向停车规划与限速约束",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/lattice/trajectory1d_generator.hpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/replayer_data_process/replayer_data_process.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/constraint_checker.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/trajectory_evaluator.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/trajectory_combiner.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/lattice_task.cpp"
            },
            {
              "editType" : "add",
              "file" : "data/lattice/jerk_limited_stop.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_long_plan.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan_frame.hpp"
            },
            {
              "editType" : "add",
              "file" : "data/lattice/longitudinal_curve_validator.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/constraint_checker.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan_frame.cpp"
            },
            {
              "editType" : "add",
              "file" : "data/lattice/stop_profile_planner.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/trajectory_evaluator.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/condition_sampler.cpp"
            },
            {
              "editType" : "add",
              "file" : "data/lattice/fsm_safety_brake.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/condition_sampler.hpp"
            },
            {
              "editType" : "add",
              "file" : "data/lattice/stop_planning_context.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/app/fsm/stop_reason.cpp"
            },
            {
              "editType" : "add",
              "file" : "Testing/jerk_limited_stop_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_long_plan.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/start_point_data.cpp"
            },
            {
              "editType" : "add",
              "file" : "data/lattice/lattice_debug_data.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/lattice_trajectory1d.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/path_time_graph.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/constrain/speed_hard_constrain.cpp"
            },
            {
              "editType" : "edit",
              "file" : "algorithm/plan/lattice.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/constrain/long_target.hpp"
            },
            {
              "editType" : "add",
              "file" : "data/lattice/longitudinal_comfort.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/constrain/longitude_constrain.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/constrain/long_target.cpp"
            },
            {
              "editType" : "edit",
              "file" : "CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/trajectory1d_generator.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/lattice_task.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/trajectory_combiner.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/constrain/speed_hard_constrain.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/lattice_trajectory1d.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/constrain/longitude_constrain.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "hmi/replayer_hmi.hpp",
            "hmi/widget/lattice_plan_detail.cpp",
            "hmi/widget/lattice_plan_detail.hpp",
            "hmi/node_hmi.hpp",
            "hmi/replayer_hmi.cpp",
            "hmi/node_hmi.cpp"
          ],
          "commitId" : "c0d77e9213506a73bc9d1ff584242d1f491626fd",
          "timestamp" : 1786031500000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 增加 Lattice 停车诊断界面\u000a\u000a增加候选轨迹、ST、s-v、t-a 和停车时序视图，展示停车上下文、候选筛选及失败原因。\u000a\u000a接入在线 HMI 与回放 HMI，共用压缩后的诊断数据并支持回放重建结果展示。\u000a",
          "date" : "2026-08-06 23:51:40 +0800",
          "id" : "c0d77e9213506a73bc9d1ff584242d1f491626fd",
          "msg" : "feat: 增加 Lattice 停车诊断界面",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "hmi/node_hmi.hpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/replayer_hmi.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/replayer_hmi.hpp"
            },
            {
              "editType" : "add",
              "file" : "hmi/widget/lattice_plan_detail.hpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/node_hmi.cpp"
            },
            {
              "editType" : "add",
              "file" : "hmi/widget/lattice_plan_detail.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/scenario/scenario_manager.cpp"
          ],
          "commitId" : "a3bbf6a8c9ec3bac13e512160e03f379d048de68",
          "timestamp" : 1786031573000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat:s弯下码头面不搜索的bug\u000a",
          "date" : "2026-08-06 23:52:53 +0800",
          "id" : "a3bbf6a8c9ec3bac13e512160e03f379d048de68",
          "msg" : "feat:s弯下码头面不搜索的bug",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/scenario/scenario_manager.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/lattice/trajectory_evaluator.hpp",
            "data/lattice/stop_planning_context.hpp",
            "data/lattice/trajectory1d_generator.cpp",
            "data/lattice/trajectory_evaluator.cpp",
            "data/constrain/long_target.cpp",
            "data/lattice/longitudinal_curve_validator.hpp",
            "Testing/jerk_limited_stop_test.cpp"
          ],
          "commitId" : "253af5e4cbbd47c5124c7fe4b7e8383032b5915f",
          "timestamp" : 1786033146000,
          "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-08-07 00:19:06 +0800",
          "id" : "253af5e4cbbd47c5124c7fe4b7e8383032b5915f",
          "msg" : "fix: 防止终点制动阶段重新提速",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/constrain/long_target.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/longitudinal_curve_validator.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/trajectory_evaluator.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/trajectory_evaluator.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/trajectory1d_generator.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/jerk_limited_stop_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/stop_planning_context.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/lattice/trajectory1d_generator.hpp",
            "data/lattice/longitudinal_curve_validator.hpp",
            "algorithm/plan/lattice.cpp",
            "data/lattice/trajectory1d_generator.cpp",
            "Testing/jerk_limited_stop_test.cpp"
          ],
          "commitId" : "bd877bb416411869d616e0ecb6d5005a83208e06",
          "timestamp" : 1786034552000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 支持停车终点释放后的低速前移\u000a\u000a统一为所有硬速度约束保留 0.5 km/h 容差，同时继续严格限制停车终点的空间边界。\u000a\u000a在停车未激活但硬终点仍有效时采样精确收敛到终点的低速五次曲线，解决动态跟车距离缩短后车辆无法继续前移的问题，并补充容差与候选生成测试。\u000a",
          "date" : "2026-08-07 00:42:32 +0800",
          "id" : "bd877bb416411869d616e0ecb6d5005a83208e06",
          "msg" : "fix: 支持停车终点释放后的低速前移",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "Testing/jerk_limited_stop_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/longitudinal_curve_validator.hpp"
            },
            {
              "editType" : "edit",
              "file" : "algorithm/plan/lattice.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/trajectory1d_generator.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/trajectory1d_generator.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/lattice/trajectory1d_generator.hpp",
            "data/lattice/longitudinal_curve_validator.hpp",
            "data/lattice/stop_profile_planner.hpp",
            "data/lattice/trajectory1d_generator.cpp",
            "data/lattice/trajectory_evaluator.cpp",
            "Testing/jerk_limited_stop_test.cpp"
          ],
          "commitId" : "e99242fdc655541b05965f803b0dadc19b6eaf76",
          "timestamp" : 1786035846000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修正短距停车前移速度\u000a\u000a按剩余距离和舒适动力学搜索最高可行巡航峰值，并同步候选曲线与参考曲线。\u000a\u000a保留 0.5 km/h 仅作为硬限速容差，移除其对前移速度的误用；在终点匹配范围内从继承位置生成零速保持，消除厘米级残差规划失败。\u000a",
          "date" : "2026-08-07 01:04:06 +0800",
          "id" : "e99242fdc655541b05965f803b0dadc19b6eaf76",
          "msg" : "fix: 修正短距停车前移速度",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/lattice/longitudinal_curve_validator.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/trajectory1d_generator.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/trajectory_evaluator.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/stop_profile_planner.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/trajectory1d_generator.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/jerk_limited_stop_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/lattice/stop_planning_context.hpp",
            "data/constrain/long_target.cpp",
            "Testing/jerk_limited_stop_test.cpp"
          ],
          "commitId" : "2c20fda83ae5d384e18c5474fb9fb100a50efd5b",
          "timestamp" : 1786037343000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 隔离停车目标跨帧状态\u000a\u000a严格校验约束 ID 与投影后停车终点连续性，防止新终点继承旧目标的制动承诺、安全曲线和 OGM hold。补充空 ID、同 ID 跳变、失活目标和 FSM 重入回归测试。\u000a",
          "date" : "2026-08-07 01:29:03 +0800",
          "id" : "2c20fda83ae5d384e18c5474fb9fb100a50efd5b",
          "msg" : "fix: 隔离停车目标跨帧状态",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/constrain/long_target.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/stop_planning_context.hpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/jerk_limited_stop_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/ssep/forward_ec.cpp"
          ],
          "commitId" : "e24fc800bd2bc2adadbc8357a3b43f473745beee",
          "timestamp" : 1786070954000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "chore: 注释掉WHBULK的终点约束\u000a",
          "date" : "2026-08-07 10:49:14 +0800",
          "id" : "e24fc800bd2bc2adadbc8357a3b43f473745beee",
          "msg" : "chore: 注释掉WHBULK的终点约束",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "sink/ros_sink_ctrl_reference.cpp",
            "data/config/cfg_func_sw.cpp",
            "data/config/cfg_func_sw.hpp"
          ],
          "commitId" : "331648018ddaf341fb953981c0d6b403c93a3454",
          "timestamp" : 1786078618000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修正双头 IMV 直线步进方向\u000a\u000a双头 IMV 在反向形式下默认保持固定车身方向，不再无条件按 reversing_mode 翻转步进距离。\\n\\n新增功能开关以兼容需要沿用旧方向定义的车辆，并支持配置动态更新及序列化。\u000a",
          "date" : "2026-08-07 12:56:58 +0800",
          "id" : "331648018ddaf341fb953981c0d6b403c93a3454",
          "msg" : "fix: 修正双头 IMV 直线步进方向",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "sink/ros_sink_ctrl_reference.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/lattice/trajectory_evaluator.hpp",
            "data/lattice/trajectory1d_generator.hpp",
            "data/lattice/stop_profile_planner.hpp",
            "data/lattice/stop_planning_context.hpp",
            "data/lattice/trajectory1d_generator.cpp",
            "data/lattice/trajectory_evaluator.cpp",
            "data/constrain/long_target.cpp",
            "tasks/plan/lattice_task.hpp",
            "data/lattice/longitudinal_curve_validator.hpp",
            "tasks/plan/lattice_task.cpp",
            "Testing/jerk_limited_stop_test.cpp"
          ],
          "commitId" : "400111028f6748229d9152d2a43aa25416a19be5",
          "timestamp" : 1786078828000,
          "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正常规划无解时输出限 jerk 的最大减速兜底轨迹，并在后续周期持续重试正常规划以便恢复行驶。\u000a\u000a补充硬限速、短距停车、制动恢复和现场回归测试。\u000a",
          "date" : "2026-08-07 13:00:28 +0800",
          "id" : "400111028f6748229d9152d2a43aa25416a19be5",
          "msg" : "fix: 修复纵向停车限速恢复与无解兜底",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "Testing/jerk_limited_stop_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/lattice_task.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/stop_profile_planner.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/lattice_task.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/constrain/long_target.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/stop_planning_context.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/longitudinal_curve_validator.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/trajectory_evaluator.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/trajectory_evaluator.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/trajectory1d_generator.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/trajectory1d_generator.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_func_sw.cpp",
            "sink/ros_sink_ctrl_reference.cpp",
            "data/config/cfg_func_sw.hpp"
          ],
          "commitId" : "cc22bdd20003402f89d9dfc808dcbd8e0a10ba10",
          "timestamp" : 1786079196000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修正双头 IMV 直线步进方向\u000a\u000a双头 IMV 在反向形式下默认保持固定车身方向，不再无条件按 reversing_mode 翻转步进距离。\\n\\n新增功能开关以兼容需要沿用旧方向定义的车辆，并支持配置动态更新及序列化。\u000a",
          "date" : "2026-08-07 13:06:36 +0800",
          "id" : "cc22bdd20003402f89d9dfc808dcbd8e0a10ba10",
          "msg" : "fix: 修正双头 IMV 直线步进方向",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.hpp"
            },
            {
              "editType" : "edit",
              "file" : "sink/ros_sink_ctrl_reference.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/ssep/ssep_activation.cpp"
          ],
          "commitId" : "47d27a93e02d01731872969ee446f9871d2bb2ef",
          "timestamp" : 1786086842000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/tangwenqing",
            "fullName" : "tangwenqing"
          },
          "authorEmail" : "tangwenqing@senior.auto",
          "comment" : "fix: SSEP: 前港口清除access line附近的地图障碍物2\u000a\u000a",
          "date" : "2026-08-07 15:14:02 +0800",
          "id" : "47d27a93e02d01731872969ee446f9871d2bb2ef",
          "msg" : "fix: SSEP: 前港口清除access line附近的地图障碍物2",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_activation.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/keb_optimizer/imv_keb_optimizer.cc",
            "ssep/keb_optimizer/imv_keb_optimizer.h",
            "ssep/keb_optimizer/keb_problem.h",
            "ssep/scenarios/imv_multi_segment_parking_planner.h",
            "ssep/keb_optimizer/cost_features/direction_switch_point_cost.h",
            "ssep/coarse_search/searcher_builders/imv_multi_segment_parking_bidirectional_searcher_builder.cc",
            "ssep/keb_optimizer/keb_problem.cc"
          ],
          "commitId" : "f21c9d7db57f73bc55f13137a60ee3f5872d81fa",
          "timestamp" : 1786086961000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/tangwenqing",
            "fullName" : "tangwenqing"
          },
          "authorEmail" : "tangwenqing@senior.auto",
          "comment" : "feat: SSEP: IMV多段路径规划，在优化时增加“方向切换参考点”\u000a\u000a",
          "date" : "2026-08-07 15:16:01 +0800",
          "id" : "f21c9d7db57f73bc55f13137a60ee3f5872d81fa",
          "msg" : "feat: SSEP: IMV多段路径规划，在优化时增加“方向切换参考点”",
          "paths" : [
            {
              "editType" : "add",
              "file" : "ssep/keb_optimizer/cost_features/direction_switch_point_cost.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/imv_multi_segment_parking_bidirectional_searcher_builder.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/imv_multi_segment_parking_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/imv_keb_optimizer.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/imv_keb_optimizer.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "hmi/draw/draw_guide_line.cpp"
          ],
          "commitId" : "85803e4342f42a1dabde51fdd671b1b01d8a0c27",
          "timestamp" : 1786088516000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 引导线绘制车道 ID\u000a\u000a在每段连续车道的中点标注 lane ID，并根据视图缩放调整字号。\\n跳过空 ID 和无效路径索引，避免重复文字与越界访问。\u000a",
          "date" : "2026-08-07 15:41:56 +0800",
          "id" : "85803e4342f42a1dabde51fdd671b1b01d8a0c27",
          "msg" : "feat: 引导线绘制车道 ID",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_guide_line.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/ssep/ssep_util.hpp",
            "data/config/cfg_func_sw.hpp",
            "data/config/cfg_func_sw.cpp",
            "data/ssep/ssep_util.cpp",
            "data/ssep/out_yard_junction_ec.cpp",
            "data/ssep/bridge_junction_ec.cpp"
          ],
          "commitId" : "8b97531af95c81a24e87f179322254432f99a328",
          "timestamp" : 1786335903000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 支持短直道路口连续搜索\u000a\u000a抽取短直道连接下一路口的公共判定逻辑，并在引桥搜索中将终点延伸至下一路口 end_s。\u000a\u000a新增默认关闭的 SSEP 功能开关，统一控制引桥、出堆场及后续场景的启用行为，同时支持动态更新与快照序列化。\u000a",
          "date" : "2026-08-10 12:25:03 +0800",
          "id" : "8b97531af95c81a24e87f179322254432f99a328",
          "msg" : "feat: 支持短直道路口连续搜索",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_util.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_util.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/out_yard_junction_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/bridge_junction_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "CMakeLists.txt"
          ],
          "commitId" : "fbd07404195d337fb8ea566b2261e47ca3f66083",
          "timestamp" : 1786338336000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "perf: 缩小版本宏的编译影响范围\u000a\u000a将 VERSION_NODE、COMMIT_NODE 和 NODE_MSG_VERSION 从全局定义调整为仅作用于实际读取版本信息的 5 个源文件。\u000a\u000a避免每次提交变化都改写全部编译命令并触发全量重编，使其余编译单元能够跨提交复用 ccache，同时保留程序版本信息。\u000a",
          "date" : "2026-08-10 13:05:36 +0800",
          "id" : "fbd07404195d337fb8ea566b2261e47ca3f66083",
          "msg" : "perf: 缩小版本宏的编译影响范围",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "CMakeLists.txt"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/boundary/driving_corridor.cpp"
          ],
          "commitId" : "7d622f8768f9f782c479b0c122662a706e95aac0",
          "timestamp" : 1786347582000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复相邻道路逆向车误触发窄会车\u000a\u000a窄会车净空计算前过滤完全位于最右可行边界之外的障碍断面，避免负净空将相邻平行道路车辆误判为极窄会车。\\n\\n障碍跨越可行边界时仍按零净空保守处理，并补充 outside_right 诊断计数。\u000a",
          "date" : "2026-08-10 15:39:42 +0800",
          "id" : "7d622f8768f9f782c479b0c122662a706e95aac0",
          "msg" : "fix: 修复相邻道路逆向车误触发窄会车",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/coarse_search/motion_primitive_sampler/trailer_heading_motion_primitive_decorator.h",
            "ssep/coarse_search/searcher_builders/imv_bidirectional_searcher_builder.h",
            "ssep/coarse_search/evaluator/diagonal_cost_computer.h",
            "ssep/coarse_search/searcher_builders/truck_reference_following_searcher_builder.h",
            "ssep/coarse_search/searcher_builders/rigid_truck_general_searcher_builder.h",
            "ssep/coarse_search/evaluator/README.md",
            "ssep/coarse_search/evaluator/trailer_shortest_path_heur_computer.h",
            "ssep/coarse_search/evaluator/bidirectional_kinematic_heuristic_computer.h",
            "ssep/coarse_search/topology_analysis/yard_entry_reference_path_generator.h",
            "ssep/coarse_search/searcher_builders/imv_general_searcher_builder.h",
            "ssep/coarse_search/motion_primitive_sampler/yard_entry_reference_path_generator.cc",
            "ssep/coarse_search/evaluator/trailer_collision_cost_computer.h",
            "ssep/coarse_search/evaluator/shortest_path_heur_table.h",
            "ssep/coarse_search/topology_analysis/yard_entry_reference_path_generator.cc",
            "ssep/coarse_search/motion_primitive_sampler/diagnal_motion_primitive_sampler.h",
            "ssep/coarse_search/evaluator/dir_switching_cost_computer.h",
            "ssep/coarse_search/README.md",
            "ssep/coarse_search/motion_primitive_sampler/const_pinch_motion_primitive_sampler.h",
            "ssep/coarse_search/searcher_builders/tractor_trailer_bidirectional_searcher_builder.h",
            "ssep/coarse_search/evaluator/composite_heuristic_computer.h",
            "ssep/coarse_search/motion_primitive_sampler/yard_entry_reference_path_generator.h",
            "ssep/coarse_search/searcher_builders/README.md",
            "ssep/coarse_search/evaluator/ref_line_cost_computer.h",
            "ssep/coarse_search/evaluator/jackknife_cost_computer.h",
            "ssep/coarse_search/motion_primitive_sampler/README.md"
          ],
          "commitId" : "bc8a0f42965a27f6aa0896d9d5886b20e27fe867",
          "timestamp" : 1786361757000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/tangwenqing",
            "fullName" : "tangwenqing"
          },
          "authorEmail" : "tangwenqing@senior.auto",
          "comment" : "doc: SSEP: 补充搜索模块相关的注释和文档\u000a\u000a",
          "date" : "2026-08-10 19:35:57 +0800",
          "id" : "bc8a0f42965a27f6aa0896d9d5886b20e27fe867",
          "msg" : "doc: SSEP: 补充搜索模块相关的注释和文档",
          "paths" : [
            {
              "editType" : "add",
              "file" : "ssep/coarse_search/evaluator/README.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/evaluator/diagonal_cost_computer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/tractor_trailer_bidirectional_searcher_builder.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/motion_primitive_sampler/trailer_heading_motion_primitive_decorator.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/evaluator/dir_switching_cost_computer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/evaluator/trailer_shortest_path_heur_computer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/evaluator/trailer_collision_cost_computer.h"
            },
            {
              "editType" : "delete",
              "file" : "ssep/coarse_search/motion_primitive_sampler/yard_entry_reference_path_generator.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/coarse_search/searcher_builders/README.md"
            },
            {
              "editType" : "add",
              "file" : "ssep/coarse_search/topology_analysis/yard_entry_reference_path_generator.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/evaluator/jackknife_cost_computer.h"
            },
            {
              "editType" : "delete",
              "file" : "ssep/coarse_search/motion_primitive_sampler/yard_entry_reference_path_generator.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/imv_bidirectional_searcher_builder.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/coarse_search/README.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/motion_primitive_sampler/diagnal_motion_primitive_sampler.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/evaluator/bidirectional_kinematic_heuristic_computer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/motion_primitive_sampler/const_pinch_motion_primitive_sampler.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/truck_reference_following_searcher_builder.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/coarse_search/topology_analysis/yard_entry_reference_path_generator.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/evaluator/composite_heuristic_computer.h"
            },
            {
              "editType" : "add",
              "file" : "ssep/coarse_search/motion_primitive_sampler/README.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/evaluator/ref_line_cost_computer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/imv_general_searcher_builder.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/rigid_truck_general_searcher_builder.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/evaluator/shortest_path_heur_table.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/lattice/trajectory_combiner.cpp",
            "algorithm/plan/lattice.cpp",
            "tasks/plan/lattice_task.cpp",
            "Testing/jerk_limited_stop_test.cpp"
          ],
          "commitId" : "6d05474cd9f0ee8883398f6c28547cc895e25944",
          "timestamp" : 1786362148000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 防止 Lattice 轨迹合成陷入死循环\u000a\u000a将轨迹合成的无界浮点循环改为整数索引有界采样，并拒绝非法采样步长、非有限时域和异常大的采样规模。\\n\\n补充制动曲线时长校验、Lattice 阶段 watchdog 定位及零步长、无限时域和超大时域回归测试。\u000a",
          "date" : "2026-08-10 19:42:28 +0800",
          "id" : "6d05474cd9f0ee8883398f6c28547cc895e25944",
          "msg" : "fix: 防止 Lattice 轨迹合成陷入死循环",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/lattice/trajectory_combiner.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/jerk_limited_stop_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "algorithm/plan/lattice.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/lattice_task.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/obstacle/reverse_lane_approach.cpp",
            "replayer/replayer_data_process/replayer_data_process.cpp",
            "data/config/cfg_hmi.hpp",
            "data/boundary/driving_corridor.cpp",
            "data/obstacle/reverse_lane_approach.hpp",
            "hmi/ui/ui_main_window.hpp",
            "data/obstacle/cluster_lateral_approach.hpp",
            "data/obstacle/cluster_lateral_approach.cpp",
            "data/config/cfg_hmi.cpp",
            "CMakeLists.txt",
            "data/boundary/driving_corridor.hpp",
            "hmi/replayer_hmi.cpp",
            "hmi/widget/pnc_mat_shared.cpp",
            "plan/prepare/prepare_objs.cpp",
            "hmi/ui/main_window.ui",
            "hmi/draw/draw_perception.cpp",
            "tasks/deciders/long_decider/time_path_graph_decider.hpp",
            "tasks/deciders/long_decider/constrain_decider.cpp",
            "hmi/draw/draw_perception.hpp",
            "tasks/deciders/long_decider/time_path_graph_decider.cpp",
            "data/config/cfg_safe_const.hpp",
            "data/obstacle/occupy_grid.hpp",
            "hmi/draw/draw_all.cpp",
            "data/config/cfg_safe_const.cpp",
            "data/obstacle/occupy_grid.cpp",
            "data/obstacle/cluster_motion_tracker.cpp",
            "data/obstacle/cluster_motion_tracker.hpp",
            "data/plan_frame.hpp",
            "data/plan_frame.cpp",
            "hmi/draw/draw_reverse_approach.cpp",
            "hmi/node_hmi.cpp",
            "sink/ros_sink_snapshot.cpp"
          ],
          "commitId" : "ade631dc8ca8ab07b65b63d37dba305c6708c638",
          "timestamp" : 1786369883000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 统一无ID聚类障碍运动跟踪\u000a\u000a新增内部稳定航迹，统一维护聚类 polygon、UTM 速度、命中丢失和运动状态，并处理普通目标与聚类之间的短时交接及分裂伴随片段。\\n\\nReverseApproach 改为消费统一航迹并仅保留停止线 latch；普通横向侵入改用统一速度计算 TTC，移除旧 OccupyGrid 边界差分限速。DrivingCorridor 仅在侧避栅格屏蔽确认移动聚类的 polygon 扫掠区域，保留纵向原始 OGM 安全约束。\\n\\n补充 PlanFrame/HMI 诊断与回放冻结数据，统一 Replayer 的 OGM 输入，并序列化新增横向 TTC 参数。\u000a",
          "date" : "2026-08-10 21:51:23 +0800",
          "id" : "ade631dc8ca8ab07b65b63d37dba305c6708c638",
          "msg" : "feat: 统一无ID聚类障碍运动跟踪",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_safe_const.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_reverse_approach.cpp"
            },
            {
              "editType" : "add",
              "file" : "data/obstacle/cluster_motion_tracker.cpp"
            },
            {
              "editType" : "delete",
              "file" : "data/obstacle/occupy_grid.cpp"
            },
            {
              "editType" : "delete",
              "file" : "data/obstacle/occupy_grid.hpp"
            },
            {
              "editType" : "add",
              "file" : "data/obstacle/cluster_motion_tracker.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_hmi.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/pnc_mat_shared.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/replayer_data_process/replayer_data_process.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/long_decider/constrain_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_perception.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_safe_const.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan_frame.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/long_decider/time_path_graph_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_hmi.hpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/ui/main_window.ui"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/reverse_lane_approach.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/node_hmi.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/replayer_hmi.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/long_decider/time_path_graph_decider.hpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_perception.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan_frame.cpp"
            },
            {
              "editType" : "edit",
              "file" : "sink/ros_sink_snapshot.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_all.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/ui/ui_main_window.hpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_objs.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/reverse_lane_approach.hpp"
            },
            {
              "editType" : "add",
              "file" : "data/obstacle/cluster_lateral_approach.hpp"
            },
            {
              "editType" : "add",
              "file" : "data/obstacle/cluster_lateral_approach.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_func_sw.hpp"
          ],
          "commitId" : "880c647f4d3ee00bfe66315eec6b28278dccb715",
          "timestamp" : 1786369894000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 序列化直道路口边界开关\u000a\u000a将 use_func_straight_junction_use_road_boundary_ 纳入 CfgFuncSw v19 快照，确保 PNC Node 与 Replayer 使用同帧开关生成 RoadBoundary。\u000a",
          "date" : "2026-08-10 21:51:34 +0800",
          "id" : "880c647f4d3ee00bfe66315eec6b28278dccb715",
          "msg" : "fix: 序列化直道路口边界开关",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/scenarios/tractor_trailer_enter_yard_planner.h"
          ],
          "commitId" : "f4a230bfa3e99386c715ba81040f0e2da5f45c7a",
          "timestamp" : 1786372649000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复进堆场规划器头文件引用路径\u000a\u000a更新 YardEntryReferencePathGenerator 重构后的头文件目录，解决 ssep_planner 编译时找不到头文件的问题。\u000a",
          "date" : "2026-08-10 22:37:29 +0800",
          "id" : "f4a230bfa3e99386c715ba81040f0e2da5f45c7a",
          "msg" : "fix: 修复进堆场规划器头文件引用路径",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_enter_yard_planner.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/boundary/road_boundary.cpp"
          ],
          "commitId" : "97f8c35707a10febe88e11f4bf9e964c36b4d2f7",
          "timestamp" : 1786377143000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 调整散货出场禁横移区域判定\u000a\u000a使用任务 FSM 的 TRAVEL_OUT 子状态判断太阳纸业散货出场阶段，避免流控状态与实际任务阶段不一致。\u000a\u000a补充振石散货场景在最后一段 SSEP 路径上的横移放行逻辑。\u000a",
          "date" : "2026-08-10 23:52:23 +0800",
          "id" : "97f8c35707a10febe88e11f4bf9e964c36b4d2f7",
          "msg" : "fix: 调整散货出场禁横移区域判定",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/boundary/road_boundary.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/boundary/road_boundary.cpp"
          ],
          "commitId" : "92ec18ef9528acb21394f9687294695be642af6a",
          "timestamp" : 1786377224000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 调整散货出场禁横移区域判定\u000a\u000a使用任务 FSM 的 TRAVEL_OUT 子状态判断太阳纸业散货出场阶段，避免流控状态与实际任务阶段不一致。\u000a\u000a补充振石散货场景在最后一段 SSEP 路径上的横移放行逻辑。\u000a",
          "date" : "2026-08-10 23:53:44 +0800",
          "id" : "92ec18ef9528acb21394f9687294695be642af6a",
          "msg" : "fix: 调整散货出场禁横移区域判定",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/boundary/road_boundary.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_stage.cpp",
            "scenarios/task_condition_evaluator.hpp",
            "scenarios/bulkload_scenario/bulkload_ssep_forward_stage.cpp",
            "scenarios/task_condition_evaluator.cpp",
            "data/config/cfg_stage.hpp"
          ],
          "commitId" : "6cbaaef29834453c80f18d5de20c08e997660c6c",
          "timestamp" : 1786420961000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 散货进场末段切换 PJPO 规划\u000a\u000a新增 bulk in 最后一段 SSEP 路径条件，并在散货前向阶段支持横向规划器选择器。命中条件时同步选择 PJPO 任务及 active lateral planner，保证 HMI 展示与实际规划器一致。\u000a",
          "date" : "2026-08-11 12:02:41 +0800",
          "id" : "6cbaaef29834453c80f18d5de20c08e997660c6c",
          "msg" : "feat: 散货进场末段切换 PJPO 规划",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_stage.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/task_condition_evaluator.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_stage.hpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/bulkload_scenario/bulkload_ssep_forward_stage.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/task_condition_evaluator.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/plan/guide_line.cpp"
          ],
          "commitId" : "f08e65f3559f0592f75179239a476e785d4d17e2",
          "timestamp" : 1786421170000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 增强 SSEP 目标路径有效性校验\u000a\u000a引导线构造与路径拼接前统一使用 Path::IsAvailable 校验 SSEP 目标路径。路径点不足时回退历史引导线，避免继续访问 front、back 或执行坐标转换。\u000a",
          "date" : "2026-08-11 12:06:10 +0800",
          "id" : "f08e65f3559f0592f75179239a476e785d4d17e2",
          "msg" : "fix: 增强 SSEP 目标路径有效性校验",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/plan/guide_line.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/ssep/forward_ec.cpp"
          ],
          "commitId" : "8542f5fb31cb13be6645b7ad2fef683dd2ea7ae0",
          "timestamp" : 1786421229000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 振石进场按参考线构造搜索起点\u000a\u000a振石 bulk in 场景复用前港的动态搜索起点计算，根据车辆速度和目标点在参考线上的位置选择前向搜索起点。\u000a",
          "date" : "2026-08-11 12:07:09 +0800",
          "id" : "8542f5fb31cb13be6645b7ad2fef683dd2ea7ae0",
          "msg" : "feat: 振石进场按参考线构造搜索起点",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_stage.cpp",
            "scenarios/task_condition_evaluator.hpp",
            "scenarios/task_condition_evaluator.cpp",
            "scenarios/bulkload_scenario/bulkload_ssep_forward_stage.cpp",
            "data/config/cfg_stage.hpp"
          ],
          "commitId" : "08b5a4d8bc6d8ce57da4b1c4b73fbb39ae897f84",
          "timestamp" : 1786421338000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 散货进场末段切换 PJPO 规划\u000a\u000a新增 bulk in 最后一段 SSEP 路径条件，并在散货前向阶段支持横向规划器选择器。命中条件时同步选择 PJPO 任务及 active lateral planner，保证 HMI 展示与实际规划器一致。\u000a",
          "date" : "2026-08-11 12:08:58 +0800",
          "id" : "08b5a4d8bc6d8ce57da4b1c4b73fbb39ae897f84",
          "msg" : "feat: 散货进场末段切换 PJPO 规划",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_stage.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/task_condition_evaluator.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/bulkload_scenario/bulkload_ssep_forward_stage.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/task_condition_evaluator.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_stage.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/plan/guide_line.cpp"
          ],
          "commitId" : "ee1806d7ac6d14c1e6ae396c22ff2c1a465227b6",
          "timestamp" : 1786421343000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 增强 SSEP 目标路径有效性校验\u000a\u000a引导线构造与路径拼接前统一使用 Path::IsAvailable 校验 SSEP 目标路径。路径点不足时回退历史引导线，避免继续访问 front、back 或执行坐标转换。\u000a",
          "date" : "2026-08-11 12:09:03 +0800",
          "id" : "ee1806d7ac6d14c1e6ae396c22ff2c1a465227b6",
          "msg" : "fix: 增强 SSEP 目标路径有效性校验",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/plan/guide_line.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/ssep/forward_ec.cpp"
          ],
          "commitId" : "a19a44b5976756bef5c6ba34d485470995d3d167",
          "timestamp" : 1786421372000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 振石进场按参考线构造搜索起点\u000a\u000a振石 bulk in 场景复用前港的动态搜索起点计算，根据车辆速度和目标点在参考线上的位置选择前向搜索起点。\u000a",
          "date" : "2026-08-11 12:09:32 +0800",
          "id" : "a19a44b5976756bef5c6ba34d485470995d3d167",
          "msg" : "feat: 振石进场按参考线构造搜索起点",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/keb_optimizer/README.md",
            "ssep/offboard/scene_replay/README.md",
            "ssep/scenarios/tractor_trailer_enter_yard_planner.h"
          ],
          "commitId" : "75ad18901f026164b12f30f4328d3d7ad9782e15",
          "timestamp" : 1786432674000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/tangwenqing",
            "fullName" : "tangwenqing"
          },
          "authorEmail" : "tangwenqing@senior.auto",
          "comment" : "doc: SSEP: 增加keb optimizer及离线工具的说明文档\u000a\u000a",
          "date" : "2026-08-11 15:17:54 +0800",
          "id" : "75ad18901f026164b12f30f4328d3d7ad9782e15",
          "msg" : "doc: SSEP: 增加keb optimizer及离线工具的说明文档",
          "paths" : [
            {
              "editType" : "add",
              "file" : "ssep/keb_optimizer/README.md"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/scene_replay/README.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/tractor_trailer_enter_yard_planner.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/coarse_search/searcher_builders/imv_multi_segment_parking_bidirectional_searcher_builder.cc"
          ],
          "commitId" : "eee3ac87e6210b49e7360eabede326d100ac52cd",
          "timestamp" : 1786433169000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/tangwenqing",
            "fullName" : "tangwenqing"
          },
          "authorEmail" : "tangwenqing@senior.auto",
          "comment" : "fix: SSEP: 修复IMV多段倒车入库采样曲率设置错误的问题\u000a\u000a",
          "date" : "2026-08-11 15:26:09 +0800",
          "id" : "eee3ac87e6210b49e7360eabede326d100ac52cd",
          "msg" : "fix: SSEP: 修复IMV多段倒车入库采样曲率设置错误的问题",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/imv_multi_segment_parking_bidirectional_searcher_builder.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/lattice/trajectory1d_generator.hpp",
            "data/constrain/speed_hard_constrain.hpp",
            "data/lattice/trajectory1d_generator.cpp",
            "data/constrain/longitude_constrain.cpp",
            "data/lattice/fsm_safety_brake.hpp",
            "data/lattice/brake_trajectory_policy.hpp",
            "data/lattice/longitudinal_curve_validator.hpp",
            "data/plan/start_point_data.hpp",
            "Testing/jerk_limited_stop_test.cpp",
            "data/plan/start_point_data.cpp",
            "algorithm/plan/lattice.cpp",
            "tasks/plan/lattice_task.hpp",
            "data/constrain/speed_hard_constrain.cpp",
            "data/constrain/longitude_constrain.hpp",
            "tasks/plan/lattice_task.cpp",
            "data/lattice/constraint_checker.cpp"
          ],
          "commitId" : "b2ba1ece6230c0eae9696e682be9f6549feb3235",
          "timestamp" : 1786439039000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复 Lattice 制动恢复与硬限速约束\u000a\u000a正常规划从制动兜底恢复时仅清除继承的负加速度，并在再次无解时续接上一条制动曲线，避免低速锁存和连续制动弱化。\u000a\u000a统一 FSM 安全制动的规划拼接起点，完善 stop 轨迹标志生命周期和短路径截断兜底；同时按约束来源区分 0.5 km/h 硬限速容差，停车及障碍物约束保持严格。\u000a\u000a补充制动切换、恢复重试、短路径和分类限速回归测试。\u000a",
          "date" : "2026-08-11 17:03:59 +0800",
          "id" : "b2ba1ece6230c0eae9696e682be9f6549feb3235",
          "msg" : "fix: 修复 Lattice 制动恢复与硬限速约束",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/constrain/speed_hard_constrain.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/trajectory1d_generator.hpp"
            },
            {
              "editType" : "add",
              "file" : "data/lattice/brake_trajectory_policy.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/trajectory1d_generator.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/start_point_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/lattice_task.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/longitudinal_curve_validator.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/constraint_checker.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/constrain/longitude_constrain.cpp"
            },
            {
              "editType" : "edit",
              "file" : "algorithm/plan/lattice.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/fsm_safety_brake.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/constrain/speed_hard_constrain.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/lattice_task.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/constrain/longitude_constrain.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/start_point_data.hpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/jerk_limited_stop_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "AGENTS.md"
          ],
          "commitId" : "f19373f892fa4ab5c7ac7c99b67f14e0b71c0384",
          "timestamp" : 1786439053000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "docs: 记录纵向规划连续性规则\u000a\u000a明确正常规划、安全制动和兜底轨迹之间的起点继承、状态切换及标志生命周期要求，避免后续改动重新引入速度跳变或低速锁存。\u000a",
          "date" : "2026-08-11 17:04:13 +0800",
          "id" : "f19373f892fa4ab5c7ac7c99b67f14e0b71c0384",
          "msg" : "docs: 记录纵向规划连续性规则",
          "paths" : [
            {
              "editType" : "add",
              "file" : "AGENTS.md"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/lattice/trajectory1d_generator.hpp",
            "data/lattice/longitudinal_curve_validator.hpp",
            "data/lattice/stop_profile_planner.hpp",
            "data/lattice/trajectory1d_generator.cpp",
            "Testing/jerk_limited_stop_test.cpp",
            "data/lattice/constraint_checker.cpp"
          ],
          "commitId" : "64709981e692d4549692f89cd0b5dccb76d53a1b",
          "timestamp" : 1786440297000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 平滑普通硬限速恢复制动\u000a\u000a普通地图、曲率和 REQ 限速按正常减速度恢复，并继承已有负加速度。\\n\\n前方限速、障碍物及停车约束仍保留最大制动能力，避免削弱 ST 与终点停车安全边界。\\n\\n增加限速切换及现场停车失败帧的回归测试。\u000a",
          "date" : "2026-08-11 17:24:57 +0800",
          "id" : "64709981e692d4549692f89cd0b5dccb76d53a1b",
          "msg" : "fix: 平滑普通硬限速恢复制动",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/lattice/longitudinal_curve_validator.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/trajectory1d_generator.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/stop_profile_planner.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/trajectory1d_generator.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/jerk_limited_stop_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/constraint_checker.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/lattice/trajectory1d_generator.cpp",
            "Testing/jerk_limited_stop_test.cpp",
            "data/lattice/longitudinal_curve_validator.hpp"
          ],
          "commitId" : "5a83a984799e41acd81745069bff5a497cd9f147",
          "timestamp" : 1786449899000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 平滑前方普通硬限速制动\u000a\u000a- 普通限速按边界距离选择最小可达减速度，距离充足时使用正常或继承值\u000a- 严格安全来源继续使用最大减速度，停车阶段保留独立最大制动上限\u000a- 补充 12.49 km/h 降至 8 km/h 现场参数及紧边界回归\u000a",
          "date" : "2026-08-11 20:04:59 +0800",
          "id" : "5a83a984799e41acd81745069bff5a497cd9f147",
          "msg" : "fix: 平滑前方普通硬限速制动",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/lattice/trajectory1d_generator.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/jerk_limited_stop_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/lattice/longitudinal_curve_validator.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tasks/deciders/long_decider/constrain_decider.cpp"
          ],
          "commitId" : "d3cf8222bc28bbc3ff3badbcaada886375ba3bde",
          "timestamp" : 1786450956000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 降低锁站缩距区域限速\u000a\u000a进入缩短跟车距离区域时，在锁站基础限速上额外降低 0.3 m/s，减小该区域内的跟车速度。\u000a",
          "date" : "2026-08-11 20:22:36 +0800",
          "id" : "d3cf8222bc28bbc3ff3badbcaada886375ba3bde",
          "msg" : "fix: 降低锁站缩距区域限速",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tasks/deciders/long_decider/constrain_decider.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/README.md"
          ],
          "commitId" : "1c57c822633652991975431220e3e619b2593b7e",
          "timestamp" : 1786503902000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/tangwenqing",
            "fullName" : "tangwenqing"
          },
          "authorEmail" : "tangwenqing@senior.auto",
          "comment" : "doc: SSEP:  补充ssep子模块的整体说明文档\u000a\u000a",
          "date" : "2026-08-12 11:05:02 +0800",
          "id" : "1c57c822633652991975431220e3e619b2593b7e",
          "msg" : "doc: SSEP:  补充ssep子模块的整体说明文档",
          "paths" : [
            {
              "editType" : "add",
              "file" : "ssep/README.md"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/routing_map_guard_test.cpp",
            "replayer/replayer_data_process/replayer_data_process.cpp",
            "data/vehicle/request_routing_data.cpp",
            "data/map/pnc_map/routing_extension/routing_data.hpp",
            "data/map/pnc_map/pnc_map.hpp",
            "data/map/pnc_map/routing_extension/routing_data.cpp",
            "CMakeLists.txt",
            "plan/prepare/prepare_map_related.cpp",
            "data/map/pnc_map/pnc_map.cpp"
          ],
          "commitId" : "95b5e370255175e817d97b238fe122a0744da3a3",
          "timestamp" : 1786525097000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 增强 routing 地图转换边界保护\u000a\u000a校验车辆路由索引和各类 RoadSegments 的 route_path_idx，避免无效快照触发越界访问。\\n\\n修正 standby relative segments 访问与清理逻辑，避免接收新路由时同帧重复推进状态，并为在线与 replayer 地图恢复补充失败返回和回归测试。\u000a",
          "date" : "2026-08-12 16:58:17 +0800",
          "id" : "95b5e370255175e817d97b238fe122a0744da3a3",
          "msg" : "fix: 增强 routing 地图转换边界保护",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/map/pnc_map/pnc_map.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/map/pnc_map/routing_extension/routing_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/map/pnc_map/pnc_map.cpp"
            },
            {
              "editType" : "add",
              "file" : "Testing/routing_map_guard_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_map_related.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/map/pnc_map/routing_extension/routing_data.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/vehicle/request_routing_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/replayer_data_process/replayer_data_process.cpp"
            },
            {
              "editType" : "edit",
              "file" : "CMakeLists.txt"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/plan/ssep_data.cpp",
            "Testing/ssep_path_corridor_test.cpp",
            "replayer/replayer_data_process/replayer_data_process.cpp",
            "hmi/draw/draw_ssep.hpp",
            "data/other/ssep_path_corridor.cpp",
            "data/other/flow_control.cpp",
            "data/other/ssep_path_corridor.hpp",
            "data/plan/ssep_data.hpp",
            "data/other/flow_control.hpp",
            "CMakeLists.txt",
            "hmi/widget/diagnose.cpp",
            "hmi/widget/pnc_mat_shared.cpp",
            "ssep/data_structures/type_definition.h",
            "tasks/deciders/other_decider/replan_decider.cpp",
            "hmi/draw/draw_all.cpp",
            "ssep/data_structures/type_definition.cc",
            "hmi/draw/draw_ssep.cpp",
            "data/plan_frame.hpp",
            "data/plan_frame.cpp"
          ],
          "commitId" : "40012dbc845dd0a872f44709638fee5aabd77c40",
          "timestamp" : 1786525140000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 基于 SSEP 包络优化 Bulk 场景判断\u000a\u000a按搜索路径与换向段构建 SSEP 包络，统一 BulkIn/BulkOut 互斥判断，并支持双向 IMV 倒车航向、入口临界区域和往返路径切段防抖。\\n\\n序列化 FlowControl、包络用途及保换向拓扑的压缩路径，使 replayer 可稳定恢复诊断与绘制数据；同时增加原地 BulkOut 重规划时间门限和完整归档回归测试。\u000a",
          "date" : "2026-08-12 16:59:00 +0800",
          "id" : "40012dbc845dd0a872f44709638fee5aabd77c40",
          "msg" : "feat: 基于 SSEP 包络优化 Bulk 场景判断",
          "paths" : [
            {
              "editType" : "add",
              "file" : "data/other/ssep_path_corridor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "replayer/replayer_data_process/replayer_data_process.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/diagnose.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan_frame.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/other/flow_control.hpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/data_structures/type_definition.h"
            },
            {
              "editType" : "edit",
              "file" : "CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/ssep_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_all.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/other/flow_control.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_ssep.hpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/data_structures/type_definition.cc"
            },
            {
              "editType" : "add",
              "file" : "Testing/ssep_path_corridor_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/ssep_data.hpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_ssep.cpp"
            },
            {
              "editType" : "add",
              "file" : "data/other/ssep_path_corridor.hpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/pnc_mat_shared.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/other_decider/replan_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan_frame.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/plan/ssep_data.cpp",
            "Testing/ssep_path_corridor_test.cpp",
            "data/other/ssep_path_corridor.cpp",
            "data/other/ssep_path_corridor.hpp"
          ],
          "commitId" : "f397d968ee7f58975957d69ac4b5c66426f635fc",
          "timestamp" : 1786526149000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复 SSEP 重叠路径切段失败\u000a\u000a切段判断改为直接校验当前分段真实末点的位置和航向，避免往返路径在同坐标重叠处被最近点投影到较早路段。\\n\\n保留双向 IMV reversing_mode 的航向还原，并补充自重叠路径及反转航向回归测试。\u000a",
          "date" : "2026-08-12 17:15:49 +0800",
          "id" : "f397d968ee7f58975957d69ac4b5c66426f635fc",
          "msg" : "fix: 修复 SSEP 重叠路径切段失败",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/other/ssep_path_corridor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/ssep_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/other/ssep_path_corridor.hpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/ssep_path_corridor_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/dp_poly_path/dp_road_graph.cpp",
            "tasks/deciders/lat_decider/trailer_side_pass_decider.cpp",
            "data/plan/side_pass_data.cpp",
            "data/dp_poly_path/dp_road_graph.hpp",
            "tasks/deciders/long_decider/constrain_decider.cpp",
            "tasks/deciders/lat_decider/side_pass_decider.cpp",
            "data/plan/side_pass_data.hpp"
          ],
          "commitId" : "b40a051be1d4d997c4ac998b331ffa5aab3285c7",
          "timestamp" : 1786531985000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复侧绕历史路径失效触发无轨迹停车\u000a\u000aDP 搜索截断时保留当前安全前缀和既有侧绕决策，历史路径校验失败后恢复语义状态，不再使侧绕任务直接失败。\\n\\n历史路径仅复用当前执行区间内且通过方向、参考线和走廊校验的点；最终执行路径真实余量接入纵向既有无轨迹安全判断，由纵向决定停车时机。\u000a",
          "date" : "2026-08-12 18:53:05 +0800",
          "id" : "b40a051be1d4d997c4ac998b331ffa5aab3285c7",
          "msg" : "fix: 修复侧绕历史路径失效触发无轨迹停车",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tasks/deciders/lat_decider/trailer_side_pass_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/side_pass_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/side_pass_data.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/lat_decider/side_pass_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/dp_road_graph.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/dp_road_graph.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/long_decider/constrain_decider.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/ssep/forward_ec.cpp"
          ],
          "commitId" : "7f8053951a09f4c2392360fc64ac0df62077edd7",
          "timestamp" : 1786535953000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 调整梁山港 Bulk 场景规划模式\u000a\u000a将梁山港牵引车 Bulk 进出场景从通用规划切换为单段泊车规划，匹配现场作业路径需求。\u000a",
          "date" : "2026-08-12 19:59:13 +0800",
          "id" : "7f8053951a09f4c2392360fc64ac0df62077edd7",
          "msg" : "fix: 调整梁山港 Bulk 场景规划模式",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/coarse_search/searcher_builders/tractor_trailer_multi_segment_parking_bidirectional_searcher_builder.cc",
            "ssep/coarse_search/searcher_builders/tractor_trailer_multi_segment_parking_bidirectional_searcher_builder.h"
          ],
          "commitId" : "f78699e31acb37f35df22035469c20df064c0e47",
          "timestamp" : 1786536244000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/tangwenqing",
            "fullName" : "tangwenqing"
          },
          "authorEmail" : "tangwenqing@senior.auto",
          "comment" : "chore: SSEP: 单段倒车时不使用倒车曲率限制策略\u000a\u000a",
          "date" : "2026-08-12 20:04:04 +0800",
          "id" : "f78699e31acb37f35df22035469c20df064c0e47",
          "msg" : "chore: SSEP: 单段倒车时不使用倒车曲率限制策略",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/tractor_trailer_multi_segment_parking_bidirectional_searcher_builder.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/tractor_trailer_multi_segment_parking_bidirectional_searcher_builder.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/ssep/forward_ec.cpp"
          ],
          "commitId" : "032be6f7acb9c1628fd51bd7d3b052e96430bbd2",
          "timestamp" : 1786540098000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 细分梁山港 Bulk 场景规划模式\u000a\u000a梁山港 Bulk 进场去料堆任务继续使用单段泊车规划，其余 Bulk 进出任务恢复使用通用牵引车规划，避免所有任务统一套用泊车模式。\u000a",
          "date" : "2026-08-12 21:08:18 +0800",
          "id" : "032be6f7acb9c1628fd51bd7d3b052e96430bbd2",
          "msg" : "fix: 细分梁山港 Bulk 场景规划模式",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/dp_poly_path/dp_road_graph.cpp",
            "data/config/cfg_lat_plan.hpp",
            "data/obstacle/decision/obstacle_decision.hpp",
            "data/obstacle/ogm.cpp",
            "data/boundary/driving_corridor.cpp",
            "data/obstacle/decision/obstacle_decision.cpp",
            "data/config/cfg_lat_plan.cpp",
            "data/obstacle/ogm.hpp",
            "data/obstacle/obstacle_decider_attr.cpp",
            "config/config_imv/plan.yaml",
            "tasks/deciders/long_decider/constrain_decider.cpp",
            "data/config/cfg_func_sw.cpp"
          ],
          "commitId" : "79a4dc5f79282a75ae004e17ced1bb65c3a44aad",
          "timestamp" : 1786598543000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 完善作业车辆主动超车规划\u000a\u000a- 放宽 28/29 类型超车 TTC 与巡航上限，统一目标准入门槛\u000a- 区分超车目标与其他占用来源，仅对目标保留正相对速度\u000a- 扫掠范围覆盖 lattice 时域，避免路径提前回正触发纵向限速\u000a",
          "date" : "2026-08-13 13:22:23 +0800",
          "id" : "79a4dc5f79282a75ae004e17ced1bb65c3a44aad",
          "msg" : "fix: 完善作业车辆主动超车规划",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "config/config_imv/plan.yaml"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/dp_road_graph.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/ogm.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/ogm.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_plan.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/obstacle_decider_attr.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/long_decider/constrain_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_plan.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_lat_plan.hpp",
            "data/obstacle/decision/obstacle_decision.hpp",
            "data/obstacle/decision/obstacle_decision.cpp",
            "data/config/cfg_lat_plan.cpp",
            "data/obstacle/obstacle_decider_attr.cpp",
            "config/config_imv/plan.yaml",
            "data/obstacle/obstacle_decider_attr.hpp"
          ],
          "commitId" : "cf37549046af37febfab4db3e54bc1ac9fecfc13",
          "timestamp" : 1786602490000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 阻止绕行存在横穿冲突的弱势交通参与者\u000a\u000a对靠边 VRU 同时检查当前横向速度和预测轨迹，进入道路中心保护带时强制停车让行。\\n\\n增加冲突释放迟滞、无效速度保守回退和绕行动作硬退出；保留靠边且无横穿冲突时的绕行能力。\u000a",
          "date" : "2026-08-13 14:28:10 +0800",
          "id" : "cf37549046af37febfab4db3e54bc1ac9fecfc13",
          "msg" : "fix: 阻止绕行存在横穿冲突的弱势交通参与者",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "config/config_imv/plan.yaml"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_plan.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_plan.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/obstacle_decider_attr.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/obstacle_decider_attr.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/obstacle/cluster_motion_tracker.hpp",
            "data/obstacle/cluster_motion_tracker.cpp"
          ],
          "commitId" : "5b341d71ad0c277f56bed226fb98613c8fe53937",
          "timestamp" : 1786602511000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 避免静态点云凸包误判为动态\u000a\u000acluster 测速改用凸包边界共同位移，并结合形变、面积和对齐 IoU 验证刚体平移。\\n\\n单侧点云增删不再生成虚假移动速度；异常关联不更新运动状态，真实移动但轮廓变化的目标也不会被误推向静态。\u000a",
          "date" : "2026-08-13 14:28:31 +0800",
          "id" : "5b341d71ad0c277f56bed226fb98613c8fe53937",
          "msg" : "fix: 避免静态点云凸包误判为动态",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/obstacle/cluster_motion_tracker.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/cluster_motion_tracker.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/obstacle/reverse_lane_approach.hpp",
            "data/obstacle/reverse_lane_approach.cpp"
          ],
          "commitId" : "c1732ae87b714ff98f4baa462b195fe10e2f0967",
          "timestamp" : 1786604335000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 直行路口关闭逆向来车防护\u000a\u000a根据实际冲突区中心匹配路口转向，仅在 ROAD_NO_TURN 路口抑制防护，避免影响路口前独立借道场景。\u000a\u000a直行抑制时清空防护几何并释放历史停止线 latch，地图转向未知及转弯路口继续保持原有安全策略。\u000a",
          "date" : "2026-08-13 14:58:55 +0800",
          "id" : "c1732ae87b714ff98f4baa462b195fe10e2f0967",
          "msg" : "fix: 直行路口关闭逆向来车防护",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/obstacle/reverse_lane_approach.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/reverse_lane_approach.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/app/fsm/stop_reason.cpp",
            "data/constrain/longitude_constrain.cpp"
          ],
          "commitId" : "32a03b5d8a7b503196f7b63861185f5561952599",
          "timestamp" : 1786605376000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修正逆向凸包停车状态分类\u000a\u000a将逆向接近停止线归入可自动启动停止线，并把停车原因映射移至可达的自动启动分支。\u000a\u000a车辆因逆向凸包停车后进入 STOP_AUTO，人工停车等手动启动原因仍保持 STOP_CTRL。\u000a",
          "date" : "2026-08-13 15:16:16 +0800",
          "id" : "32a03b5d8a7b503196f7b63861185f5561952599",
          "msg" : "fix: 修正逆向凸包停车状态分类",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/app/fsm/stop_reason.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/constrain/longitude_constrain.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/routing_map_guard_test.cpp",
            "data/other/flow_control.cpp",
            "common/util/crash_helper.cpp",
            "data/map/reference/reference_segment.cpp"
          ],
          "commitId" : "577998aef6ad5b7c253364fbfa901287d94dc060",
          "timestamp" : 1786610471000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复流控碰撞检测路径越界崩溃\u000a\u000a限制参考线转换索引不超过实际参考点范围，并处理空数据和反向区间。\u000a\u000a碰撞检测拒绝无效 SL 边界，按牵引车和挂车各自的真实点数约束遍历，避免路径数量不一致时访问 at(size)。\u000a\u000a补充 Flow Control 子步骤异常上下文及参考线、挂车点数不一致和无效投影回归测试。\u000a",
          "date" : "2026-08-13 16:41:11 +0800",
          "id" : "577998aef6ad5b7c253364fbfa901287d94dc060",
          "msg" : "fix: 修复流控碰撞检测路径越界崩溃",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "common/util/crash_helper.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/other/flow_control.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/routing_map_guard_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/map/reference/reference_segment.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tasks/deciders/long_decider/constrain_decider.cpp"
          ],
          "commitId" : "6ec098956fa340949b355528bf96f654ef6e70c6",
          "timestamp" : 1786616679000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 移除无轨迹停车的 DP 路径判断逻辑\u000a",
          "date" : "2026-08-13 18:24:39 +0800",
          "id" : "6ec098956fa340949b355528bf96f654ef6e70c6",
          "msg" : "fix: 移除无轨迹停车的 DP 路径判断逻辑",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tasks/deciders/long_decider/constrain_decider.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/dp_poly_path/dp_road_graph.cpp",
            "data/config/cfg_lat_plan.hpp",
            "data/boundary/driving_corridor.cpp",
            "data/dp_poly_path/decision_trace.hpp",
            "hmi/widget/dp_decision_detail.cpp",
            "data/config/cfg_lat_plan.cpp",
            "hmi/widget/dp_decision_detail.hpp",
            "data/dp_poly_path/decision_trace.cpp",
            "CMakeLists.txt",
            "data/boundary/driving_corridor_test.cpp",
            "data/boundary/driving_corridor.hpp"
          ],
          "commitId" : "01e880b2e4d13dbe7b3533e024f67aeaf517b98a",
          "timestamp" : 1786616744000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复贴道路边缘点云绕行边界收缩\u000a\u000a区分道路边界与点云障碍的绕行和安全预留来源，在 DP 候选生成前应用 OG 缓冲及求解余量，避免直行候选压缩最终内缩距离。\u000a\u000a同步补充无可行 gap 的安全截断、最终边界可视化和回归测试，确保 ROAD 不主动推动绕行。\u000a",
          "date" : "2026-08-13 18:25:44 +0800",
          "id" : "01e880b2e4d13dbe7b3533e024f67aeaf517b98a",
          "msg" : "fix: 修复贴道路边缘点云绕行边界收缩",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/decision_trace.hpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/dp_decision_detail.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/dp_decision_detail.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_plan.hpp"
            },
            {
              "editType" : "edit",
              "file" : "CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/dp_road_graph.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/decision_trace.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.hpp"
            },
            {
              "editType" : "add",
              "file" : "data/boundary/driving_corridor_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_plan.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "algorithm/wbca/wbca_manager.cpp"
          ],
          "commitId" : "5c378c71b505eef55cbcd8ed0686bcdf9839d54a",
          "timestamp" : 1786629204000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "fix(wbca): derive direct-link threshold from route interval\u000a",
          "date" : "2026-08-13 21:53:24 +0800",
          "id" : "5c378c71b505eef55cbcd8ed0686bcdf9839d54a",
          "msg" : "fix(wbca): derive direct-link threshold from route interval",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "algorithm/wbca/wbca_manager.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/vehicle/traffic_light_data.cpp",
            "data/constrain/disable_stop_range.cpp",
            "common/util/hdmap_namespace.hpp",
            "hmi/draw/draw_map.hpp",
            "data/vehicle/traffic_light_data.hpp",
            "tasks/deciders/long_decider/constrain_decider.cpp",
            "hmi/draw/draw_map.cpp"
          ],
          "commitId" : "4fd7c00186ed64807a54203a435c9748a8540c04",
          "timestamp" : 1786632740000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 按弯道车道属性处理路口灯控\u000a\u000a使用 PncJunction 的弯道 lane 读取 TrafficControl，按属性匹配左转、右转或直行灯；NotControl 直接放行，缺失车道和非法属性保守停车。\u000a\u000aHMI 仅展示参考线所经弯道 lane 的灯控类型，并将地图查询和文字绘制纳入静态缓存，增加地图切换及 lane 变化时的低频原始值日志。\u000a",
          "date" : "2026-08-13 22:52:20 +0800",
          "id" : "4fd7c00186ed64807a54203a435c9748a8540c04",
          "msg" : "feat: 按弯道车道属性处理路口灯控",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_map.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/vehicle/traffic_light_data.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/long_decider/constrain_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "common/util/hdmap_namespace.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/constrain/disable_stop_range.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_map.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/vehicle/traffic_light_data.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/map/pnc_map/routing_extension/routing_data.cpp"
          ],
          "commitId" : "a6322e523cd0004ce198239a2fc3eeb8b42f3ea6",
          "timestamp" : 1786676627000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复出库阶段重复搜索\u000a\u000a出库更新当前路由状态后，继续初始化下一段待转换路由，避免 standby 路由索引保持为 -1 导致参考线周期性失效。\\n\\n同时修正通过点投影范围判断中的逗号表达式，避免判断结果恒为真。\\n\\n验证：pnc_node 编译通过；pnc_routing_map_guard_test 6/6 通过。\u000a",
          "date" : "2026-08-14 11:03:47 +0800",
          "id" : "a6322e523cd0004ce198239a2fc3eeb8b42f3ea6",
          "msg" : "fix: 修复出库阶段重复搜索",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/map/pnc_map/routing_extension/routing_data.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_long_plan.cpp",
            "data/constrain/constrain_data.cpp",
            "data/constrain/long_target.cpp",
            "data/constrain/obstacle_stop_constraint_stabilizer.cpp",
            "data/constrain/constrain_data.hpp",
            "tasks/deciders/long_decider/constrain_decider.cpp",
            "data/plan_frame.hpp",
            "data/constrain/obstacle_stop_constraint_stabilizer.hpp",
            "data/constrain/longitude_constrain.hpp",
            "data/config/cfg_long_plan.hpp"
          ],
          "commitId" : "69a7de04a71948f2fc90742a51ce770451e34ef6",
          "timestamp" : 1786962632000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 稳定障碍停车约束释放\u000a\u000a在纵向约束生成层增加跨帧释放保持，使 FSM 与 Lattice 消费同一条有效障碍停车约束。\\n\\n新障碍和更近约束立即生效，停车点跳远或短时消失时按地面点重投影保持；连续清除满足配置时间后再释放，并保留定位异常和急停安全语义。\\n\\n迁移 LongTarget 中重复的释放保持逻辑，补充配置、诊断字段及快照版本兼容。\u000a",
          "date" : "2026-08-17 18:30:32 +0800",
          "id" : "69a7de04a71948f2fc90742a51ce770451e34ef6",
          "msg" : "feat: 稳定障碍停车约束释放",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_long_plan.hpp"
            },
            {
              "editType" : "add",
              "file" : "data/constrain/obstacle_stop_constraint_stabilizer.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/constrain/longitude_constrain.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/long_decider/constrain_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_long_plan.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/constrain/long_target.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/constrain/constrain_data.cpp"
            },
            {
              "editType" : "add",
              "file" : "data/constrain/obstacle_stop_constraint_stabilizer.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/constrain/constrain_data.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan_frame.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/obstacle_stop_constraint_stabilizer_test.cpp",
            "CMakeLists.txt"
          ],
          "commitId" : "1348391494b9c5ef2798e1d83c18906529bd65fe",
          "timestamp" : 1786962648000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "test: 补充障碍停车约束自动化场景\u000a\u000a增加释放状态、序列化精度和多帧场景测试，覆盖停车点跳远、近目标接管、障碍重现清零计时、连续清除释放及 direct-estop 强度保持。\\n\\n新增独立 GTest 目标，支持无实车和无现场感知条件下验证跨帧生命周期。\u000a",
          "date" : "2026-08-17 18:30:48 +0800",
          "id" : "1348391494b9c5ef2798e1d83c18906529bd65fe",
          "msg" : "test: 补充障碍停车约束自动化场景",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "CMakeLists.txt"
            },
            {
              "editType" : "add",
              "file" : "Testing/obstacle_stop_constraint_stabilizer_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "hmi/widget/diagnose.cpp"
          ],
          "commitId" : "ae65e27f3d56c6ab73ec4c0b7e4eba7446ba038a",
          "timestamp" : 1786962664000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 展示障碍停车约束诊断\u000a\u000a在 Diagnose 控件中展示约束阶段、held 状态、障碍类型与 ID，并拆行显示 raw/effective、安全距离和释放计时参数，避免窄值列截断。\u000a",
          "date" : "2026-08-17 18:31:04 +0800",
          "id" : "ae65e27f3d56c6ab73ec4c0b7e4eba7446ba038a",
          "msg" : "feat: 展示障碍停车约束诊断",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "hmi/widget/diagnose.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/offboard/main_test/main_ssep_input.cc",
            "ssep/offboard/CMakeLists.txt",
            "ssep/offboard/scene_replay/CMakeLists.txt"
          ],
          "commitId" : "cd3e14053d7c71f69133470722bf4507f618e1b8",
          "timestamp" : 1786962801000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复 SSEP 离线回放构建\u000a\u000a适配 main_ssep_input 当前规划接口并补齐离线目标依赖。\\n\\n修正 scene replay 的 Clang 18 编译配置，限制 OpenCV 组件以避免 Protobuf 运行时版本冲突，并允许无 CUDA/TensorRT 环境完成配置。\u000a",
          "date" : "2026-08-17 18:33:21 +0800",
          "id" : "cd3e14053d7c71f69133470722bf4507f618e1b8",
          "msg" : "fix: 修复 SSEP 离线回放构建",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/offboard/main_test/main_ssep_input.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/scene_replay/CMakeLists.txt"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/coarse_search/tutorial/samplers.html",
            "ssep/coarse_search/tutorial/design-and-tradeoffs.html",
            "ssep/coarse_search/tutorial/builders-and-scenarios.html",
            "ssep/coarse_search/tutorial/search-principles.html",
            "ssep/coarse_search/tutorial/css/style.css",
            "ssep/coarse_search/tutorial/index.html",
            "ssep/coarse_search/tutorial/search-engines.html",
            "ssep/coarse_search/tutorial/evaluators.html"
          ],
          "commitId" : "b61724c1fe4aa0563c908015f45d05cf221cc51b",
          "timestamp" : 1787028741000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/tangwenqing",
            "fullName" : "tangwenqing"
          },
          "authorEmail" : "tangwenqing@senior.auto",
          "comment" : "feat: SSEP: Add coarse search tutorial.\u000a\u000a",
          "date" : "2026-08-18 12:52:21 +0800",
          "id" : "b61724c1fe4aa0563c908015f45d05cf221cc51b",
          "msg" : "feat: SSEP: Add coarse search tutorial.",
          "paths" : [
            {
              "editType" : "add",
              "file" : "ssep/coarse_search/tutorial/builders-and-scenarios.html"
            },
            {
              "editType" : "add",
              "file" : "ssep/coarse_search/tutorial/design-and-tradeoffs.html"
            },
            {
              "editType" : "add",
              "file" : "ssep/coarse_search/tutorial/search-engines.html"
            },
            {
              "editType" : "add",
              "file" : "ssep/coarse_search/tutorial/evaluators.html"
            },
            {
              "editType" : "add",
              "file" : "ssep/coarse_search/tutorial/index.html"
            },
            {
              "editType" : "add",
              "file" : "ssep/coarse_search/tutorial/search-principles.html"
            },
            {
              "editType" : "add",
              "file" : "ssep/coarse_search/tutorial/samplers.html"
            },
            {
              "editType" : "add",
              "file" : "ssep/coarse_search/tutorial/css/style.css"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_env_const.hpp",
            "tasks/deciders/search_decider/forward_search_decider.hpp",
            "data/config/cfg_env_const.cpp",
            "tasks/deciders/search_decider/forward_search_decider.cpp"
          ],
          "commitId" : "133eb9a3ee7b8260c54374fab150377499b128cc",
          "timestamp" : 1787043151000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修正拖挂车指令重规划拉直判定\u000a\u000a指令重规划时，根据车头和车挂相对目标航向的偏差决定是否进入拉直流程。默认在两者均小于 30 度时直接触发，或距目标不超过 30 米且两者均小于 60 度时触发。\u000a\u000a新增角度和近目标距离参数；不满足条件时保留原始途经点，并显式退出当前指令的拉直阶段，同时保留换向重规划跨 Reset 延续拉直状态的既有行为。\u000a",
          "date" : "2026-08-18 16:52:31 +0800",
          "id" : "133eb9a3ee7b8260c54374fab150377499b128cc",
          "msg" : "fix: 修正拖挂车指令重规划拉直判定",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/search_decider/forward_search_decider.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/search_decider/forward_search_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/ssep/bridge_junction_ec.cpp"
          ],
          "commitId" : "7cefe8436b6fcd219ff85680ce390c03a85885d8",
          "timestamp" : 1787044006000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 取消威海散货引桥终点约束\u000a\u000aWHBULK 引桥搜索不再构造终点 tunnel，避免终点附近的额外通道约束影响可行路径搜索，并与前向搜索场景的处理保持一致。\u000a",
          "date" : "2026-08-18 17:06:46 +0800",
          "id" : "7cefe8436b6fcd219ff85680ce390c03a85885d8",
          "msg" : "fix: 取消威海散货引桥终点约束",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/ssep/bridge_junction_ec.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/offboard/tools/tractor_trailer_shortest_path_heuristic_generator/shortest_path_heur_table.h",
            "ssep/offboard/tools/tractor_trailer_shortest_path_heuristic_generator/shortest_path_expander.h",
            "ssep/offboard/tools/tractor_trailer_shortest_path_heuristic_generator/README.md",
            "ssep/offboard/CMakeLists.txt",
            "ssep/offboard/tools/tractor_trailer_shortest_path_heuristic_generator/shortest_path_expander.cc",
            "ssep/offboard/tools/tractor_trailer_shortest_path_heuristic_generator/generate_shortest_path_heur_cli.cc"
          ],
          "commitId" : "5559c7ce9289140a790db81354a26f24bc46d038",
          "timestamp" : 1787050493000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/tangwenqing",
            "fullName" : "tangwenqing"
          },
          "authorEmail" : "tangwenqing@senior.auto",
          "comment" : "chore: SSEP: 更新集卡启发项表生成器\u000a\u000a",
          "date" : "2026-08-18 18:54:53 +0800",
          "id" : "5559c7ce9289140a790db81354a26f24bc46d038",
          "msg" : "chore: SSEP: 更新集卡启发项表生成器",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/offboard/tools/tractor_trailer_shortest_path_heuristic_generator/shortest_path_expander.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/tools/tractor_trailer_shortest_path_heuristic_generator/shortest_path_expander.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/offboard/tools/tractor_trailer_shortest_path_heuristic_generator/README.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/tools/tractor_trailer_shortest_path_heuristic_generator/generate_shortest_path_heur_cli.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/CMakeLists.txt"
            },
            {
              "editType" : "delete",
              "file" : "ssep/offboard/tools/tractor_trailer_shortest_path_heuristic_generator/shortest_path_heur_table.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "plan/prepare/prepare_ogm.cpp",
            "data/ssep/forward_ec.cpp",
            "data/ssep/reverse_ec.cpp",
            "data/ssep/out_yard_junction_ec.cpp",
            "data/ssep/normal_junction_ec.cpp",
            "plan/prepare/prepare_hmi_virtual_obs.cpp",
            "hmi/common/pnc_graphics_view.hpp",
            "data/config/cfg_func_sw.hpp",
            "hmi/widget/replayer_pnc_mat.cpp",
            "data/config/cfg_func_sw.cpp",
            "hmi/common/drag_image.hpp",
            "hmi/common/pnc_graphics_view.cpp",
            "data/ssep/open_space_ec.cpp",
            "hmi/widget/pnc_mat_shared.cpp",
            "hmi/draw/draw_all.cpp",
            "data/ssep/into_yard_junction_ec.cpp",
            "hmi/widget/pnc_mat.cpp",
            "hmi/draw/draw_ssep_virtual_obs.cpp",
            "data/ssep/hmi_virtual_obs.hpp",
            "data/ssep/hmi_virtual_obs_line.hpp",
            "hmi/draw/draw_ssep_virtual_obs.hpp"
          ],
          "commitId" : "adbe225b2dd3d667034fcfaaafab605b40e6aea0",
          "timestamp" : 1787111815000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 超视距线支持按高度分层\u000a\u000aHMI 绘制超视距线时记录并持久化车辆 Z 值，兼容旧二维配置并默认归入 Z=0。\u000a\u000a规划、OGM、删除和显示统一匹配车辆最近的高度批次，批次容差为 5 米；界面使用细线和一位小数高度标签区分不同层，并修正标签翻转方向。\u000a",
          "date" : "2026-08-19 11:56:55 +0800",
          "id" : "adbe225b2dd3d667034fcfaaafab605b40e6aea0",
          "msg" : "feat: 超视距线支持按高度分层",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/hmi_virtual_obs.hpp"
            },
            {
              "editType" : "add",
              "file" : "data/ssep/hmi_virtual_obs_line.hpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_hmi_virtual_obs.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/pnc_mat_shared.cpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_ogm.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/common/pnc_graphics_view.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/common/pnc_graphics_view.hpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/pnc_mat.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/common/drag_image.hpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_ssep_virtual_obs.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_ssep_virtual_obs.hpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/replayer_pnc_mat.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_all.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/reverse_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/out_yard_junction_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/open_space_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/normal_junction_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/into_yard_junction_ec.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "common/util/express.cpp"
          ],
          "commitId" : "9ad71f5121f937be22808d4be35d1aa9ba1ad331",
          "timestamp" : 1787111921000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 补充 SC 目标点类型显示\u000a\u000a为 RelatedOffset::TYPE_SC_TARGET 增加中文显示文本，避免落入未知类型并消除 switch 枚举未覆盖警告。\u000a",
          "date" : "2026-08-19 11:58:41 +0800",
          "id" : "9ad71f5121f937be22808d4be35d1aa9ba1ad331",
          "msg" : "fix: 补充 SC 目标点类型显示",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "common/util/express.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "hmi/widget/map.cpp",
            "hmi/widget/map.hpp"
          ],
          "commitId" : "08f8fe049c98a7cdf5a8936d58b1046b8ee3800b",
          "timestamp" : 1787113271000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 设置初始位姿时保留定位高度\u000a\u000aHMI 点击设置车辆初始位置时，将当前定位 Z 写入模拟初始位姿消息，并使用该高度查询附近车道，避免多层甲板场景匹配到错误层。\u000a",
          "date" : "2026-08-19 12:21:11 +0800",
          "id" : "08f8fe049c98a7cdf5a8936d58b1046b8ee3800b",
          "msg" : "fix: 设置初始位姿时保留定位高度",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "hmi/widget/map.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/map.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/test/ssep_planner_test.cc",
            "ssep/scenarios/scenario_planner_factory.h",
            "ssep/test/CMakeLists.txt",
            "ssep/scenarios/planner_utils.cc"
          ],
          "commitId" : "4a242d4ddcf027aab6dc556703352e5191255df7",
          "timestamp" : 1787116341000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修正拖挂停车途经点判定\u000a\u000a使用圆弧终点姿态评估起点对齐状态，避免横向错位场景被误分流到纯倒车单段规划。\\n\\n补充规划器分流日志与横向错位、共线场景回归测试，并限制测试 OpenCV 组件以避免 Protobuf 运行时冲突。\u000a",
          "date" : "2026-08-19 13:12:21 +0800",
          "id" : "4a242d4ddcf027aab6dc556703352e5191255df7",
          "msg" : "fix: 修正拖挂停车途经点判定",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/scenario_planner_factory.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/ssep_planner_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/planner_utils.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/keb_optimizer/tutorial/vehicle-types.html",
            "ssep/keb_optimizer/tutorial/keb-problem.html",
            "ssep/keb_optimizer/tutorial/principles.html",
            "ssep/keb_optimizer/tutorial/usage-and-tuning.html",
            "ssep/keb_optimizer/tutorial/css/style.css",
            "ssep/keb_optimizer/tutorial/cost-functions.html",
            "ssep/keb_optimizer/tutorial/index.html"
          ],
          "commitId" : "7a29a63eaefa8630ca91f9ce79832c8ffb1ec541",
          "timestamp" : 1787116637000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/tangwenqing",
            "fullName" : "tangwenqing"
          },
          "authorEmail" : "tangwenqing@senior.auto",
          "comment" : "doc: SSEP: Add keb tutorial\u000a\u000a",
          "date" : "2026-08-19 13:17:17 +0800",
          "id" : "7a29a63eaefa8630ca91f9ce79832c8ffb1ec541",
          "msg" : "doc: SSEP: Add keb tutorial",
          "paths" : [
            {
              "editType" : "add",
              "file" : "ssep/keb_optimizer/tutorial/keb-problem.html"
            },
            {
              "editType" : "add",
              "file" : "ssep/keb_optimizer/tutorial/usage-and-tuning.html"
            },
            {
              "editType" : "add",
              "file" : "ssep/keb_optimizer/tutorial/css/style.css"
            },
            {
              "editType" : "add",
              "file" : "ssep/keb_optimizer/tutorial/index.html"
            },
            {
              "editType" : "add",
              "file" : "ssep/keb_optimizer/tutorial/principles.html"
            },
            {
              "editType" : "add",
              "file" : "ssep/keb_optimizer/tutorial/cost-functions.html"
            },
            {
              "editType" : "add",
              "file" : "ssep/keb_optimizer/tutorial/vehicle-types.html"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tasks/deciders/search_decider/forward_search_decider.hpp",
            "data/config/cfg_env_const.hpp",
            "data/config/cfg_env_const.cpp",
            "tasks/deciders/search_decider/forward_search_decider.cpp"
          ],
          "commitId" : "ec80268b9e87d71cc407c23835a3fe35a0b87385",
          "timestamp" : 1787118796000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修正拖挂车指令重规划拉直判定\u000a\u000a指令重规划时，根据车头和车挂相对目标航向的偏差决定是否进入拉直流程。默认在两者均小于 30 度时直接触发，或距目标不超过 30 米且两者均小于 60 度时触发。\u000a\u000a新增角度和近目标距离参数；不满足条件时保留原始途经点，并显式退出当前指令的拉直阶段，同时保留换向重规划跨 Reset 延续拉直状态的既有行为。\u000a",
          "date" : "2026-08-19 13:53:16 +0800",
          "id" : "ec80268b9e87d71cc407c23835a3fe35a0b87385",
          "msg" : "fix: 修正拖挂车指令重规划拉直判定",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tasks/deciders/search_decider/forward_search_decider.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/search_decider/forward_search_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_env_const.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/ssep/bridge_junction_ec.cpp"
          ],
          "commitId" : "600a82f2da81d6bc6c5dd3e7e0d7b464dfeb4dfd",
          "timestamp" : 1787118796000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 取消威海散货引桥终点约束\u000a\u000aWHBULK 引桥搜索不再构造终点 tunnel，避免终点附近的额外通道约束影响可行路径搜索，并与前向搜索场景的处理保持一致。\u000a",
          "date" : "2026-08-19 13:53:16 +0800",
          "id" : "600a82f2da81d6bc6c5dd3e7e0d7b464dfeb4dfd",
          "msg" : "fix: 取消威海散货引桥终点约束",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/ssep/bridge_junction_ec.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "plan/prepare/prepare_ogm.cpp",
            "data/ssep/reverse_ec.cpp",
            "data/ssep/forward_ec.cpp",
            "data/ssep/normal_junction_ec.cpp",
            "data/ssep/out_yard_junction_ec.cpp",
            "plan/prepare/prepare_hmi_virtual_obs.cpp",
            "hmi/common/pnc_graphics_view.hpp",
            "data/config/cfg_func_sw.hpp",
            "hmi/widget/replayer_pnc_mat.cpp",
            "data/config/cfg_func_sw.cpp",
            "hmi/common/drag_image.hpp",
            "data/ssep/open_space_ec.cpp",
            "hmi/common/pnc_graphics_view.cpp",
            "hmi/widget/pnc_mat_shared.cpp",
            "hmi/draw/draw_all.cpp",
            "data/ssep/into_yard_junction_ec.cpp",
            "hmi/widget/pnc_mat.cpp",
            "hmi/draw/draw_ssep_virtual_obs.cpp",
            "data/ssep/hmi_virtual_obs_line.hpp",
            "data/ssep/hmi_virtual_obs.hpp",
            "hmi/draw/draw_ssep_virtual_obs.hpp"
          ],
          "commitId" : "a85bcacc3571310576b58c69da1f20895221d5ec",
          "timestamp" : 1787118829000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 超视距线支持按高度分层\u000a\u000aHMI 绘制超视距线时记录并持久化车辆 Z 值，兼容旧二维配置并默认归入 Z=0。\u000a\u000a规划、OGM、删除和显示统一匹配车辆最近的高度批次，批次容差为 5 米；界面使用细线和一位小数高度标签区分不同层，并修正标签翻转方向。\u000a",
          "date" : "2026-08-19 13:53:49 +0800",
          "id" : "a85bcacc3571310576b58c69da1f20895221d5ec",
          "msg" : "feat: 超视距线支持按高度分层",
          "paths" : [
            {
              "editType" : "add",
              "file" : "data/ssep/hmi_virtual_obs_line.hpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/pnc_mat_shared.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.hpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/common/drag_image.hpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_hmi_virtual_obs.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/pnc_mat.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/common/pnc_graphics_view.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/reverse_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/open_space_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/hmi_virtual_obs.hpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_ssep_virtual_obs.hpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_all.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_ssep_virtual_obs.cpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_ogm.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/replayer_pnc_mat.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/into_yard_junction_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/normal_junction_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/out_yard_junction_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/common/pnc_graphics_view.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/ssep_path_corridor_test.cpp",
            "data/app/fsm/task_fsm/task_travel/task_travel_fsm.cpp",
            "data/other/ssep_path_corridor.cpp",
            "data/other/flow_control.cpp"
          ],
          "commitId" : "83ebd129874f4f0324d6b24981b7a44b528ffacd",
          "timestamp" : 1787135367000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复 BulkOut 重规划状态误退出\u000a\u000a重规划期间使用冻结的 SSEP 起点进行 BulkOut 几何判断，并在自动驾驶下保持搜索失败状态，避免旧路径清空后误退出 TRAVEL_OUT。\\n\\n调整回环包络的起终点消歧，保留终点完成判定，并补充状态切换日志及包络回归测试。\u000a",
          "date" : "2026-08-19 18:29:27 +0800",
          "id" : "83ebd129874f4f0324d6b24981b7a44b528ffacd",
          "msg" : "fix: 修复 BulkOut 重规划状态误退出",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "Testing/ssep_path_corridor_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/other/flow_control.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/other/ssep_path_corridor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/app/fsm/task_fsm/task_travel/task_travel_fsm.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "scenarios/stage.cpp",
            "scenarios/scenario.cpp"
          ],
          "commitId" : "2ab5ddf13f1f14d0db6434b1aef3df6fc3759cde",
          "timestamp" : 1787135381000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修正横向规划器类型识别\u000a\u000a以实际路径优化任务识别 WBCA 和 KEB 可用性，补充备用优化及 KEB 车道跟随任务。\\n\\n同步任务选择器的规划器类型推断，避免仅凭边界任务误标当前横向规划器。\u000a",
          "date" : "2026-08-19 18:29:41 +0800",
          "id" : "2ab5ddf13f1f14d0db6434b1aef3df6fc3759cde",
          "msg" : "fix: 修正横向规划器类型识别",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "scenarios/stage.cpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/scenario.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "scenarios/bulkload_scenario/bulkload_move_forward_stage.cpp"
          ],
          "commitId" : "603230f918a2b3c0d90882b18017da80f65cce65",
          "timestamp" : 1787135412000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 统一 BulkOut 的 SSEP 前向阶段\u000a\u000a移除非苏锡区域反向 BulkOut 直接切入 backward stage 的特殊分支，使 TRAVEL_OUT 统一从 forward stage 处理。\\n\\n同步删除不再使用的区域变量。\u000a",
          "date" : "2026-08-19 18:30:12 +0800",
          "id" : "603230f918a2b3c0d90882b18017da80f65cce65",
          "msg" : "fix: 统一 BulkOut 的 SSEP 前向阶段",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "scenarios/bulkload_scenario/bulkload_move_forward_stage.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tasks/plan/keb_lane_follow_path_task.cpp",
            "scenarios/scenario.cpp",
            "data/config/cfg_hmi.hpp",
            "algorithm/plan/keb_optimizer.hpp",
            "tasks/plan/keb_path_optimize_task.cpp",
            "data/config/cfg_hmi.cpp",
            "data/plan/keb_visualize_data.hpp",
            "hmi/replayer_hmi.cpp",
            "hmi/widget/diagnose.cpp",
            "tasks/plan/keb_utils.cpp",
            "hmi/widget/pnc_mat_shared.cpp",
            "hmi/draw/draw_all.cpp",
            "tasks/plan/keb_utils.hpp",
            "hmi/draw/draw_keb_debug.hpp",
            "algorithm/plan/keb_optimizer.cpp",
            "hmi/draw/draw_keb_debug.cpp",
            "data/plan_frame.hpp",
            "tasks/plan/keb_path_optimize_task.hpp",
            "data/plan_frame.cpp",
            "tasks/plan/keb_lane_follow_path_task.hpp",
            "hmi/node_hmi.cpp"
          ],
          "commitId" : "940324c11b5bcee7b5da106957258d714910ee82",
          "timestamp" : 1787150259000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 增加 KEB 规划可视化与诊断\u000a\u000a新增正常 KEB 与 SSEP KEB 独立可视化开关，绘制优化路径、车辆包络、边界约束和起终点朝向，并在 Diagnose 中展示运行状态与失败原因。\u000a\u000a补充异步请求快照和 generation 校验，避免并发规划混画或采用过期结果；对路径、朝向和约束数据采用限量采样与定点压缩序列化，降低快照体积。\u000a",
          "date" : "2026-08-19 22:37:39 +0800",
          "id" : "940324c11b5bcee7b5da106957258d714910ee82",
          "msg" : "feat: 增加 KEB 规划可视化与诊断",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "algorithm/plan/keb_optimizer.cpp"
            },
            {
              "editType" : "edit",
              "file" : "algorithm/plan/keb_optimizer.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/keb_visualize_data.hpp"
            },
            {
              "editType" : "add",
              "file" : "hmi/draw/draw_keb_debug.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_lane_follow_path_task.hpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/node_hmi.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_utils.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_lane_follow_path_task.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_hmi.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_path_optimize_task.cpp"
            },
            {
              "editType" : "add",
              "file" : "hmi/draw/draw_keb_debug.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_all.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan_frame.hpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/scenario.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan_frame.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/pnc_mat_shared.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_hmi.hpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/replayer_hmi.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/widget/diagnose.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_utils.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_path_optimize_task.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tasks/plan/keb_utils.cpp"
          ],
          "commitId" : "7af601b341265bf2eea8bdd421b66d1cd768ec9c",
          "timestamp" : 1787218672000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/liuhongshuo",
            "fullName" : "liuhongshuo"
          },
          "authorEmail" : "liuhongshuo",
          "comment" : "feat: keb正确返回theta值\u000a",
          "date" : "2026-08-20 17:37:52 +0800",
          "id" : "7af601b341265bf2eea8bdd421b66d1cd768ec9c",
          "msg" : "feat: keb正确返回theta值",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_utils.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/dp_poly_path/trajectory_cost.hpp",
            "data/obstacle/decision/obstacle_decision_test.cpp",
            "data/boundary/driving_corridor.cpp",
            "data/config/cfg_lat_decide.cpp",
            "config/config_imv/plan.yaml",
            "data/config/cfg_lat_decide.hpp",
            "data/dp_poly_path/trajectory_cost.cpp",
            "CMakeLists.txt",
            "data/config/cfg_lat_plan.hpp",
            "data/obstacle/decision/obstacle_decision.hpp",
            "data/obstacle/decision/obstacle_decision.cpp",
            "data/config/cfg_lat_plan.cpp",
            "data/obstacle/obstacle_decider_attr.cpp",
            "data/dp_poly_path/trajectory_cost_test.cpp",
            "data/obstacle/obstacle_decider_attr.hpp"
          ],
          "commitId" : "d2286d258075241f2b7ea24a00391e3ef4b699b4",
          "timestamp" : 1787312564000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复绕行边界与会车响应\u000a\u000a取消纯道路边界的默认硬内缩，保持 dp_poly_sdf_margin_road 为零时的可行域语义。\u000a\u000a让 MEETING 障碍同帧进入 DP 单侧约束并绕过旧走廊过滤；区分道路侧与车道侧靠边证据，缩短靠边静止车辆和斜停车辆的等待时间，并补充回归测试。\u000a",
          "date" : "2026-08-21 19:42:44 +0800",
          "id" : "d2286d258075241f2b7ea24a00391e3ef4b699b4",
          "msg" : "fix: 修复绕行边界与会车响应",
          "paths" : [
            {
              "editType" : "add",
              "file" : "data/obstacle/decision/obstacle_decision_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/obstacle_decider_attr.hpp"
            },
            {
              "editType" : "add",
              "file" : "data/dp_poly_path/trajectory_cost_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_decide.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/trajectory_cost.cpp"
            },
            {
              "editType" : "edit",
              "file" : "config/config_imv/plan.yaml"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_decide.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/obstacle_decider_attr.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_plan.cpp"
            },
            {
              "editType" : "edit",
              "file" : "CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "data/dp_poly_path/trajectory_cost.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_plan.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "replayer/replayer_data_process/load_snap_data.cpp"
          ],
          "commitId" : "3a89f18713e5e6f0eeaebad127ad588a60f64d3f",
          "timestamp" : 1787312577000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 补充快照加载失败诊断\u000a\u000a记录快照索引、数据长度、解压和反序列化异常，并在 bag 中不存在有效快照帧时输出明确错误。\u000a",
          "date" : "2026-08-21 19:42:57 +0800",
          "id" : "3a89f18713e5e6f0eeaebad127ad588a60f64d3f",
          "msg" : "fix: 补充快照加载失败诊断",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "replayer/replayer_data_process/load_snap_data.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "docs/pnc_algorithm_replay_plan.html"
          ],
          "commitId" : "c4884e3684574678c68e2be504809673831e7fae",
          "timestamp" : 1787312595000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "docs: 补充算法场景回放建设方案\u000a\u000a规划 CompactSceneProto、地图接口、生产 Stage/Task 复用、TagFS 场景管理、Web 人工验证与实时可视化，以及自动化回归和版本兼容路线。\u000a",
          "date" : "2026-08-21 19:43:15 +0800",
          "id" : "c4884e3684574678c68e2be504809673831e7fae",
          "msg" : "docs: 补充算法场景回放建设方案",
          "paths" : [
            {
              "editType" : "add",
              "file" : "docs/pnc_algorithm_replay_plan.html"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_func_sw.cpp",
            "data/config/cfg_func_sw.hpp"
          ],
          "commitId" : "94c0965ec463f421dd0a13c38f8cf763facbb273",
          "timestamp" : 1787390700000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 恢复散货前向阶段 WBCA 规划\u000a\u000a默认不再跳过散货进场的 WBCA 边界生成与路径优化任务，使 scenario 中配置的规划链正常执行。\u000a\u000a保留显式功能开关，并统一成员与 ROS 参数缺省值，避免默认配置再次漂移。\u000a",
          "date" : "2026-08-22 17:25:00 +0800",
          "id" : "94c0965ec463f421dd0a13c38f8cf763facbb273",
          "msg" : "fix: 恢复散货前向阶段 WBCA 规划",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/obstacle/decision/obstacle_decision.hpp",
            "data/plan/side_pass_data.cpp",
            "data/obstacle/decision/obstacle_decision_test.cpp",
            "data/obstacle/decision/obstacle_decision.cpp",
            "data/plan/side_pass_data.hpp"
          ],
          "commitId" : "67f281a58406c2c69695d7d49756822406b588a1",
          "timestamp" : 1787393330000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复绕行超车目标升级\u000a\u000a已建立的左绕行动作仅允许将当前实际绕行的授权作业车连续确认后升级为超车目标，避免历史承诺、分类抖动和多目标抢占导致错误提速。\u000a\u000a同时修正目标丢失释放边界，并以相对时长序列化 SidePass 状态计时，保证旧快照兼容和回放状态连续。\u000a",
          "date" : "2026-08-22 18:08:50 +0800",
          "id" : "67f281a58406c2c69695d7d49756822406b588a1",
          "msg" : "fix: 修复绕行超车目标升级",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/side_pass_data.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/side_pass_data.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "plan/prepare/prepare_ogm.cpp",
            "common/util/hdmap_wrapper.cpp",
            "hmi/draw/draw_map.cpp",
            "hmi/draw/draw_map.hpp",
            "common/util/hdmap_wrapper.hpp",
            "plan/prepare/prepare_ogm.hpp"
          ],
          "commitId" : "00e63fa6a7c3c7140ec7705afa510dc2781796cd",
          "timestamp" : 1787548133000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 接入条件禁行区域碰撞检测\u000a\u000a通过 GetConditionNoDrivingRegions 获取车辆周围 100 米内的条件禁行区域，并在 HMI 地图中绘制区域边界。\u000a\u000a将区域边界按不超过 10 厘米间距采样为虚拟 OGM 点，过滤图幅外点后参与栅格及精细碰撞检测。\u000a",
          "date" : "2026-08-24 13:08:53 +0800",
          "id" : "00e63fa6a7c3c7140ec7705afa510dc2781796cd",
          "msg" : "feat: 接入条件禁行区域碰撞检测",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_map.hpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_ogm.cpp"
            },
            {
              "editType" : "edit",
              "file" : "common/util/hdmap_wrapper.hpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_ogm.hpp"
            },
            {
              "editType" : "edit",
              "file" : "common/util/hdmap_wrapper.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_map.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tasks/plan/keb_utils.cpp"
          ],
          "commitId" : "ee37c37336da2b60445c231181b857d537afbe71",
          "timestamp" : 1787548291000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: keb正确返回theta值\u000a",
          "date" : "2026-08-24 13:11:31 +0800",
          "id" : "ee37c37336da2b60445c231181b857d537afbe71",
          "msg" : "feat: keb正确返回theta值",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_utils.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tasks/plan/keb_utils.cpp"
          ],
          "commitId" : "a4774d2541a74d8e1ae10aff81c46afbbd5d7884",
          "timestamp" : 1787564859000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 调整 KEB 道钉点碰撞处理\u000a\u000a将道钉点与路边点一同补绘到 KEB 栅格副本，不再补绘下沉坑点。\u000a\u000a同步更新类型说明，保持注释与处理逻辑一致。\u000a",
          "date" : "2026-08-24 17:47:39 +0800",
          "id" : "a4774d2541a74d8e1ae10aff81c46afbbd5d7884",
          "msg" : "fix: 调整 KEB 道钉点碰撞处理",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_utils.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/boundary/driving_corridor.cpp",
            "data/boundary/driving_corridor_test.cpp",
            "data/boundary/driving_corridor.hpp"
          ],
          "commitId" : "6301a7a4925ba684530d6e39961038ca231c3835",
          "timestamp" : 1787572131000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 恢复静态聚类凸包绕行占用\u000a\u000a成熟且确认静止的 cluster 凸包补入侧避栅格，避免稀疏点云之间形成可穿越空隙。\u000a\u000a同时要求未决 companion 具备自身正向运动证据，并在静止或证据非正时立即释放遗留 mask。\u000a",
          "date" : "2026-08-24 19:48:51 +0800",
          "id" : "6301a7a4925ba684530d6e39961038ca231c3835",
          "msg" : "fix: 恢复静态聚类凸包绕行占用",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/obstacle/obstacle_decider_attr.cpp"
          ],
          "commitId" : "ca0b0eb73d407465bb2da736b9c7d17311eb688d",
          "timestamp" : 1787572146000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 收紧叉头叉尾纵向扩展\u000a\u000a叉头和叉尾作为同一设备的相邻部件，分别使用通用前后 5m 扩展会形成过长连续障碍墙；仅将这两类调整为前后 2m，其他静态障碍保持原余量。\u000a",
          "date" : "2026-08-24 19:49:06 +0800",
          "id" : "ca0b0eb73d407465bb2da736b9c7d17311eb688d",
          "msg" : "fix: 收紧叉头叉尾纵向扩展",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/obstacle/obstacle_decider_attr.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "Testing/routing_map_guard_test.cpp",
            "data/map/pnc_map/pnc_map.hpp",
            "data/map/pnc_map/pnc_map.cpp"
          ],
          "commitId" : "ec31e4790fab833c289ebc0cbc30209868610f26",
          "timestamp" : 1787628396000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复 PNC 地图道路段转换异常\u000a\u000a合并前按实际 successor 选择顺序校验车道拓扑，拒绝缺失或重复目标，避免等车道数错位场景导致地图转换失败。\u000a\u000a恢复两轮道路段合并的数据流，修复首段前驱迭代器越界、横向邻居无效候选和多段拆分遗漏，并补充对应回归测试。\u000a",
          "date" : "2026-08-25 11:26:36 +0800",
          "id" : "ec31e4790fab833c289ebc0cbc30209868610f26",
          "msg" : "fix: 修复 PNC 地图道路段转换异常",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/map/pnc_map/pnc_map.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/map/pnc_map/pnc_map.cpp"
            },
            {
              "editType" : "edit",
              "file" : "Testing/routing_map_guard_test.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tasks/deciders/lat_decider/switching_bounds_decider.cpp",
            "data/plan/start_point_data.cpp",
            "data/plan/start_point_data.hpp",
            "tasks/plan/pjpo_task.cpp",
            "data/plan/switch_data.cpp"
          ],
          "commitId" : "71bf2e2ec9e91f143e7a156600d438072fc800ac",
          "timestamp" : 1787637810000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 保持变道路径跨阶段连续\u000a\u000a- standby 与正式变道统一使用变道权重，并从真实输出历史继承横向起点导数\u000a- 锁存单次变道的距离和世界坐标起终点，完整处理进入、持续、换向和退出生命周期\u000a- 使用固定锚点的五次平滑参考曲线，并在完成距离后收回目标车道边界\u000a- 有有效输出历史时禁止 boost 覆盖首点，避免连续重规划逐帧改形\u000a",
          "date" : "2026-08-25 14:03:30 +0800",
          "id" : "71bf2e2ec9e91f143e7a156600d438072fc800ac",
          "msg" : "fix: 保持变道路径跨阶段连续",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/plan/start_point_data.hpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/pjpo_task.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/lat_decider/switching_bounds_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/switch_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/start_point_data.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "math/piecewise_jerk/piecewise_jerk_problem.hpp",
            "algorithm/plan/pjpo.cpp",
            "math/piecewise_jerk/piecewise_jerk_problem.cpp"
          ],
          "commitId" : "a388f43d9c6293683cd0b34d6c342433b8947d6c",
          "timestamp" : 1787637831000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 提高变道 PJPO 求解稳定性\u000a\u000a- 为 piecewise jerk 求解器增加可选的OSQP容差和时间上限配置\u000a- 仅在变道硬起点场景使用1e-5收敛容差与50ms时间预算\u000a- 普通路径规划继续沿用历史默认设置\u000a",
          "date" : "2026-08-25 14:03:51 +0800",
          "id" : "a388f43d9c6293683cd0b34d6c342433b8947d6c",
          "msg" : "fix: 提高变道 PJPO 求解稳定性",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "math/piecewise_jerk/piecewise_jerk_problem.hpp"
            },
            {
              "editType" : "edit",
              "file" : "math/piecewise_jerk/piecewise_jerk_problem.cpp"
            },
            {
              "editType" : "edit",
              "file" : "algorithm/plan/pjpo.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/obstacle/obstacle_decider_attr.cpp"
          ],
          "commitId" : "bb0198284d306240afa9a0322f97ef72c63de2e9",
          "timestamp" : 1787637972000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 缩小变道障碍物纵向扩展范围\u000a\u000a- 非货叉部件障碍物的前后扩展距离由5米调整为3米\u000a- 货叉头尾部件继续保持2米扩展距离\u000a",
          "date" : "2026-08-25 14:06:12 +0800",
          "id" : "bb0198284d306240afa9a0322f97ef72c63de2e9",
          "msg" : "fix: 缩小变道障碍物纵向扩展范围",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/obstacle/obstacle_decider_attr.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/data_structures/path.cc",
            "tasks/plan/keb_lane_follow_path_task.cpp",
            "proto/keb_scene.proto",
            "offboard/keb_path_opt_cli/keb_simulator.hpp",
            "offboard/bag_to_keb_scene/bag_to_keb_scene.cc",
            "tasks/plan/keb_path_optimize_task.cpp",
            "replayer/replayer_data_process/replayer_data_extraction.cpp",
            "ssep/protos/path.proto",
            "data/plan/start_point_data.hpp",
            "data/plan/start_point_data.cpp",
            "common/log/log_config.cpp",
            "tasks/plan/keb_utils.cpp",
            "common/log/log_config.hpp",
            "tasks/plan/keb_utils.hpp",
            "offboard/keb_path_opt_cli/keb_path_opt_cli.cc",
            "offboard/keb_path_opt_cli/keb_simulator.cc"
          ],
          "commitId" : "01d91db117eb92069cdd33846ea3c62e855b5490",
          "timestamp" : 1787657498000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/liuhongshuo",
            "fullName" : "liuhongshuo"
          },
          "authorEmail" : "liuhongshuo",
          "comment" : "feat: IMV KEB 起步曲率问题修复与日志跨天切换\u000a",
          "date" : "2026-08-25 19:31:38 +0800",
          "id" : "01d91db117eb92069cdd33846ea3c62e855b5490",
          "msg" : "feat: IMV KEB 起步曲率问题修复与日志跨天切换",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "offboard/keb_path_opt_cli/keb_simulator.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/start_point_data.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_lane_follow_path_task.cpp"
            },
            {
              "editType" : "edit",
              "file" : "offboard/keb_path_opt_cli/keb_simulator.cc"
            },
            {
              "editType" : "edit",
              "file" : "replayer/replayer_data_process/replayer_data_extraction.cpp"
            },
            {
              "editType" : "edit",
              "file" : "offboard/bag_to_keb_scene/bag_to_keb_scene.cc"
            },
            {
              "editType" : "edit",
              "file" : "common/log/log_config.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_utils.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/data_structures/path.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/protos/path.proto"
            },
            {
              "editType" : "edit",
              "file" : "common/log/log_config.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/start_point_data.hpp"
            },
            {
              "editType" : "edit",
              "file" : "offboard/keb_path_opt_cli/keb_path_opt_cli.cc"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_utils.hpp"
            },
            {
              "editType" : "edit",
              "file" : "proto/keb_scene.proto"
            },
            {
              "editType" : "edit",
              "file" : "tasks/plan/keb_path_optimize_task.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_func_sw.cpp",
            "data/config/cfg_func_sw.hpp",
            "data/constrain/disable_stop_range.cpp"
          ],
          "commitId" : "64a4d38d2d461236fa08ac164fa8a4faa7aa7c0f",
          "timestamp" : 1787729289000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 增加普通路口停车功能开关\u000a\u000a新增 use_func_normal_junction_park 配置，默认保持开启。关闭时跳过普通横纵道路口的阻塞停车范围，不影响堆场、桥区和码头面专用开关。\u000a",
          "date" : "2026-08-26 15:28:09 +0800",
          "id" : "64a4d38d2d461236fa08ac164fa8a4faa7aa7c0f",
          "msg" : "feat: 增加普通路口停车功能开关",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/constrain/disable_stop_range.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_lat_plan.hpp",
            "config/config_imv/plan.yaml",
            "data/obstacle/decision/obstacle_decision.hpp",
            "data/obstacle/decision/obstacle_decision_test.cpp",
            "data/obstacle/decision/obstacle_decision.cpp",
            "data/config/cfg_lat_plan.cpp"
          ],
          "commitId" : "381dba9bc8b84e4946dcaad7e5a258258588008a",
          "timestamp" : 1787729761000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 支持大半径弯道主动超车\u000a\u000a基于完整 bend 区间的最大绝对曲率判断超车准入，普通路口、区间覆盖不完整及无效地图数据继续保守禁止。\u000a\u000a新增最小弯道半径配置及序列化版本，并补充半径边界、非法输入和区间覆盖回归测试。\u000a",
          "date" : "2026-08-26 15:36:01 +0800",
          "id" : "381dba9bc8b84e4946dcaad7e5a258258588008a",
          "msg" : "feat: 支持大半径弯道主动超车",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "config/config_imv/plan.yaml"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_plan.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/decision/obstacle_decision_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_lat_plan.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/data_structures/ssep_input.hpp",
            "ssep/offboard/ssep_planner_wrapper.cc",
            "data/ssep/ssep_activation.cpp",
            "ssep/data_structures/ssep_input.cc",
            "ssep/protos/scene.proto"
          ],
          "commitId" : "9b2da02f207417d7afef10597db8eabe3d5c6fe2",
          "timestamp" : 1787757535000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 完善SSEP图景重规划回放\u000a\u000a在图景协议中保存重规划状态和上一帧路径，并在离线回放时恢复对应上下文。\u000a\u000a统一保存平滑路径的前进后退方向，避免多段路径在图景中被误判为未平滑。\u000a",
          "date" : "2026-08-26 23:18:55 +0800",
          "id" : "9b2da02f207417d7afef10597db8eabe3d5c6fe2",
          "msg" : "feat: 完善SSEP图景重规划回放",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/offboard/ssep_planner_wrapper.cc"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_activation.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/protos/scene.proto"
            },
            {
              "editType" : "edit",
              "file" : "ssep/data_structures/ssep_input.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/data_structures/ssep_input.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/offboard/servers/scene_vis_server.cc",
            "ssep/offboard/servers/scene_vis_html_template.cc"
          ],
          "commitId" : "8bc7aba849ad45c43f3ab30abc1246727c2f979a",
          "timestamp" : 1787757548000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 增强SSEP图景可视化\u000a\u000a增加场景摘要、搜索与车辆参数侧栏，并同时展示当前路径和上一帧路径。\u000a\u000a完善任意目录导航及路径转义，避免特殊文件名破坏页面内容。\u000a",
          "date" : "2026-08-26 23:19:08 +0800",
          "id" : "8bc7aba849ad45c43f3ab30abc1246727c2f979a",
          "msg" : "feat: 增强SSEP图景可视化",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/offboard/servers/scene_vis_html_template.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/servers/scene_vis_server.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/scenarios/imv_general_planner.h",
            "ssep/scenarios/imv_enter_station_planner.h",
            "ssep/coarse_search/searcher_builders/imv_multi_segment_parking_bidirectional_searcher_builder.h",
            "data/ssep/forward_ec.cpp",
            "ssep/coarse_search/searcher_builders/imv_general_searcher_builder.cc",
            "ssep/scenarios/scenario_planner_factory.h",
            "ssep/scenarios/imv_multi_segment_parking_planner.h",
            "ssep/coarse_search/motion_primitive_sampler/dir_change_path_extention_decorator.h",
            "data/ssep/ssep_ec.cpp",
            "ssep/coarse_search/searcher_builders/imv_general_searcher_builder.h",
            "tasks/deciders/search_decider/forward_search_decider.cpp",
            "ssep/coarse_search/searcher_builders/imv_multi_segment_parking_bidirectional_searcher_builder.cc"
          ],
          "commitId" : "ec78fbb6be550122d6fff2557f734722f067b961",
          "timestamp" : 1787757566000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 增强振石IMV多段搜索能力\u000a\u000a修正IMV指令重规划的途经点和末段方向判断，末段重搜索可取消无效途经点。\u000a\u000a为IMV多段泊车增加斜行兜底及可配置末端方向，并仅在振石BulkOut启用General双向搜索、安全裕度和起点约束取消。\u000a",
          "date" : "2026-08-26 23:19:26 +0800",
          "id" : "ec78fbb6be550122d6fff2557f734722f067b961",
          "msg" : "feat: 增强振石IMV多段搜索能力",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/imv_general_searcher_builder.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/imv_multi_segment_parking_bidirectional_searcher_builder.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/imv_general_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/imv_enter_station_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/motion_primitive_sampler/dir_change_path_extention_decorator.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/imv_multi_segment_parking_bidirectional_searcher_builder.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/searcher_builders/imv_general_searcher_builder.cc"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/scenario_planner_factory.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/imv_multi_segment_parking_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/search_decider/forward_search_decider.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/coarse_search/evaluator/evaluator.h",
            "ssep/coarse_search/evaluator/trailer_collision_cost_computer.h",
            "ssep/coarse_search/evaluator/collision_cost_computer.h"
          ],
          "commitId" : "d2e4daf5f126db4bb15afa6f36acef79498be3a9",
          "timestamp" : 1787757580000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复SSEP碰撞忽略区边界误判\u000a\u000a为车体和拖挂碰撞忽略区增加微小距离容差，吸收UTM大坐标累计距离的浮点误差。\u000a\u000a保持原有忽略距离语义，超过容差后仍执行硬碰撞检查。\u000a",
          "date" : "2026-08-26 23:19:40 +0800",
          "id" : "d2e4daf5f126db4bb15afa6f36acef79498be3a9",
          "msg" : "fix: 修复SSEP碰撞忽略区边界误判",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/evaluator/collision_cost_computer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/evaluator/trailer_collision_cost_computer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/coarse_search/evaluator/evaluator.h"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_stage.cpp",
            "scenarios/task_condition_evaluator.hpp",
            "scenarios/task_condition_evaluator.cpp",
            "data/config/cfg_stage.hpp"
          ],
          "commitId" : "660f5d6b0ad7055ce80811a571d7f04a7928b001",
          "timestamp" : 1787757596000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 支持出堆场分段选择横向规划器\u000a\u000a新增出堆场非末段条件，使任务选择器能够在中间段使用PJPO，并为末段保留默认KEB。\u000a",
          "date" : "2026-08-26 23:19:56 +0800",
          "id" : "660f5d6b0ad7055ce80811a571d7f04a7928b001",
          "msg" : "feat: 支持出堆场分段选择横向规划器",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "scenarios/task_condition_evaluator.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_stage.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_stage.hpp"
            },
            {
              "editType" : "edit",
              "file" : "scenarios/task_condition_evaluator.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/test/ssep_planner_test.cc",
            "ssep/test/local_regression/README.md",
            "ssep/test/local_regression/run_ssep_regression.py",
            "ssep/test/local_regression/.gitignore",
            "ssep/offboard/scene_replay/replay_scene_frame_cli.cc",
            "ssep/test/local_regression/imv_multisegment_manifest.tsv",
            "ssep/offboard/scene_replay/README.md"
          ],
          "commitId" : "6f19ee67eb3cd8502143874661f896dece0cfa46",
          "timestamp" : 1787757611000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "test: 建立SSEP本地自动化回归集\u000a\u000a新增六个IMV多段历史场景清单和一键回放脚本，校验规划状态、场景类型及路径段数。\u000a\u000a回放工具支持规划失败返回非零退出码，并补充重规划上下文、基元类型和碰撞边界单测。\u000a",
          "date" : "2026-08-26 23:20:11 +0800",
          "id" : "6f19ee67eb3cd8502143874661f896dece0cfa46",
          "msg" : "test: 建立SSEP本地自动化回归集",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/offboard/scene_replay/replay_scene_frame_cli.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/README.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/ssep_planner_test.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/scene_replay/README.md"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/run_ssep_regression.py"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/.gitignore"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/imv_multisegment_manifest.tsv"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/boundary/driving_corridor.cpp",
            "data/boundary/driving_corridor_test.cpp",
            "data/boundary/driving_corridor.hpp"
          ],
          "commitId" : "689d0c916f5f68860188f267dc1626de8cd8776b",
          "timestamp" : 1787800892000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复 NO-SHIFT 末端走廊边界污染\u000a\u000a首次进入 NO-SHIFT 后截断道路墙折线，避免末端转弯道路墙通过全局 SDF 反向切入 DP gap。\u000a\u000a贴 shift 的几何端点仅采信近距离真实占用，防止远处点云接管来源并触发额外内缩；补充过渡生命周期和来源回标回归测试。\u000a",
          "date" : "2026-08-27 11:21:32 +0800",
          "id" : "689d0c916f5f68860188f267dc1626de8cd8776b",
          "msg" : "fix: 修复 NO-SHIFT 末端走廊边界污染",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/other/flow_control_test.cpp",
            "data/map/pnc_map/path_overlap.hpp",
            "data/other/flow_control.cpp",
            "data/plan/guide_line.cpp",
            "data/constrain/longitude_constrain.cpp",
            "tasks/deciders/long_decider/constrain_decider.cpp",
            "config/config_imv/plan.yaml",
            "data/config/cfg_func_sw.hpp",
            "data/other/flow_control.hpp",
            "data/config/cfg_func_sw.cpp",
            "CMakeLists.txt",
            "data/config/cfg_safe_const.hpp",
            "data/map/pnc_map/pnc_map_path.cpp",
            "data/config/cfg_long_plan.cpp",
            "data/config/cfg_safe_const.cpp",
            "data/plan/guide_line_base.hpp"
          ],
          "commitId" : "1c3a8293db4bd0936fd728ba20b3c8b2161dbdb2",
          "timestamp" : 1787808674000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 支持闸口精确限速与动态跟车\u000a\u000a接入 REGION_GATE 地图区间并按距闸口距离反推当前限速。\\n在闸口控制区内按实车速度平滑缩短跟车距离，车头越过闸口后解除控制。\\n增加新旧功能独立开关、配置快照兼容以及双向区间和限速回归测试。\u000a",
          "date" : "2026-08-27 13:31:14 +0800",
          "id" : "1c3a8293db4bd0936fd728ba20b3c8b2161dbdb2",
          "msg" : "feat: 支持闸口精确限速与动态跟车",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/plan/guide_line_base.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.hpp"
            },
            {
              "editType" : "edit",
              "file" : "CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "data/map/pnc_map/path_overlap.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_safe_const.cpp"
            },
            {
              "editType" : "edit",
              "file" : "tasks/deciders/long_decider/constrain_decider.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/map/pnc_map/pnc_map_path.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/other/flow_control.cpp"
            },
            {
              "editType" : "edit",
              "file" : "config/config_imv/plan.yaml"
            },
            {
              "editType" : "edit",
              "file" : "data/constrain/longitude_constrain.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/other/flow_control.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_long_plan.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/guide_line.cpp"
            },
            {
              "editType" : "add",
              "file" : "data/other/flow_control_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_safe_const.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_safe_const.hpp",
            "data/other/flow_control_test.cpp",
            "data/boundary/driving_corridor.cpp",
            "data/config/cfg_safe_const.cpp",
            "config/config_imv/plan.yaml",
            "data/config/cfg_func_sw.hpp",
            "data/config/cfg_func_sw.cpp"
          ],
          "commitId" : "ae89670c40080961c7392a34f56c53e1027b92d0",
          "timestamp" : 1787809413000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 过滤闸口杆体绕行点云\u000a\u000a依据 REGION_GATE 构造横向走廊掩膜，过滤闸杆原始点云和静态簇凸包。\\n保留纵向碰撞 OGM，使闸杆关闭时仍可停车，同时避免触发误绕行。\u000a",
          "date" : "2026-08-27 13:43:33 +0800",
          "id" : "ae89670c40080961c7392a34f56c53e1027b92d0",
          "msg" : "fix: 过滤闸口杆体绕行点云",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/boundary/driving_corridor.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_safe_const.hpp"
            },
            {
              "editType" : "edit",
              "file" : "config/config_imv/plan.yaml"
            },
            {
              "editType" : "edit",
              "file" : "data/other/flow_control_test.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_func_sw.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_safe_const.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "hmi/draw/draw_guide_line.cpp",
            "hmi/draw/draw_guide_line.hpp"
          ],
          "commitId" : "987b326a56d32d3f7ab0af28cc10b4f451ab38b7",
          "timestamp" : 1787809413000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 绘制引导线区域缩写\u000a\u000a沿引导线绘制 region overlap 区间、起止标记和类型缩写。\\n使用简短标签区分限速、Guardian、贝位、短跟车和闸口区域，避免 HMI 过度拥挤。\u000a",
          "date" : "2026-08-27 13:43:33 +0800",
          "id" : "987b326a56d32d3f7ab0af28cc10b4f451ab38b7",
          "msg" : "feat: 绘制引导线区域缩写",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_guide_line.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_guide_line.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_region.hpp",
            "data/ssep/forward_ec.cpp",
            "data/config/cfg_region.cpp"
          ],
          "commitId" : "d85195e6b752b3478cc152caf7570d1529fedf53",
          "timestamp" : 1787819595000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 增加魏桥区域规划支持\u000a\u000a新增魏桥地理围栏及区域枚举，并使前向 SSEP 的朝向选择、起终点通道、途经点参考线和搜索途经点逻辑复用太阳纸业配置。\u000a",
          "date" : "2026-08-27 16:33:15 +0800",
          "id" : "d85195e6b752b3478cc152caf7570d1529fedf53",
          "msg" : "feat: 增加魏桥区域规划支持",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_region.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/forward_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_region.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/plan/ssep_data.cpp"
          ],
          "commitId" : "f3455f4399b88ef2873bcfd385bb9d6cbd1e1016",
          "timestamp" : 1787819606000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复换向停车后 SSEP 切段失败\u000a\u000a当车辆由当前分段换向线明确触发停车时，以约束来源、顺序索引和末点位置确认到达，不再因局部路径与原始 SSEP 的小幅航向偏差永久卡住；其他停车原因继续保留航向校验。\u000a",
          "date" : "2026-08-27 16:33:26 +0800",
          "id" : "f3455f4399b88ef2873bcfd385bb9d6cbd1e1016",
          "msg" : "fix: 修复换向停车后 SSEP 切段失败",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/plan/ssep_data.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tasks/deciders/lat_decider/path_bounds_decider.cpp"
          ],
          "commitId" : "2cf03c30441cb54f71063b8782eecf7b6e510b66",
          "timestamp" : 1787819619000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复倒车 OpenSpace 边界配置失效\u000a\u000a倒车 PJPO 在 OpenSpace 断面复用 RoadBoundary 的横向边界，使 open_space_bound_width 对正反向路径一致生效；RoadBoundary 不可用或非 OpenSpace 时保持通用倒车边界回退。\u000a",
          "date" : "2026-08-27 16:33:39 +0800",
          "id" : "2cf03c30441cb54f71063b8782eecf7b6e510b66",
          "msg" : "fix: 修复倒车 OpenSpace 边界配置失效",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tasks/deciders/lat_decider/path_bounds_decider.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_region.hpp",
            "data/config/cfg_region.cpp",
            "data/ssep/ssep_ec.cpp",
            "data/ssep/into_yard_junction_ec.cpp",
            "data/ssep/out_yard_junction_ec.cpp"
          ],
          "commitId" : "466e27ed4100e1dcc4d165e54c874a97b5677ad1",
          "timestamp" : 1787839774000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 增加中铁联集区域规划支持\u000a\u000a新增中铁联集区域识别，并为 IMV 默认选择通用 SSEP 场景。\u000a\u000a调整进出场景的起终点直线延伸距离，以适配现场作业空间。\u000a",
          "date" : "2026-08-27 22:09:34 +0800",
          "id" : "466e27ed4100e1dcc4d165e54c874a97b5677ad1",
          "msg" : "feat: 增加中铁联集区域规划支持",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_region.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/into_yard_junction_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/out_yard_junction_ec.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_region.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "hmi/draw/draw_keb_debug.cpp"
          ],
          "commitId" : "30f09239c6141088c9e560d83e670118b0caf2cf",
          "timestamp" : 1787839796000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复 KEB 调试界面误绘挂车\u000a\u000a绘制挂车包络前同时校验车型和挂车姿态有效性，避免 IMV 的占位航向被当作真实挂车姿态。\u000a",
          "date" : "2026-08-27 22:09:56 +0800",
          "id" : "30f09239c6141088c9e560d83e670118b0caf2cf",
          "msg" : "fix: 修复 KEB 调试界面误绘挂车",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_keb_debug.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/offboard/servers/scene_vis_html_template.cc",
            "ssep/scenarios/imv_general_planner.h",
            "ssep/offboard/ssep_planner_wrapper.cc",
            "data/ssep/ssep_activation.hpp",
            "ssep/scenarios/scenario_planner_interface.h",
            "ssep/ssep_planner.cc",
            "data/ssep/ssep_activation.cpp",
            "ssep/ssep_planner.h",
            "ssep/protos/scene.proto",
            "ssep/offboard/scene_replay/README.md"
          ],
          "commitId" : "ac005686e1bc1dc394ad76044a973a46ff77b594",
          "timestamp" : 1787839855000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "feat: 完善 SSEP 失败场景诊断\u000a\u000a场景文件新增粗搜索路径和规划失败原因，并在车端落盘与离线转存中保持一致。\u000a\u000a网页可视化展示失败详情和平滑前路径，同时重置跨帧规划结果以避免旧数据污染。\u000a",
          "date" : "2026-08-27 22:10:55 +0800",
          "id" : "ac005686e1bc1dc394ad76044a973a46ff77b594",
          "msg" : "feat: 完善 SSEP 失败场景诊断",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/ssep_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/ssep_planner.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/protos/scene.proto"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_activation.cpp"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/servers/scene_vis_html_template.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/scenario_planner_interface.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/ssep_planner_wrapper.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/offboard/scene_replay/README.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/imv_general_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "data/ssep/ssep_activation.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "ssep/test/ssep_planner_test.cc",
            "ssep/scenarios/imv_general_planner.h",
            "ssep/test/local_regression/imv_general_keb_manifest.tsv",
            "ssep/test/local_regression/README.md",
            "ssep/keb_optimizer/imv_keb_optimizer.h",
            "ssep/keb_optimizer/imv_keb_optimizer.cc",
            "ssep/keb_optimizer/keb_problem.h",
            "ssep/keb_optimizer/keb_problem.cc"
          ],
          "commitId" : "c12c478083bb66cec5fae4cdb553c43ca8dbdaec",
          "timestamp" : 1787839874000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 修复 IMV 斜行 KEB 运动学失配\u000a\u000a按路径速度方向补齐并对齐 beta/beta_dot 初值，提高 IMVGeneral 运动学权重，避免碰撞软代价将路径推成不可执行状态。\u000a\u000a补充正向、倒车斜行单测及两个现场场景的正式回归清单。\u000a",
          "date" : "2026-08-27 22:11:14 +0800",
          "id" : "c12c478083bb66cec5fae4cdb553c43ca8dbdaec",
          "msg" : "fix: 修复 IMV 斜行 KEB 运动学失配",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "ssep/scenarios/imv_general_planner.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/imv_keb_optimizer.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/imv_keb_optimizer.cc"
            },
            {
              "editType" : "add",
              "file" : "ssep/test/local_regression/imv_general_keb_manifest.tsv"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/local_regression/README.md"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.cc"
            },
            {
              "editType" : "edit",
              "file" : "ssep/keb_optimizer/keb_problem.h"
            },
            {
              "editType" : "edit",
              "file" : "ssep/test/ssep_planner_test.cc"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tasks/deciders/other_decider/replan_decider.cpp"
          ],
          "commitId" : "0014947d31a6d5ab3d921b4fbdb4afb898be19c6",
          "timestamp" : 1787885522000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 限制连续开放空间重规划触发范围\u000a\u000a仅允许已进入复用状态的 OpenSpace SSEP 触发连续开放空间重规划。\\n避免出堆场 Forward SSEP 因终点相对待用参考线偏移而反复重搜索。\u000a",
          "date" : "2026-08-28 10:52:02 +0800",
          "id" : "0014947d31a6d5ab3d921b4fbdb4afb898be19c6",
          "msg" : "fix: 限制连续开放空间重规划触发范围",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tasks/deciders/other_decider/replan_decider.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_safe_const.cpp"
          ],
          "commitId" : "78050c310eba9d47334b0c9a0aab2f2c41f4bcb7",
          "timestamp" : 1787885610000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/wuyanjun110",
            "fullName" : "wuyanjun110"
          },
          "authorEmail" : "wuyanjun110@126.com",
          "comment" : "fix: 提前闸口控制介入距离\u000a\u000a将闸口控制默认起始距离由 10 米调整为 15 米，使车辆更早进入闸口控制范围。\u000a",
          "date" : "2026-08-28 10:53:30 +0800",
          "id" : "78050c310eba9d47334b0c9a0aab2f2c41f4bcb7",
          "msg" : "fix: 提前闸口控制介入距离",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/config/cfg_safe_const.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/config/cfg_topic.hpp",
            "algorithm/platoon/vehicle_info_to_obstacle.hpp",
            "data/config/cfg_topic.cpp",
            "algorithm/platoon/vehicle_info_to_obstacle.cpp",
            "data/platoon/vehicle_info.hpp",
            "source/ros_source_platoon_vehicle_info.hpp",
            "CMakeLists.txt",
            "plan/prepare/prepare_objs.hpp",
            "package.xml",
            "data/platoon/vehicle_info.cpp",
            "source/ros_source_platoon_vehicle_info.cpp",
            "plan/prepare/prepare_objs.cpp",
            "data/plan_frame.hpp",
            "source/module.cpp"
          ],
          "commitId" : "b9e590a6783bed2c4c623f5c21f76e50909c6f9f",
          "timestamp" : 1787887522000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "Add platoon leader obstacle conversion\u000a",
          "date" : "2026-08-28 11:25:22 +0800",
          "id" : "b9e590a6783bed2c4c623f5c21f76e50909c6f9f",
          "msg" : "Add platoon leader obstacle conversion",
          "paths" : [
            {
              "editType" : "add",
              "file" : "source/ros_source_platoon_vehicle_info.cpp"
            },
            {
              "editType" : "edit",
              "file" : "source/module.cpp"
            },
            {
              "editType" : "edit",
              "file" : "CMakeLists.txt"
            },
            {
              "editType" : "edit",
              "file" : "package.xml"
            },
            {
              "editType" : "edit",
              "file" : "data/plan_frame.hpp"
            },
            {
              "editType" : "add",
              "file" : "data/platoon/vehicle_info.hpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_objs.hpp"
            },
            {
              "editType" : "add",
              "file" : "source/ros_source_platoon_vehicle_info.hpp"
            },
            {
              "editType" : "add",
              "file" : "algorithm/platoon/vehicle_info_to_obstacle.cpp"
            },
            {
              "editType" : "add",
              "file" : "data/platoon/vehicle_info.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_topic.cpp"
            },
            {
              "editType" : "add",
              "file" : "algorithm/platoon/vehicle_info_to_obstacle.hpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_objs.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/config/cfg_topic.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "algorithm/platoon/vehicle_info_to_obstacle.cpp",
            "algorithm/platoon/vehicle_info_to_obstacle.hpp"
          ],
          "commitId" : "f69bb8a4b967ce92dd350d3ab7450352770c98e0",
          "timestamp" : 1787896656000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "Set platoon obstacle ID and trajectory type\u000a",
          "date" : "2026-08-28 13:57:36 +0800",
          "id" : "f69bb8a4b967ce92dd350d3ab7450352770c98e0",
          "msg" : "Set platoon obstacle ID and trajectory type",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "algorithm/platoon/vehicle_info_to_obstacle.cpp"
            },
            {
              "editType" : "edit",
              "file" : "algorithm/platoon/vehicle_info_to_obstacle.hpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/plan/predict_path.cpp",
            "data/obstacle/obstacle.cpp",
            "hmi/draw/draw_perception.cpp",
            "algorithm/platoon/vehicle_info_to_obstacle.cpp",
            "data/obstacle/perception_obstacle.hpp",
            "data/obstacle/obstacle_decider_attr.cpp",
            "algorithm/decision/semantic_set_transformation_2.cpp"
          ],
          "commitId" : "c2e252d8bdee8a198bd9f3719327b8ce02d47faf",
          "timestamp" : 1787903318000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "Add V2V leader obstacle handling\u000a",
          "date" : "2026-08-28 15:48:38 +0800",
          "id" : "c2e252d8bdee8a198bd9f3719327b8ce02d47faf",
          "msg" : "Add V2V leader obstacle handling",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "data/obstacle/obstacle_decider_attr.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/perception_obstacle.hpp"
            },
            {
              "editType" : "edit",
              "file" : "algorithm/decision/semantic_set_transformation_2.cpp"
            },
            {
              "editType" : "edit",
              "file" : "algorithm/platoon/vehicle_info_to_obstacle.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/plan/predict_path.cpp"
            },
            {
              "editType" : "edit",
              "file" : "hmi/draw/draw_perception.cpp"
            },
            {
              "editType" : "edit",
              "file" : "data/obstacle/obstacle.cpp"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "data/platoon/vehicle_info.hpp",
            "hmi/widget/diagnose.cpp",
            "plan/prepare/prepare_objs.cpp",
            "algorithm/platoon/vehicle_info_to_obstacle.hpp"
          ],
          "commitId" : "42399ec66085236e3138c482e9a2da908beb1209",
          "timestamp" : 1787909898000,
          "author" : {
            "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
            "fullName" : "chenran"
          },
          "authorEmail" : "chenran@senior.auto",
          "comment" : "Add platoon leader gap diagnostics\u000a",
          "date" : "2026-08-28 17:38:18 +0800",
          "id" : "42399ec66085236e3138c482e9a2da908beb1209",
          "msg" : "Add platoon leader gap diagnostics",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "hmi/widget/diagnose.cpp"
            },
            {
              "editType" : "edit",
              "file" : "algorithm/platoon/vehicle_info_to_obstacle.hpp"
            },
            {
              "editType" : "edit",
              "file" : "data/platoon/vehicle_info.hpp"
            },
            {
              "editType" : "edit",
              "file" : "plan/prepare/prepare_objs.cpp"
            }
          ]
        }
      ],
      "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/5081703.cr",
      "fullName" : "5081703.cr"
    },
    {
      "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/chenran",
      "fullName" : "chenran"
    },
    {
      "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/liuhongshuo",
      "fullName" : "liuhongshuo"
    },
    {
      "absoluteUrl" : "http://159.27.114.184:8080/jenkins/user/tangwenqing",
      "fullName" : "tangwenqing"
    }
  ],
  "nextBuild" : {
    "number" : 51,
    "url" : "http://159.27.114.184:8080/jenkins/job/orin-module-ros2/51/"
  },
  "previousBuild" : {
    "number" : 49,
    "url" : "http://159.27.114.184:8080/jenkins/job/orin-module-ros2/49/"
  }
}