Skip to content

Rulvar API reference


Rulvar API reference / @rulvar/plan / RevisionGuards

Class: RevisionGuards ​

Defined in: packages/plan/src/guards.ts:112

The guard state machine. All counting inputs arrive from pure folds (the caller feeds landed revisions, severs, and re-adds in journal order), so live and replay converge on identical verdicts; the caller journals each verdict BEFORE applying its effects.

Constructors ​

Constructor ​

ts
new RevisionGuards(options?): RevisionGuards;

Defined in: packages/plan/src/guards.ts:125

Parameters ​

ParameterType
options?RevisionGuardsOptions & { maxOscillationsPerKey?: number; stallReplanCap?: number; }

Returns ​

RevisionGuards

Accessors ​

planFrozen ​

Get Signature ​

ts
get planFrozen(): boolean;

Defined in: packages/plan/src/guards.ts:162

True once a terminating fallback engaged: the plan is frozen for adaptation.

Returns ​

boolean


revisionsRejected ​

Get Signature ​

ts
get revisionsRejected(): boolean;

Defined in: packages/plan/src/guards.ts:167

True when further plan_revise calls are rejected outright.

Returns ​

boolean


stallReplanExhausted ​

Get Signature ​

ts
get stallReplanExhausted(): boolean;

Defined in: packages/plan/src/guards.ts:247

Returns ​

boolean


state ​

Get Signature ​

ts
get state(): GuardsState;

Defined in: packages/plan/src/guards.ts:153

Returns ​

GuardsState

Methods ​

absorbVerdict() ​

ts
absorbVerdict(value): void;

Defined in: packages/plan/src/guards.ts:252

Rebuilds guard state from a journaled verdict (replay path).

Parameters ​

ParameterType
valueGuardVerdictValue

Returns ​

void


isFrozenSignature() ​

ts
isFrozenSignature(approachSigCoarse): boolean;

Defined in: packages/plan/src/guards.ts:222

True when further re-adds of this coarse signature are frozen.

Parameters ​

ParameterType
approachSigCoarsestring

Returns ​

boolean


onReAdd() ​

ts
onReAdd(approachSigCoarse): 
  | GuardVerdictValue
  | undefined;

Defined in: packages/plan/src/guards.ts:201

Feeds one admitted add of this coarse signature; a re-add after a sever counts one oscillation ACROSS LTID boundaries. Returns the freeze verdict to journal when the per-key limit is reached.

Parameters ​

ParameterType
approachSigCoarsestring

Returns ​

| GuardVerdictValue | undefined


onRevisionLanded() ​

ts
onRevisionLanded(effectiveDroppedStreak): 
  | GuardVerdictValue
  | undefined;

Defined in: packages/plan/src/guards.ts:175

Feeds one landed revision's effective streak; returns the verdict to journal when the limit is reached (single-shot).

Parameters ​

ParameterType
effectiveDroppedStreaknumber

Returns ​

| GuardVerdictValue | undefined


onSevered() ​

ts
onSevered(approachSigCoarse): void;

Defined in: packages/plan/src/guards.ts:189

Feeds a severing cancel/abandon of a node with this coarse signature.

Parameters ​

ParameterType
approachSigCoarsestring

Returns ​

void


onStallReplan() ​

ts
onStallReplan(): 
  | GuardVerdictValue
  | undefined;

Defined in: packages/plan/src/guards.ts:234

Consumes one stall-triggered replan slot; returns the cap verdict when the hard per-run bound is exhausted (single-shot per call site).

Returns ​

| GuardVerdictValue | undefined


oscillationCountOf() ​

ts
oscillationCountOf(approachSigCoarse): number;

Defined in: packages/plan/src/guards.ts:226

Parameters ​

ParameterType
approachSigCoarsestring

Returns ​

number


verdictJson() ​

ts
static verdictJson(value): Json;

Defined in: packages/plan/src/guards.ts:268

Serializes a verdict for the journal append.

Parameters ​

ParameterType
valueGuardVerdictValue

Returns ​

Json