chore: full technical rename planarchy → capakraken

Complete rename of all technical identifiers across the codebase:

Package names (11 packages):
- @planarchy/* → @capakraken/* in all package.json, tsconfig, imports

Import statements: 277 files, 548 occurrences replaced

Database & Docker:
- PostgreSQL user/db: planarchy → capakraken
- Docker volumes: planarchy_pgdata → capakraken_pgdata
- Connection strings updated in docker-compose, .env, CI

CI/CD:
- GitHub Actions workflow: all filter commands updated
- Test database credentials updated

Infrastructure:
- Redis channel: planarchy:sse → capakraken:sse
- Logger service name: planarchy-api → capakraken-api
- Anonymization seed updated
- Start/stop/restart scripts updated

Test data:
- Seed emails: @planarchy.dev → @capakraken.dev
- E2E test credentials: all 11 spec files updated
- Email defaults: @planarchy.app → @capakraken.app
- localStorage keys: planarchy_* → capakraken_*

Documentation: 30+ .md files updated

Verification:
- pnpm install: workspace resolution works
- TypeScript: only pre-existing TS2589 (no new errors)
- Engine: 310/310 tests pass
- Staffing: 37/37 tests pass

Co-Authored-By: claude-flow <ruv@ruv.net>
This commit is contained in:
2026-03-27 13:18:09 +01:00
parent f46b38f457
commit cd78f72f33
303 changed files with 938 additions and 878 deletions
@@ -1,4 +1,4 @@
import { AllocationStatus } from "@planarchy/shared";
import { AllocationStatus } from "@capakraken/shared";
import { describe, expect, it } from "vitest";
import { detectOverlaps, validateAvailability } from "../allocation/availability-validator.js";
+1 -1
View File
@@ -1,4 +1,4 @@
import { AllocationStatus } from "@planarchy/shared";
import { AllocationStatus } from "@capakraken/shared";
import { describe, expect, it } from "vitest";
import { computeBudgetStatus } from "../budget/monitor.js";
@@ -1,8 +1,8 @@
import { describe, expect, it } from "vitest";
import { calculateAllocation } from "../allocation/calculator.js";
import { DEFAULT_CALCULATION_RULES } from "../rules/default-rules.js";
import type { WeekdayAvailability, AllocationCalculationInput } from "@planarchy/shared";
import type { CalculationRule } from "@planarchy/shared";
import type { WeekdayAvailability, AllocationCalculationInput } from "@capakraken/shared";
import type { CalculationRule } from "@capakraken/shared";
const STD_AVAILABILITY: WeekdayAvailability = {
monday: 8,
@@ -5,7 +5,7 @@ import {
defaultCommercialTerms,
validatePaymentMilestones,
} from "../estimate/commercial-terms.js";
import type { CommercialTerms, PaymentMilestone } from "@planarchy/shared";
import type { CommercialTerms, PaymentMilestone } from "@capakraken/shared";
const BASE_TERMS: CommercialTerms = {
pricingModel: "fixed_price",
@@ -3,7 +3,7 @@ import {
EstimateExportFormat,
EstimateStatus,
EstimateVersionStatus,
} from "@planarchy/shared";
} from "@capakraken/shared";
import { describe, expect, it } from "vitest";
import {
serializeEstimateExport,
@@ -1,7 +1,7 @@
import { describe, expect, it } from "vitest";
import { isRecurringDay, getRecurringHoursForDay } from "../allocation/recurrence.js";
import { RecurrenceFrequency } from "@planarchy/shared";
import type { RecurrencePattern } from "@planarchy/shared";
import { RecurrenceFrequency } from "@capakraken/shared";
import type { RecurrencePattern } from "@capakraken/shared";
const monday = new Date("2026-03-09"); // Monday
const tuesday = new Date("2026-03-10"); // Tuesday
@@ -1,7 +1,7 @@
import { describe, expect, it } from "vitest";
import { findMatchingRule, applyCostEffect } from "../rules/engine.js";
import { DEFAULT_CALCULATION_RULES } from "../rules/default-rules.js";
import type { CalculationRule } from "@planarchy/shared";
import type { CalculationRule } from "@capakraken/shared";
const now = new Date();
@@ -1,6 +1,6 @@
import { describe, it, expect } from "vitest";
import { calculateSAH, getDailyHours } from "../sah/calculator.js";
import type { SpainScheduleRule } from "@planarchy/shared";
import type { SpainScheduleRule } from "@capakraken/shared";
const spainRules: SpainScheduleRule = {
type: "spain",
@@ -1,4 +1,4 @@
import type { Allocation, WeekdayAvailability } from "@planarchy/shared";
import type { Allocation, WeekdayAvailability } from "@capakraken/shared";
import { getAvailableHoursForDate } from "./calculator.js";
export interface AvailabilityConflict {
+2 -2
View File
@@ -4,8 +4,8 @@ import type {
AllocationCalculationResult,
DailyBreakdown,
WeekdayAvailability,
} from "@planarchy/shared";
import type { AbsenceTrigger } from "@planarchy/shared";
} from "@capakraken/shared";
import type { AbsenceTrigger } from "@capakraken/shared";
import { getRecurringHoursForDay } from "./recurrence.js";
import { findMatchingRule, applyCostEffect } from "../rules/engine.js";
@@ -1,4 +1,4 @@
import type { WeekdayAvailability } from "@planarchy/shared";
import type { WeekdayAvailability } from "@capakraken/shared";
export interface ChargeabilityAllocation {
startDate: Date;
+2 -2
View File
@@ -1,5 +1,5 @@
import type { RecurrencePattern } from "@planarchy/shared";
import { RecurrenceFrequency } from "@planarchy/shared";
import type { RecurrencePattern } from "@capakraken/shared";
import { RecurrenceFrequency } from "@capakraken/shared";
/**
* Returns the ISO week number of a date relative to a base date.
+1 -1
View File
@@ -1,4 +1,4 @@
import { FieldType, type BlueprintFieldDefinition } from "@planarchy/shared";
import { FieldType, type BlueprintFieldDefinition } from "@capakraken/shared";
export interface CustomFieldValidationError {
key: string;
+2 -2
View File
@@ -1,5 +1,5 @@
import type { Allocation, BudgetStatus, BudgetWarning } from "@planarchy/shared";
import { BUDGET_WARNING_THRESHOLDS } from "@planarchy/shared";
import type { Allocation, BudgetStatus, BudgetWarning } from "@capakraken/shared";
import { BUDGET_WARNING_THRESHOLDS } from "@capakraken/shared";
/**
* Computes budget status for a project given its allocations.
@@ -5,7 +5,7 @@
* to base cost/price totals from demand lines.
*/
import type { CommercialTerms, CommercialTermsSummary, PaymentMilestone } from "@planarchy/shared";
import type { CommercialTerms, CommercialTermsSummary, PaymentMilestone } from "@capakraken/shared";
export interface CommercialTermsInput {
baseCostCents: number;
@@ -5,7 +5,7 @@ import {
type EstimateExportSummary,
type EstimateStatus,
type EstimateVersionStatus,
} from "@planarchy/shared";
} from "@capakraken/shared";
import { summarizeEstimateDemandLines } from "./metrics.js";
type ExportProjectRef = {
+1 -1
View File
@@ -3,7 +3,7 @@ import type {
EstimateDemandLineCalculationMetadata,
EstimateDemandLineRateMode,
EstimateDemandSummary,
} from "@planarchy/shared";
} from "@capakraken/shared";
export interface EstimateDemandLineRateSnapshot {
resourceId?: string | null;
+1 -1
View File
@@ -7,7 +7,7 @@
* - Public holiday: no chargeability effect, no project cost
*/
import type { CalculationRule } from "@planarchy/shared";
import type { CalculationRule } from "@capakraken/shared";
const now = new Date();
+1 -1
View File
@@ -10,7 +10,7 @@ import type {
CalculationRule,
CostEffect,
ChargeabilityEffect,
} from "@planarchy/shared";
} from "@capakraken/shared";
export interface RuleMatch {
rule: CalculationRule;
+1 -1
View File
@@ -5,7 +5,7 @@
* It is the denominator for chargeability calculations.
*/
import type { SpainScheduleRule } from "@planarchy/shared";
import type { SpainScheduleRule } from "@capakraken/shared";
// ─── Types ──────────────────────────────────────────────────────────────────
+1 -1
View File
@@ -6,7 +6,7 @@ import type {
ShiftValidationResult,
ValidationError,
ValidationWarning,
} from "@planarchy/shared";
} from "@capakraken/shared";
import { calculateAllocation } from "../allocation/calculator.js";
import { validateAvailability } from "../allocation/availability-validator.js";
import { computeBudgetStatus } from "../budget/monitor.js";