Part II — SBVR ↔ CMCC in Practice: Rules That Enforce Themselves
Business‑rule pioneer Ronald Ross insists a rule is not real until it is practicable. CMCC takes that as its starting gun: turn the rule into a column and it is already practiced. The structure defines what can be meant long before anyone worries about phrasing — in English, German, or JSON.
CMCC in one line The Conceptual Model Completeness Conjecture says any computable business truth — or indeed any domain fact — can be expressed loss‑lessly using just five declarative primitives: Schema, Data, Look‑ups, Aggregations, Lambda fields.
Part I — SBVR, RuleSpeak & the CMCC — When Business Rules Stop Talking and Simply Are
1 · From whiteboard to Airtable in one move
In the first article we claimed that those five primitives — Schema, Data, Look‑ups, Aggregations, Lambda fields — are enough to capture any business truth. That claim is easy to make in theory; the real test is whether a rule survives contact with day‑to‑day messiness.
To find out, we took a clause that could have come straight from an SBVR workshop — multiple modalities, time windows, prohibitions, and an exception driven by product capacity — and tried to break CMCC with it.
2 · Why practicable is the hinge
RuleSpeak’s gold standard is a rule a human can act on “at the moment of need.” CMCC assumes that benchmark has already been met and records the rule as data, so that execution, testing, and explanation collapse into the same act. When a product owner asks “what happens if we drop the spend threshold from $250 to $200?” you change one cell and watch the Booleans ripple through the graph — no refactoring, no parser, no guessing.
Get eejai42’s stories in your inbox
Join Medium for free to get updates from this writer.
Internationalisation becomes a side‑effect: because the meaning is stored, not spoken, you can surface the rule in Japanese, Spanish, or Markdown without risking drift.
3 · The stress test
We wrote the nastiest clause we could imagine:
- Applies only to renewals processed on or after 1 July 2025.
- Grants a free upgrade if the customer is Gold or Platinum, spent ≥ $250 per month on average for the previous 12 months, did not opt out of promotions, and has no high‑risk churn alert in the last 30 days — but only if the predictive‑analytics model that raised the alert is itself certified Operational.
- The upgrade is blocked if the Premium Plus tier is marked capacity‑constrained.
- Finally, a standing prohibition says a customer can hold no more than one promotional upgrade at a time.
By decomposing the clause into CMCC’s five primitives we turned each threshold, date, and exception into its own column — every derived value defined with nothing heavier than an IF() expression.
4 · Key results of the decomposition
- Tiny lambdas, big clarity. Each
F_field now references at most two local values. No loops, no hidden workflows, just simple conditionals.** EachF_field now references at most two local values. No loops, no hidden workflows, just simple conditionals. - Policy as data. A single PolicyRuleConfig record holds the dates, dollar amounts, and look‑back windows. Tweaking the rule means editing data, not rewriting logic.
- Eligibility becomes a fact. The Boolean
F_isEligibleForLoyaltyUpgradeisn’t a trigger; it’s a truth the system can observe. Anything downstream—workflow, UI badge, nightly batch—reacts to that truth in real time. - Mini‑case proof. An Airtable pilot converted 37 RuleSpeak sentences into 213 atomic fields and sailed through QA with zero parser bugs — evidence that CMCC holds under fire.
5 · What we learned
- Atomic inference = vocabulary term. Every
F_…Boolean is a bona‑fide SBVR fact type, only now it lives in the database instead of the meeting minutes. - Consistency by construction. Because each field is either stored or derived, logical contradictions can’t sneak in; Airtable (or Postgres, or Neo4j) refuses them outright.
- Audit trail for free. The running dataset is the ledger. If
F_isEligible…flips from true to false you can trace the exact cell change that caused it. - Parser drift disappears. No “shall” versus “must,” no operator‑precedence debates. Structure first, prose second.
6 · A glance at the round‑trip
Because the model is language‑free, generating RuleSpeak sentences is a templating exercise. The same CMCC export can feed:
- an English SBVR glossary for the compliance team,
- a German policy manual for the EU branch, and
- JSON for the integration tests —
— all without double‑entry or lost nuance.
7 · Open questions
- Field explosion: how far can namespaces and composable views tame a model with thousands of atomic facts?
- Temporal snapshots: what’s the best pattern for recording history without cloning the whole graph?
- Computational universality: a recent proof sketch shows S‑D‑L‑A‑F can emulate both λ‑calculus and Rule 110, suggesting CMCC is functionally complete — but how does that play with performance and governance?
- Standards: should the next SBVR release include a formal CMCC annex?
8 · Next experiments
- Publish the Airtable ↔ SBVR‑JSON round‑trip video.
- Invite practitioners to post their gnarliest clauses for a live decomposition session.
Takeaway
If a rule doesn’t flip from red to green the instant a single field changes, it isn’t really practicable. CMCC makes that behaviour table‑stakes.
References & Further Reading
- Completeness: Codd to Turing, to Gödel, to… Me?
This is where I first laid out the CMCC — the idea that just five declarative primitives (Schema, Data, Lookups, Aggregations, Formulas) are enough to express any finite business rule. It’s both a tribute and a challenge to the giants whose shoulders we stand on. - Datomic — Time-Traveling Data, Immutable Semantics
A deep dive into how Datomic nails seven out of ten CMCC criteria — including time travel and immutable facts — and what’s still missing for a perfect score. If you’re looking for a real-world system that comes close to the ideal, start here. - MDE Monday #2: Live or Locked? Unifying Design-Time and Run-Time in One Model
One of the biggest frictions in semantic negotiation is the gap between what we design and what actually runs. This piece shows how CMCC collapses that gap — live rules, live snapshots, zero drift. - Prove Me Wrong: Every Idea in the Universe Melts into These 5 Primitives
I asked skeptical LLMs to break the five-primitives conjecture with the most bonkers rules they could invent. They failed. If you’re wondering how far this idea stretches, this is where we pressure-test its limits. - The Five-Piece Rulebook
A skeptical friend tried to poke holes in CMCC, but ended up modeling the absurd with it. This conversational piece breaks it down in lay terms — perfect for sharing with folks outside the data-nerd echo chamber.
Join the ssotme:// Protocol
The rulebook is not the code. It’s the source of truth.
Versioned. Declarative. Collaborative. Like Git — but for business logic.
- Install the CLI:
npm install ssotme/cli - Website: EffortlessAPI.com
- Contact: start@anabstractlevel.com
#CMCC #SBVR #BusinessRules #RulebookNotCode #LiveModels #DeclarativeGovernance #SemanticExecution #StructureOverSyntax #RulesThatRun











