textual-notation-of-model/packages/methods/de4sdv/de4sdv_method_conformance.sysml

0 view(s) · 35 declared member(s)

Source

1/* DE4SDV method-conformance kernel vocabulary (Lane B).2 *3 * Typed model-resident vocabulary for method-contract objects and4 * evaluation scopes, per the frozen conformance baseline (Sections 6-7)5 * and the accepted Package A specification (docs/method-conformance/).6 *7 * Representation decision (frozen baseline Section 7: "the first8 * implementation increment must choose and prove its native9 * representation"): the contract schema is materialized as model-resident10 * records — item definitions carrying typed attributes — so the contract11 * and the INC-AEBS-009D pilot scope are real API-queryable objects, not12 * prose. Every declaration here is classified in the ontology/kernel13 * contract (approach/framework/ontology/de4sdv-basic-ontology.yaml).14 *15 * Boundary: this file defines method vocabulary only. The concrete16 * INC-AEBS-009D pilot scope usage lives beside its verification slice in17 * the AEBS package; no phase-specific populations, thresholds, or18 * obligations live here.19 */20package DE4SDV_MethodConformance {2122  private import ScalarValues::*;23  private import Metaobjects::SemanticMetadata;24  private import DE4SDV_MethodProcess::*;2526  /* Evaluation-source kinds from the frozen baseline Section 7 schema:27     pinned model record | pinned repository artifact | live delivery adapter. */28  enum def EvaluationSourceKind {29    doc /* The kind of input an obligation reads: a pinned model record, a pinned30           repository artifact, or a live delivery adapter (outside deterministic31           V1 evaluation). */32    pinnedModelRecord {33      doc /* The obligation reads a pinned model record at the bound API revision. */34    }35    pinnedRepositoryArtifact {36      doc /* The obligation reads a pinned, digest-identified repository artifact. */37    }38    liveDeliveryAdapter {39      doc /* The obligation reads a live delivery projection; outside deterministic V1 evaluation. */40    }41  }4243  /* One typed method-contract obligation. Attributes mirror the frozen44     baseline Section 7 schema exactly; status conditions bind to explicit45     allowed-value vocabularies (no example literals such as 'approved'). */46  item def MethodContractObligation {47    doc /* A typed model-resident method-contract obligation: stable explicit48           identifier, phase reference, typed subject selector, restricted49           applicability, population policy, pinned predicate with declared50           input/output types, target filters, per-subject cardinality bounds,51           requiredness, evaluation source, optional attestation-policy52           reference, and exact claim boundary. Model materialization of the53           frozen baseline Section 7 schema. */54    attribute obligationId : String;55    doc /* Stable explicit identifier; unique in the selected method. */56    attribute phase : MethodPhase;57    doc /* Reference to an existing MethodPhase literal; never a phase-specific Python branch. */58    attribute subjectSelector : String;59    doc /* Typed selection from the declared evaluation scope; no free-text inference. */60    attribute applicability : String;61    doc /* Restricted typed condition over pinned model/configuration data. */62    attribute minimumPopulation : Natural;63    attribute permittedEmpty : Boolean;64    doc /* Explicit permitted-empty disposition; an empty population without it is not a pass. */65    attribute predicate : String;66    doc /* Pinned ontology predicate identifier with declared input/output types. */67    attribute targetFilter : String;68    doc /* Typed conditions on returned targets, not implicitly on subjects. */69    attribute cardinalityMinimum : Natural;70    attribute cardinalityMaximum : Natural;71    doc /* Integer bounds over distinct qualifying targets per applicable subject. */72    attribute required : Boolean;73    doc /* Whether failure blocks this declared contract scope. */74    attribute evaluationSource : EvaluationSourceKind;75    attribute attestationPolicyRef : String;76    doc /* Policy identity required when acceptance/approval is part of the obligation; may be empty. */77    attribute claimBoundary : String;78    doc /* Exact claim supported when this obligation passes. */79  }8081  /* An evaluation scope binds increment identity, root subjects with82     eligible types, population policy, and explicit exclusions with83     rationale (frozen baseline Section 6). Contribution set and evaluation84     scope are distinct sets. */85  part def MethodEvaluationScope {86    doc /* An evaluation scope binding increment identity, eligible subject types,87           and explicit exclusions. Contribution set and evaluation scope are88           distinct sets; membership in evaluation scope is a reviewed scope89           decision, not an inferred impact claim. */90    attribute incrementId : String;91    doc /* Owning increment identifier, e.g. an INC-<SUBJECT>-<SEQ> record identity. */92    attribute subjectType : String;93    doc /* Eligible subject API metaclass for this scope; subjects of other types are rejected. */94  }9596  /* Explicit membership of one subject in an evaluation scope: the97     "contributes" relation of the frozen baseline Section 6. Membership in98     evaluation scope is a reviewed scope decision, not an inferred impact99     claim. */100  item def EvaluationScopeMembership {101    doc /* Explicit membership of one subject in an evaluation scope, carrying the102           contributes flag that separates the contribution set from reused103           evaluation-scope members. */104    attribute scopeId : String;105    doc /* Stable explicit identifier of the owning scope. */106    attribute subjectId : String;107    doc /* Stable explicit identifier (declaredShortName) of the subject element. */108    attribute contributes : Boolean;109    doc /* True when the increment introduces or changes the subject (contribution set); false for reused scope members. */110  }111112  /* A candidate evaluation declares the tested scope it compares evidence113     against (provenance fingerprint fields from the retained records). */114  item def TestedScopeDeclaration {115    doc /* A candidate evaluation's declaration of the tested scope it compares116           retained evidence against: execution head and pinned profile117           identities (conservative scope-equality inputs). */118    attribute executionHead : String;119    doc /* Full Git SHA the retained execution records were produced at. */120    attribute profileIdentities : String;121    doc /* Comma-separated pinned profile identities of the declared tested scope. */122  }123124  /* Reference to one retained execution record: explicit external identity125     with digest and provenance; bytes stay external. */126  item def RetainedExecutionRecordReference {127    doc /* A model-resident reference to one retained execution record with128           explicit external identity, artifact path, digest, and run identity;129           record bytes stay external. */130    attribute recordId : String;131    attribute artifactPath : String;132    attribute sha256 : String;133    attribute runId : String;134  }135136  /* Reference to the authorization policy and, where present, the137     attributable acceptance decision. Policy status (proposed vs approved)138     is carried by the policy document, not by this reference. */139  item def AcceptanceAttestationReference {140    doc /* A model-resident reference to the authorization policy and the141           machine-declared decision-registry location. Policy status (proposed142           vs approved) is carried by the policy document, not by this reference;143           a missing registry and a known-empty registry are different states. */144    attribute policyRef : String;145    doc /* Resolvable policy identity; an unresolvable identity is a contract error downstream. */146    attribute decisionRegistryPath : String;147    doc /* Machine-declared decision-registry location; missing and known-empty registries are different states. */148  }149150  doc /* Method-conformance vocabulary: model-resident contract objects so151       obligations, scopes, and evidence references are API-queryable at a152       bound revision. Phase-specific populations and thresholds are model153       data in feature slices, never Python constants. */154}155