InstructionLease
Interface: InstructionLease
Defined in: src/core/agent/toolEffects.ts:300
One granted require-instruction lease. Validity is COMPUTED, never
mutated: 'next-call' serves exactly the Evaluate pass of
iteration + 1; 'until-skill-exit' serves every pass while the tenant
that granted it (skillId) still holds the tenure.
Death is PERMANENT, and the Evaluate tenure sweep is what makes it so:
skillId === tenant alone cannot tell "still holding the tenure" from
"re-entered the skill later" (a cyclic graph makes both real), so the
Evaluate stage prunes dead leases on EVERY pass — the same pass a tenure
ends, the leases it granted leave the record, and a cursor that comes back
finds nothing to resurrect. The tool-calls stage also prunes when it
appends a new grant (keeps mid-batch arrays tight), but the sweep is the
law's owner: it runs whether or not anything new was granted.
Properties
deliveryLease
readonlydeliveryLease:InstructionDeliveryLease
Defined in: src/core/agent/toolEffects.ts:302
instructionId
readonlyinstructionId:string
Defined in: src/core/agent/toolEffects.ts:301
iteration
readonlyiteration:number
Defined in: src/core/agent/toolEffects.ts:311
The ReAct iteration whose batch granted it.
skillId?
readonlyoptionalskillId?:string
Defined in: src/core/agent/toolEffects.ts:306
The tenure that granted it (advanced cursor, else the activation tail);
absent when no tenant existed at grant. 'until-skill-exit' compares
the CURRENT tenant against this — both-undefined still matches.
toolCallId?
readonlyoptionaltoolCallId?:string
Defined in: src/core/agent/toolEffects.ts:309
toolName
readonlytoolName:string
Defined in: src/core/agent/toolEffects.ts:308
The granting tool — provenance for the record.
