核心变更: - _common.sh: setup_worktree 改为 session-unique detached worktree (origin/main) - 所有 Agent 文档移除 git checkout main / git pull origin main - Feature branch 统一从 origin/main 创建: git fetch origin && git checkout -b <branch> origin/main - CLAUDE.md: 新增工作区隔离章节, primary worktree 定义为只读参考区 - 新增 start_generic.sh: Generic session worktree 隔离启动器 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -16,13 +16,21 @@
|
||||
- Agent 身份通过各自环境变量设置(Dev: `pzhang_dev_agent_01`,QE: `pzhang_qe_agent_01`)
|
||||
- **所有 Gitea API 操作必须通过 `python scripts/agent_poller.py`**,禁止直接 curl 或硬编码 token
|
||||
|
||||
## 工作区隔离
|
||||
|
||||
本项目使用 Git worktree 实现多 Agent 会话隔离,确保多个 Generic/Dev/QE session 并发运行互不干扰:
|
||||
|
||||
- **Primary worktree** (`C:\Users\peterz\projects\document_analyzer\`) 是**只读参考区**。仅用于代码阅读、git log 查询、文档查阅、启动脚本。**不在此目录做任何开发提交**。
|
||||
- **Generic session 开发**:使用 `bash scripts/start_generic.sh` 启动,自动在 `~/.gitea/worktrees/pzhangzywl/<timestamp>/` 创建隔离工作区。
|
||||
- **Agent sessions**:由 `start_dev_agent.sh` / `start_qe_agent.sh` 自动在 `~/.gitea/worktrees/<user>/<timestamp>/` 创建隔离工作区。
|
||||
- 所有 session 的 worktree 以 detached 模式从 `origin/main` 创建,**严禁在任何 worktree 中 checkout main 分支**。
|
||||
- Feature branch 直接从 `origin/main` 创建:`git fetch origin && git checkout -b <branch> origin/main`
|
||||
|
||||
## 代码同步
|
||||
|
||||
Dev-Agent 和 QE-Agent 持续向 main 提交代码,本地可能落后。Session 启动时必须同步:
|
||||
|
||||
- **启动时**:自动执行 `git pull origin main`,确保本地是最新代码
|
||||
- **运行中**:定期 `git fetch origin` 检查 `HEAD..origin/main`,有新提交则 pull
|
||||
- **有冲突时**:暂停并报告,不自动解决(人工介入)
|
||||
- Primary worktree:`git fetch origin` 即可(只读,不 pull)。
|
||||
- 隔离 worktree:启动脚本自动从最新 `origin/main` 创建,始终是最新代码。
|
||||
- Session 运行中需要同步时:`git fetch origin`,新分支从最新 `origin/main` 创建。
|
||||
|
||||
## 上下文管理
|
||||
|
||||
|
||||
Reference in New Issue
Block a user