Skip to content
本页内容由 AI 辅助生成与翻译,如有不当之处,欢迎协助改进。 在 GitHub 上编辑

投票与决策

OpenPR 的投票系统决定治理提案的结果。它支持加权投票、可配置的法定人数要求和通过阈值。每次投票和决策都有不可更改的审计追踪。

投票流程

  1. 提案进入 投票中 状态。
  2. 合格的工作区成员投票(赞成、反对或弃权)。
  3. 投票期结束或达到法定人数时,统计票数。
  4. 根据配置的通过阈值确定结果。
  5. 创建 决策记录 记录结果。

投票配置

治理设置按工作区配置:

设置说明示例
法定人数必须参与的合格投票者最低百分比50%
通过阈值通过所需的赞成票百分比66%
投票期投票窗口保持开放的时长7 天
加权投票信任分是否影响投票权重开/关

工作区设置 > 治理 > 配置 中设置,或通过 API:

bash
curl -X PUT http://localhost:8080/api/governance/config \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <token>" \
  -d '{
    "quorum_percentage": 50,
    "approval_threshold": 66,
    "voting_period_days": 7,
    "weighted_voting": true
  }'

加权投票

启用加权投票后,每个成员的投票按其信任分加权。信任分较高的成员对结果有更大影响力。详见 信任分

决策记录

每次投票完成后创建 决策记录——不可更改的日志条目,包含:

  • 被投票的提案
  • 票数统计(赞成、反对、弃权)
  • 最终结果(通过或拒绝)
  • 时间戳和参与投票者
  • 决策域(如已分类)

决策记录不能修改或删除。它们是团队决策的权威历史记录。

查看决策

bash
# 列出决策
curl -H "Authorization: Bearer <token>" \
  http://localhost:8080/api/decisions

# 获取特定决策
curl -H "Authorization: Bearer <token>" \
  http://localhost:8080/api/decisions/<decision_id>

否决机制

指定的否决权人(按工作区配置)可以否决已通过的提案:

  1. 否决 -- 否决权人以说明理由的方式阻止已通过的提案。
  2. 升级 -- 提案者可以将否决升级为更广泛的投票。
  3. 申诉 -- 任何成员可以对否决提出申诉。

否决权设计为高影响决策的安全机制。在 工作区设置 > 治理 > 否决权人 中配置。

审计日志

所有治理操作记录在审计日志中:

  • 提案创建、提交和归档
  • 投票记录(谁、何时、投了什么)
  • 决策记录
  • 否决事件和升级
  • 配置变更
bash
# 查看治理审计日志
curl -H "Authorization: Bearer <token>" \
  http://localhost:8080/api/governance/audit-logs

决策域

决策可以按域分类(如"架构"、"流程"、"工具"),便于组织和筛选。域按工作区配置。

下一步

Released under the Apache-2.0 License.