@pelayo2010/recommendation-engine
v1.0.0
Published
ConfÍA Core — recommendation-engine (motor de recomendaciones agnóstico de dominio: matching, ranking, políticas, explicabilidad y auditoría)
Maintainers
Readme
@pelayo2010/recommendation-engine
Motor de recomendaciones reutilizable de ConfÍA Core. Agnóstico del dominio:
opera sólo con Entity, EntityKind, Provider, Catalog,
RecommendationContext, señales, políticas, capacidades y configuración.
import {
createRecommendationEngine,
buildCatalog,
} from "@pelayo2010/recommendation-engine";
const engine = createRecommendationEngine({
id: "mi-dominio",
version: "1.0.0",
entityKinds: ["service"],
signals: [{ id: "urgency", source: { type: "parameter", parameter: "urgency" } }],
matching: { rules: [{ id: "area", attribute: "areas", operator: "includesAny", contextAttribute: "area", weight: 3 }] },
ranking: {
factors: [
{ id: "match", weight: 3, source: { type: "matching" } },
{ id: "trust", weight: 1, source: { type: "trust" } },
],
},
});
if (engine.ok) {
const plan = engine.value.recommend({ catalog, context });
}- Configuración, no código: un dominio nuevo se añade escribiendo una
RecommendationConfiguration; el motor no se modifica nunca. - Trust opcional: sin
trust.provider, los factores de confianza se omiten y el resultado es idéntico al de una configuración sin ellos. - Determinista: reloj inyectado (
context.requestedAt), orden canónico (score desc,entityIdasc), huella FNV-1a estable. - Explicable:
MatchingExplanation,RankingExplanationyRecommendationExplanationpor códigos cerrados, sin texto libre. - Auditable: puerto
RecommendationAuditoropcional e inerte por defecto.
Dependencias: @pelayo2010/types (sólo tipos). Cero dependencias externas.
