Visualize version deliveries and task dependency branches
This commit is contained in:
@@ -61,6 +61,16 @@
|
||||
|
||||
## 任务三视图与详情
|
||||
|
||||
同一任务数据可切换展板、列表、分支,view参数保留选择。展板用于概要,列表便于比较当前进度、阶段、ETA与负责人,分支用于父子拆分、前置依赖和汇总集成关系;明确标注不是Git分支。关系没有登记时如实显示,不补假箭头。多依赖不等于全程串行或全程并行,详情说明可先做部分及等待同步点。
|
||||
同一任务数据可切换展板、列表、分支,view参数保留选择。展板用于概要,列表便于比较当前进度、阶段、ETA与负责人,分支以版本交付主线和任务支线展示前置依赖与已验收集成;明确标注不是Git提交历史。关系没有登记时如实显示,不补假箭头。多依赖不等于全程串行或全程并行,详情说明可先做部分及等待同步点。
|
||||
|
||||
点击任务打开详情,展示目标、范围、负责人/真实会话、当前进度、版本、前置条件、并行部分、同步点、验收条件和集成状态。URL view=board/list/branches、task=<id>可定位,关闭详情只移除task。空/单任务/已完成/多依赖保持一致,过期状态与ETA规则不因切换消失。任务关系与Git分支不混用。
|
||||
|
||||
## 交付主线与任务支线交互
|
||||
|
||||
分支视图采用Git Graph形态表达任务交付关系,不表示真实Git提交。主线由kind=delivery任务按有效created_at的登记顺序组成,标签使用name/version;旧无时间项稳定按ID并标“时间未登记/顺序未登记”,不以updated代替,不暗示版本因果;任务按delivery_id分支,无归属单独展示。节点仅显示已有真实关键里程碑,不根据进度编造历史。实际merged_into_id或merge_sources关系只有在目标为delivery且源、目标integration_status均verified时显示汇合;真实depends_on用虚线,图例明确区分归属、依赖与验收汇合。
|
||||
|
||||
默认包含全部未结束状态(包括waiting、blocked和验证/集成阶段)及递归必要前置;显式“显示全部”显示历史。交付容器可为布局保留,但不应借容器显示无关历史工作任务。无版本或无归属明确显示未归属,不猜测版本。
|
||||
|
||||
悬停节点高亮递归上游、下游及对应边,无关节点与边淡化但文字仍可读;mouseleave恢复。键盘focus提供等效交互,触屏通过选中节点提供同效高亮和明确的详情按钮;退出选择恢复。高亮不改变事实、筛选开关或自动切换全部。详情仍保留任务定位链接、目标、负责人、依赖、验收与集成状态。
|
||||
|
||||
复用固定token和既有组件,以纯SVG与HTML实现,不引入新依赖。遍历使用visited与迭代队列/栈防循环和长链调用栈溢出。真实浏览器验收默认/全部、hover/focus/触屏、详情及窄屏;纯逻辑测试覆盖长链、多依赖、无依赖、筛选和汇合验收门禁。
|
||||
|
||||
@@ -136,3 +136,13 @@ POST /api/tasks/<target>/integrate {source_ids,owner,status,version?,reason}事
|
||||
每个目标最多一条未处理通知;应用侧启用 `enforce_backpressure`,并配置 `max_inflight_per_target: 1`(当前实现允许1至3,本协作规则要求1)。accepted/submitting/observed且未processing_done的投递仍占名额,只有真实处理证据才能释放;发送确认本身不释放。后续通知留在持久outbox,同一关联事项合并,未知项先对账。仅限制单次发送批量不等于每目标背压;未启用或未验收时不得宣称已满足。
|
||||
|
||||
queue_health分别报告application_pending、inflight_by_target及已知完成情况。当前host_full_queue_count为null、host_queue_cancel_supported为false,表示没有完整宿主原生队列总数和取消能力;不代表原生队列为空。停止本机notifier、清应用待办或取消旧ETA记录都不能证明已进入宿主的输入已撤回。只能用受支持宿主接口核实取消结果,无法核实时保留未知并禁止盲重发,不访问内部数据库或抢writer锁。
|
||||
|
||||
## 版本交付归属契约
|
||||
|
||||
Task.kind取work或delivery,旧数据缺省work;delivery_id缺省null。工作任务可显式引用已存在的kind=delivery任务,禁止自指、不存在引用及引用普通工作任务。delivery任务自身不能设置delivery_id;已被工作任务引用的delivery不得降为work。创建和更新均校验,执行报告不能绕过归属或集成字段的保护。旧数据不根据version推断归属;正式迁移由集成负责人显式登记并保留原关系与验收证据。
|
||||
|
||||
created_at由服务端在新建任务时记录,拒绝客户端输入及更新/报告改写;旧记录缺失返回null,不补造历史时间。交付主线仅按有效created_at展示版本登记顺序,以name/version标识;同时间稳定按ID排序。旧无时间项按ID稳定展示并标“时间未登记/顺序未登记”,不得用updated代替创建时间,也不得将登记顺序解释为版本因果或Git历史。delivery_id仅表示归属,不证明已经合入;绘制汇合必须有merged_into_id或merge_sources真实关系,目标kind=delivery且源、目标integration_status均为verified。completed本身不满足门禁。depends_on仍是前置关系,parent_id仍是包含关系,不能拿这些字段替代集成验收。
|
||||
|
||||
本轮验收包括旧数据默认、创建和更新非法归属、被引用交付降级、报告字段保护;前端纯逻辑覆盖长链、多依赖、无依赖、筛选与汇合门禁。执行负责人以既有持久报告流程上报真实证据,收到落库回执后等待集成;集成负责人另做真实浏览器验证和发布,不能以执行完成代替正式验收。
|
||||
|
||||
执行会话可按人类已授权的项目协作范围,使用宿主支持的定向消息就共享接口与交接点相互协调;无需每次抄送副主控。唯一事项负责人把关键决定、版本、影响与交接回执落库;范围或归属冲突才交直属副主控。普通进度只更新状态,不制造互相唤醒链。副主控的判断可由推理模型结合明确规则承担,具体模型、费用与执行权限分别核实;用户仅询问模型能力不构成切换型号或购买服务的授权。
|
||||
|
||||
Reference in New Issue
Block a user