Reference
evo-change-pipeline.shapes
SHACL Shapes (3)
| Shape | Label | Target class | Properties |
|---|---|---|---|
| evo:CommitShape | Commit shape | evo:Commit | 5 |
| evo:DeploymentShape | Deployment shape | evo:Deployment | 4 |
| evo:MergeRequestShape | Merge-request shape | evo:MergeRequest | 4 |
Commit shape
Validates evo:Commit instances. Anchors auto-link (E2 v0.7 MUST), rogue-commit detection (E4 Wave 2 per Nael-6 relocation), and dogfood rate (D08 v0.7 / evoQ:ChangeLinkRatioShape ≥ 0.80).
Target class: evo:Commit
| Property path | Constraint | Cardinality | Validation message |
|---|---|---|---|
| dcterms:identifier | xsd:string · 1 | 1..evo:Commit MUST carry dcterms:identifier (commit SHA-1 or SHA-256 hex). | |
| rdfs:label | xsd:string · 1 | 1..evo:Commit MUST carry rdfs:label (commit message subject line). | |
| prov:generatedAtTime | xsd:dateTime · 1 | 1..evo:Commit MUST carry prov:generatedAtTime (authored-at timestamp, xsd:dateTime). | |
| prov:wasAttributedTo | sh:IRI · 1 | evo:Commit MUST carry prov:wasAttributedTo (author agent IRI) — PROV-O inheritance...* | |
| prov:wasInformedBy | sh:IRI · 0 | evo:Commit SHOULD carry prov:wasInformedBy pointing at a decision-activity (prov:Activity, typically the ADR authoring activity) or a requirement instance — absence triggers rogue-commit detection (E4 §3.3). Post-ADR-053: evo:Decision retired; consumers type decision-activities as prov:Activity directly...* |
Deployment shape
Validates evo:Deployment instances. Binds a deploy event to its target environment per arch-delta §3.2.1 evo:targetEnvironment predicate (DCAT DataService reuse).
Target class: evo:Deployment
| Property path | Constraint | Cardinality | Validation message |
|---|---|---|---|
| dcterms:identifier | xsd:string · 1 | 1..evo:Deployment MUST carry dcterms:identifier (deploy run ID). | |
| prov:generatedAtTime | xsd:dateTime · 1 | 1..evo:Deployment MUST carry prov:generatedAtTime (deploy-wallclock timestamp). | |
| prov:used | 1 · evo:Commit | evo:Deployment MUST prov:used at least one evo:Commit (the commit actually deployed)...* | |
| evo:targetEnvironment | 1 · 1 | dcat:DataService..evo:Deployment MUST bind evo:targetEnvironment to a dcat:DataService (target environment per arch-delta §3.2.1 cross-cutting predicate). |
Merge-request shape
Validates evo:MergeRequest instances. Aggregates commits under review; carries review provenance + decision binding.
Target class: evo:MergeRequest
| Property path | Constraint | Cardinality | Validation message |
|---|---|---|---|
| dcterms:identifier | xsd:string · 1 | 1..evo:MergeRequest MUST carry dcterms:identifier (MR number / PR number). | |
| rdfs:label | xsd:string · 1 | 1..evo:MergeRequest MUST carry rdfs:label (MR title). | |
| prov:used | 1 · evo:Commit | evo:MergeRequest MUST prov:used at least one evo:Commit (commits under review)...* | |
| prov:wasAttributedTo | sh:IRI · 1 | evo:MergeRequest MUST carry prov:wasAttributedTo (author + reviewer agents)...* |
SPARQL example
# List all shapes and their target classes PREFIX sh: <http://www.w3.org/ns/shacl#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?shape ?label ?target WHERE { ?shape a sh:NodeShape ; rdfs:label ?label . OPTIONAL { ?shape sh:targetClass ?target } } ORDER BY ?label