People Analytics Toolbox

A consolidated monorepo of independent service spokes that downstream tools (Performix, vela, future apps) consume as services. Each spoke owns a Postgres schema, an API namespace, and a versioned contract — but they ship as one Next.js app, one deploy, one Supabase project.

They’re designed to be both independent (each spoke is invokable on its own contract) and combinable (their contracts compose into cross-spoke surfaces like the metric × segment factory).

overall: down22 live · 0 reserved · 2 coming soon

Service catalog

Each card is one spoke. Reads are public; writes require a service-key header. Click a sample to see a runnable request.

reincarnation

ok · v1.2.0

Adaptive psychometric diagnostic engine — universal items (RIDs), study items (SIDs), pool lifecycle (D/C/B/A/PURGATORY/INFINITY), information-gain item selection.

schema: reincarnationcontracts: 5latency: 93ms

List psychometric statistics across all galaxies.

GET /api/spokes/reincarnation/psychometric-feed · public read

curl -sS "https://people-analytics-toolbox.vercel.app/api/spokes/reincarnation/psychometric-feed"

performance-calibration

ok · v1.0.0

schema: performance_calibrationcontracts: 4latency: 125ms

performance-validity

ok · v1.2.0

schema: performance_validitycontracts: 10latency: 92ms

preference-modeler

ok · v1.6.0

Survey response collection + preference modeling. Anonymity-gated aggregation across maxdiff, penny-allocation, paired-comparison, conjoint (MNL).

schema: preference_modelercontracts: 8latency: 116ms

Aggregated preferences for the seed survey, with per-segment breakdown.

GET /api/spokes/preference-modeler/surveys/pat3-survey-seed/preferences?bySegment=true · public read

curl -sS "https://people-analytics-toolbox.vercel.app/api/spokes/preference-modeler/surveys/pat3-survey-seed/preferences?bySegment=true"

program-evaluation

ok · v0.2.0

schema: program_evaluationcontracts: 6latency: 94ms

talent-value

ok · v0.5.0

schema: talent_valuecontracts: 5latency: 95ms

leadership-quality

ok · v0.1.0

schema: leadership_qualitycontracts: 4latency: 110ms

survey-orchestrator

ok · v0.4.0

schema: survey_orchestratorcontracts: 11latency: 112ms

data-anonymizer

ok · v1.2.0

PII detection (24-rule catalog, risk-prioritized overlap resolution), HMAC-keyed deterministic tokenization, redaction-with-spans, min-N privacy gate, 20-strategy transform.

schema: data_anonymizercontracts: 6latency: 112ms

List the 24 default PII detection rules.

GET /api/spokes/data-anonymizer/pii-rules · public read

curl -sS "https://people-analytics-toolbox.vercel.app/api/spokes/data-anonymizer/pii-rules"

segmentation-studio

ok · v2.11.0

HRIS canonical-field normalization + multi-membership cohort resolution + identity dedup (union-find) + recipe-derived dimensions + versioned pack publishing.

schema: segmentation_studiocontracts: 44latency: 111ms

Resolve the engineering-and-west cohort (returns memberIds).

POST /api/spokes/segmentation-studio/cohorts/resolve · requires service key

curl -sS -X POST "https://people-analytics-toolbox.vercel.app/api/spokes/segmentation-studio/cohorts/resolve" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOOLBOX_SERVICE_KEY" \
  -d '{
  "criteria": {
    "include": [
      { "dimensionKey": "department", "operator": "in", "values": ["engineering"] },
      { "dimensionKey": "region",     "operator": "in", "values": ["west"] }
    ]
  }
}'

calculus

ok · v1.14.0

Statistical enrichment (Wilson / normal / t / bootstrap CIs), trend classification, MetricEnvelope shape, metric × segment combinatorial factory, time-series imputation, anomaly detection.

schema: calculuscontracts: 16latency: 116ms

Classify a periods array as rising / stable / falling with OLS slope.

POST /api/spokes/calculus/stats/trend · requires service key

curl -sS -X POST "https://people-analytics-toolbox.vercel.app/api/spokes/calculus/stats/trend" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOOLBOX_SERVICE_KEY" \
  -d '{
  "periods": [
    { "period": "2025-Q1", "value": 70 },
    { "period": "2025-Q2", "value": 75 },
    { "period": "2025-Q3", "value": 80 }
  ]
}'

factor-models

ok · v0.4.0

schema: factor_modelscontracts: 9latency: 115ms

forecasting

ok · v1.4.0

Monte Carlo simulation + VOI / EVPI / EVSI decision-tree analysis. Deterministic seeded PRNG.

schema: forecastingcontracts: 8latency: 125ms

Run a 1,000-trial Monte Carlo over a single normal-distributed variable.

POST /api/spokes/forecasting/monte-carlo/run · requires service key

