Migrate Voting interface patterns
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
# Voting Interface Pattern Migration
|
||||
|
||||
This migration applies the GovOPlaN interface pattern language to Voting's
|
||||
catalogue, ballot editor, casting, result, and governance-transition surfaces.
|
||||
It preserves the strict distinction between recorded and provider-backed
|
||||
assurance profiles.
|
||||
|
||||
## Surface Inventory
|
||||
|
||||
| Surface | Archetype | Consequence class | Contract |
|
||||
| --- | --- | --- | --- |
|
||||
| `/voting` catalogue | Governed work queue | Select, create, or manage ballot | Shared loading/empty/error/help and explicit management permission state |
|
||||
| Ballot editor | Consequential definition editor | Save mutable draft | Guarded draft, contextual assurance/electorate help, validation reasons |
|
||||
| Recorded cast panel | Guided decision | Record or replace authorized vote | Frozen eligibility, explicit selection, confirmation, privacy-bounded receipt |
|
||||
| Result and assurance | Evidence/provenance | Inspect tally and hashes | Result visibility follows assurance profile and backend authorization |
|
||||
| Open/close/certify/challenge/annul | Governed lifecycle | Freeze, tally, certify, challenge, or annul | Permission/lifecycle reasons, confirmations, required reasons, retained evidence |
|
||||
|
||||
## Consequence And Availability Rules
|
||||
|
||||
- Opening freezes options, electorate, weights, threshold, replacement rule,
|
||||
assurance profile, and provider binding.
|
||||
- Recorded ballots are reconstructable and are not secret. Provider-backed
|
||||
privacy claims never exceed the installed provider contract.
|
||||
- Closing stops casting and records a tally; certification adds evidence.
|
||||
Challenge and annulment append reasoned events and erase nothing.
|
||||
- Missing permission or electorate membership identifies the required action,
|
||||
responsible actor, and destination.
|
||||
- Optional Committee, Decision, Encryption, Forms, Trust, Policy, Reporting,
|
||||
and Workflow integrations remain behind declared contracts.
|
||||
|
||||
The module uses shared controls, dialogs, confirmations, blockers, field help,
|
||||
statuses, alerts, loading/empty states, disabled reasons, and unsaved-draft
|
||||
guards. English and German catalogues cover the owned interaction vocabulary;
|
||||
history timestamps follow the selected platform locale.
|
||||
Reference in New Issue
Block a user