Part of #423: Race condition potential in ApplicationManager concurrent operations
Problem
Lock ordering and thread-safety invariants are not documented, making it easy for future contributors to introduce deadlocks or race conditions during maintenance.
Tasks
- Add class-level Javadoc documenting the lock ordering hierarchy
- Document which methods are thread-safe and which require external synchronization
- Document the thread-safety contract for listener callbacks (which thread, ordering guarantees)
- Add @ThreadSafe / @GuardedBy annotations where appropriate (javax.annotation.concurrent)
- Add a THREADING.md or section in the module README explaining the concurrency model
Acceptance Criteria
- A developer new to the codebase can understand the locking strategy from documentation alone
- Lock ordering is explicitly stated and matches the implementation
- Thread-safety annotations are present on all shared mutable state
Reactions are currently unavailable
Part of #423: Race condition potential in ApplicationManager concurrent operations
Problem
Lock ordering and thread-safety invariants are not documented, making it easy for future contributors to introduce deadlocks or race conditions during maintenance.
Tasks
Acceptance Criteria