Skip to content

Rulvar API reference


Rulvar API reference / @rulvar/rulvar / FinishContract

Interface: FinishContract

Defined in: packages/core/dist/index.d.ts

What finishContract builds from a manifest. The whole bundle is DEEPLY frozen (cycle 74): the nested manifest objects, the sections array, the validators array, and each validator object, so a post construction mutation throws instead of silently diverging behavior from the journaled contract hash.

Properties

PropertyModifierTypeDescriptionDefined in
goldenAcceptreadonlyFinishValidationInputA generated fixture every contract validator accepts.packages/core/dist/index.d.ts
goldenReject?readonlyFinishValidationInputA generated fixture at least one contract validator rejects. Absent when the manifest carries only upper bounds, because an empty result is then legitimately acceptable.packages/core/dist/index.d.ts
goldenRejectsreadonlyreadonly FinishContractGoldenReject[]One reject golden PER contract validator (cycle 74), in validator order, each verified at construction; boundary sharp where a boundary is mechanically safe (the words fixture sits exactly one word outside the bound), the empty text otherwise.packages/core/dist/index.d.ts
hashreadonlystringsha256 hex over the JCS serialization of the normalized manifest.packages/core/dist/index.d.ts
manifestreadonlyFinishContractManifestThe normalized manifest (defaults applied), deeply frozen.packages/core/dist/index.d.ts
promptLinesreadonlyreadonly string[]The contract statement for the model, one demand per line.packages/core/dist/index.d.ts
validatorsreadonlyFinishValidator[]The stock validators enforcing the manifest; names are 'contract-*'. The array and each validator object are frozen at runtime (the type stays mutable for source compatibility), so an in-place pop or a validate() swap throws instead of silently weakening what the hash promises.packages/core/dist/index.d.ts