任务来源接入边界
- 文档状态
- draft
- 文档 Owner
- DOC
- 事实源
- canonical-docs
- 更新
- 2026/10/16
Tracker 把来源数据转换为 Symphony 可读取的任务,不创建第二套业务进度。调度、认领与重试的公共规则见核心执行循环和任务生命周期;本页只定义接入时要核对的差异。
通用字段与来源参数
| 内容 | 谁定义 | 接入时怎样处理 |
|---|---|---|
tracker.kind | 所采用实现的适配器注册表 | 选择确实存在的实现,不凭产品名称猜取值 |
tracker.provider | 所选来源适配器 | 保存该来源的 endpoint、项目范围、认证引用等;字段不可跨来源照搬 |
active_states / terminal_states | 项目与来源配置 | 使用来源实际状态名;终态、活跃与派发规则分别核对 |
required_labels | 公共路由配置 | 任务须具有所有配置标签;不是给凭据增加范围限制 |
| 目录、并发、Agent 与提示 | 核心和项目 WORKFLOW | 见配置与扩展边界,不重复为每个来源定义调度器 |
固定官方版本 be10a1b79df723d6d7612b5651c8522704dafb2e 的 Tracker按状态读取候选、按 ID 刷新任务,并可绑定原生 Agent 工具。它注册 Linear、GitHub Issues、Jira Cloud、Asana、GitLab 以及内存适配器;内存适配器不表示已连接一个外部业务系统。Plane 属于团队扩展。
任务身份不是一个通用编号
接入说明至少保留原生 id、可读 identifier、来源 URL、项目或仓库范围及该适配器提供的 native_ref。例如 GitHub issue number 与 GitLab IID 都只在各自仓库或项目中有意义,不能仅凭 GH-1 或 GL-1 把不同范围的任务视为同一个对象。
归一化模型还包括标题、描述、状态、优先级、时间、标签、负责人、依赖和 dispatchable。某来源没有提供的字段不能从其他产品补造。模型见 Tracker.Issue。
读取、工具与写回分开
调度器依赖读接口。原生工具的可用操作由适配器与宿主凭据决定;读取时的 project / repo scope 不自动限制所有原生工具调用。固定官方实现将一次 app-server 会话绑定到所选 adapter 和有效 tracker 设置,避免重载后同一会话的工具身份漂移。
认证值留在现有宿主认证机制,文档与 WORKFLOW 只使用变量引用。剥离已声明 token 环境变量不等于完整的进程或操作系统隔离。新增来源、扩大项目范围或工具权限需要对应实现与授权,不能通过任务描述自行启用。
什么才算接入完成
- 固定采用的源码 revision,并核对其适配器和 provider schema。
- 核对实例真正采用的配置、来源范围、认证、状态与路由条件。
- 在已有授权范围内确认任务能被读取、派发、观察,并核对预期产物。
- 依项目合同核对反馈、停止、失败恢复及适用写回;保留精确来源与执行证据。
只有源码或配置示例时,结论停留在“该版本有实现 / 配置已准备”。本站不实时读取实例;真实运行仍向 owning 服务核对。本文未创建凭据或运行任务。
选择具体来源:Linear · Plane 团队接入 · 其他官方适配器。