Base model and version: none — these are deterministic numerical
estimators, not LLMs. Implementations live under
libs/nous/preference-inference/src/{bradley-terry,thurstone-mosteller,plackett-luce,gaussian-process,neural-ranker}.ts.
Purpose: convert a stream of pairwise / ranking preference observations
from the pairwise-preference-ranker into a
calibrated UtilityModel artifact (posterior mean, standard error, credible
interval per alternative, plus comparison count) that agreement-search kernels
can consume without reaching back into LLM scoring.
Intended use cases (Concordia use-case classes): all 14
ConcordiaUseCaseClass values. The fitters are LLM-free, deterministic, and
side-effect-free; the only routing constraint is that observations feeding the
fit must themselves come from a model card permitted for the use-case class.
Out-of-scope uses: never used as standalone preference inference without
the §179.3.2.6 abstention gate (abstention-gate.ts). Abstention, refusal,
redline-blocked, and non-tradeable observations are excluded from the fit by
the gate so optimizer selection cannot launder a refusal into a ranking.
Training data summary: none — these are estimators, not learned models.
Per-fit inputs are PairwiseObservation / RankingObservation records with a
non-negative weight; the calibration is purely on the observations the fit
sees.
Fine-tuning: not applicable.
Prompt family: not applicable.
Concordia-specific customization:
Bradley-Terry (bradley-terry.ts): MAP under isotropic Gaussian prior
θ ∼ N(0, I/λ); Newton-Raphson with backtracking line search;
Davidson-style tie handling; observation weights scale per-pair
log-likelihood.
Thurstone-Mosteller (thurstone-mosteller.ts): probit link; Newton on
the log-posterior with the same prior and tie treatment.
Plackett-Luce (plackett-luce.ts): rank-form likelihood for ranking
observations of length ≥ 2; same Gaussian prior.
Gaussian-process preference (gaussian-process.ts): RBF kernel over
alternative-feature embeddings supplied by the caller.
Neural utility ranker (neural-ranker.ts): single-layer MLP with
pairwise log-loss; deterministic seed, fixed batch size, no GPU.
Input schema:PairwiseObservationSchema and RankingObservationSchema
from libs/nous/preference-inference/src/utility-model.ts. Fit options
schema: FitOptionsSchema (tol 1e-7, maxIterations 500, l2 1e-3, seed
0xC0_11_AB_01, credibleMass 0.95).
Output schema:UtilityModelFit mapped to the contract surface via
toContractUtilityModel. Per alternative: posterior mean, posterior standard
error, central credible interval at the configured mass, comparison count.
Deterministic settings used in production: all five fitters are
deterministic: fixed seed for initialization and tie-breaking, fixed Hessian
ordering, and (for line search) a fixed step-size sequence. Reproducibility
manifest pins the fit options and observation set hash.
Data visibility at the model: alternative ids and the pairwise / ranking
outcomes the abstention gate has admitted. Snippet content, party-private
fields, and reviewer annotations are not visible to the fitter; only the
structured outcomes are.
Per-party isolation: §179.5.1.1 isolation enforced upstream; the fitter is
per-party by construction (one fit per party id).
Training-data reuse eligibility: fits are not "training data" — the fit
artifact is consumed by optimizers in the same case. If a fit is exported as
part of a derived dataset, it follows §179.5.5.5 training-data governance.
Zero-retention mode: the fitter is in-process and emits no telemetry
beyond the orchestrator audit event; eligible for zero-retention routing.
Secure-enclave / confidential-compute posture: §179.5.1.4
enclave-eligible. Today the fit runs in the same process as the orchestrator;
enclave isolation is a roadmap item.
Hard-boundary coverage: observations originating from a
hard-boundary-violating candidate are refused upstream by the candidate-filter
gate. The fitter never sees them.
Adversarial robustness: weight scaling for unstable pairs (down-weighted
by 1 - stabilityFlagFraction) reduces the influence of preferences flagged
unstable in §179.3.2.4.
Coercive-choice refusal: not applicable at this layer.
Prompt-injection resistance: not applicable — no LLM call.
Protected-class disparate treatment: the fitter is identity-agnostic; the
upstream fairness-profiles.ts ensures profiles do not encode protected-class
disparate treatment.
Power-asymmetry handling: BATNA enters only via the fairness-metric layer
(fairness-metrics.ts Nash product, KS distance, egalitarian welfare) and is
sanity-checked by batna-plausibility.ts.
Language / locale coverage: language-agnostic at this layer.
Bradley-Terry / Thurstone-Mosteller require non-zero L2 prior for
identifiability without anchor constraints; the default l2 = 1e-3 is a small
bias toward zero.
GP-preference and neural-ranker need caller-supplied feature embeddings.
Misconfigured embeddings (e.g., zero-vector) will produce uninformative
posteriors; the unit tests enforce a non-degenerate input.
Tie handling uses Davidson-style half-credit; this is a modeling choice
consistent with the literature but may be wrong for cases where ties signal
genuine indifference rather than equal preference.
Required reviewers when this model is used: none triggered by the fitter
itself. Reviewer routing is determined by the use-case class and the
abstention / redline observations present in the input.
Escalation triggers specific to this model: Newton non-convergence after
maxIterations is reported as a fit-quality incident; the workbench surfaces
it and routes the case to the operator queue.
Mediator-assist vs autonomous use: the fitter is always part of the
mediator-assist pipeline; the routing decision (assist vs autonomous) happens
at the case level in §179.7.6.3.
EU AI Act Article 11 / Annex IV alignment: the fitter is deterministic and
reproducible; the manifest pins seed, options, and observation hash. Article
11 documentation requirements satisfied at this layer.
JAMS AI Rules expert-inspection readiness: all numerical settings pinned;
expert can re-run the fit byte-identically given the recorded options and
observations.
NIST AI RMF harm coverage: H3 (interpretability) and H4 (fairness)
primarily. H1/H2 inherit from the upstream LLM ranker.