feat: dashboard overhaul, chargeability reports, dispo import enhancements, UI polish

Dashboard: expanded chargeability widget, resource/project table widgets
with sorting and filters, stat cards with formatMoney integration.

Chargeability: new report client with filtering, chargeability-bookings
use case, updated dashboard overview logic.

Dispo import: TBD project handling, parse-dispo-matrix improvements,
stage-dispo-projects resource value scores, new tests.

Estimates: CommercialTermsEditor component, commercial-terms engine
module, expanded estimate schemas and types.

UI: AppShell navigation updates, timeline filter/toolbar enhancements,
role management improvements, signin page redesign, Tailwind/globals
polish, SystemSettings SMTP section, anonymization support.

Tests: new router tests (anonymization, chargeability, effort-rule,
entitlement, estimate, experience-multiplier, notification, resource,
staffing, vacation).

Co-Authored-By: claude-flow <ruv@ruv.net>
This commit is contained in:
2026-03-14 23:29:07 +01:00
parent ad0855902b
commit 625a842d89
74 changed files with 11680 additions and 1583 deletions
+49
View File
@@ -0,0 +1,49 @@
# Departed Sync Review
Date: 2026-03-14
Source workbook:
- `/home/hartmut/Documents/Copilot/planarchy/samples/Dispov2/MV_DispoRoster.xlsx`
- Sheet: `DispoRoster`
- Column K: `MV Ressource Type`
Applied rule:
- If column K equals `Departed`, set `resource.departed = true` for the matching Planarchy resource identified by `EID`.
Result:
- Workbook rows marked `Departed`: `166`
- Matching resources found in Planarchy: `141`
- Resources updated to `departed = true`: `141`
- Workbook EIDs not found in Planarchy: `25`
Missing EIDs:
- `antonia.melzer`
- `ashutosh.pandit`
- `augusto.a.wagner`
- `c.guillen.aguilera`
- `c.muelstegen`
- `christian.reimann`
- `christian.zajac`
- `christophe.metz`
- `e.alvarado.tenorio`
- `e.chinchilla.fallas`
- `e.navarro.gandia`
- `eilin.pham`
- `franz.csmarits`
- `Jiaqi.a.jin`
- `josephine.grimm`
- `panagiotis.makrygiannis`
- `philipp.brueckner`
- `rohit.raut`
- `roque.vasquez`
- `s.baswaraj.biradar`
- `s.chacon.fonseca`
- `s.gardzielewski`
- `s.khisamutdinova`
- `ulrich.noerenberg`
- `yvonne.karle`
Note on `rolledOff`:
- No explicit rolled-off source column was found in this workbook.
- `Last day in dispo`, `Resource Hours/Week = 0`, `Long-term absence`, and `Demand` are not safe equivalents for `rolledOff`.
- Do not bulk-update `rolledOff` from this file without an explicit business rule.