chore: add project guidance and agent workflows
This commit is contained in:
1 parent
349662a055
commit
326575e55d
14 files changed
+963
-6
No files matched your search
@@ -0,0 +1,61 @@
|
||||
# Domain Glossary
|
||||
|
||||
This document records confirmed Court Pilot terminology and business rules. Agents must preserve these invariants and ask before defining additional rotation behavior.
|
||||
|
||||
## Confirmed terms
|
||||
|
||||
### Court official
|
||||
|
||||
A person maintained in the application roster. The persistence type is currently named `Umpire`, while parts of the UI use the broader label “Court Official.” A record contains first name, last name, country, and gender.
|
||||
|
||||
### Umpire
|
||||
|
||||
The primary official assigned to a court. An official can wait in the umpire queue, be assigned to a court as umpire, or be off duty.
|
||||
|
||||
### Service judge
|
||||
|
||||
An optional second role on a court. Service-judge behavior can be enabled or disabled globally in settings. The same official records are used for both umpire and service-judge roles.
|
||||
|
||||
### Court
|
||||
|
||||
A numbered play area. Courts are generated from `1` through the configured `numberOfCourts`; the default is five.
|
||||
|
||||
### Waiting queue
|
||||
|
||||
An ordered FIFO list of officials awaiting assignment. Umpires and service judges have separate queues and numeric order values. The lowest `order` value is assigned next. Officials may be reordered with drag and drop.
|
||||
|
||||
### Not on duty / rest
|
||||
|
||||
An official who is not found in either waiting queue or in either kind of court assignment. The code derives this state rather than persisting it separately.
|
||||
|
||||
### Send to court
|
||||
|
||||
Assign the first eligible waiting official or officials to a selected court. With service judges enabled, one official is taken from each role-specific queue.
|
||||
|
||||
### Remove from court
|
||||
|
||||
Remove assigned officials from a court and return them to waiting duty. With service judges enabled, roles intentionally swap when re-queuing: the prior service judge enters the umpire queue and the prior umpire enters the service-judge queue.
|
||||
|
||||
## Domain invariants
|
||||
|
||||
- “Court official” is the umbrella term; “umpire” and “service judge” are roles.
|
||||
- Every official must be in exactly one state: not on duty, one waiting queue, or one active court role.
|
||||
- An official must never occupy multiple queues or assignments at the same time.
|
||||
- Queue assignment is FIFO by numeric `order`; the lowest value is next.
|
||||
- Removing a court assignment with service judges enabled swaps the officials' role queues.
|
||||
- Reducing `numberOfCourts` removes assignments above the new court count. Those officials become not on duty; they are not automatically added to a waiting queue.
|
||||
|
||||
## Current settings
|
||||
|
||||
- `numberOfCourts` — number of numbered courts shown
|
||||
- `withServiceJudge` — whether service-judge assignments are active
|
||||
- `showAlert` — whether quick court actions require confirmation
|
||||
- language — stored separately in local storage; currently English or Hungarian
|
||||
|
||||
## Still-undecided behavior
|
||||
|
||||
Ask the maintainer before a task depends on any of these questions:
|
||||
|
||||
1. How should malformed queue data—duplicate or conflicting order values—be repaired?
|
||||
2. Are gender and country free-form values, fixed choices, or governed by tournament data?
|
||||
3. Will Court Pilot continue to manage one tournament/session at a time, or support multiple events later?
|
||||
Reference in new issue
Block a user