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.