feat(decision): 建立 Jev 离线评测与置信度阈值校准工具
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 30/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- rust
- Domain
- ai, cli, testing-qa, tooling
Research direction
No repository files, tests, or existing entry points are named in the issue. Start by locating the gf decide command implementation and current Jev integration boundaries, then trace how CLI commands and tests are organized. Done means versioned fixtures, offline evaluation, calibration, comparison, safety checks, and reusable support for #382–#387 are implemented and tested.
Written by the indexing model from the issue text.
Description
Context
Parent: #382
Jevable 的 Jevals 为 Noul、Choice、Score 及混合请求提供本地测试工作台;Jevcal 则从标注数据反推满足目标准确率的置信度阈值和可自动处理覆盖率。
#382 已要求为不同问题独立校准阈值,但当前缺少统一 fixture 格式、离线 runner、版本对比和阈值选择工具。若各集成分别“凭感觉”选择 0.8/0.9 等阈值,结果将不可复现,也无法安全升级模型。
Goal
为 gf 建立 provider-independent 的离线决策评测与置信度校准能力,支持 Noul、Choice、Score 和混合问题,供 #382–#387 及后续 Jev 集成复用。
建议命令形态:
gf decide eval --fixtures <path> --responses <path>
gf decide calibrate --target-accuracy 0.99 --question <name>
gf decide compare --baseline <report> --candidate <report>
Design
- 定义版本化 fixture schema,区分输入状态、问题定义、期望标签、语言、风险级别和数据来源。
- 默认以已保存的响应或 fake engine 离线运行;live provider 评测必须显式启用。
- 每个 question 独立输出 accuracy、accepted accuracy、coverage/abstention、confusion matrix、false-positive/false-negative、延迟和成本。
- 阈值选择必须报告样本量与置信区间,样本不足时拒绝给出“可自动化”结论。
- 报告记录 provider、实际模型版本、question schema hash 和 fixture version,避免
jev-latest漂移导致不可比较。 - fixture 必须脱敏,不得收录 token、私有 URL、真实密钥或未经批准的私有仓库内容。
Failure and Safety
- live 调用缺少 Key、超时或部分失败时报告 incomplete,不得把缺失样本当成错误或正确答案。
- 校准结果只生成建议配置,不自动修改生产阈值。
- 评测退化默认只报告;是否阻断 CI 由各调用方明确配置,不能全局硬编码。
Acceptance Criteria
- 定义并校验版本化 fixture、response 和 report schema
- Noul、Choice、Score 及混合问题均可离线评测
- 支持按 question、语言和风险级别分别统计指标
-
calibrate能根据目标 accepted accuracy 输出阈值、覆盖率、样本量和置信区间 -
compare能识别模型、问题定义或 fixture 变化造成的指标回归 - 报告记录实际模型版本、schema hash、数据版本、延迟和成本
- 样本不足、响应缺失和 live 调用失败均有明确状态,不产生误导性阈值
- 默认测试完全离线;live Jev 测试必须显式启用且无 Key 时安全跳过
- fixture 脱敏检查能阻止明显 credential 和私有 URL 入库
- #382–#387 可共享该工具,不需要各自实现评测 runner
Non-goals
- 提供通用模型训练平台
- 自动把评测阈值发布到生产环境
- 用单一全局阈值覆盖所有问题
- Dominant language
- Rust
- Stars
- 2
- Forks
- 2
- Avg merge
- 11m
- Merged PRs (30d)
- 50
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from byx-darwin/gitflow-cli
-
good first issue priority:low triage:done type:enhancement upstream-drift
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
byx-darwin/gitflow-cli#240 · 25 comments ·
-
priority:low triage:done type:feature
Difficulty 5/5 Over a week Newbie friendliness 25/100
byx-darwin/gitflow-cli#392 ·
-
priority:low triage:done type:feature
Difficulty 5/5 Over a week Newbie friendliness 25/100
byx-darwin/gitflow-cli#388 ·
-
priority:low triage:done type:feature
Difficulty 5/5 Over a week Newbie friendliness 30/100
byx-darwin/gitflow-cli#389 ·
-
priority:low triage:done type:feature
Difficulty 5/5 Over a week Newbie friendliness 30/100
byx-darwin/gitflow-cli#390 ·
All issues in byx-darwin/gitflow-cli
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
gitbutlerapp/gitbutler#15998 · 1 comment ·
-
bug triage:deciding
Difficulty 1/5 Under an hour Newbie friendliness 88/100
open-telemetry/otel-arrow#4132 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100