@adlc/ 模式- ratchet
计划重新起诉热路—— ADLC C12 数据。 。 。 .
每个前沿模型的发布都是对现有代码库的自由再审计:新
模特儿找到旧的错过的东西. model-ratchet 识别最有价值的
用于重审的文件(高churn ×高临界度),然后打印 a
起诉计划或驱动您的复审命令, 附加已核实
调查结果 .adlc/findings 分类账.
运行每个模式发布( 或每月) 以调整代码库质量 单向上支付预定工作的费用.
当运行于 git 寄存器的任何子目录, 候选文件, churn 度量, 以及结果分类账相对于寄存器根解析 。 相对文件路径被正常化为跨平台前斜线分隔器,确保了churn度量衡,导入图分析,以及Windows上候选文件之间的一致匹配.
ADLC 阶段
C12 / D1–D3 维护鼠标. 与 :
- C8审查校正 ——先校正新模型的回想,再瞄准热道.
- C9 经验教训 ——经核实的发现成为入手的教训.
安装
npm install -g @adlc/model-ratchet # or use npx
使用量
model-ratchet [--top <n>] [--review-cmd <cmd>] [--timeout-ms <n>] [--churn-limit <n>] [--dry-run] [--allow-empty] [--json]
旗帜
| 旗帜 | 默认 | 说明 |
|---|---|---|
--top <n> | 10 | 要选择的热点文件数量 |
--review-cmd <cmd> | —— 说 | Shell 命令每个文件运行 。 使用 {file} 作为占位符. |
--timeout-ms <n> | 600000 | 杀一个检视器 <n> ms;它算作该文件的操作错误,其余文件仍在审查中 |
--churn-limit <n> | 1000 | 提交历史深度用于计算 |
--dry-run | false | 仅打印起诉计划;不运行复议程序 |
--allow-empty | false | 选择零候选人文件时允许审查模式退出 0 |
--json | false | 可读 JSON 输出 |
--help | —— 说 | 显示帮助 |
热分数公式
SCORE = churn(limit)[file] × (1 + inDegree)
- churn( 限制) [文件] - 接触文件的明显承诺数目
最后一个
--churn-limit(通过)git log) (中文(简体) ). - 数据 ——repo源文件数量(
.mjs/.js/.ts/.tsx/.py/.cjs/.mts/.cts/.jsx移动 跳过node_modules/, (中文(简体) ),.git/, (中文(简体) ),dist/谁import编号 :require编号 :from此文件的规格解析( 相对分辨率, 尝试扩展) .
测试/规格文件( E).test.*, (中文(简体) ), .spec.*, (中文(简体) ), test/, (中文(简体) ), __tests__/)和非来源
文档(.md, (中文(简体) ), .json,锁定文件)不包括在两个候选集中
和导入图.
默认模式( 无) --review-cmd,或与 --dry-run(中文(简体) )
印制起诉计划表和每份文件建议的包机:
model-ratchet — Prosecution Plan
====================================================================
FILE CHURN IN-DEGREE SCORE
-------------------------- ----- --------- -----
src/auth.mjs 42 3 168
src/db/query.mjs 31 5 186
src/utils.mjs 25 1 50
Suggested charter lines:
Refute correctness of src/auth.mjs — hotspot: changed 42 times, imported by 3 files
...
审查模式--review-cmd(中文(简体) )
运行每个选定文件的命令 {file} 替换 捕获
stdout和剖析结果 :
- 匹配线条
/\S+:\d+/(例如:.src/foo.js:42: missing null check(中文(简体) ) - 以
-(桶项目)
每项调查结果均附于 .adlc/findings.jsonl数字 :
{
"ts": "2026-01-01T00:00:00.000Z",
"tool": "model-ratchet",
"file": "src/auth.mjs",
"line": 42,
"category": "ratchet",
"severity": "unknown",
"desc": "src/auth.mjs:42: missing null check"
}
退出代码 2 从 review-cmd 以“存在的调查”(不是错误)处理.
0 或 2 以外的退出代码 --timeout-ms,或跑被杀死
信号导致操作错误(工具出入口1);其余文件仍在审查中.
退出代码
| 代码 | 含义 |
|---|---|
0 | 成功——完成计划印刷或审查 |
1 | 操作错误——不是git repo,坏 --review-cmd 退出代码, 复检- cmd 超时, 错误的参数 |
2 | 门失败——以零候选人文件选择的审查模式 --allow-empty 未设置 |
实例
# Print prosecution plan for top 10 hot files
model-ratchet
# Top 5 files, last 500 commits
model-ratchet --top 5 --churn-limit 500
# Dry-run plan even if review-cmd is provided
model-ratchet --top 10 --review-cmd "adversarial-review {file}" --dry-run
# Run adversarial review and append findings
model-ratchet --review-cmd "adversarial-review --file {file}"
# Machine-readable output for orchestrators
model-ratchet --top 5 --json
# Run a custom linter as the reviewer
model-ratchet --review-cmd "eslint {file} --format compact"
Cron 和 CI 实例
GitHub 动作——在每个模型发布时
# .github/workflows/model-ratchet.yml
name: model-ratchet
on:
# Manually trigger when a new model is released
workflow_dispatch:
# Or run monthly
schedule:
- cron: '0 9 1 * *'
jobs:
ratchet:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # needed for full churn history
- uses: actions/setup-node@v4
with:
node-version: '20'
- name: Run model-ratchet
run: |
npx @adlc/model-ratchet \
--top 10 \
--review-cmd "npx @adlc/adversarial-review --file {file}" \
--json > ratchet-results.json
- uses: actions/upload-artifact@v4
with:
name: ratchet-findings
path: .adlc/findings.jsonl
克龙(壳)
# Run on every model release — add to crontab or a release script
# crontab entry: run on the 1st of every month at 09:00
# 0 9 1 * * cd /path/to/repo && model-ratchet --top 10 --review-cmd "adversarial-review {file}" --json >> .adlc/ratchet-runs.log 2>&1
# Or run manually after a model upgrade:
model-ratchet --top 20 --review-cmd "adversarial-review --file {file}" --json
CI 闸门( 仅计划, 不需要 API 密钥)
- name: Print hot paths prosecution plan
run: npx @adlc/model-ratchet --top 10 --json
核心差距
无。 用途 churn(), (中文(简体) ), isGitRepo(), (中文(简体) ), appendEntry(), (中文(简体) ), parseArgs(), (中文(简体) ), opError(), (中文(简体) ),
pass(), (中文(简体) ), printJson() 从 @adlc/core。所有热分数逻辑,导入图
和寻找解析生活 lib/。 。 。 .
与兄弟姐妹工具的关系
- 对抗性审查 - 自然选择
--review-cmd· ;model-ratchet瞄准最高值的文件. - 审查-校准(C8) ——先校正后再转.
- 经验教训(C9) - 消费
.adlc/findings分类账条目model-ratchet附录. - 显示门(C11) ——鼠标跑的发现出现在共享的 显示跟踪结果的分类账.