Skip to content

输出与工作区结构

业务根目录下的 workspace/ 同时保存设计、最终工作流、评估、增量历史和 UCAgent 状态。各目录用途不同,清理和版本管理策略也不同。

工作区结构

主要目录

路径 内容 是否可手工修改
input/ 本次构建输入快照 通常不在运行中修改
wfgen/ requirements、构建设计、示例 manifest、实现计划 由构建阶段写,控制台仅开放特定结构字段
Guide_Doc/ 母工作流公共阶段指导副本 不作为业务产物修改
workflow/ 最终生成的独立业务工作流 构建或受控增量部署修改
eval/ 分项评估、审批、增量和部署报告 通过结构化工具或控制台修改
res/ 用户专业知识和建议来源 用户维护
tmp/ 临时文件、评估案例、增量候选和历史版本 可按规则清理
.ucagent/ 当前 UCAgent 历史和运行状态 不应手工改写

wfgen 关键文件

  • requirements_manifest.yaml:规范化用户需求和交付物。
  • workflow_implementation_plan.md:跨阶段设计、工具、Checker、文档及“问题与处理”。
  • input_example_manifest.yaml:示例目标的文件映射和来源。
  • workflow_build.yaml:中心 workflow spec、文件、工具、Checker、GuideDoc 和环境设计。

后续阶段必须读取并更新计划的本阶段标记区,不能覆盖前面内容。中心设计变化应同步 manifest 和最终产物,不能只改某一个文件。

workflow 交付物

典型产物包含 config.yaml、config/inc.yaml、tools/、checkers/、Guide_Doc/、docs/、input/example/、setup.py、requirements.txt、ucagent_setup.sh 和 Makefile。

产物常见结构

生成工作流中的 output/ 是将来运行业务目标才产生的数据,不能在构建阶段用预制结果冒充实际运行。

eval 和 tmp

eval/ 保存需要长期阅读、审批和聚合的结构化记录。tmp/ 保存可再生过程数据,但 tmp/change_history/ 和当前有效的 tmp/inc_runs/ 在版本管理完成前不能随意删除。清理命令必须保留被历史索引引用的文件。

浏览器验证产生的 profile、lock 和缓存都只能位于 tmp/ui_validation/。退出浏览器时 lock 可能瞬间消失,清理器应容忍这种竞态,不应把警告误判为业务失败。

文件权限

UCAgent 历史可能暂时改变快照权限,Makefile 负责恢复工作区可写状态。正式增量部署不依赖原文件本身可写,而使用备份和原子替换。用户仍应避免在流程运行时用其他编辑器同时修改相同文件。

公开与内部文件

生成工作流的公开文件面向最终用户,包括 README、docs、config、Makefile、setup、requirements、工具和业务 Checker。.workflow/ 保存 spec、内部 Checker、测试和 acceptance;开发者可以检查,但不要求普通用户手工编辑。

reference_files 与 output_files 是阶段契约,必须列到具体文件。reference 在阶段开始前存在,output 由本阶段产生或更新。目录结构展示应放在文档或 manifest 中,不能用目录冒充文件引用。

关键 JSON 所有权

文件 写入者 用户动作
eval/*_report.json 评估结构化工具 阅读、审批 finding
eval/user_suggestions.json CLI/控制台 新建、撤回、删除
eval/approvals.json 审批 API 批准、拒绝、暂缓
eval/incremental_report.json 增量工作流 阅读修复状态
eval/applied_changes.json 部署器 阅读和版本操作

手工编辑可能破坏 revision、fingerprint 和审计。普通 clean 必须保留 input、eval、res、当前 inc run 和 change history。检查产物时还要解析 YAML/JSON、import Python 和运行 Make 目标;完整文件树不等于内容有效。