投票と決定
OpenPRの投票システムはガバナンス提案の結果を決定します。重み付き投票、設定可能な定足数要件、承認しきい値をサポートします。すべての投票と決定は不変の監査証跡と共に記録されます。
投票プロセス
- 提案が**Voting(投票中)**状態に入る。
- 対象のワークスペースメンバーが投票する(承認、否決、または棄権)。
- 投票期間が終了するか定足数に達すると、票が集計される。
- 設定された承認しきい値によって結果が決定される。
- 決定記録が結果と共に作成される。
投票設定
ガバナンス設定はワークスペースごとに設定されます:
| 設定 | 説明 | 例 |
|---|---|---|
| 定足数 | 参加しなければならない対象投票者の最小パーセンテージ | 50% |
| 承認しきい値 | 承認に必要な賛成票のパーセンテージ | 66% |
| 投票期間 | 投票ウィンドウが開いている期間 | 7日間 |
| 重み付き投票 | 信頼スコアが投票の重みに影響するかどうか | オン/オフ |
Workspace Settings(ワークスペース設定) > Governance(ガバナンス) > **Config(設定)**で設定、または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
# List decisions
curl -H "Authorization: Bearer <token>" \
http://localhost:8080/api/decisions
# Get a specific decision
curl -H "Authorization: Bearer <token>" \
http://localhost:8080/api/decisions/<decision_id>拒否権メカニズム
指定された拒否権保持者(ワークスペースごとに設定)は承認済みの提案を拒否できます:
- 拒否権 -- 拒否権保持者が理由を明記して承認済み提案をブロック。
- エスカレーション -- 提案者は拒否権をより広い投票にエスカレーションできる。
- 申請 -- メンバーは拒否権に対して申請を提出できる。
拒否権は高影響の決定のための安全メカニズムとして設計されています。Workspace Settings(ワークスペース設定) > Governance(ガバナンス) > **Vetoers(拒否権保持者)**で設定。
監査ログ
すべてのガバナンス操作は監査ログに記録されます:
- 提案の作成、提出、アーカイブ
- 投票(誰が、いつ、何を)
- 決定記録
- 拒否権イベントとエスカレーション
- 設定変更
bash
# View governance audit logs
curl -H "Authorization: Bearer <token>" \
http://localhost:8080/api/governance/audit-logs決定ドメイン
決定はドメイン(例:"Architecture"、"Process"、"Tooling")に分類して、より良い整理とフィルタリングが可能です。ドメインはワークスペースごとに設定されます。