rename(phase 1): CapaKraken → Nexus across code, UI, docs, CI (#61)
CI / Architecture Guardrails (push) Successful in 2m38s
CI / Assistant Split Regression (push) Successful in 3m33s
CI / Typecheck (push) Successful in 3m51s
CI / Lint (push) Successful in 5m2s
CI / E2E Tests (push) Has been cancelled
CI / Fresh-Linux Docker Deploy (push) Has been cancelled
CI / Release Images (push) Has been cancelled
CI / Build (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled

rename(phase 1): CapaKraken → Nexus across code, UI, docs, CI (#61)

Co-authored-by: Hartmut Nörenberg <hn@hartmut-noerenberg.com>
Co-committed-by: Hartmut Nörenberg <hn@hartmut-noerenberg.com>
This commit was merged in pull request #61.
This commit is contained in:
2026-05-21 16:28:40 +02:00
committed by Hartmut
parent d9a7ec0338
commit b41c1d2501
943 changed files with 24548 additions and 16832 deletions
+20 -17
View File
@@ -6,22 +6,23 @@
## Problem
The chargeability report categorizes all work into utilization buckets. Currently CapaKraken projects have no utilization classification. Every project needs a utilization category so that hours booked against it flow into the correct reporting bucket.
The chargeability report categorizes all work into utilization buckets. Currently Nexus projects have no utilization classification. Every project needs a utilization category so that hours booked against it flow into the correct reporting bucket.
## Utilization Categories
From the Dispo Categories file (adapted to ACN naming):
| Short | Name | Description |
|---|---|---|
| Chg | Chargeable | Billable client project work |
| BD | Business Development | Sales, proposals, presales activities |
| MD&I | Market Development and Initiative | R&D, innovation, market development |
| M&O | Management and Operations | Internal admin, management overhead |
| PD&R | Personal Development and Recruitment | Training, hiring, onboarding |
| Absence | Absence & Non Standard | Reduces Standard Available Hours: vacation, illness, non-standard leave |
| Short | Name | Description |
| ------- | ------------------------------------ | ----------------------------------------------------------------------- |
| Chg | Chargeable | Billable client project work |
| BD | Business Development | Sales, proposals, presales activities |
| MD&I | Market Development and Initiative | R&D, innovation, market development |
| M&O | Management and Operations | Internal admin, management overhead |
| PD&R | Personal Development and Recruitment | Training, hiring, onboarding |
| Absence | Absence & Non Standard | Reduces Standard Available Hours: vacation, illness, non-standard leave |
Notes from the Dispo file:
- "Absent" and "Not available" are merged into "Absence & Non Standard"
- "Unassigned" hours are calculated automatically (SAH minus all categorized hours)
- Categories follow ACN naming convention
@@ -58,6 +59,7 @@ model Project {
```
Why on Project (not on Allocation/Assignment):
- The Dispo model maps categories to projects, not to individual time entries
- A project is either "Chargeable" or "Business Development" — the category is a project-level attribute
- Hours assigned to a project inherit the project's utilization category for reporting
@@ -69,7 +71,7 @@ Why on Project (not on Allocation/Assignment):
interface UtilizationCategory {
id: string;
code: string; // "Chg", "BD", "MD&I", "M&O", "PD&R", "Absence"
code: string; // "Chg", "BD", "MD&I", "M&O", "PD&R", "Absence"
name: string;
description?: string;
sortOrder: number;
@@ -82,13 +84,13 @@ interface UtilizationCategory {
Location: `packages/api/src/router/utilization-category.ts`
| Procedure | Access | Description |
|---|---|---|
| `list` | protected | Returns all active categories (sorted) |
| `getById` | protected | Single category |
| `create` | admin | Create new category |
| `update` | admin | Edit code, name, description, sort order |
| `deactivate` | admin | Soft-delete |
| Procedure | Access | Description |
| ------------ | --------- | ---------------------------------------- |
| `list` | protected | Returns all active categories (sorted) |
| `getById` | protected | Single category |
| `create` | admin | Create new category |
| `update` | admin | Edit code, name, description, sort order |
| `deactivate` | admin | Soft-delete |
## UI
@@ -109,6 +111,7 @@ Location: `packages/api/src/router/utilization-category.ts`
### Chargeability Report
Hours are bucketed by looking up `project.utilizationCategory.code`:
- `Chg` hours → chargeability numerator
- `BD` hours → business development column
- `MD&I` hours → market development column