feat(scheduling): retire replaced participant responses
This commit is contained in:
19
README.md
19
README.md
@@ -127,7 +127,8 @@ poll-backed scheduling requests:
|
||||
- request lifecycle APIs: draft, collecting, closed, decided, handed off, cancelled
|
||||
- result summaries sourced from Poll response aggregation
|
||||
- optional Calendar free/busy checks, tentative holds, and final event creation
|
||||
- notification outbox jobs for invitations, reminders, decisions, and cancellations
|
||||
- notification outbox jobs for invitations, reminders, decisions,
|
||||
cancellations, and participant access changes
|
||||
- a first Scheduling WebUI package with request creation, slot matrix, Calendar
|
||||
actions, decisions, and notification-job creation
|
||||
|
||||
@@ -225,6 +226,22 @@ Scheduling administrator can use these actions. If notification delivery is
|
||||
not installed, `send` fails before rotating the current link and the organizer
|
||||
can use `copy` for separate distribution.
|
||||
|
||||
Participant edits carry a semantic revision so a stale organizer form cannot
|
||||
overwrite an invitation or response change. Corrections that retain a stable
|
||||
account or directory identity update the existing participant. A display-name
|
||||
correction keeps its invitation; changing a delivery email revokes the stale
|
||||
link but keeps a response tied to the unchanged account identity.
|
||||
|
||||
Changing the canonical identity creates a new participant instead of assigning
|
||||
the former participant's response to another person. In the same transaction,
|
||||
Scheduling revokes the old invitation and Poll soft-deletes every matching
|
||||
live response. Poll retains the answers and a bounded retirement record for
|
||||
audit, while result summaries and capacity checks immediately exclude them.
|
||||
Removing an invited or responding participant follows the same retirement
|
||||
path. Scheduling records privacy-safe audit facts and queues a removal or
|
||||
replacement notice to the former recipient without placing email addresses or
|
||||
response contents in the audit event.
|
||||
|
||||
## FieldLabel omission register
|
||||
|
||||
Scheduling uses the shared `FieldLabel` for form controls that need explanatory
|
||||
|
||||
Reference in New Issue
Block a user