Integrate committee ballots with Voting
This commit is contained in:
@@ -19,12 +19,13 @@ protected local Decision projection so the outcome remains reconstructable.
|
||||
The `/committee` WebUI provides the body, meeting, agenda, vote, and minutes
|
||||
workspace using the same immutable revisions and lifecycle guards as the API.
|
||||
|
||||
`committee.ballot_finalizer` delegates provider-bound external or secret
|
||||
ballots to `committee.ballot_adapter.<provider>` capabilities. Committee
|
||||
validates the exact choices, eligible/cast totals, tenant evidence, receipt,
|
||||
and result hash, then stores only the verified aggregate. Individual ballots
|
||||
never enter Committee persistence, and a provider-bound vote cannot be closed
|
||||
through the generic workspace endpoint.
|
||||
When Voting is installed, Committee creates and follows a governed
|
||||
`voting.ballots` record while retaining only its meeting/agendum reference and
|
||||
verified aggregate outcome. Voting owns the frozen electorate, casting,
|
||||
tallying, certification, challenge, and annulment lifecycle. The older
|
||||
`committee.ballot_finalizer` / `committee.ballot_adapter.<provider>` path
|
||||
remains a 0.1 compatibility boundary for existing external integrations;
|
||||
individual provider ballots never enter Committee persistence.
|
||||
|
||||
## Initial Ownership
|
||||
|
||||
@@ -57,6 +58,7 @@ Expected optional integrations:
|
||||
- tasks
|
||||
- workflow
|
||||
- approvals
|
||||
- voting
|
||||
|
||||
## Development Install
|
||||
|
||||
@@ -83,8 +85,8 @@ use a separate read permission. Database restore is the semantic recovery unit;
|
||||
linked Calendar, Files, Records, Tasks, Approvals, and Decisions objects retain
|
||||
their own recovery responsibility.
|
||||
|
||||
`POST /api/v1/committee/workspace/vote/{vote_id}/finalize-provider` is the
|
||||
separate effect boundary for an installed ballot adapter. It requires the
|
||||
`POST /api/v1/committee/workspace/vote/{vote_id}/finalize-provider` is the 0.1
|
||||
compatibility effect boundary for an installed ballot adapter. It requires the
|
||||
`committee:ballot:finalize` permission and preserves provider receipt/hash and
|
||||
evidence without exposing or persisting individual votes.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user