curl -sS -X POST "https://people-analytics-toolbox.vercel.app/api/spokes/forecasting/monte-carlo/run" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOOLBOX_SERVICE_KEY" \
  -d '{
  "tenantId": "__operator_demo__",
  "trials": 1000,
  "model": {
    "variables": { "x": { "shape": "normal", "mean": 100, "sd": 15 } },
    "expression": "x"
  }
}'

workforce-planning

ok · v0.5.0

schema: workforce_planningcontracts: 17latency: 126ms

anycomp

ok · v1.44.0

Compensation models, band placement, percentile-based recommendation engine, audit-trailed comp cycles.

schema: anycompcontracts: 25latency: 126ms

Evaluate one employee against the seeded compensation model.

POST /api/spokes/anycomp/evaluate · requires service key

curl -sS -X POST "https://people-analytics-toolbox.vercel.app/api/spokes/anycomp/evaluate" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOOLBOX_SERVICE_KEY" \
  -d '{
  "modelId": "<seed-model-id>",
  "employees": [
    { "employeeId": "E1", "dimensionValues": { "job_level": "L4" }, "currentPay": { "base": 150000 } }
  ]
}'

metrics-catalog

ok · v1.1.0

schema: metrics_catalogcontracts: 4latency: 127ms

org-graph

ok · v1.1.0

schema: org_graphcontracts: 9latency: 136ms

job-family-agent

ok · v1.2.0

Reserved namespace. Canonical home is meta-factory-prod; toolbox is a consumer, not a co-owner.

schema: job_family_agentcontracts: 10latency: 136ms

Health-only — canonical home for this capability is meta-factory-prod.

GET /api/spokes/job-family-agent/health · public read

curl -sS "https://people-analytics-toolbox.vercel.app/api/spokes/job-family-agent/health"

manager-effectiveness

ok · v1.2.0

schema: manager_effectivenesscontracts: 6latency: 134ms

wage-benchmark

down · v0.4.0

schema: wage_benchmarkcontracts: 3latency: 145ms

wage-compliance

ok · v0.17.0

schema: wage_compliancecontracts: 31latency: 145ms

worker-resolution

ok · v1.0.0

schema: worker_resolutioncontracts: 2latency: 147ms

principia-connector

ok · v0.0.0

schema: principia_connectorcontracts: 0latency: 146ms

glass-ox

ok · v0.1.0

schema: glass_oxcontracts: 4latency: 146ms

Composable in practice

Composable example: metric × segment grid

calculus's factory composes envelopes from multiple spokes in one POST. Each cell of the grid joins a metric, a segment ID from segmentation-studio, and a period; calculus enriches with CI / z-score / percentile / change-rate; the ranked list is metadata-driven (impact, significance, change, recency, sample-size).

curl -sS -X POST https://people-analytics-toolbox.vercel.app/api/spokes/calculus/factory/build \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOOLBOX_SERVICE_KEY" \
  -d '{
    "metricKeys": ["engagement_score","completion_rate"],
    "segmentIds": ["pat5-node-engineering","pat5-node-sales"],
    "periods":    ["2026-Q1"],
    "valuesProvider": [
      {"metricKey":"engagement_score","segmentId":"pat5-node-engineering","period":"2026-Q1","value":82,"sampleSize":120,"previousValue":78},
      {"metricKey":"engagement_score","segmentId":"pat5-node-sales",       "period":"2026-Q1","value":74,"sampleSize":80, "previousValue":76},
      {"metricKey":"completion_rate", "segmentId":"pat5-node-engineering","period":"2026-Q1","value":0.62,"sampleSize":120,"previousValue":0.55},
      {"metricKey":"completion_rate", "segmentId":"pat5-node-sales",       "period":"2026-Q1","value":0.58,"sampleSize":80, "previousValue":0.60}
    ],
    "rankingStrategy": "impact"
  }'

Access & discovery

Live contract registry
/api/registryJSON inventory of every spoke and contract.
Aggregate health
/api/healthRoll-up status + per-spoke latency.
Per-spoke health
/api/spokes/<slug>/healthSchema reachability + contract version.
MCP gateway
POST /api/mcpJSON-RPC transport for AI-native consumers. Auth: TOOLBOX_MCP_KEY_<consumer>.
Service-key header
x-toolbox-service-key: $TOOLBOX_SERVICE_KEYRequired on POST endpoints. Authorization: Bearer also accepted (backwards-compat).
Metric-market surface
/metric-marketCard workbench composing calculus + segmentation-studio (PAT-21).
Comp range builder
/anycomp-range-builderBand simulation + governance flags + Monte Carlo budget (PAT-21-FU).
Decision-wizard surface
/decision-wizardKepner-Tregoe + VOI flow composing forecasting + calculus (PAT-22).
Insight Player surface
/feedPaced, gestural mobile feed sequencing Insight Cards across all spokes (PAT-35).