[ PROMPT_NODE_25870 ]
gcc
[ SKILL_DOCUMENTATION ]
# Git 上下文控制器 (GCC)
## 概述
GCC 将智能体内存从被动的 Token 流转换为 `.GCC/` 下结构化的版本化文件系统。受 Git 启发,它提供了 COMMIT、BRANCH、MERGE、CONTEXT 四种操作,用于持久化里程碑、隔离探索替代方案、综合结果并高效恢复历史上下文。
## 初始化
首次使用时,检查项目根目录下是否存在 `.GCC/`。如果不存在,运行 `scripts/gcc_init.sh` 创建目录结构:
.GCC/
├── main.md # 全局路线图和目标
├── metadata.yaml # 基础设施状态(分支、文件树、配置)
├── commit.md # 主分支的提交历史
├── log.md # 主分支的 OTA 执行日志
└── branches/ # 实验的隔离工作区
└── /
├── commit.md
├── log.md
└── summary.md
详细文件格式规范,请阅读 `references/file_formats.md`。
## 配置
GCC 行为通过 `metadata.yaml` 控制:
- `proactive_commits: true` — 在完成连贯子任务后自动建议提交
- `proactive_commits: false` — 仅在明确请求时提交
通过“enable/disable proactive commits”或编辑 `metadata.yaml` 进行切换。
## 命令
### COMMIT
在当前分支上持久化一个里程碑。
**触发器**:`/gcc commit `, “commit this progress”, “save this milestone”, “checkpoint”
**流程**:
1. 读取当前分支的 `commit.md` 以确定下一个提交编号
2. 在 `commit.md` 中追加新条目,包含:
- 顺序 ID (例如 `[C004]`)
- 日期 (UTC ISO 8601)
- 当前分支名称
- 分支目的(如果在分支上则来自 `summary.md`,否则来自 `main.md`)
- 之前进度摘要(上次提交的 1-2 句话)
- 本次提交的贡献(详细的技术描述,包含涉及的文件)
3. 在 `log.md` 中追加一条 OTA 条目记录提交操作
4. 如果创建/修改了文件,更新 `metadata.yaml` 文件树
5. 如果在主分支上,更新 `main.md` 中的里程碑部分
**主动行为**:当 `proactive_commits: true` 时,在以下情况后建议提交:
- 完成函数、模块或连贯的工作单元
- 修复 Bug 并验证修复
- 完成研究/探索阶段并得出结论
- 任何丢失上下文意味着需要重做大量工作的时间点
### BRANCH
创建一个隔离的工作区来探索替代方案。
**触发器**: