Skip to content

Instantly share code, notes, and snippets.

@solap
solap / rules-architecture.html
Last active February 21, 2026 20:52
Rules Architecture - formatted for Google Docs
<h1>Rules Gadget Architecture</h1>
<h2>Executive Summary</h2>
<p>The Curriculum Rules feature adds four capabilities to the Kuali Platform&#39;s rules system:</p>
<ol>
<li><strong>Token-based rule authoring</strong> — PMs author rules at the <strong>product level</strong> (shared across all gadgets in a product) and at the <strong>per-gadget level</strong> using token types. 8 built-in types (<code>{courses}</code>, <code>{number}</code>, <code>{excluding}</code>, etc.) are code-level constants that cover most cases; PMs can also create custom tokens. Rules use natural-language text with <code>{token}</code> placeholders (<code>&quot;Complete {number} of {courses:electives}&quot;</code>). Product Admins can create their own custom rules using available tokens, and extend with their own token definitions.</li>
<li><strong>Standard Rules protection</strong> — PM-created rules (product-level and per-gadget) are marked <code>isKualiRule: true</code>. Product Admins can reorder, hide, or edit surrounding text, but