Skip to content

Rulvar API reference


Rulvar API reference / @rulvar/core / AdmitRejectReason

Type Alias: AdmitRejectReason

ts
type AdmitRejectReason = 
  | {
  code:   | "depth"
     | "quota"
     | "budget"
     | "lifetime"
     | "termination_exhausted"
     | "ladder_exceeds_frozen"
     | "lineage_exhausted"
     | "lineage_busy";
}
  | {
  code: "osc_guard";
  oscillationCount: number;
  spawnKey: SpawnKey;
}
  | {
  admittedChildren: number;
  code: "roster_floor";
  floor: number;
  liveExposureUsd: number;
  perSeatProjectionUsd: number;
  remainderUsd: number;
  seatsRemaining: number;
}
  | {
  agentType: string;
  childAccount: string;
  childCeilingUsd: number;
  code: "reserve_exceeds_budget";
  estCostUsd: number;
  message: string;
  minimumBudgetUsd: number;
  resolvedReserveUsd: number;
};

Defined in: packages/core/src/orchestrator/admission.ts:116

The merged reject-code set.

Union Members

Type Literal

ts
{
  code:   | "depth"
     | "quota"
     | "budget"
     | "lifetime"
     | "termination_exhausted"
     | "ladder_exceeds_frozen"
     | "lineage_exhausted"
     | "lineage_busy";
}

Type Literal

ts
{
  code: "osc_guard";
  oscillationCount: number;
  spawnKey: SpawnKey;
}

Type Literal

ts
{
  admittedChildren: number;
  code: "roster_floor";
  floor: number;
  liveExposureUsd: number;
  perSeatProjectionUsd: number;
  remainderUsd: number;
  seatsRemaining: number;
}
NameTypeDescriptionDefined in
admittedChildrennumber-packages/core/src/orchestrator/admission.ts:143
code"roster_floor"The sequential roster feasibility refusal (RV2005): under a declared acceptance.minSpawnedChildren, the whole remaining roster (priced at this seat's own projection) plus the live in-flight exposure does not fit the parent remainder, so the FIRST infeasible seat refuses before any child is paid. The batchGate symmetry (RV1908) on the seat-by-seat path the parity rerun's model actually took, where three seats were paid in full under a floor of four the money could never reach.packages/core/src/orchestrator/admission.ts:141
floornumber-packages/core/src/orchestrator/admission.ts:142
liveExposureUsdnumber-packages/core/src/orchestrator/admission.ts:146
perSeatProjectionUsdnumber-packages/core/src/orchestrator/admission.ts:145
remainderUsdnumber-packages/core/src/orchestrator/admission.ts:147
seatsRemainingnumber-packages/core/src/orchestrator/admission.ts:144

Type Literal

ts
{
  agentType: string;
  childAccount: string;
  childCeilingUsd: number;
  code: "reserve_exceeds_budget";
  estCostUsd: number;
  message: string;
  minimumBudgetUsd: number;
  resolvedReserveUsd: number;
}
NameTypeDescriptionDefined in
agentTypestring-packages/core/src/orchestrator/admission.ts:159
childAccountstring-packages/core/src/orchestrator/admission.ts:160
childCeilingUsdnumber-packages/core/src/orchestrator/admission.ts:163
code"reserve_exceeds_budget"The declared estimate cannot fit the child's own ceiling: the host said the work costs more than the budget buys, so the op is bounced with the actionable correction BEFORE it changes plan state or consumes a spawn unit (the v1.7.0 follow-up review's P1). Heuristic reserves never produce this code; they clamp to the allowance instead.packages/core/src/orchestrator/admission.ts:158
estCostUsdnumber-packages/core/src/orchestrator/admission.ts:161
messagestring-packages/core/src/orchestrator/admission.ts:165
minimumBudgetUsdnumber-packages/core/src/orchestrator/admission.ts:164
resolvedReserveUsdnumber-packages/core/src/orchestrator/admission.ts:162