Bounded excerpts

A bounded excerpt commits object id and kind for at most 64 objects from a parent image. Creating an excerpt always has the parent image, so the created inclusion is included.

Examplets
import { createBoundedExcerpt, verifyBoundedExcerpt } from '@knolo/core/composition';
Terminalsh
knolo compose excerpt --image knowledge.knolo --object <id> --out excerpt.json

excerptRoot follows the same rule as the other composition roots: the stored field is not part of its own preimage. compose verify runs verifyBoundedExcerpt on each bundled excerpt file.

A foreign digest-bound excerpt can still be verified without its parent. Supplying the parent for a digest-bound excerpt does not upgrade it. Upgrading a digest commitment to material bytes changes compositionRoot when those bytes were not already committed.

An excerpt is not a new image and it does not change the parent stateRoot.