Correct attendance and group familiarity without erasing history #65

Open
opened 2026-11-01 20:12:30 +00:00 by viacheslavshuka · 0 comments

Automatic completion assumes confirmed testers attended. Organizers need to correct no-shows, departures, and partial attendance while keeping the source and consequences reviewable.

Acceptance criteria

  • Authorized organizers can correct attendance and selected-group familiarity. Moderators can use the attendance controls for moderation cases.
  • A correction can mark absence or partial attendance in identified groups. Within an undivided block, partial attendance requires no individual-question identification or exact count.
  • A partly attended block does not become fully familiar. Full or partial participation earns one attended-test credit, with its category retained.
  • Corrections update statistics, familiarity, and acknowledgment inputs while preserving registration and audit history.
  • Notify affected testers of changes and show the change, such as attended to absent or full block to partial block.
  • Attendance correction does not authorize arbitrary organizer enrollment of another user.
  • Testers cannot overwrite session-originated records through profile editing. Do not add correction requests, formal disputes, or an unknown-partial self-reporting workflow.
  • Organizers or moderators can mark an automatically completed test as never held. Reverse its tester and organizer credits and familiarity supported solely by that test.
  • Preserve familiarity supported by another test or self-report. A later restriction alone does not mean a past test never occurred.
  • Participant departure after start and in-progress restriction preserve recorded earlier participation. Corrections can state what was actually attended.
  • Moderation-interrupted tests receive actual attendance records through moderator controls, without restoring the ordinary automatic full-attendance assumption.

Validation

Correct a tester with two familiarity sources, mark one test never held, and assert the other source survives. Check partial attendance inside a single block, duplicate correction writes, notification contents, and updated credit totals. Assert that rejected tester-side writes preserve session records and audit history.

Dependencies

Automatic completion assumes confirmed testers attended. Organizers need to correct no-shows, departures, and partial attendance while keeping the source and consequences reviewable. ## Acceptance criteria - Authorized organizers can correct attendance and selected-group familiarity. Moderators can use the attendance controls for moderation cases. - A correction can mark absence or partial attendance in identified groups. Within an undivided block, partial attendance requires no individual-question identification or exact count. - A partly attended block does not become fully familiar. Full or partial participation earns one attended-test credit, with its category retained. - Corrections update statistics, familiarity, and acknowledgment inputs while preserving registration and audit history. - Notify affected testers of changes and show the change, such as attended to absent or full block to partial block. - Attendance correction does not authorize arbitrary organizer enrollment of another user. - Testers cannot overwrite session-originated records through profile editing. Do not add correction requests, formal disputes, or an unknown-partial self-reporting workflow. - Organizers or moderators can mark an automatically completed test as never held. Reverse its tester and organizer credits and familiarity supported solely by that test. - Preserve familiarity supported by another test or self-report. A later restriction alone does not mean a past test never occurred. - Participant departure after start and in-progress restriction preserve recorded earlier participation. Corrections can state what was actually attended. - Moderation-interrupted tests receive actual attendance records through moderator controls, without restoring the ordinary automatic full-attendance assumption. ## Validation Correct a tester with two familiarity sources, mark one test never held, and assert the other source survives. Check partial attendance inside a single block, duplicate correction writes, notification contents, and updated credit totals. Assert that rejected tester-side writes preserve session records and audit history. ## Dependencies - [#62: Close registration at start and complete ended tests automatically](https://code.viacheslavshuka.com/viacheslavshuka/quorum/issues/62). Provides attendance defaults, provenance, and completed tests. - [#48: Give operator-appointed moderators a private report queue](https://code.viacheslavshuka.com/viacheslavshuka/quorum/issues/48). Provides moderator authorization for moderation corrections. ## Related work - [#67: Show group familiarity and apply the previous-tester admission setting](https://code.viacheslavshuka.com/viacheslavshuka/quorum/issues/67) - [#68: Generate alphabetical tester acknowledgment lists](https://code.viacheslavshuka.com/viacheslavshuka/quorum/issues/68) - [#71: Show tester and organizer activity rankings from recorded participation](https://code.viacheslavshuka.com/viacheslavshuka/quorum/issues/71) - [#72: Cancel upcoming tests and stop running tests through explicit controls](https://code.viacheslavshuka.com/viacheslavshuka/quorum/issues/72) - [#22: Keep a durable notification inbox with current action status](https://code.viacheslavshuka.com/viacheslavshuka/quorum/issues/22) - [#29: Deliver Telegram notifications with bounded retries and current permissions](https://code.viacheslavshuka.com/viacheslavshuka/quorum/issues/29)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
viacheslavshuka/quorum#65
No description provided.