Builds the bot from a validated leaf package, with every session's graph checked against its own manifest.
Builds the bot from a validated leaf package, with every session's graph checked against its own manifest.
This is the difference between "the manifest says these bytes are a kcp-13 position model" and "the graph this session loaded is the graph that manifest describes". ModelPackage.load proves the first; only a loaded session can prove the second, and a host that constructs the bot from paths has no way to reach the sessions it owns.
The leaf's extractor comes from its manifest's feature schema, so the pairing cannot be got wrong either. Hooks configured through options bring their own manifests when they were built by fromPackage; one configured by path alone is opened unchecked, exactly as before.