trellis2-official-task-contract 采用官方 Trellis 执行合同

这个提交包含在:
2026-05-26 10:08:06 +08:00
父节点 e7baa6c234
当前提交 1b5c7527b7
共修改 24 个文件,包含 361 行新增和 161 行删除
+18 -16
查看文件
@@ -16,19 +16,19 @@
## 本项目采用的原则
### 0. TRELLIS1 后以 Trellis 为主流程
### 0. TRELLIS2 后以官方 Trellis task 为执行合同
TRELLIS1 起,hyb-oa 的后续非微小开发默认从 `.trellis/tasks/` 进入,由 `.trellis/workflow.md` 组织计划、实施、检查和复盘。
TRELLIS2 起,hyb-oa 的后续非微小开发默认从 `.trellis/tasks/` 进入,由 task 目录本身承载需求、计划、实施、检查和复盘。
Trellis 的定位是“开发流程和上下文组织层”,不是业务事实源替代品:
Trellis 的定位是“开发执行合同和上下文组织层”,不是业务事实源替代品:
- Trellis task:承载本轮需求 PRD、上下文和复盘。
- Trellis task:承载本轮需求 PRD、范围边界、验收、测试计划、上下文和复盘。
- Trellis spec:沉淀稳定开发规则和高频工程边界。
- Issue CSV:仍是执行合同、验收、状态和回滚审计台账。
- Issue CSV:保留为历史审计材料或特殊外部交付导出格式,不再作为新任务默认前置合同。
- `docs/`:仍是业务事实源、产品规则、操作手册和证据入口。
- `AGENTS.md`:只保留 Trellis-first 入口和不可违反硬约束。
每个 Trellis task 必须绑定 Issue CSV 和 Issue ID;`.trellis/workspace/` 默认作为本地个人日志,不提交。提交前必须运行 `node scripts/qa/check-trellis-governance.mjs`。
每个非微小 Trellis task 必须有 `prd.md`;复杂流程、API、迁移、权限、部署或治理变更补 `design.md` 或 `implement.md`;`.trellis/workspace/` 默认作为本地个人日志,不提交。提交前必须运行 `node scripts/qa/check-trellis-governance.mjs`。
### 1. 先简单、后编排
@@ -36,15 +36,17 @@ Trellis 的定位是“开发流程和上下文组织层”,不是业务事实
不为了“多 agent”而多 agent。复杂编排的收益必须超过上下文丢失、沟通成本和合并风险。
### 2. Issue CSV 是执行合同
### 2. Trellis task 是执行合同
所有非微小改动先进入 `issues/*.csv`,再实施。Issue 必须写清:
所有非微小改动先进入 `.trellis/tasks/<task>/`,再实施。task 必须写清:
- 业务流程级影响,不只写文件路径。
- 验收标准,不只写“完成开发”。
- 可执行验证命令或可复现手工步骤。
- 数据迁移、权限、状态机、审批规则的回滚策略。
历史 `issues/*.csv` 不删除、不批量回写;需要表格化审计时,可以从 Trellis task 摘要导出,而不是重新维护一套并行合同。
### 3. Skill 只沉淀操作流程
Skill 用于减少重复沟通和降低遗漏风险,适合沉淀:
@@ -124,7 +126,7 @@ DG9 之后,页面任务必须先按 `docs/产品设计规则.md` 的 A/B/C 页
- 当前事实源、操作手册和用户可读文档默认使用中文文件名;技术生态或脚本强引用的英文名可以保留,但必须在索引中说明。
- 已确认不用的历史文档从当前树物理删除,不放 `docs/archive/`;需要时通过 git 历史恢复。
- 不回写旧 Issue CSV 快照;旧 Issue 中的历史路径保留审计语义。
- 历史矩阵、旧 runbook 或旧 trialrun 记录若与最新 Issue CSV、当前 PRD 或模块规约冲突,以最新 Issue CSV 和当前模块规约为准。
- 历史矩阵、旧 runbook 或旧 trialrun 记录若与当前 Trellis task、当前 PRD 或模块规约冲突,以当前 Trellis task 和当前模块规约为准。
- R7/OPS7/DOC7 草案不代表真实 R7 已启动;MIF7/MIF7T 已收口,后续移动体验问题应进入新的 UX8 或专项 Issue。
### 7. 提交要小批次、中文、可回滚
@@ -136,7 +138,7 @@ DG9 之后,页面任务必须先按 `docs/产品设计规则.md` 的 A/B/C 页
- 前端体验。
- 测试和视觉验证。
commit message 使用中文并引用 Issue ID,例如 `R121/A1-A3 沉淀交付事实源`。
commit message 使用中文并引用 Trellis task 名称或任务 ID,例如 `trellis2-official-task-contract 采用官方 Trellis 执行合同`。
### 8. 自然语言派工是默认入口
@@ -145,9 +147,9 @@ commit message 使用中文并引用 Issue ID,例如 `R121/A1-A3 沉淀交付
- 意图:缺陷、需求、验收反馈、计划、审查、测试、部署、设计或产品流程优化。
- 对象:页面、接口、业务流程、数据、部署环境、文档或自动化。
- 约束:是否要求先规划、是否已授权实施、是否涉及公网、企业微信、真实账号或真实数据。
- 下一步:核查、建 Issue CSV、给方案等确认、实施、验证、提交、部署。
- 下一步:核查、建 Trellis task、给方案等确认、实施、验证、提交、部署。
当用户说“确认”时,默认表示批准上一条明确方案或 Issue CSV 进入下一阶段。若上下文中存在多个候选方案,agent 才需要反问确认对象。
当用户说“确认”时,默认表示批准上一条明确方案或 Trellis task 进入下一阶段。若上下文中存在多个候选方案,agent 才需要反问确认对象。
### 9. 少反问,先查已有资产
@@ -164,7 +166,7 @@ agent 在声明 blocker 前,必须先查项目内已有资产:
以下情况必须暂停确认:
- 非微小代码改动还没有方案批准,或没有 Issue CSV 执行合同。
- 非微小代码改动还没有方案批准,或没有 Trellis task 执行合同。
- 需要删除或重置数据、处理迁移漂移、修改生产配置、重启远程服务。
- 需要使用、重置或暴露真实账号密码、密钥、令牌、客户数据。
- 用户目标互相冲突,且无法通过现有文档和代码推断优先级。
@@ -176,7 +178,7 @@ agent 在声明 blocker 前,必须先查项目内已有资产:
同一个 agent 可以按任务临时切换工作视角,但输出必须落到可审计交付物:
- 产品经理:把一段话拆成业务流程、优先级、Issue CSV、验收标准和下一步建议。
- 产品经理:把一段话拆成业务流程、优先级、Trellis task、验收标准和下一步建议。
- 需求分析:补齐边界条件、角色权限、异常状态、国内同类系统常见处理方式。
- 开发:按 Issue 实施后端、前端、脚本或文档变更,并执行对应验证。
- 审查:默认先报风险、行为回归、权限泄漏、状态机问题和漏测项。
@@ -204,7 +206,7 @@ agent 在声明 blocker 前,必须先查项目内已有资产:
适合自动化或半自动化固化的任务:
- 每轮 Issue CSV 校验、状态回填检查和未完成项扫描。
- 每轮 Trellis task 合同校验、上下文检查和未完成项扫描。
- 后端 syntax、Prisma validate、核心回归脚本。
- 前端 typecheck、build、关键页面 Playwright 和视觉截图。
- 公网 `/ready`、企业微信配置、资源版本、核心文案和 live smoke。
@@ -217,7 +219,7 @@ agent 在声明 blocker 前,必须先查项目内已有资产:
开发类任务完成时,agent 必须说明:
- 改了什么,关联哪些 Issue ID。
- 改了什么,关联哪个 Trellis task。
- 验证了什么,哪些命令或路径通过。
- 是否提交 commit,commit hash 是什么。
- 面向用户可测试的改动是否已经部署;未部署时不能说“可以去企业微信测试”。