0.1.0
The contract and the registry, on their own.
Added
MontyPlugin—describe/0as a behaviour:name,kind,version,placement,needs; the three kinds and the two placements;conforms?/1, which answers:okor names the first field that a cluster cannot use.MontyPlugin.Registry— providers by kind and by name over:pg, one scope per deployment (PLUGIN_SCOPE), switched off withPLUGIN_DISCOVERY=none, and an unusable description reported with its field rather than offered.lookup/3asks for a name on a named node, which is the question an:owner_onlyplugin asks: a policy that reads a B-rep has to be called where the part was opened, and the answer when it is not there names the nodes that do offer it.MontyPlugin.Application— starts the:pgscope the registry uses, unlessPLUGIN_DISCOVERY=none; a host application adds nothing.A two-node test — a plugin offered on a peer node is found here with its description, and one withdrawn there leaves the list here.
Nothing here knows about geometry, Monty, or a CAD file: it is the part of a cluster that a policy, a learning module and an experiment have in common.