Files
ParkingRobot/docs/superpowers/plans/2026-07-31-local-g2-dailywork-reports.md
T

12 KiB

Local G2 Dailywork Reports Implementation Plan

For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (- [ ]) syntax for tracking.

Goal:dailywork_report/ 中交付两份清晰、可追溯的 Local G2 五次 Hermite 中文报告,并为每份提供一个可离线打开的 HTML 可视化附录。

Architecture: 报告按“算法事实”和“问题证据”拆分,避免把候选层能力误写成已完成的端到端功能。每份 HTML 均为独立单文件,以内嵌 CSS、SVG 和少量原生 JavaScript 将 Markdown 的核心结构可视化;不引入构建工具或外部资源。

Tech Stack: Markdown、HTML5、内嵌 CSS、内嵌 SVG、原生 JavaScript、PowerShell 验证。

Global Constraints

  • 目录根为 dailywork_report/,大小写和下划线必须保持一致。
  • 建立 Map_rep/coarsepath_rep/ 作为空的未来报告入口;本次不填充其业务内容。
  • 本次四份正式内容只放在 dailywork_report/pathsmoothing_rep/
  • 所有文字使用中文;首次出现的英文技术术语必须有中文解释或可由相邻中文短语理解。
  • 明确区分:专项测试通过、已复现故障、静态分析确认的逻辑缺口、待验证集成风险。
  • 不修改任何路径平滑、地图、粗路径或测试实现。
  • HTML 不使用 CDN、网络请求、第三方库、外部图片或构建步骤。
  • 工作区已有无关改动;本任务不暂存、不提交。

Task 1: 建立稳定的日报目录边界

Files:

  • Create: dailywork_report/Map_rep/.gitkeep
  • Create: dailywork_report/coarsepath_rep/.gitkeep
  • Create: dailywork_report/pathsmoothing_rep/(由后续两个任务创建内容)

Interfaces:

  • Consumes: 已批准的 docs/superpowers/specs/2026-07-31-local-g2-dailywork-reports-design.md

  • Produces: 可承载地图、粗路径和路径平滑报告的稳定目录边界。

  • Step 1: 创建两个空模块目录的保留文件

使用 apply_patch 创建两个空的 .gitkeep 文件,内容保持为空:

dailywork_report/Map_rep/.gitkeep
dailywork_report/coarsepath_rep/.gitkeep
  • Step 2: 验证目录边界

运行:

$paths = @(
  'dailywork_report/Map_rep/.gitkeep',
  'dailywork_report/coarsepath_rep/.gitkeep'
)
foreach ($path in $paths) {
  if (-not (Test-Path -LiteralPath $path)) { throw "Missing report directory marker: $path" }
}
Write-Output 'Dailywork report directory checks passed.'

预期:输出 Dailywork report directory checks passed.


Task 2: 编写 Local G2 算法主报告及流程可视化附录

Files:

  • Create: dailywork_report/pathsmoothing_rep/01-local-g2-quintic-hermite-algorithm-report.md
  • Create: dailywork_report/pathsmoothing_rep/01-local-g2-quintic-hermite-algorithm-visualization.html

Interfaces:

  • Consumes: docs/superpowers/plans/2026-07-30-local-g2-path-presmoothing.mddocs/superpowers/specs/2026-07-30-local-g2-path-presmoothing-design.mdClumsyPilot/ParkrobTrajplanner/PathSmoothing/LocalG2/ 下的实现。

  • Produces: 一份说明 Local G2 候选层工作方式、输入、输出、约束和当前接入边界的报告;一份与该报告事实一致的可视化附录。

  • Step 1: 写入 Markdown 主报告的固定章节

按下列一级标题顺序撰写,并在每节中给出可核对的事实:

# Local G2 五次 Hermite 路径平滑算法说明
## 1. 目标、位置与非目标
## 2. 输入:进入算法前必须具备什么
## 3. 模块架构:每个模块负责什么
## 4. 数据流:从粗路径到候选安全路径
## 5. 输出:路径、段、指标、区域报告与状态
## 6. 安全与质量门
## 7. 当前实现进度与边界

必须写清:输入为成功的 Hybrid A* 粗路径、路径方向段、地图、车辆参数、LocalG2QuinticOptions、取消令牌;距离单位为米、航向为弧度、曲率为 1/m。数据流必须依次解释预处理、曲率跳变检测、窗口规划、五次 Hermite 候选构造、局部拼接、统一几何分析、完整车体验证、质量评价。输出必须解释 SmoothedPathPointSmoothedPathSegment、曲率 κ、曲率导数 dκ/ds、区域报告和诊断。

