Capabilities¶
Recipe BC Capabilities. A Capability is the operations-layer template that declares WHAT an operation provides: the Affordances any wired Asset's Families must cover (required_affordances), the parameter contract any binding Method must be a structural subset of (parameter_schema), and which executor kinds may bind (executor_shapes — closed v1 enum {METHOD, PROCEDURE}). Methods bind to one Capability via capability_id; at define_plan time, every wired Asset's Families' affordances must cover the bound Method's Capability's required_affordances (otherwise PlanAffordancesNotSatisfiedError, 409). Capabilities are cross-facility vocabulary: codes are namespaced cora.capability.* (closed core) with cora.capability.<facility>.* available for site-specific extensions. See Model for the aggregate shape.
Closed core (v1)¶
| Code | Name | Binds Methods | Notes |
|---|---|---|---|
cora.capability.tomography |
Tomography | tomography, streaming_tomography, continuous_rotation_tomography, mosaic_tomography |
The canonical synchrotron-CT science technique. Direct analogue to NeXus NXtomo / PaNET tomography. Executor shape: METHOD. |
cora.capability.acquisition |
Acquisition | first_light, dark_baseline, flat_baseline |
The operational primitive for frame-stack capture. Distinct from tomography — acquisition is the bare "produce frames" primitive (NeXus NXscan analogue); tomography is the specific rotational-projection technique on top. |
cora.capability.alignment |
Alignment | resolution_alignment, focus_alignment, center_alignment, roll_alignment, pitch_alignment |
Iterative tuning toward a target metric. Each Method is a distinct step in the rotation-axis alignment chain; the Capability is the shared operational primitive (iterate-observe-adjust). |
cora.capability.calibration |
Calibration | alignment_calibration |
Empirical measurement of system constants (motor sensitivities, beam profiles, encoder offsets). Distinct from alignment — calibration measures constants, alignment consumes them. |
cora.capability.maintenance |
Maintenance | motor_homing, hexapod_reboot |
One-shot setup, recovery, and ceremony operations with no scientific Dataset output. Currently exercised via both METHOD (recipe-ladder anchoring) and PROCEDURE (ISA-106 step-by-step ceremony executor) shapes. |
Naming conventions¶
cora.capability.<snake_case>— lowercase, regex^[a-zA-Z0-9_-]{1,64}$(matches MCP / OpenAI / Anthropic tool-name constraints so the unprefixed tail can be exposed verbatim on agent tool surfaces).- Noun or gerund only, never verb. Verbs belong at the Affordance (
-ableadjective) or agent-tool layer (get_*,read_*). Capability names describe what an operation provides. - One word when a community shorthand exists (
tomography,alignment,acquisition); head-noun-lastsnake_casecompound only when one word is genuinely ambiguous (e.g., futureenergy_scanvs ambiguous bareenergy). - Artifacts and milestones are NOT Capabilities.
baselineis a Dataset kind;first_lightis a milestone (the Method captures the operational acquisition, the milestone-name stays only because the synchrotron community universally calls it that). Data-reduction steps (e.g.,flat_field_correction) live in external pipelines, not as CORA Methods.
Catalog governance¶
- Closed core under
cora.capability.*, withcora.capability.<facility>.*available for site-specific extensions on demand (FHIR/LOINCstatus+replaced_byprecedent). - Status FSM
Defined → Versioned → Deprecated; deprecated codes carry optionalreplaced_by_capability_idfor cross-version lineage. executor_shapesis REQUIRED non-empty at definition. Closed v1 set:{METHOD, PROCEDURE}. A Capability may declare both.- Adding a value is additive only — deprecate-and-replace, never remove. Replay safety.
Pending in code¶
cora.capability.energy_scan— Method-binding forenergy_changestyle scans (currentlyenergy_changebinds totomography).cora.capability.steering— Method-binding for closed-loop autonomous-CTadjust_runflows.
Related¶
- Methods — the Method catalog, with each Method's Capability binding in the second column.
- Affordances — the closed 28-item primitive set Capabilities declare as
required_affordances. - Glossary — Capability vs Family vs Affordance vs Method distinctions.