#3342·Archon

fix(web): 从构建器中保存工作流会销毁作者的评论和 YAML 锚定

作者: Wirasm创建于 2026年9月17日更新于 2026年9月17日
标签bugarea: workflowsarea: webarea: server

□ 问题

将已有的工作流程装入构建器,并将其保存在作者的文件上,并用从已解析的“WorkflowDefintition”中重建的文档来覆盖作者的文件。 定义所不携带的一切被销毁:注释,YAML锚地和别名,块平板,和行格式. 重写文件也是一行一行一行-"archon-review.yaml"在一行回回为4243个字符.

PUT/api/workflows/:名称Bun.YAML.stringify(定义)'为序列(packages/ server/src/routes/api.ts:4440'),并将结果写入现有的文件路径(`packages/ server/src/routes/api.ts:4462')。 两个建筑师都通过它保存:控制台建筑师( " 包装/网络/src/实验/控制台/建筑师/BuilderConnect.tsx:251 " )和遗留的建筑师( " 包装/网络/src/组件/工作流程/工作流程/工作流程Builder.tsx:301 " )。

为什么

YAML 主锚是工作流程作者唯一用于宣布一个输出-格式'计划并跨节点重新使用该计划的机制。 我们自己的交付包取决于这一点:.archon/workflows/sdlc/delivers/archon-delivers.yaml:75'定义了绿色'门,并在第293行、第368行和第482行中将其更名,而ci state'在第436行为408号别名。 建设者将每个别名无声地扩展成一个独立的拷贝,重新将锚所存在的漂移完全用于防止——作者没有得到任何迹象.

评论是被捆绑的包子如何解释它们的门和它们不明显的接线. 保存会剥去他们所有。 单行流程文档也使得文件在diff中无法被读取并敌视合并.

为什么现在:控制台是默认的UI,而"/builder/:name"是一条活路("packages/web/src/eximents/console/ConsoleApp.tsx:78"). 我们亦公开告诉用户, 锚是共享节点计划的支持方式,

□ 希望的结果

从两个构建器中保存一个已有的工作流程, 保存构建器未更改的文件部分 。 评论和主播在禁用保存后幸存下来,所保存的文件保持了块式并可以读取.

□ 验收

  • [ ]在建构器中打开.archon/workflows/sdlc/delivers/archon-delivers.yaml',但无需编辑,该文件上的git diff'是空的。
  • [ 在此保存文件之后,文件仍有一个"QQGreen gate"定义和三个"QQGreen gate"别名,而不是四个独立的副本.
  • 保存之前的注释在保存之后。
  • [ 保存的文件为块样式——没有单行流程文档.
  • [ 在一个节点上更改一个字段只更改文件的这个区域 。
  • [ ]一个没有评论的工作流程,没有主播仍然像今天那样保存.

□ 证据

  • 复制
  1. 运行服务器并打开 " 建设者/archon-交付者 " 项目,其工作流程包括Sdlc包。
  2. 保存而不做任何编辑。
  3. `git diff.archon/workflows/sdlc/delivers/archon-delivers.yaml'。

直接用保存路径的序列器(bun 1.4.2)测量:

$ bun -e ' const
. . . . . . .

内容来源: coleam00/Archon