S12 - turned schedule status into enum and some other review comments
All checks were successful
Build, test and publish / verify (push) Successful in 7m6s
All checks were successful
Build, test and publish / verify (push) Successful in 7m6s
This commit is contained in:
@@ -22,8 +22,8 @@ without event replay. Run identifiers deduplicate completion notifications.
|
||||
## Validation
|
||||
|
||||
- Maven verify: 60 backend tests passed, plus 19 standards-checker regression tests.
|
||||
- Backend line coverage: 1349/1387, or 97.26%, above the required 80%.
|
||||
- Frontend: 29 unit tests, production build and ESLint.
|
||||
- Backend line coverage: 1346/1384, or 97.25%, above the required 80%.
|
||||
- Frontend: 30 unit tests, production build and ESLint.
|
||||
- Playwright: three real REST/browser scenarios, including scheduling completion,
|
||||
result summaries, a completion snackbar, reloading to recover the latest result
|
||||
and suppression of old notifications after reload.
|
||||
@@ -32,12 +32,17 @@ without event replay. Run identifiers deduplicate completion notifications.
|
||||
- Background tests cover duplicate exclusion, parallel shows, stale-result
|
||||
rejection, preserved assignments, failure outcomes and retry after failure.
|
||||
- Frontend tests cover missed completion after disconnect, reconnection, heartbeat
|
||||
handling, deduplication and completion arriving before the POST response.
|
||||
handling, deduplication, completion arriving before the POST response and a
|
||||
locally started run completing before the first successful SSE connection.
|
||||
- Real solver tests cover phase/discovery callbacks, distinct infeasible/no-solution
|
||||
outcomes and objective-summary definitions including coach exemptions.
|
||||
|
||||
## Manual standards assessment
|
||||
|
||||
Scheduling states and phases use backend enums and frontend string unions while
|
||||
preserving their JSON names. Initial SSE recovery notifies for locally tracked
|
||||
running tasks while suppressing historical completions.
|
||||
|
||||
No waivers or weakened checks were introduced. The architecture tests pass.
|
||||
New records contain immutable values; the SSE snapshot defensively copies its
|
||||
list. The ten-component SchedulingRun record groups run identity, timestamps,
|
||||
@@ -47,14 +52,14 @@ framework-independent domain types; OR-Tools remains encapsulated in solver.
|
||||
|
||||
Retained review signals:
|
||||
|
||||
- SchedulingRuns fan-out (25): task orchestration uses JDK executor/collection
|
||||
- SchedulingRuns fan-out (26): task orchestration uses JDK executor/collection
|
||||
types, the scheduling port and immutable input/progress/result/status models.
|
||||
Its injected dependencies remain two; splitting these short lifecycle methods
|
||||
would distribute the shared publication and run-slot ordering.
|
||||
- SchedulingEventsResource fan-out (16): SSE/Mutiny transport, JSON envelope and
|
||||
service subscription types are confined to the REST adapter.
|
||||
- OrToolsSchedulingEngine fan-out (21), solve cognitive complexity (11) and
|
||||
length (40 code lines): the ordered three-stage loop retains deadline and
|
||||
length (41 code lines): the ordered three-stage loop retains deadline and
|
||||
earlier-feasible-result fallback behavior while publishing phase/discovery.
|
||||
requireSolution cyclomatic complexity (8) retains explicit mappings for stable
|
||||
failure outcomes and their human-readable explanations.
|
||||
|
||||
Reference in New Issue
Block a user