237 Commits
Author SHA1 Message Date
nessar 0d900fd72d feat(planning): make optimization rules composable
Closes #70, #71, #72, #73, and #74

See merge request nessar/vac-optimizer!189
2026-10-10 14:56:48 +00:00
nessar ae68e31575 docs: describe the advisory planning benchmark 2026-10-10 16:42:04 +02:00
nessar 98e87fecee ci: make the deferred planning benchmark non-blocking
Run the unchanged benchmark as a separate advisory job while #78 is open.
Keep functional coverage and other checks required, and retain the 2 GB heap
and 300-second protocol limit. Record #78's obligation to restore the gate.

Refs: #75, #78
2026-10-10 16:36:11 +02:00
nessar 6811142299 feat(planning): make optimization rules composable
Evaluate explicit, ordered optimization configurations through one shared
planner model. Add six editable presets, durable one-time legacy migration,
and consistent completed and cancelled plan provenance.

Include functional regressions and the agreed trace-removal and benchmark
follow-up specs. Performance acceptance remains in #78 under unchanged gates.

Refs: #70, #71, #72, #73, #74, #75, #76, #77, #78
2026-10-10 16:07:34 +02:00
nessar 209bf05f36 feat(docs): add detailed planning objectives and optimization rules documentation 2026-10-08 23:20:40 +02:00
nessar 0c266a4b9d fix(deps): update angular-cli monorepo to v22.2.2
See merge request nessar/vac-optimizer!185
2026-10-08 19:08:11 +00:00
nessar f786872a18 feat(ui): configure planning horizon alongside leave balances
See merge request nessar/vac-optimizer!183
2026-10-08 19:07:27 +00:00
nessar ad5ef69f5f docs: document GitFlow rules for agents
See merge request nessar/vac-optimizer!186
2026-10-08 08:10:35 +00:00
nessar 749348ec0d docs: document GitFlow rules for agents 2026-10-08 08:56:00 +02:00
nessar 6777cbc282 feat(ui): use Material datepickers for planning horizon 2026-10-08 06:49:06 +00:00
nessar 31d4333783 feat(ui): configure planning horizon alongside leave balances 2026-10-08 06:49:06 +00:00
renovate Bot db561a31e6 fix(deps): update angular-cli monorepo to v22.2.2 2026-10-08 06:49:01 +00:00
nessar 964abd3546 ci: enforce GitFlow and publish branch images
See merge request nessar/vac-optimizer!184
2026-10-08 06:48:18 +00:00
nessar 42f1114709 ci: serialize test workers and cap Node memory 2026-10-08 01:05:41 +02:00
nessar 8fcd53fc32 ci: allow the complete benchmark to finish on shared runners 2026-10-08 00:54:49 +02:00
nessar 6b3113de9a ci: bound the benchmark heap on shared runners 2026-10-08 00:43:21 +02:00
nessar 2a53bb6cb4 ci: enforce GitFlow and publish branch images 2026-10-08 00:09:29 +02:00
nessar 06adeb12d6 feat(stats): count holidays connected to weekends (#68) 2026-10-07 23:12:06 +02:00
nessar da08ee054d feat(stats): show gross earned leave by rule (#67) 2026-10-07 22:58:15 +02:00
nessar 3fbf9c3172 feat(stats): show work and time-off lengths (#66) 2026-10-07 22:39:05 +02:00
nessar d9f3f8d34a feat(stats): open calculated plan statistics (#65) 2026-10-07 22:12:56 +02:00
nessar 3dc601982a feat: enhance user input component with new styling and functionality
- Added informational styling to warning cards in user input component.
- Improved remaining days details and history display with new computed properties.
- Updated user input service to manage planning outcomes and traces more effectively.
- Enhanced leave planner service to classify remaining balances with detailed reasons.
- Expanded translation service to support new balance reasoning and suggestions.
- Updated translations for multiple languages to reflect new features and terminology.
2026-10-07 21:49:33 +02:00
nessar 9851edf906 feat(planning): #62 #63 #64 enhance leave planner with calculation date and entitlement details
- Introduced calculationDate in various service interfaces and snapshots to track the date of planning calculations.
- Added futureEntitlement and includedEntitlement fields to the translation service and respective language files for better user feedback.
- Updated leave-planner.worker to handle calculationDate and declaredDays in requests.
- Enhanced tests to ensure proper handling of calculation dates and artifact retention during planning processes.
- Improved snapshot and explanation outputs to include calculation date for clarity in planning results.
2026-10-07 19:22:46 +02:00
nessar 036a8c0e1e #61 2026-10-07 00:28:29 +02:00
nessar 03841c6e3d docs: update README to clarify planner functionality and enhance architectural details 2026-10-06 21:25:14 +02:00
nessar 4de2b9e63f feat: add functionality for declaring non-working days and their impact on leave balances 2026-10-05 18:55:15 +02:00
nessar bc8570d8ca feat: add PlanningDurationService for estimating planning duration
- Implemented PlanningDurationService to provide an indicative wait time before calculation based on user input and calendar settings.
- Introduced duration estimation logic that considers horizon dates, balances, and rules without triggering a calculation.
- Enhanced user input component to display estimated duration using the new service.
- Updated translation files to include new duration estimate strings in multiple languages.
- Added tests for PlanningDurationService to ensure accurate duration estimation and calibration.
- Refactored leave planner service to remove hardcoded deadlines and improve worker responsiveness.
2026-10-05 17:06:17 +02:00
nessar 2edf2004f5 feat(planner): implement cancellation for planning calculations
- Refactor leave-planner.worker.ts to support cancellation of ongoing calculations.
- Introduce `calculatePlanningAsyncInternal` for asynchronous planning calculations.
- Add cancellation handling in the worker message event.
- Update planning-date.ts with new utility functions for date manipulation.
- Extend translation-service.ts and translation files (en.json, de.json, es.json, fr.json) to include new strings related to planning horizon and cancellation.
- Create documentation for the cancellation feature in planner-cancellation.md.
- Add unit tests for cancellation functionality in leave-planner-cancellation.spec.ts and leave-planner.worker.spec.ts.

#57 #58
2026-10-05 15:34:07 +02:00
nessar 5c35a59805 docs(planning): record horizon and cancellation decisions (#12) 2026-10-05 11:19:46 +02:00
nessar f94ed3fc50 test: update calendar year planning tests for user interaction and state management 2026-10-05 10:08:51 +02:00
nessar 6681d438dc style: update scrollbar styling for mat-dialog-content 2026-10-05 09:41:46 +02:00
nessar 8d8b5c8e7f Merge branch 'renovate/node-24.x' into 'main'
chore(deps): update node.js to v24

See merge request nessar/vac-optimizer!182
2026-10-05 07:41:33 +00:00
renovate Bot 5a61e056c7 chore(deps): update node.js to v24 2026-10-05 05:04:22 +00:00
nessar b76e311576 #23 2026-10-04 23:33:07 +02:00
nessar b0ba4227ac #22 2026-10-04 23:19:21 +02:00
nessar 578aafbf91 #21 2026-10-04 22:48:37 +02:00
nessar 5a34160ab2 feat: add unified Settings dialog (#18) 2026-10-04 22:01:00 +02:00
nessar bdb1e3e230 docs: add ADR for restoring saved planning inputs before generating random defaults 2026-10-04 21:31:38 +02:00
nessar 96a39473e6 Merge branch 'renovate/major-angular-monorepo' into 'main'
fix(deps): update angular monorepo to v22

See merge request nessar/vac-optimizer!178
2026-10-04 18:24:03 +00:00
nessar d79e9fa5cf fix(deps): update AnalogJS for Angular 22 2026-10-04 20:19:06 +02:00
nessar d64ba608c2 fix(deps): align Angular framework and CLI upgrades 2026-10-04 20:12:55 +02:00
nessar a5c9b4bc9b fix: format Angular hydration providers 2026-10-04 20:07:18 +02:00
nessar f119dd5dda Merge remote-tracking branch 'origin/main' into renovate/major-angular-monorepo
# Conflicts:
#	bun.lock
2026-10-04 20:05:49 +02:00
nessar f227085fa7 Merge branch 'renovate/major-nx-monorepo' into 'main'
chore(deps): update nx monorepo to v23

See merge request nessar/vac-optimizer!176
2026-10-04 17:57:56 +00:00
nessar c118d8c2b3 Merge remote-tracking branch 'origin/main' into renovate/major-nx-monorepo
# Conflicts:
#	bun.lock
2026-10-04 19:53:34 +02:00
nessar 3e6bb9c3a2 Merge branch 'renovate/vite-tsconfig-paths-6.x' into 'main'
chore(deps): update dependency vite-tsconfig-paths to v6

See merge request nessar/vac-optimizer!174
2026-10-04 17:47:24 +00:00
nessar da9bea2a97 Merge remote-tracking branch 'origin/main' into renovate/vite-tsconfig-paths-6.x
# Conflicts:
#	bun.lock
#	package.json
2026-10-04 19:43:13 +02:00
nessar 54d4d95426 Merge branch 'renovate/jsdom-30.x' into 'main'
chore(deps): update dependency jsdom to v30

See merge request nessar/vac-optimizer!171
2026-10-04 17:35:44 +00:00
nessar a37f6ad875 ci: run jsdom tests on supported Node runtime 2026-10-04 19:31:59 +02:00
nessar aa69eb8552 Merge remote-tracking branch 'origin/main' into renovate/jsdom-30.x
# Conflicts:
#	bun.lock
#	package.json
2026-10-04 19:23:34 +02:00