“当前实现进度与边界”必须明确:任务 1–7 已达到候选构造与评价层;LocalG2PreSmoothingPipeline 与服务分派尚未实现,因此不能声称目前可正式发布完整的 Local G2 SQP 初始路径。

  • Step 2: 写入单文件 HTML 算法附录

HTML 必须包含 <main>、一个“输入”卡片区、一个按顺序排列的 SVG 流程图、一个“输出”卡片区和一个“当前边界”提示区。SVG 流程节点必须使用以下稳定文字:

Hybrid A* 粗路径
预处理与方向分段
曲率跳变检测
窗口规划
五次 Hermite 候选
拼接与统一几何分析
完整车体安全与质量评价
计划中的发布流水线(尚未接入)

用绿色标记已实现的候选层节点,用琥珀色标记“尚未接入”的发布流水线节点。HTML 中的“输入”和“输出”文字必须与 Markdown 报告一致,且页面顶部必须写明“离线静态可视化附录”。

  • Step 3: 校验主报告与 HTML 的算法事实

运行:

$markdown = Get-Content -Raw -Encoding UTF8 'dailywork_report/pathsmoothing_rep/01-local-g2-quintic-hermite-algorithm-report.md'
$html = Get-Content -Raw -Encoding UTF8 'dailywork_report/pathsmoothing_rep/01-local-g2-quintic-hermite-algorithm-visualization.html'
$markdownTerms = @('输入:进入算法前必须具备什么', '输出:路径、段、指标、区域报告与状态', 'dκ/ds', '尚未实现')
$htmlTerms = @('<main', '<svg', 'Hybrid A* 粗路径', '五次 Hermite 候选', '尚未接入', '离线静态可视化附录')
foreach ($term in $markdownTerms) { if (-not $markdown.Contains($term)) { throw "Algorithm report missing: $term" } }
foreach ($term in $htmlTerms) { if (-not $html.Contains($term)) { throw "Algorithm visualization missing: $term" } }
Write-Output 'Algorithm report checks passed.'

预期:输出 Algorithm report checks passed.


Task 3: 编写问题分析报告及风险可视化附录

Files:

  • Create: dailywork_report/pathsmoothing_rep/02-local-g2-issues-and-next-actions-report.md
  • Create: dailywork_report/pathsmoothing_rep/02-local-g2-issues-and-next-actions-visualization.html

Interfaces:

  • Consumes: 本轮已运行的构建与专项测试结果、verify_path_smoothing_integration.ps1RectangleDetour 失败、LocalG2WindowPlanner.csLocalG2PathSplicer.csLocalG2CandidateEvaluator.cs

  • Produces: 三个问题的证据分级、可理解的场景例子、成因、影响与下一步验证/修复措施;一份与主报告一致的风险可视化。

  • Step 1: 写入 Markdown 问题报告的固定章节和证据分类

使用下列一级标题:

# Local G2 路径平滑问题分析与后续措施
## 1. 阅读本报告前:证据等级说明
## 2. 问题一:RectangleDetour 原始基线复验失败
## 3. 问题二:窗口合并范围与候选长度上限不一致
## 4. 问题三:连续处理多个区域时的弧长定位风险
## 5. 进入任务 8 前的行动顺序与验收条件

每个问题必须按“现象 → 生动例子 → 为什么发生 → 影响 → 证据等级 → 下一步措施 → 验收条件”顺序写作。

问题一必须标记为“已复现故障”,引用如下实际结果,不增添未验证的数值原因:

Raw baseline RectangleDetour must remain a feasible, verified copy of the coarse path.
Expected=Success Actual=InvalidInput

问题二必须标记为“静态分析确认的逻辑缺口”,说明默认 0.8 m 候选总长度上限与 event ± 0.8 m 合并包络的差异;使用“相距 1.0 m 的两个弯被合并后无法装进 0.8 m 窗口”的例子。

问题三必须标记为“待验证集成风险”,说明一次拼接会重算局部弧长,后续区域仍可能使用旧起止弧长;不得写成已经复现的线上故障。

  • Step 2: 写入单文件 HTML 问题附录

HTML 顶部必须显示三种证据徽章:已复现故障静态分析确认待验证风险。页面主体必须提供三个编号问题卡片,每张卡片含“现象”“例子”“成因”“措施”四个短区块。使用内嵌 SVG 表达:

