feat(workflow): 使用 Jev 补充工作流模式与执行策略推荐

Open
#383 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Active
Tech stack
rust
Domain
cli, tooling

Research direction

Start with parent issue #382 and the existing gf-workflow mode detection and phase-contract validation described here. Map how Choice, Score, and Noul recommendations would coexist with deterministic results, then define tests for fallback, conflicts, safety gates, and prompt injection. Done means optional recommendations are explainable, cannot bypass existing checks, and the listed evaluation and documentation criteria are covered.

Written by the indexing model from the issue text.

Description

priority:low triage:done type:feature

Context

Parent: #382

gf-workflow 当前通过确定性的复杂度评分和规则选择工作流模式。这套逻辑透明且稳定,但对跨领域、描述含糊、风险隐含或需要多个 Skill 协作的任务,纯规则可能无法充分表达语义复杂度。

该阶段依赖 #382 的通用决策层,并将 Jev 作为规则系统的补充信号,而非替代闸门。

Goal

在工作流开始阶段提供模式与执行策略建议,包括推荐模式、复杂度维度、候选阶段和需要人工确认的风险,同时保持 clarify → plan → execute → deliver 的合同验证机制不变。

建议输出:

{
  "recommended_mode": "standard",
  "confidence": 0.0,
  "risk_flags": [],
  "suggested_skills": [],
  "decision_status": "needs_review"
}

Design

  • 使用 Choice 推荐 workflow mode,使用 Score 评估复杂度/风险维度,使用 Noul 判断是否存在敏感或不可逆动作。
  • 规则引擎与 Jev 结果同时保留;出现冲突时展示差异和证据,不静默覆盖确定性结果。
  • 不允许 Jev 跳过阶段合同、权限确认、测试或交付检查。
  • 发送状态仅包含经过裁剪的任务描述和允许的仓库元信息。

Fallback and Safety

  • Jev 不可用或低置信度时完全沿用现有模式检测。
  • Jev 推荐不得扩大用户授权范围,也不得自动执行写操作。
  • 对高风险动作,任何模型信号都不能降低现有确认等级。

Evaluation

使用历史任务和合成边界案例评估模式准确率、风险漏报率、规则冲突率、人工接受率、弃权率、延迟和成本。安全相关评测优先控制 false negative。

Acceptance Criteria

  • 工作流路由能够同时输出规则结果与可选 Jev 建议
  • Choice/Score/Noul 分别用于模式、复杂度和风险信号
  • 冲突结果可解释且默认不会覆盖确定性规则
  • Jev 不可用时行为与当前 gf-workflow 一致
  • 任意推荐都不能跳过阶段合同、权限确认或质量门禁
  • 测试覆盖简单任务、跨领域任务、含糊任务、高风险动作和提示注入
  • 评测报告包含模式准确率、风险漏报率、冲突率、接受率、弃权率、延迟和成本
  • 文档说明推荐信号如何参与模式选择及如何禁用

Non-goals

  • 让 Jev 直接编排或执行命令
  • 删除现有复杂度评分和模式检测规则
  • 根据概率自动放宽安全或质量门禁
Dominant language
Rust
Stars
2
Forks
2
Avg merge
11m
Merged PRs (30d)
50

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from byx-darwin/gitflow-cli

All issues in byx-darwin/gitflow-cli

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.