Function: defineUnifiedRule()
August 8, 2026 ยท View on GitHub
@plures/praxis / index / defineUnifiedRule
Function: defineUnifiedRule()
defineUnifiedRule(
rule):UnifiedRule
Defined in: src/unified/rules.ts:33
Define a rule that watches graph paths and auto-evaluates.
Parameters
rule
The unified rule descriptor with id, watch, description, and evaluate
Returns
The rule descriptor unchanged (identity function โ used for type inference)
Example
const sprintBehind = defineRule({
id: 'sprint.behind',
watch: ['sprint/current'],
evaluate: (values) => {
const sprint = values['sprint/current'];
if (!sprint) return RuleResult.skip('No sprint');
const pace = sprint.currentDay / sprint.totalDays;
const work = sprint.completedHours / sprint.totalHours;
if (work >= pace) return RuleResult.retract(['sprint.behind']);
return RuleResult.emit([fact('sprint.behind', { pace, work })]);
}
});