Make the stacked-branch exception explicit in AGENTS.md
Why: worktree feature branches occasionally spawned child branches (e.g. backend feature/cross-session-reading-1-gcb7f79d) outside the task-start gate; collaboration.md conditionally allows stacked branches but the Dev entry never said so, leaving stacking as an automation blind spot with ad-hoc sha-embedded names. Evidence: collaboration.md common-baseline section states the stacking exception verbatim; historical numbered branches are all already merged into main (origin/main..branch empty); precheck READY at R0=7d45719869. Impact: AGENTS.md only. Default stays single-level branches from origin/main with sibling branches for batch subtasks; stacking requires recording the parent task/PR in the card, child naming without embedded SHAs, parent-before-child merge order, and a sync back onto latest main with PR base retargeted before merge (branch protection enforces this). Refs: task card feature-branch-hierarchy-clause
This commit is contained in:
@@ -6,11 +6,12 @@
|
||||
|
||||
- 权威仓:ssh://git@git-ssh.u1680832.nyat.app:31411/weichen/Agent-System-Dev.git;目标分支:main;R0(initial_base_sha)= 7d45719869cfeee203ca3e1e8d6c7f6a468faf2e
|
||||
- 工作区:/home/weichen/projects/Agent-System-Dev-wt-feature-branch-hierarchy-clause(worktree);分支:feature/branch-hierarchy-clause
|
||||
- 授权与交付终点:<本次允许的动作与终点;未授权事项写明>
|
||||
- 授权与交付终点:用户 2026-09-30 认可分支层级研究结论后授权落地——把"默认从 origin/main 切分支、堆叠分支有条件许可"写成 Dev 仓入口可见条款(collaboration.md 已有上位依据,本任务只做入口显式化)。终点:PR 合入 main。未授权:改 task.sh 自动化逻辑、改兄弟仓与 Development-Guidelines、分支保护变更。
|
||||
|
||||
## 目标与非目标
|
||||
|
||||
<预期结果、受影响入口/模块/契约;明确不做什么。>
|
||||
- 目标:AGENTS.md 任务门禁节新增一条「分支层级」:① 任务分支一律从权威 origin/main 切(task-start 已强制),同批互不依赖子任务用同 R0 兄弟分支;② 确有顺序依赖时允许从父 feature 分支切子分支(collaboration.md「确有堆叠分支依赖时显式记录父任务……」条款的入口显式化),须满足:任务卡记录父任务与父 PR、子分支命名 `<type>/<父slug>-<子题>` 且不嵌 SHA、合入顺序固定父→子、父合入后子分支 task-sync 并入最新 main 并把 PR base 改回 main 方可声明可合入。
|
||||
- 非目标:不改 task.sh/precheck 行为(自动化仍只认 origin/main);不追溯清理历史编号子分支(均已合入);不动兄弟仓 AGENTS.md(分支纪律由 collaboration.md 上位条款覆盖)。
|
||||
|
||||
## 同步记录
|
||||
|
||||
@@ -20,6 +21,6 @@
|
||||
|
||||
## 结果与验证(完成后填写)
|
||||
|
||||
- 结果:
|
||||
- 验证:
|
||||
- 影响与剩余项:
|
||||
- 结果:AGENTS.md 任务门禁节新增「分支层级」一条(位于 task-start 条目后):默认 origin/main 单层分支 + 兄弟分支批次模式;堆叠子分支四项条件(记录父任务/父 PR、命名不嵌 SHA、父→子合入次序、父合入后 sync 并改回 base)。
|
||||
- 验证:纯文档变更,验证为差异审阅 + 门禁输出——precheck READY(R0=7d45719869)、task-sync 通过(见同步记录行);无代码路径与自动化行为变更,无需 make test(PROJECT.md 验证节针对构建/测试组合,本次不触及)。
|
||||
- 影响与剩余项:后续堆叠场景按四项条件执行;自动化对堆叠分支仍不可见(已知边界,写进条款文案)。剩余:无。
|
||||
|
||||
@@ -9,6 +9,11 @@
|
||||
`SHARED_WORKSPACE_BUSY / SYNC_REQUIRED` 时不得编辑。
|
||||
- 按其必读清单完成阅读,然后 `make task-start NAME=feature/<slug>` 建立独立 worktree +
|
||||
feature 分支(自动记录 R0 与任务卡);任务中途不重复运行 precheck。
|
||||
- **分支层级**:任务分支一律从权威 `origin/main` 切(`task-start` 已强制);同批互不依赖的
|
||||
子任务用同一 R0 的兄弟分支。确有顺序依赖需从父 feature 分支切子分支时(collaboration.md
|
||||
允许的堆叠例外):任务卡显式记录父任务与父 PR;子分支命名 `<type>/<父slug>-<子题>`,
|
||||
不嵌 SHA;合入顺序固定父→子;父合入后子分支须 `make task-sync` 并入最新 main 并把 PR
|
||||
base 改回 main,方可声明可合入(分支保护要求 head 含 origin/main,未同步必被拦)。
|
||||
- **验收、请求审核、合入前**各运行一次 `make task-sync`;完成声明附 precheck、task-sync、
|
||||
测试三段输出。
|
||||
- 合入后**在 worktree 内**运行 `make task-finish` 回收 worktree 与分支(脚本会把
|
||||
|
||||
Reference in New Issue
Block a user