Integrate committee ballots with Voting

This commit is contained in:
2026-08-01 20:57:25 +02:00
parent 758b59ca03
commit 133e55987e
12 changed files with 565 additions and 104 deletions
+6 -1
View File
@@ -50,6 +50,8 @@ The current repository state is intentionally bounded:
vote results, and minutes
- a provider-neutral ballot-finalization contract for external and secret
ballots that retains aggregate evidence rather than individual ballots
- an optional primary integration with Voting, which owns frozen electorates,
vote casting/replacement, tally, certification, challenge, and annulment
- Gitea issue workflow templates
- manifest and decision reconstruction contract tests
@@ -69,7 +71,10 @@ Decision reference, and meetings cannot close while agenda items remain
unfinished. Accepted or corrected minutes require a Records reference,
Approval, and evidence.
A provider-bound vote is finalized only through
A governed ballot is delegated to `voting.ballots` when Voting is installed;
Committee retains the meeting/agendum linkage and verified aggregate result.
The following direct provider path remains a 0.1 compatibility contract only.
A provider-bound vote on that path is finalized through
`committee.ballot_adapter.<provider>`. The adapter receives tenant, vote,
choices, eligible count, external ballot reference, request time, and
idempotency key. Its result must cover exactly the configured choices, sum to