Skip to content

fix: 修复 Issue 评论中的本地路径和误识别链接 #941

Description

@CodeCasterX

问题摘要 / Issue Summary

修复 Issue 评论中的本地路径和误识别链接

版本信息 / Version Information

N/A

运行环境 / Runtime Environment

N/A

发生了什么?/ What happened?

修复同步到 GitHub Issue 的任务文件和生命周期产物中的错误超链接。同步范围内的本地产物路径不再生成可点击的相对链接,而以反引号代码文本表示;同步过程继续原样发布本地 Markdown,保证本地与远端内容一致。同时处理类似 @2x 被 GitHub 误识别为用户链接的文本,并为同步内容增加必要的链接约束或校验,避免本地 workspace 路径、临时任务文件及易失效链接进入 Issue 评论。

期望的行为 / Expected Behavior

N/A

重现步骤 / Steps to Reproduce

N/A

相关日志 / Relevant Logs

N/A

额外信息 / Additional Context

N/A

任务输入

来源

  • 用户当次请求:直接创建任务跟踪 Issue 评论链接问题。
  • 用户前序确认:本地与远端需要遵循完全一致的规则。
  • 用户当次确认:需要避免自动链接的文本使用反引号代码格式框起。
  • 前序链接审计及代码核对结果。

已确认事实与证据

  • 已核实:生命周期核心会在本地 task.md 中生成形如 [需求分析报告(Round 1)](analysis.md) 的相对链接。
  • 已核实:Issue 评论渲染会将 task.md 和产物正文原样嵌入评论,因此本地相对路径在 Issue 上会被解析为错误地址。
  • 已核实:基础 task.md 模板本身没有产物链接;链接由任务生命周期推进时追加,产物报告中也可能存在手写相对链接。
  • 已核实:GitHub 会把正文中的 @用户名 自动渲染为用户主页链接;例如“清晰度 @2x”被误识别成用户 2x
  • 前序审计确认普通格式的 Issue、PR 和 commit 链接整体正常,主要问题集中在本地或相对产物路径。

约束

  • 本地 Markdown 与远端 Issue 评论的业务正文必须保持一致,不能依赖同步阶段改写链接。
  • 只治理会同步到 Issue 的任务及产物 Markdown,不应删除 README 等正式项目文档中原本有效的相对链接。
  • 修改应覆盖自动生成链接和产物内容中的同类路径,避免修复后再次产生。

已确认决策

  • 用户已确认:同步范围内的本地产物文件引用改为反引号代码文本,而不是可点击链接。
  • 用户已确认:类似 @2x 的非用户提及使用反引号代码格式,避免 GitHub 自动生成用户链接。
  • 用户已确认:本地生成内容与远端发布内容使用同一套表示规则。

候选与否决方案

  • 已否决:在 Issue 同步阶段把本地链接转换成另一种远端格式;这会破坏本地与远端一致性。
  • Agent 建议候选:在同步前增加针对 workspace 路径、相对产物链接和意外 @mention 的校验,具体覆盖范围留待需求分析。
  • Agent 建议候选:确需长期可点击的仓库文件链接时使用固定 commit permalink;是否允许及适用范围留待需求分析。

验收标准

  • 生成任务生命周期产物引用后,本地 task.md 使用类似 需求分析报告(Round 1): 加代码格式文件名的非链接表示;同步到 Issue 后正文表示一致且文件名不可点击。
  • 同步范围内的产物报告引用本地 workspace 文件时,不产生指向 Issue 相对地址、/workspace//Users/ 或临时任务分支文件的错误链接。
  • 正文中的非用户语义 @2x 使用代码格式后,GitHub 不再将其渲染为用户主页链接。
  • 项目正式文档中原本有效的相对链接,以及已确认有效的 Issue、PR、commit 和外部链接不受影响。
  • 相关结构性测试和项目测试通过,并能阻止同类同步内容回归。

未决事项

  • 历史 Issue 评论中已经发布的错误链接是否需要批量回填修复,范围尚未由用户确认。
  • 真实但已失效的用户提及(账号改名、删除或不可访问)是否纳入本任务处理,尚未由用户确认。

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions