constraint-models

Author, deploy, and diagnose Salesforce Revenue Cloud Constraint Modeling Language bundle rules.

Updated Sep 23, 2026
One-click install
npx skills add https://github.com/drgaciw/rlm-base-dev-fork --skill constraint-models-drgaciw
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: constraint-models
Source: https://github.com/drgaciw/rlm-base-dev-fork/tree/main/.cursor/skills/constraint-models
Command: npx skills add https://github.com/drgaciw/rlm-base-dev-fork --skill constraint-models-drgaciw

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Constraint model changes in Revenue Cloud often appear to deploy successfully yet never take effect in the configurator, and missing association records cause products to fail Product Validation with no clear error pointing at the model. This Skill explains the file layout, the four records every bundle member needs, and the deactivate-import-activate cycle required to make a CML change actually reach an org. ## Core Features & Use Cases - CML Authoring Guidance: Edit .ffxblob artifacts correctly, keep reference .cml copies byte-identical, and understand that scripts/cml/*.cml is documentation only. - Bundle Member Wiring: Add products to configurable bundles with all four required records — PRC row, type/relation in the model, and ESC Type plus Port associations. - Deployment Diagnostics: Discover active models per org, cycle Expression Set versions after import, and verify deployment headlessly via the Product Configurator configure action. - Use Case: You add a product to the QuantumBit bundle, run import_cml successfully, but the configurator still behaves the old way — this Skill walks you through deactivating and reactivating the version and validating the rebuilt runtime model. ## Quick Start Ask the agent to add a product to a configurable bundle's constraint model and verify the change reaches the configurator.

Frequently Asked Questions about constraint-models

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a product to a Revenue Cloud configurable bundle?▼

Adding a bundle member requires four records: a ProductRelatedComponent row, a type and relation in the CML blob, an ESC Type association, and an ESC Port association. Missing the Type association makes the product appear in the bundle then fail Product Validation.

Why did my constraint model change not take effect after import?▼

import_cml uploads the blob but does not redeploy the model when the target version is already Active. You must deactivate then reactivate the Expression Set version, then exercise the configurator to prove the runtime model was rebuilt.

Should I edit the .cml file or the .ffxblob in Revenue Cloud constraints?▼

Edit the .ffxblob — it is plain-text CML source and is the artifact import_cml uploads verbatim. The scripts/cml/*.cml files are reference copies only; editing them changes nothing in any org.

How do I verify a constraint model deployed correctly?▼

Reading ConstraintModel back only proves the upload was stored, since import_cml writes that same field. Prove deployment by POSTing the Product Configurator configure action with executeConfigurationRules: true and checking for solverStatus success.

Why does a Port association fail to resolve during import_cml?▼

Sequence is part of the ProductRelatedComponent composite key, and import_cml matches against records queried from the target org, not the SFDMU plan on disk. Query the org for the actual PRC row and align the sequence, then rerun cleanly.

Can multiple constraint models be active at once in one org?▼

Yes, but only one model per family may be active — for QuantumBit exactly one of Bundle, Complete, or PCM. Unrelated models like Server2 are active alongside it, so discover what is active per family before deactivating anything.