You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CFE-4681: Complete timer_policy support for classes: promises
- Flip default timer_policy to "absolute" (PRESERVE) for backward
compatibility: classes: promises historically skip re-evaluation
when the class is already defined, so the timer was never reset.
- Bypass the ExpandDeRefPromise skip when timer_policy is explicitly
set to "reset" with persistence > 0, allowing the promise to reach
VerifyClassPromise so the DB timer can be updated.
- Add second-layer bypass in VerifyClassPromise for the case where
EvalClassExpression returns false (class already in context) but
timer_policy is "reset" — write the DB entry to reset the timer.
- Clean up acceptance tests: use imported bodies (in_shell, always),
regline() instead of returnszero+grep, $(G.testdir), files promises
with delete => tidy, and add test metadata.
- Add timer_policy_reset acceptance test verifying the timer resets
across agent runs.
Ticket: CFE-4681
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ConstraintSyntaxNewContext("not", "Evaluate the negation of string expression in normal form", SYNTAX_STATUS_NORMAL),
227
227
ConstraintSyntaxNewContextList("select_class", "Select one of the named list of classes to define based on host identity. Default value: random_selection", SYNTAX_STATUS_NORMAL),
228
228
ConstraintSyntaxNewContextList("xor", "Combine class sources with XOR", SYNTAX_STATUS_NORMAL),
229
+
ConstraintSyntaxNewOption("timer_policy", "absolute,reset", "Whether a persistent class restarts its counter when rediscovered. Default value: absolute", SYNTAX_STATUS_NORMAL),
0 commit comments