Rulvar API reference / @rulvar/core / ToolsetAttestation
Interface: ToolsetAttestation
Defined in: packages/core/src/tools/toolset-hash.ts:124
A recorded toolset pin (RV1514): the aggregate toolsetHash a spawn must resolve to, plus optional per-tool contract hashes that turn a mismatch refusal into a named diff (changed / missing / unexpected). Record one with attestToolset; declare it as AgentProfile.toolsetAttestation. Provider-side drift of an imported tool's description or schema re-keys new spawns silently by design; an attested profile turns exactly that drift into a typed refusal at spawn time, before any provider call.
Properties
| Property | Type | Description | Defined in |
|---|---|---|---|
authority? | Record<string, ToolAuthority> | Per-tool authority records; enables the field-naming diff (RV1802). | packages/core/src/tools/toolset-hash.ts:137 |
authorityHash? | string | The expected aggregate authority hash (RV1802). Absent on a legacy contract-only pin, which keeps its documented posture: authority drift (risk, needsApproval, executor, executorSpec) passes it silently; re-record with attestToolset to upgrade. | packages/core/src/tools/toolset-hash.ts:135 |
hash | string | The expected aggregate toolsetHash (64 lowercase hex chars). | packages/core/src/tools/toolset-hash.ts:126 |
tools? | Record<string, string> | Per-tool contract hashes by tool name; enables the named diff. | packages/core/src/tools/toolset-hash.ts:128 |