Hartmut 92a982b151 feat: Nearshore-Ratio indicator per project
Engine (packages/engine):
- calculateShoringRatio() pure function: onshore/offshore hours,
  country breakdown, threshold check, weighted by hours not headcount
- 12 unit tests: empty, 100% onshore/offshore, mixed ratios,
  custom threshold, case-insensitive, unknown country, FTE weighting

Schema:
- Project.shoringThreshold (default 55%) — per-project configurable
- Project.onshoreCountryCode (default "DE") — configurable onshore country

API (project router):
- getShoringRatio query: loads assignments with resource.country,
  computes ratio, returns full breakdown
- update mutation: accepts shoringThreshold + onshoreCountryCode

UI:
- ShoringIndicator: stacked horizontal bar with country segments,
  severity badge (green/yellow/red), hover tooltip, dark theme
- ShoringBadge: mini colored dot + % for project list column
- ProjectModal: "Max Offshore %" number input
- Project detail: indicator after budget status card
- Project list: "Shoring" column (default hidden, toggleable)

AI Assistant:
- get_shoring_ratio tool: human-readable breakdown with threshold alert

Colors: green (<threshold-10), yellow (threshold-10 to threshold), red (>=threshold)
Default: 55% offshore threshold, "DE" as onshore country

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-26 11:45:50 +01:00

Documentation Index

Date: 2026-03-12 Purpose: Single entry point for active Planarchy product and technical documentation.

Canonical Documents

Topic File Use
Active roadmap and open gaps product-roadmap.md Primary backlog and current delivery order
Estimating system design estimating-extension-design.md Workbook analysis, field mapping, and implementation plan
Dispo import implementation dispo-import-implementation.md Clean-slate Dispo v2 import design, mapping rules, staging flow, and commit policy
Dispo import ticket pack dispo-import-implementation-tickets.md Worker-ready delivery slices, dependencies, and acceptance criteria for the Dispo import
Demand/assignment cutover guide demand-assignment-migration-cutover.md Go/no-go criteria, staged cutover, and readiness artifact policy
Strategic architecture direction v2-architecture-proposal-2026-03-11.md Longer-horizon architecture target
Implementation history LEARNINGS.md Append-only decisions and lessons
Agent/project guidance CLAUDE.md Working conventions and quality gates

Archive Policy

Older plan and proposal markdown files stay in the repository only as archive notes when:

  • the feature is already implemented enough to leave the active backlog
  • the content was merged into a canonical document
  • the file still has historical value, but should not drive current work

Archive-note files should point back to the relevant canonical document instead of carrying parallel backlog state.

Current Archive Notes

All archived markdown plan and proposal files now live under docs/old-markdowns/.

S
Description
Resource planning and project staffing tool for 3D production environments. Timeline planning, capacity & budget views, role management, blueprint-based dynamic fields, skill matrix workflows, and AI-assisted staffing. Next.js 15 · tRPC v11 · Prisma · PostgreSQL · Auth.js v5.
Readme 23 MiB
Languages
TypeScript 98.1%
JavaScript 1.4%
CSS 0.3%
Shell 0.1%