Skip to Content
DocsOntologyEntities (Workbench Meta)

Entities (Workbench Meta)

Namespace: https://ecosystem.ai/ontology/entities#

These classes map to Mongo collections (and embedded deployment config) managed in Workbench2. The Project is the hub; other entities attach via asset arrays and foreign keys.

Project hub

ClassPref labelDefinition
ProjectProjectHub that groups predictors, frames, dynamic engagements, offer matrices, campaigns, agents, and deployment steps

Key properties: projectId, projectDescription, purpose, projectType (a label, not the classifier), projectOwner, engagementKind (dynamic | static | hybrid)

engagementKind is derived from hasDynamicEngagement, hasPredictor, hasFeatureStoreFrame, and each deployment step’s scoringMode. A stored projectType such as recommender or algorithm does not decide the kind. dynamic_recommender is the review canonical label for a dynamic project. It is still not the classifier.

Dynamic, static, and hybrid

Example projectStored projectTypeengagementKindWhy
outreach_message_recommenderdynamicdynamicDynamic engagement links, no predictors, no feature-store frames. The label agrees.
dynamic_recommender_convergencerecommenderdynamicSix dynamic engagements and no static models. The label does not agree.
sample_credit_hybridsolution_templatehybridStatic steps and predictors together with dynamic engagement steps.

Spend Personality and Money Personality are lookup-only. They are not Dynamic Engagement approaches and they are not learningAlgorithm values. PostScoreSpendingPersonality (including generated PostScoreSpendingPersonality_* copies) and PostScoreMoneyPersonality copy precomputed scores from whatever database and collection the deployment lookup points at. Any store is valid when the document has the fields that post-score reads.

On spend_personality, the spend_personality and money_personality deployments are lookup-only, while dynamic_recommender_behavior is dynamic engagement. options.is_multi_armed_bandit does not turn a personality plugin into a dynamic step. The collection names on one installation are examples, not required names.

Spend lookup fields: personality, personality_score, and when present trait and trait_score. Optional dimensions include Experiential, Extrovert, Enthusiastic, Industrious, Intentional, and Introvert.

Money lookup fields: money_personality or personality, money_trait or trait, a matching score (money_personality_score or personality_score), and dimension fields such as conservative, carefree, adventurous, borrower, cautious, indulger, prudent, and adventurer.

Static models

ClassCollection / roleDefinition
FrameframesTraining or reference H2O / data frame
PredictorpredictionsPrediction case (AutoML / model parms); uses a Frame

Key properties: frameId; predictId, modelId; link usesFrame

Dynamic engagement

ClassDefinition
DynamicEngagementOnline learning / bandit config (dynamic_engagement)
FeatureStoreRefDB + collection for customer/context lookup
OptionsStoreRefOptions / arms store (alpha, beta, rewards)

Key properties: engagementName, learningAlgorithm, behavioralType

learningAlgorithm is randomisation.approach and must be one of the Dynamic Engagement dropdown values: epsilonGreedy, binaryThompson, naiveBayes, QLearning, behaviorAlgos, Network.

behavioralType is randomisation.sub_approach. Set it only when learningAlgorithm is behaviorAlgos: lossAversion, riskAversion, prospectTheory, sentimentalEquilibrium, coverageAwareThompson, longTailBoostMF, generative. generative is a behavioral type, not a top-level approach.

Links: hasFeatureStore, hasOptionsStore

Offer catalog

ClassDefinition
OfferMatrixFirst-class offer catalog (offer_matrix) with spec, version, status
OfferMatrixEntrySingle offer row — fixed six fields for runtime scoring

See Offer Matrix for the canonical row JSON.

Campaigns & contacts

ClassDefinition
CampaignBinds patron sources, offer matrices, recommender deployments
ContactCatalogCatalog of contact sources (contacts_catalog)
ContactRecordIndividual contact / patron document
ChannelProfileDelivery channel for ecogentic / engagement
AgentConfigEcogentic agent (agent_configs)

Supporting assets

ClassTypical collection
DataConnectiondata_connections
Promptprompt_library
FactInjectionConfigchat_config
Calendarcalendar
Simulationsimulation
ResponderConfigresponder_config
Dashboardanalytics dashboards
EnrichmentPipelineenrichment pipelines
DeploymentStepEmbedded on Project — pushed to runtime. scoringMode is dynamic, static, or lookup. stepType is the stored label and does not override scoringMode.
SpendPersonalityLookupLookup document copied by PostScoreSpendingPersonality. Collection is per installation.
MoneyPersonalityLookupLookup document copied by PostScoreMoneyPersonality. Collection is per installation.
PropertyFrom → ToWorkbench field
hasPredictorProject → Predictorproject_predictors
hasFrameProject → Frameproject_models
hasFeatureStoreFrameProject → Framefeature_stores (static H2O frames; leave empty on a dynamic project)
hasDynamicEngagementProject → DynamicEngagementproject_dynamic_interactions
hasOfferMatrixProject → OfferMatrixproject_offer_matrices
hasCampaignProject → Campaignproject_campaigns
hasAgentProject → AgentConfigproject_agents
hasDeploymentStepProject → DeploymentStepdeployment_step
hasPromptProject → Promptproject_prompts
hasCalendarProject → Calendarproject_calendars
hasSimulationProject → Simulationproject_simulations
hasResponderConfigProject → ResponderConfigproject_api_configs
hasFactInjectionConfigProject → FactInjectionConfigproject_fact_injection_configs
hasDataConnectionProject → DataConnectionpresto_connections
linkedToProjectContactCatalog → Projectproject_ids
usesOfferMatrixCampaign → OfferMatrixcampaign actions
belongsToCatalogContactRecord → ContactCatalog—

Full tables (every class and property): Entities Catalog · Concept Index

Last updated on