Skip to content

rulvar API reference


rulvar API reference / @rulvar/plan / RevisionGuards

Class: RevisionGuards

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

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:94

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:112

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:117

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:197

Returns

boolean


state

Get Signature

ts
get state(): GuardsState;

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

Returns

GuardsState

Methods

absorbVerdict()

ts
absorbVerdict(value): void;

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

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:172

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:151

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:125

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:139

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:184

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:176

Parameters

ParameterType
approachSigCoarsestring

Returns

number


verdictJson()

ts
static verdictJson(value): Json;

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

Serializes a verdict for the journal append.

Parameters

ParameterType
valueGuardVerdictValue

Returns

Json