| name | rfc-process |
| description | memex 专属 RFC 处理命令。一次调用只处理一个 issue:ADM1 评审 → ADM2 实施 → ADM3 review,并写入 logs/rfc/ 日志。无参数时自动选最旧的 open RFC issue;带参数时处理指定 issue 编号。非 RFC issue 自动跳过。 |
| argument-hint | ["issue-number"] |
| allowed-tools | ["Read","Edit","Write","Bash","WebFetch"] |
/rfc-process — RFC 处理(memex 专属)
铁律:仅限 memex 执行
第一步必须验证工作目录:
git remote get-url origin 2>/dev/null
若输出不含 baojie/memex,立即停止并报错:
/adm 只能在 memex 主仓库中执行(当前不是 baojie/memex)。
不在 memex 时绝不继续任何后续步骤。
参数解析
- 无参数:从 GitHub 列出所有 open issue,选标题含
RFC- 的最旧一条(最小编号)
/adm <N>:处理 issue #N
gh issue list --repo baojie/memex --state open --json number,title,createdAt \
| python3 -c "
import json, sys
issues = json.load(sys.stdin)
rfc = [i for i in issues if 'RFC-' in i['title']]
if not rfc:
print('NO_RFC')
else:
rfc.sort(key=lambda x: x['number'])
print(rfc[0]['number'])
"
若结果为 NO_RFC,输出"当前无待处理 RFC issue",正常结束。
跳过条件
对指定 issue(有参数时),检查标题是否含 RFC-:
gh issue view <N> --repo baojie/memex --json title -q .title
若标题不含 RFC-,输出:
Issue #N 标题不含 RFC-,跳过。
正常结束,不报错。
执行流程:一个 issue 的完整处理
Step 0 — 读取 issue 信息
gh issue view <N> --repo baojie/memex
提取:
- RFC ID(从标题解析,如
RFC-aima-0003)
- 来源 wiki(RFC ID 中的
<wiki> 部分)
- RFC 文件路径(从 issue 正文中找
ref/rfc/rfc-<wiki>-NNNN-slug.md)
在对应 wiki 目录中读取 RFC 文件完整内容(路径如 ~/work/knowledge/<wiki>/ref/rfc/rfc-<wiki>-NNNN-slug.md)。
若 RFC 文件的 Status 不是 proposed,输出当前状态后结束:
RFC-<wiki>-NNNN 当前状态为 <status>,跳过。
Step 1 — ADM1:评审
按 skills/gene/ADM1-rfc-evaluate.md 执行:
- 读取 RFC 的 Problem / Root cause / Proposed change / Alternatives
- 对五维(P/R/S/I/X)各打 0-2 分,输出得分和理由
- 按总分做出决策(accept / accept-modified / defer / reject)
- 更新 RFC 文件的
Status 字段
- 在 GitHub issue 留评审评论
写日志(logs/rfc/RFC-<wiki>-NNNN.md):
- 若文件不存在,先写文件头(RFC ID、标题、来源 wiki、创建日期)
- 追加
## ADM1 评审(YYYY-MM-DD) 节,格式见 ref/spec/workflow-rfc-cycle.md
决策分支:
reject / defer → 关闭 issue,流程结束(不进入 ADM2)
accept / accept-modified → 继续 Step 2
Step 2 — ADM2:实施
按 skills/gene/ADM2-rfc-implement.md 执行:
- 从 RFC Proposed change 建立实施清单
- 逐项检查:是否已存在 / 是否在范围内 / accept-modified 的调整方向
- 按 memex 规范落地(脚本、基因文件、BIRTH.spec.md、ref/spec/ 等)
- 每项完成后语法验证(Python 脚本
python3 -m py_compile)
- commit 前调用 ADM3 pre-commit review,不通过则补做,直到 faithful
- Git commit
写日志:追加 ## ADM2 实施(YYYY-MM-DD) 节
Step 3 — ADM3:Review + 关闭
按 skills/gene/ADM3-rfc-review.md post-commit 模式执行:
- 对照 RFC Proposed change 逐项 review commit 内容
- 输出 faithful / partial / diverged
- 在 GitHub issue 留 review 评论(含 commit 链接)
- 更新 RFC 文件追加
## Implementation 节
- 更新 RFC Status →
implemented(faithful)/ partial-implemented(partial)
- faithful / 次要 partial → 关闭 issue
写日志:追加 ## ADM3 Review(YYYY-MM-DD) 节
完成输出
处理完毕后,输出一行摘要:
✓ RFC-<wiki>-NNNN 决策:<accept|defer|reject> 实施:<faithful|partial|N/A> issue:#N <closed|open>
日志: logs/rfc/RFC-<wiki>-NNNN.md
参考文档
| 文档 | 用途 |
|---|
skills/gene/ADM1-rfc-evaluate.md | 评审规则与评分表 |
skills/gene/ADM2-rfc-implement.md | 实施规范 |
skills/gene/ADM3-rfc-review.md | Review 格式与关闭规则 |
ref/spec/workflow-rfc-cycle.md | 日志格式 |
logs/rfc/ | 日志存放目录 |