问题一:粗路径成功 → 原始基线复验 InvalidInput → G2 尚未开始
问题二:两个相距 1.0 m 的事件 → 被合并 → 0.8 m 窗口无候选
问题三:先平滑区域 A → 弧长重算 → 区域 B 使用旧坐标

页面末尾必须列出行动优先级:先定位问题一、再为问题二添加窗口边界回归、最后为问题三添加双区域顺序替换回归。

  • Step 3: 校验问题分类、现象和行动顺序

运行:

$markdown = Get-Content -Raw -Encoding UTF8 'dailywork_report/pathsmoothing_rep/02-local-g2-issues-and-next-actions-report.md'
$html = Get-Content -Raw -Encoding UTF8 'dailywork_report/pathsmoothing_rep/02-local-g2-issues-and-next-actions-visualization.html'
$markdownTerms = @('已复现故障', 'Expected=Success Actual=InvalidInput', '静态分析确认的逻辑缺口', '待验证集成风险', '相距 1.0 m', '任务 8')
$htmlTerms = @('<main', '<svg', '已复现故障', '静态分析确认', '待验证风险', '区域 A', '区域 B')
foreach ($term in $markdownTerms) { if (-not $markdown.Contains($term)) { throw "Issue report missing: $term" } }
foreach ($term in $htmlTerms) { if (-not $html.Contains($term)) { throw "Issue visualization missing: $term" } }
Write-Output 'Issue report checks passed.'

预期:输出 Issue report checks passed.


Task 4: 做离线交付检查和可视化人工审阅

Files:

  • Verify: dailywork_report/Map_rep/.gitkeep
  • Verify: dailywork_report/coarsepath_rep/.gitkeep
  • Verify: dailywork_report/pathsmoothing_rep/01-local-g2-quintic-hermite-algorithm-report.md
  • Verify: dailywork_report/pathsmoothing_rep/01-local-g2-quintic-hermite-algorithm-visualization.html
  • Verify: dailywork_report/pathsmoothing_rep/02-local-g2-issues-and-next-actions-report.md
  • Verify: dailywork_report/pathsmoothing_rep/02-local-g2-issues-and-next-actions-visualization.html

Interfaces:

  • Consumes: 前三项任务的六个文件。

  • Produces: 可离线打开、层级明确、相互一致的报告包。

  • Step 1: 验证完整文件集与禁止外部依赖

运行:

$files = @(
  'dailywork_report/Map_rep/.gitkeep',
  'dailywork_report/coarsepath_rep/.gitkeep',
  'dailywork_report/pathsmoothing_rep/01-local-g2-quintic-hermite-algorithm-report.md',
  'dailywork_report/pathsmoothing_rep/01-local-g2-quintic-hermite-algorithm-visualization.html',
  'dailywork_report/pathsmoothing_rep/02-local-g2-issues-and-next-actions-report.md',
  'dailywork_report/pathsmoothing_rep/02-local-g2-issues-and-next-actions-visualization.html'
)
foreach ($file in $files) { if (-not (Test-Path -LiteralPath $file)) { throw "Missing deliverable: $file" } }
$html = @(
  Get-Content -Raw -Encoding UTF8 'dailywork_report/pathsmoothing_rep/01-local-g2-quintic-hermite-algorithm-visualization.html'
  Get-Content -Raw -Encoding UTF8 'dailywork_report/pathsmoothing_rep/02-local-g2-issues-and-next-actions-visualization.html'
) -join "`n"
if ($html -match 'https?://' -or $html -match '<script[^>]+src=') { throw 'HTML appendices must be self-contained.' }
Write-Output 'Dailywork report package checks passed.'

预期:输出 Dailywork report package checks passed.

  • Step 2: 在本地浏览器进行人工可读性审阅

依次打开两个 HTML 文件,检查以下具体条件:

算法附录:流程从左到右或从上到下可顺序阅读;绿色已实现节点与琥珀色未接入节点容易区分;输入和输出没有被流程图遮挡。
问题附录:三类证据徽章颜色和文字均可分辨;三个问题卡片的例子、成因、措施没有被截断;行动顺序位于页面末尾且与 Markdown 一致。
  • Step 3: 检查工作区改动范围

运行:

git diff --check
git status --short -- dailywork_report docs/superpowers/specs/2026-07-31-local-g2-dailywork-reports-design.md docs/superpowers/plans/2026-07-31-local-g2-dailywork-reports.md

预期:无空白错误;改动只包含本计划的设计、计划和日报交付文件。