Skip to content

[Workflow] 完善单编辑权 Authoring Interface 并通过合并门禁 #300

Description

@s1p21

上游决策

当前实现审计

本地迁移 lineage 已完成但尚未发布/验收:

  • 单工作区 OS Authority、每 Workflow 锁和多 Workflow 并存;
  • Workflow-scoped Authoring aggregate、Draft PUT 双 CAS、server-owned Candidate、单 candidate_hash Apply;
  • 纯 SQLite Apply、SSE invalidation、Draft 缺失/删除/移动等生命周期;
  • v1 Workflow JSON/value schema 核心模块及资源预算主体。

因为目前没有团队可访问的 branch/PR full SHA,上述项目不能标为本 Issue 的 Accepted 交付。

实施范围

  1. 先关闭 Workflow body budget 的剩余 Content-Type 绕过,合并完整 schema lineage。
  2. 将现有纯/测试编译 Adapter 接到生产级、Authority-scoped Template Catalog。
  3. 完成 v1 Workflow Python Annotation parser 与规范化输出。
  4. 完成无副作用 Python→Candidate compiler、Graph transform 与确定性 generate-python
  5. 让代码模式和画布模式都通过相同 Draft/Candidate/Apply Interface 收敛;OS 不持久化前端模式和 Canvas Draft。
  6. 保持 Apply 公共请求严格只有 candidate_hash;不接受客户端 Candidate 或历史三 token 请求。
  7. 不修改 Backend,不在本 Issue 中实施前端。

交付规则

  • 每个 round 使用新分支。
  • 每轮先由独立 test author 从公共接缝写 RED,再由实现者转绿。
  • 最终候选依次由至少三名独立 reviewer 评审。
  • 每轮运行目标测试、python -m pytest tests -q、Ruff 与 git diff --check
  • 每轮生成中文趋势报告,记录生产/测试文件数和增删行、blocking 变化与下一轮策略。
  • 前端待本 Interface 可合并后,在 Uni-Lab-OS/uni-lab-fe 独立分支实施。

验收

  • body budget 对所有有请求体的 Workflow route 生效,不依赖 Content-Type。
  • v1 Annotation/Schema、Catalog、compile、transform、generate-python 均通过公开 Interface 合同测试。
  • Draft/Candidate/Apply 的单 Authority 合同无回归。
  • 所有正式测试、静态门禁和三名独立 reviewer 通过。
  • 候选 branch/PR 和 full SHA 对团队可访问,可合并到目标分支。
  • 不包含 FE 或 Backend 修改。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions