Machine-readable contracts
Every discoverable framework primitive exposes a PrimitiveContract
(drtoller.framework.capability).
Fields (summary)
Section titled “Fields (summary)”| Field | Role |
|---|---|
id / kind / version |
Stable identity |
name / description |
Human text |
inputs / outputs |
Generic I/O types (composition) |
parameters |
Typed param specs (required/default) |
capabilities |
Flags derived from runtime registries |
compatible_with |
Compact kind:id consumers (catalog 1.1+) |
mode_package / engine_packages / algorithm_packages |
Package hints for modes/patterns |
documentation_ref |
Optional source hint |
Not every field is required for every kind. Algorithms carry rich params; storage backends emphasize capability flags; patterns may have empty I/O lists.
Single source of truth
Section titled “Single source of truth”Contracts are derived from existing registries (MetricMethod,
EvaluationMethod, backend helpers, optional AlgorithmMethodInfo on
register_embed_method / register_cluster_method).
Do not maintain a parallel hand-written catalog that can drift from runtime.
Contributor requirement
Section titled “Contributor requirement”When you register a new algorithm, metric, evaluation method, backend, or pattern, ensure it appears correctly in:
drtoller inspect --kind algorithmdrtoller inspect <id> --kind algorithm --format jsonSee Registries and the Framework Extension SDK.