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:
@@ -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.
|
||||
@@ -34,7 +34,7 @@ The following items were proposed in older markdown files and are already implem
|
||||
|
||||
| Workstream | Status | Why It Is Still Open | Recommended Next Step |
|
||||
|---|---|---|---|
|
||||
| Estimating system | `In progress` | Full CRUD, versioning, export, planning handoff, clone/template, rate cards per client, and richer version comparison (scope item diffs, resource snapshot diffs, chapter subtotals, margin %). Remaining gaps: scope-to-effort rule engine, experience multipliers, weekly phasing, structured commercial terms. | Scope-to-effort rule engine for auto-expanding scope items into demand lines per discipline. |
|
||||
| Estimating system | `Complete` | Full CRUD, versioning, export, planning handoff, clone/template, rate cards per client, richer version comparison, scope-to-effort rule engine, experience multipliers & shoring ratios, weekly phasing (4Dispo grid), and structured commercial terms. | — |
|
||||
| Demand vs assignment split | `Complete` | Legacy `Allocation` table dropped. `legacyAllocationId` columns removed. Migration tooling deleted. Compatibility facades renamed to clean domain names (`updateAllocationEntry`, `deleteAllocationEntry`, `fillOpenDemand`, `loadAllocationEntry`). `isPlaceholder` is a derived read-model property. No legacy compatibility naming remains. | — |
|
||||
| Widget platform refactor | `Implemented` | Widget config typing, layout normalization, registry-driven rendering, and dashboard query extraction now live behind shared/application contracts instead of ad hoc router logic. | Keep future widgets on the same registry + application-use-case pattern. |
|
||||
| Package-level regression tests | `Expanded` | Shared schema validation (rate-card, allocation, estimate — 32 tests), engine vacation/recurrence (29 tests), staffing capacity-analyzer (12 tests), plus existing application and dashboard tests. | Continue adding API-level integration tests for remaining router procedures. |
|
||||
@@ -81,6 +81,10 @@ Current state:
|
||||
- rate cards per client with admin management UI
|
||||
- richer version comparison engine: per-item scope diffs with field-level change detection, resource snapshot rate/location diffs, chapter-grouped subtotals sorted by cost impact, margin % delta
|
||||
- version comparison UI: scope item detail table, resource rate diff table, chapter subtotals section, margin summary card
|
||||
- scope-to-effort rule engine: admin CRUD for rule sets (per_frame/per_item/flat unit modes), estimate workspace preview + apply with replace/append mode, engine with 16 tests
|
||||
- experience multipliers & shoring ratios: hierarchical specificity matching (chapter/location/level), rate multipliers, shoring ratio + additional effort factor, admin CRUD, estimate workspace preview + apply, engine with 23 tests
|
||||
- weekly phasing (4Dispo grid): ISO week-based phasing with even/front-loaded/back-loaded patterns, chapter aggregation view, heat-map coloring, estimate workspace phasing tab, engine with 30 tests
|
||||
- structured commercial terms: pricing model (fixed/T&M/hybrid), contingency %, discount %, payment term days, warranty months, payment milestones with validation and amount computation, integrated into financials tab, engine with 19 tests
|
||||
|
||||
### 2. Refactor the planning core before v2 migration
|
||||
|
||||
|
||||
Reference in New Issue
Block a user