schema: https://ver.cy/spec/docs/schemas/object-description-profile.v1.schema.json version: 1.0.0-draft status: draft name: Vercy whole-object description profile purpose: >- Prevent a subject meta-model from silently reducing an object to contextual metadata by requiring an explicit decision about identity, direct properties, recognition, capabilities, possible actions and context. applicability: allowed: - required - optional - not-applicable - delegated notApplicableRequires: reason delegatedRequires: - targetModelId - targetVersion - targetSpecification - relation facets: identity-class: covers: - identifier - master-system - taxonomy - class-boundary - whole-part-structure - instance-distinguishing-feature direct-properties: covers: - intrinsic-attribute - geometry - dimension - material - mass - volume - density - colour - texture - pose - integrity - hardness - fragility - measurable-limit rule: Select only properties relevant to the object's class and use. recognition-observation: covers: - distinctive-signature - confusing-neighbour-class - observation-method - measurement - confidence - recognition-evidence capabilities-behaviour-actions: covers: - capability - behaviour - current-state - state-transition - possible-action - precondition - required-tool - effect - reversibility - permission - constraint - hazard - failure-mode context-evidence: covers: - origin - maker - owner - location - trade - installation - use - maintenance - relationship - applicable-rule - event - provenance - uncertainty - time observedValue: requiredWhenApplicable: - value - unit - observedAt - observationMethod - provenance timestamp: RFC3339 with seconds and timezone optional: - tolerance - uncertainty - confidence rules: - Abstract objects MUST NOT receive invented physical properties. - Physical or observable objects MUST NOT omit direct properties silently. - Context MUST NOT substitute for direct description or recognition evidence. - Capability, behaviour, state, transition and possible action MUST remain distinct. - Released specifications are immutable; coverage changes use a patch, extension or new version. validation: failWhen: - facet applicability is absent - not-applicable has no reason - delegated has no pinned target - measured value omits required observation metadata - unknown is represented as fact