Skip to main content
Developer Tier· the math, in full

Consecrated · Developer

Show your work.

For researchers and integrators. The full GASPS engine — Bayesian posteriors, system fitness, integration coefficient, archetype boundaries, immutable result snapshots, public API. Nothing is hidden because nothing should be.

01 / System Fitness

One scalar. Four levers.

Every result run produces a single L value summarizing the singer's overall growth state. It rewards integration and average sphere health, penalizes imbalance, and bounds the load.

L = 2Φ + SII − 1 − I
Φ — integration coefficient
1 − (max sphere − min sphere). Range [0, 1]. Body, mind, spirit drift apart → Φ falls.
SII — system integration index
Average of the three sphere scores. Range [0, 1].
I — imbalance index
Population standard deviation across all 35 stabilized node means. Higher = more fragmented.
L — system fitness
Theoretical range [-1, 3]; in practice [0, 2]. Persisted on every result run.
02 / Posteriors

Bayesian Beta(2, 2) prior. Per node.

Each of the 35 nodes carries an independent posterior. Prior is Beta(2, 2) — a gentle pull toward 0.5 with no observations. Posterior tightens as observations accumulate. Variance falls; confidence rises.

Family
α
β
Posterior μ
Variance σ²
Grounding
7 nodes · region averaged
12.4
4.8
0.721
0.0091
Alignment
7 nodes · region averaged
9.7
6.1
0.614
0.0148
Support
7 nodes · region averaged
5.2
7.4
0.413
0.0192
Placement
7 nodes · region averaged
11.0
5.5
0.667
0.0123
Style
7 nodes · region averaged
13.8
3.6
0.793
0.0083
Posterior μ = α / (α + β). Variance σ² = αβ / [(α + β)² · (α + β + 1)]. Stability label assigned by mean threshold (fragile / unsteady / stable / resilient / vital).
03 / API

Five endpoints. Every shape documented.

Same surface the dashboard runs on. Result snapshots are immutable; interpret runs against any historical run.

POST/api/scoreRun the scoring pipeline. Reads all historical responses for the user, runs Bayesian stabilization across 35 nodes, computes domain/sphere/system metrics, writes immutable result_runs row.
POST/api/interpretGenerate plain-language interpretation from a result run. Takes runId. Returns title + 3-paragraph narrative tagged to top focus areas.
GET/api/result-runs/:runIdFetch a single result run with all 35 node scores, sphere scores, archetype, system fitness. Read-only after creation.
POST/api/voice-analyzeSubmit a voice recording. Returns extracted features (pitch stability, harmonic ratio, formant clarity, vibrato extent) and per-node contributions.
POST/api/growth-planGenerate or update a 7-day growth plan based on the singer's current top focus areas.
04 / Contracts

The shapes you'll work with.

// gasps-scorer · canonical types

export interface RawResponse {
  nodeId: string
  channel: 'perceived' | 'measured' | 'observed'
  value: number          // normalized 0..1
  confidence: number     // 0..1
  sphereWeight: SphereVec
}

export interface NodeScore {
  nodeId: string
  nodeKey: string        // e.g. 'grounding_b'
  familyId: string
  regionId: string
  rawMean: number
  normalized: number
  stabilizedMean: number // Bayesian posterior μ
  variance: number       // Bayesian posterior σ²
  observationCount: number
  stabilityLabel:
    | 'fragile'
    | 'unsteady'
    | 'stable'
    | 'resilient'
    | 'vital'
}

export interface ResultRun {
  id: string
  userId: string
  createdAt: string
  archetype:
    | 'sterile_precision'
    | 'chaotic_fervor'
    | 'disembodied_vision'
    | 'consecrated_center'
    | 'early_formation'
  systemFitness: number      // L
  imbalanceIndex: number     // I
  integrationCoefficient: number  // Φ
}

Researcher / integrator

Request access.

Developer access is by request. Tell us what you're building. We'll send keys.