Twelve of the thirteen artifacts that declared nothing now declare what they define, together with the map-assigned concepts the Organization Model was missing and the Landscape seed concepts the extractor cannot see because they are listed rather than defined in prose. The ownership index grows from 164 entries to 750, undeclared prose definitions fall from 637 to 57, and there are no ownership conflicts. The 57 that remain are overlaps this round assigned to another owner: imports, each recorded in a boundary review. The kernel map declares nothing, deliberately, because it assigns concepts to owners rather than defining them. It is now the only silent artifact and the suite asserts that, so an artifact added without declarations fails. itc-org:Authority is declared, with Actor, Ownership, Membership, Role, Responsibility and Accountability, which SecurityCanon and the identity model already treat as organization-owned. The regression test that previously asserted the blind spot now asserts that the kernel map's assignment and the declaration agree. Profile is deliberately left undeclared. The kernel map assigns it to Core, the identity model owns it under accepted CUST-ADR-006, and Observability defines a runtime performance profile. Three senses need a decision, not a declaration, so it is recorded as open rather than forced. Eleven boundary reviews are added beside the artifacts they describe, in the shape the identity model has used since INFO-WP-0021. The largest finding is that Core and the Information Space model restate eight provenance concepts in nearly identical words; Core owns them and Information Space imports. Label, Drift, Summary and Attribute are resolved by disambiguation rather than transfer. make check passes with 50 tests, clean validation, no stale generated assets. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: opus Assistant-Process: 3588@bnt-lap001 Assistant-Session: 24b80f66-e5a7-4e61-99fe-2d422e6d17da
2474 lines
50 KiB
Markdown
2474 lines
50 KiB
Markdown
---
|
|
owned_concepts:
|
|
- AgentExecutionEvidence
|
|
- AgentGeneratedPatch
|
|
- AgentReview
|
|
- Artifact
|
|
- ArtifactDigest
|
|
- ArtifactVersion
|
|
- Attestation
|
|
- Branch
|
|
- ChangeFailure
|
|
- CodeReview
|
|
- CodingAgentChange
|
|
- Commit
|
|
- ContainerImage
|
|
- DeliveryMetric
|
|
- DeploymentExecution
|
|
- DeploymentHealthSignal
|
|
- DeploymentManifest
|
|
- DeploymentPlan
|
|
- DeploymentRecord
|
|
- DeploymentVerification
|
|
- DevSecOpsEntity
|
|
- EnvironmentPromotion
|
|
- FeedbackLoop
|
|
- GateDecision
|
|
- HumanSupervisionReference
|
|
- IaCModule
|
|
- Package
|
|
- Pipeline
|
|
- PipelineDefinition
|
|
- PipelineIdentity
|
|
- PipelineJob
|
|
- PipelineResult
|
|
- PipelineRun
|
|
- PipelineStage
|
|
- PipelineStep
|
|
- PolicyGate
|
|
- Promotion
|
|
- Provenance
|
|
- PullRequest
|
|
- QualityGate
|
|
- RecoveryAction
|
|
- Release
|
|
- ReleaseApprovalReference
|
|
- ReleaseCandidate
|
|
- ReleaseNote
|
|
- ReleaseVersion
|
|
- Repository
|
|
- Rollback
|
|
- RolloutStrategy
|
|
- Runner
|
|
- ScanResult
|
|
- ScanRun
|
|
- Signature
|
|
- Software Bill of Materials
|
|
- SourceChange
|
|
- SourceTag
|
|
- SupplyChainEvidence
|
|
- TestResult
|
|
- TestRun
|
|
- TransparencyLogEntry
|
|
- VEXReference
|
|
- VerificationEvidence
|
|
---
|
|
|
|
# InfoTechCanon DevSecOps Model
|
|
|
|
**Short Name:** `ITC-DEVSECOPS`
|
|
**Document Status:** Seed Standard Release Candidate 1
|
|
**Version:** RC1-seed
|
|
**Date:** 2026-05-22
|
|
**Repository Context:** `info-tech-canon`
|
|
**Document Type:** InfoTechCanon Domain Standard
|
|
**Intended Audience:** Platform engineers, DevSecOps teams, release engineers, security architects, software architects, SREs, compliance reviewers, service owners, repository maintainers, CI/CD administrators, agentic coding tool designers, and standards authors.
|
|
|
|
---
|
|
|
|
# 1. Purpose
|
|
|
|
The **InfoTechCanon DevSecOps Model** defines a canonical seed model for representing secure software delivery from source change to build, test, scan, package, attest, sign, release, deploy, verify, observe, and improve.
|
|
|
|
It exists to connect software delivery, supply-chain security, governance evidence, runtime landscape knowledge, security findings, data contracts, and operational feedback without forcing every organization into one CI/CD tool, branching model, release process, or deployment method.
|
|
|
|
This standard provides a canonical vocabulary for:
|
|
|
|
- repositories,
|
|
- branches,
|
|
- commits,
|
|
- pull requests,
|
|
- reviews,
|
|
- build definitions,
|
|
- pipelines,
|
|
- pipeline stages,
|
|
- jobs,
|
|
- steps,
|
|
- pipeline runs,
|
|
- quality gates,
|
|
- policy gates,
|
|
- tests,
|
|
- scans,
|
|
- artifacts,
|
|
- artifact versions,
|
|
- packages,
|
|
- container images,
|
|
- IaC modules,
|
|
- deployment manifests,
|
|
- SBOMs,
|
|
- provenance,
|
|
- attestations,
|
|
- signatures,
|
|
- releases,
|
|
- release candidates,
|
|
- deployments,
|
|
- deployment records,
|
|
- environments,
|
|
- promotion,
|
|
- rollback,
|
|
- verification,
|
|
- delivery metrics,
|
|
- and DevSecOps evidence.
|
|
|
|
---
|
|
|
|
# 2. Position in InfoTechCanon
|
|
|
|
The DevSecOps Model is a **domain standard** within InfoTechCanon.
|
|
|
|
It depends on the existing seed standards as follows:
|
|
|
|
```text
|
|
Landscape = services, software systems, runtime resources, environments, deployments.
|
|
Organization = teams, actors, owners, approvers, maintainers, operators.
|
|
Governance = policies, controls, approvals, exceptions, evidence, assurance.
|
|
Task = work items, reviews, remediation, releases, change tasks.
|
|
Tagging = classification of repos, work, findings, releases, and artifacts.
|
|
Access Control = permissions, grants, sessions, agent access, privileged pipeline actions.
|
|
Security = vulnerabilities, findings, supply-chain security, incidents, mitigations.
|
|
Data = data contracts, schemas, test data, migration data, lineage, data quality.
|
|
DevSecOps = delivery flow, pipeline execution, artifacts, provenance, release, deployment.
|
|
```
|
|
|
|
```text
|
|
InfoTechCanon
|
|
├── InfoTechCanonCore
|
|
├── InfoTechCanonLandscapeModel
|
|
├── InfoTechCanonOrganizationModel
|
|
├── InfoTechCanonGovernanceModel
|
|
├── InfoTechCanonTaskModel
|
|
├── InfoTechCanonTaggingStandard
|
|
├── InfoTechCanonAccessControlModel
|
|
├── InfoTechCanonSecurityModel
|
|
├── InfoTechCanonDataModel
|
|
├── InfoTechCanonDevSecOpsModel <-- this standard
|
|
├── InfoTechCanonNetworkModel
|
|
├── InfoTechCanonObservabilityModel
|
|
├── InfoTechCanonPatternLanguage
|
|
└── Application Profiles
|
|
```
|
|
|
|
---
|
|
|
|
# 3. Boundary with Adjacent Standards
|
|
|
|
## 3.1 Boundary with Landscape
|
|
|
|
The Landscape Model owns:
|
|
|
|
```text
|
|
ApplicationService
|
|
SoftwareSystem
|
|
RuntimeResource
|
|
Environment
|
|
RuntimeWorkload
|
|
NetworkEndpoint
|
|
DeploymentRecord as landscape/runtime history reference
|
|
```
|
|
|
|
The DevSecOps Model owns:
|
|
|
|
```text
|
|
Repository
|
|
Commit
|
|
PullRequest
|
|
Pipeline
|
|
PipelineRun
|
|
Build
|
|
TestRun
|
|
ScanRun
|
|
Artifact
|
|
ArtifactVersion
|
|
SBOM
|
|
Provenance
|
|
Attestation
|
|
Signature
|
|
Release
|
|
DeploymentPlan
|
|
DeploymentExecution
|
|
Promotion
|
|
Rollback
|
|
DeploymentVerification
|
|
```
|
|
|
|
Boundary rule:
|
|
|
|
```text
|
|
DevSecOps owns how changes become artifacts and deployments.
|
|
Landscape owns the runtime system and service context in which deployments exist.
|
|
```
|
|
|
|
## 3.2 Boundary with Security
|
|
|
|
The Security Model owns:
|
|
|
|
```text
|
|
Threat
|
|
Vulnerability
|
|
SecurityFinding
|
|
SupplyChainFinding
|
|
Exposure
|
|
Mitigation
|
|
SecurityIncident
|
|
AttackPath
|
|
SecurityPosture
|
|
```
|
|
|
|
The DevSecOps Model owns the delivery activities and evidence that produce or remediate security-relevant conditions.
|
|
|
|
Examples:
|
|
|
|
```text
|
|
ScanRun generates SecurityFinding
|
|
SBOM evidences ArtifactComposition
|
|
Attestation supports SupplyChainAssurance
|
|
PolicyGate blocks PipelineRun due to SecurityFinding
|
|
```
|
|
|
|
## 3.3 Boundary with Governance
|
|
|
|
The Governance Model owns:
|
|
|
|
```text
|
|
Policy
|
|
Rule
|
|
ControlObjective
|
|
Control
|
|
Decision
|
|
Approval
|
|
Exception
|
|
Assurance
|
|
Review
|
|
RiskAcceptance
|
|
```
|
|
|
|
Evidence and Evidence Source are imported from ITC-EVID.
|
|
|
|
The DevSecOps Model references governance when delivery activity is governed.
|
|
|
|
Examples:
|
|
|
|
```text
|
|
PolicyGate implements Control
|
|
ReleaseApproval approves Release
|
|
Exception waives PolicyGate
|
|
PipelineEvidence supports ControlResult
|
|
```
|
|
|
|
## 3.4 Boundary with Task
|
|
|
|
The Task Model owns:
|
|
|
|
```text
|
|
WorkItem
|
|
Task
|
|
ReviewTask
|
|
ApprovalTask
|
|
RemediationTask
|
|
ChangeTask
|
|
Action
|
|
Outcome
|
|
```
|
|
|
|
DevSecOps may generate, consume, or close work items.
|
|
|
|
Examples:
|
|
|
|
```text
|
|
PullRequest implements Task
|
|
ScanFinding creates RemediationTask
|
|
Release requires ApprovalTask
|
|
DeploymentFailure creates IncidentTask
|
|
```
|
|
|
|
## 3.5 Boundary with Data
|
|
|
|
The Data Model owns:
|
|
|
|
```text
|
|
Schema
|
|
DataContract
|
|
DataQualityRule
|
|
DataLineage
|
|
Dataset
|
|
TestData
|
|
MigrationData semantics
|
|
```
|
|
|
|
DevSecOps owns data-related delivery activities.
|
|
|
|
Examples:
|
|
|
|
```text
|
|
MigrationRun applies DatabaseMigration
|
|
ContractTest validates DataContract
|
|
SchemaCheck validates SchemaEvolutionPolicy
|
|
```
|
|
|
|
## 3.6 Boundary with Access Control
|
|
|
|
Access Control owns pipeline permissions, service-account access, agent access, privilege, grants, and authorization decisions.
|
|
|
|
DevSecOps references those when delivery requires access.
|
|
|
|
Examples:
|
|
|
|
```text
|
|
PipelineIdentity has_permission deploy Environment
|
|
AgentAccess permits CodeModificationAction
|
|
BreakGlassAccess authorizes EmergencyDeployment
|
|
```
|
|
|
|
---
|
|
|
|
# 4. Research Basis and External Alignment
|
|
|
|
This seed standard draws on multiple DevSecOps and software supply-chain bodies of knowledge.
|
|
|
|
## 4.1 DevOps and DORA Metrics
|
|
|
|
DORA software delivery performance metrics provide a widely used measurement vocabulary around deployment frequency, lead time for changes, change failure rate, and failed deployment recovery time. These are valuable delivery-performance mapping targets.
|
|
|
|
## 4.2 SLSA
|
|
|
|
SLSA defines levels and tracks for software supply-chain security, including provenance and build trust. SLSA provenance describes what built an artifact, what process was used, and what inputs were used.
|
|
|
|
## 4.3 in-toto Attestations
|
|
|
|
in-toto provides a framework for software supply-chain integrity and an attestation framework for verifiable claims about how software was produced.
|
|
|
|
## 4.4 SBOM Standards: SPDX and CycloneDX
|
|
|
|
SPDX is an ISO-recognized open standard for communicating software bill of materials and related provenance, license, security, and system metadata.
|
|
|
|
CycloneDX is an OWASP full-stack Bill of Materials standard with supply-chain capabilities for cyber risk reduction, including SBOM and other BOM types.
|
|
|
|
## 4.5 Sigstore and Artifact Signing
|
|
|
|
Sigstore and Cosign provide practical signing and verification mechanisms, including keyless signing and transparency-log-backed verification for artifacts such as container images.
|
|
|
|
## 4.6 OpenSSF Scorecard and Supply-Chain Health
|
|
|
|
OpenSSF Scorecard assesses open-source projects through automated checks covering source code, builds, dependencies, tests, maintenance, and related supply-chain risk indicators.
|
|
|
|
## 4.7 GitHub Actions, GitLab CI, Jenkins, Tekton, Argo CD, Flux
|
|
|
|
Practical CI/CD and GitOps tooling provides mapping targets for pipelines, workflows, jobs, runners, artifacts, environments, deployments, approvals, releases, and GitOps reconciliation.
|
|
|
|
## 4.8 Feature Flagging and Progressive Delivery
|
|
|
|
OpenFeature provides a vendor-agnostic feature flagging API standard. Feature flags and progressive delivery should be represented as delivery mechanisms that may decouple deployment from release.
|
|
|
|
---
|
|
|
|
# 5. Seed Standard Design Stance
|
|
|
|
This standard is a **seed standard**, not a CI/CD implementation manual.
|
|
|
|
It shall:
|
|
|
|
1. define canonical delivery and supply-chain semantics,
|
|
2. distinguish source change, build, artifact, release, deployment, and runtime state,
|
|
3. support secure delivery evidence,
|
|
4. support provenance, attestations, signatures, and SBOMs,
|
|
5. support pipeline policy gates and quality gates,
|
|
6. support manual, automated, GitOps, and progressive delivery models,
|
|
7. support human and agentic code/change workflows,
|
|
8. map to external tools and standards without becoming subordinate to them,
|
|
9. remain markdown-first and agent-retrievable,
|
|
10. and support future assimilation of CI/CD systems, supply-chain standards, and platform practices.
|
|
|
|
---
|
|
|
|
# 6. Scope
|
|
|
|
## 6.1 In Scope
|
|
|
|
This standard covers canonical representation of:
|
|
|
|
- repositories,
|
|
- source branches,
|
|
- commits,
|
|
- tags,
|
|
- pull requests,
|
|
- code reviews,
|
|
- merge events,
|
|
- build definitions,
|
|
- workflows,
|
|
- pipelines,
|
|
- pipeline stages,
|
|
- jobs,
|
|
- steps,
|
|
- runners,
|
|
- pipeline identities,
|
|
- pipeline runs,
|
|
- build runs,
|
|
- test runs,
|
|
- scan runs,
|
|
- quality gates,
|
|
- policy gates,
|
|
- artifacts,
|
|
- artifact versions,
|
|
- packages,
|
|
- container images,
|
|
- deployment manifests,
|
|
- infrastructure-as-code modules,
|
|
- SBOMs,
|
|
- provenance,
|
|
- attestations,
|
|
- signatures,
|
|
- release candidates,
|
|
- releases,
|
|
- release notes,
|
|
- deployment plans,
|
|
- deployment executions,
|
|
- deployment records,
|
|
- environment promotion,
|
|
- rollout strategies,
|
|
- rollback,
|
|
- deployment verification,
|
|
- delivery metrics,
|
|
- and DevSecOps evidence.
|
|
|
|
## 6.2 Out of Scope
|
|
|
|
This standard does not fully define:
|
|
|
|
- source code semantics,
|
|
- all software architecture concepts,
|
|
- all task and issue management,
|
|
- all security vulnerability semantics,
|
|
- all governance control theory,
|
|
- all runtime landscape modeling,
|
|
- all access-control semantics,
|
|
- all observability telemetry models,
|
|
- all package-manager schemas,
|
|
- every CI/CD vendor schema,
|
|
- or every software-development methodology.
|
|
|
|
Those may be mapped, assimilated, profiled, or handled by adjacent standards.
|
|
|
|
---
|
|
|
|
# 7. Normative Language
|
|
|
|
The following terms are used normatively:
|
|
|
|
- **SHALL** indicates a mandatory rule for conformance.
|
|
- **SHOULD** indicates a recommended practice.
|
|
- **MAY** indicates an optional capability.
|
|
- **MUST NOT** indicates a prohibited practice.
|
|
- **SEED** marks a concept defined provisionally here but open to later refinement.
|
|
- **EXTRACT** marks a concept that may later move to a more specialized standard.
|
|
|
|
---
|
|
|
|
# 8. Core Principles
|
|
|
|
## 8.1 Source Is Not Artifact
|
|
|
|
A repository or commit is not the same thing as a built artifact.
|
|
|
|
## 8.2 Artifact Is Not Deployment
|
|
|
|
An artifact version may exist without being deployed.
|
|
|
|
A deployment is an event or execution that makes an artifact active or available in an environment.
|
|
|
|
## 8.3 Deployment Is Not Release
|
|
|
|
Deployment places a change into an environment.
|
|
|
|
Release makes a capability available or active for consumers.
|
|
|
|
Feature flags and progressive delivery may separate deployment from release.
|
|
|
|
## 8.4 Pipeline Definition Is Not Pipeline Run
|
|
|
|
A pipeline definition describes intended automation.
|
|
|
|
A pipeline run is a concrete execution with inputs, outputs, logs, evidence, and result.
|
|
|
|
## 8.5 Evidence Is First-Class
|
|
|
|
Delivery claims SHOULD be supported by evidence such as logs, test results, scan results, SBOMs, provenance, signatures, approvals, and deployment records.
|
|
|
|
## 8.6 Provenance and Attestation Are Distinct
|
|
|
|
Provenance describes origin and build process.
|
|
|
|
Attestation is a verifiable claim about an artifact, process, result, or control.
|
|
|
|
## 8.7 Secure Delivery Requires Identity
|
|
|
|
Pipeline identities, runners, agents, and deployers SHOULD be represented where they affect trust, authorization, and evidence.
|
|
|
|
## 8.8 Policy Gates Are Governance in Delivery
|
|
|
|
Policy gates implement governance rules in delivery workflows but do not own policy semantics.
|
|
|
|
## 8.9 External Tools Are Mapped, Not Obeyed
|
|
|
|
The DevSecOps Model MAY map to GitHub Actions, GitLab CI, Jenkins, Tekton, Argo CD, Flux, SLSA, in-toto, SPDX, CycloneDX, Sigstore, OpenSSF Scorecard, and similar systems.
|
|
|
|
It MUST NOT subordinate its internal semantics to any single tool or standard.
|
|
|
|
---
|
|
|
|
# 9. Canonical Seed Metadata
|
|
|
|
Every DevSecOps artifact SHOULD support structured metadata.
|
|
|
|
Recommended front matter:
|
|
|
|
```yaml
|
|
---
|
|
id: itc-devsecops:PipelineRun
|
|
type: concept
|
|
standard: InfoTechCanonDevSecOpsModel
|
|
standard_version: RC1-seed
|
|
status: candidate
|
|
canonical_owner: InfoTechCanonDevSecOpsModel
|
|
preferred_label: Pipeline Run
|
|
related:
|
|
- itc-devsecops:Pipeline
|
|
- itc-devsecops:ArtifactVersion
|
|
- itc-devsecops:Attestation
|
|
- itc-gov:Evidence
|
|
mappings:
|
|
- itc-map:pipeline-run-to-github-actions-workflow-run
|
|
---
|
|
```
|
|
|
|
Recommended artifact statuses:
|
|
|
|
```text
|
|
idea
|
|
draft
|
|
candidate
|
|
release-candidate
|
|
adopted
|
|
stable
|
|
deprecated
|
|
retired
|
|
```
|
|
|
|
Recommended concept statuses:
|
|
|
|
```text
|
|
proposed
|
|
experimental
|
|
candidate
|
|
canonical
|
|
deprecated
|
|
retired
|
|
```
|
|
|
|
---
|
|
|
|
# 10. Root DevSecOps Taxonomy
|
|
|
|
```text
|
|
DevSecOpsEntity
|
|
├── SourceEntity
|
|
│ ├── Repository
|
|
│ ├── Branch
|
|
│ ├── Commit
|
|
│ ├── SourceTag
|
|
│ ├── PullRequest
|
|
│ ├── MergeEvent
|
|
│ ├── CodeReview
|
|
│ └── SourceChange
|
|
├── PipelineEntity
|
|
│ ├── Pipeline
|
|
│ ├── PipelineDefinition
|
|
│ ├── PipelineStage
|
|
│ ├── PipelineJob
|
|
│ ├── PipelineStep
|
|
│ ├── PipelineRun
|
|
│ ├── Runner
|
|
│ ├── PipelineIdentity
|
|
│ └── PipelineResult
|
|
├── VerificationEntity
|
|
│ ├── TestRun
|
|
│ ├── TestResult
|
|
│ ├── ScanRun
|
|
│ ├── ScanResult
|
|
│ ├── QualityGate
|
|
│ ├── PolicyGate
|
|
│ ├── GateDecision
|
|
│ └── VerificationEvidence
|
|
├── ArtifactEntity
|
|
│ ├── Artifact
|
|
│ ├── ArtifactVersion
|
|
│ ├── Package
|
|
│ ├── ContainerImage
|
|
│ ├── DeploymentManifest
|
|
│ ├── IaCModule
|
|
│ ├── BuildOutput
|
|
│ └── ArtifactDigest
|
|
├── SupplyChainEvidenceEntity
|
|
│ ├── SBOM
|
|
│ ├── Provenance
|
|
│ ├── Attestation
|
|
│ ├── Signature
|
|
│ ├── TransparencyLogEntry
|
|
│ ├── VEXReference
|
|
│ └── SupplyChainEvidence
|
|
├── ReleaseEntity
|
|
│ ├── ReleaseCandidate
|
|
│ ├── Release
|
|
│ ├── ReleaseVersion
|
|
│ ├── ReleaseNote
|
|
│ ├── ReleaseApprovalReference
|
|
│ └── ReleaseStatus
|
|
├── DeploymentEntity
|
|
│ ├── DeploymentPlan
|
|
│ ├── DeploymentExecution
|
|
│ ├── DeploymentRecord
|
|
│ ├── Promotion
|
|
│ ├── RolloutStrategy
|
|
│ ├── Rollback
|
|
│ ├── DeploymentVerification
|
|
│ └── EnvironmentPromotion
|
|
├── RuntimeFeedbackEntity
|
|
│ ├── DeploymentHealthSignal
|
|
│ ├── ChangeFailure
|
|
│ ├── RecoveryAction
|
|
│ ├── DeliveryMetric
|
|
│ └── FeedbackLoop
|
|
└── AgenticDeliveryEntity
|
|
├── CodingAgentChange
|
|
├── AgentGeneratedPatch
|
|
├── AgentReview
|
|
├── AgentExecutionEvidence
|
|
└── HumanSupervisionReference
|
|
```
|
|
|
|
---
|
|
|
|
# 11. Core Concepts
|
|
|
|
## 11.1 DevSecOpsEntity
|
|
|
|
A **DevSecOpsEntity** is any identifiable concept used to represent secure software delivery, automation, artifacts, release, deployment, provenance, verification, or delivery feedback.
|
|
|
|
Recommended attributes:
|
|
|
|
```yaml
|
|
id:
|
|
entity_type:
|
|
canonical_name:
|
|
display_name:
|
|
lifecycle_state:
|
|
source_system:
|
|
created_at:
|
|
updated_at:
|
|
```
|
|
|
|
Optional attributes:
|
|
|
|
```yaml
|
|
owner:
|
|
steward:
|
|
repository:
|
|
environment:
|
|
source_confidence:
|
|
valid_from:
|
|
valid_to:
|
|
tags:
|
|
external_references:
|
|
```
|
|
|
|
---
|
|
|
|
## 11.2 Repository
|
|
|
|
A **Repository** is a version-controlled source location containing source code, configuration, documentation, pipeline definitions, infrastructure definitions, or other delivery-relevant material.
|
|
|
|
Repository ownership and relationship to software systems may be represented through Landscape and Organization concepts.
|
|
|
|
---
|
|
|
|
## 11.3 Branch
|
|
|
|
A **Branch** is a named line of development in a repository.
|
|
|
|
Branching models are profile-specific.
|
|
|
|
---
|
|
|
|
## 11.4 Commit
|
|
|
|
A **Commit** is an immutable source-control change record.
|
|
|
|
Recommended attributes:
|
|
|
|
```yaml
|
|
commit_hash:
|
|
author:
|
|
committer:
|
|
timestamp:
|
|
repository:
|
|
parent_commits:
|
|
signature_reference:
|
|
```
|
|
|
|
---
|
|
|
|
## 11.5 SourceTag
|
|
|
|
A **SourceTag** is a source-control reference marking a commit or version.
|
|
|
|
This is distinct from InfoTechCanon tags.
|
|
|
|
---
|
|
|
|
## 11.6 PullRequest
|
|
|
|
A **PullRequest** is a proposed change to a repository requiring review, discussion, checks, merge, or rejection.
|
|
|
|
Equivalent tool terms may include merge request or change request.
|
|
|
|
---
|
|
|
|
## 11.7 CodeReview
|
|
|
|
A **CodeReview** is a review of a source change, patch, pull request, or generated code.
|
|
|
|
Governance owns review semantics where formal decision rights are involved. DevSecOps owns the delivery artifact.
|
|
|
|
---
|
|
|
|
## 11.8 SourceChange
|
|
|
|
A **SourceChange** is a change to source-controlled material.
|
|
|
|
A source change may be represented by one or more commits and may implement a Task.
|
|
|
|
---
|
|
|
|
## 11.9 Pipeline
|
|
|
|
A **Pipeline** is a delivery workflow that automates or coordinates build, test, scan, package, release, deployment, verification, or related activities.
|
|
|
|
---
|
|
|
|
## 11.10 PipelineDefinition
|
|
|
|
A **PipelineDefinition** is the declared configuration of a pipeline.
|
|
|
|
Examples:
|
|
|
|
```text
|
|
GitHub Actions workflow file
|
|
GitLab CI YAML
|
|
Jenkinsfile
|
|
Tekton Pipeline
|
|
Argo Workflow
|
|
```
|
|
|
|
---
|
|
|
|
## 11.11 PipelineStage
|
|
|
|
A **PipelineStage** is a logical phase in a pipeline.
|
|
|
|
Examples:
|
|
|
|
```text
|
|
build
|
|
test
|
|
scan
|
|
package
|
|
sign
|
|
publish
|
|
deploy
|
|
verify
|
|
promote
|
|
```
|
|
|
|
---
|
|
|
|
## 11.12 PipelineJob
|
|
|
|
A **PipelineJob** is an executable unit within a pipeline stage.
|
|
|
|
---
|
|
|
|
## 11.13 PipelineStep
|
|
|
|
A **PipelineStep** is a smaller executable unit within a job.
|
|
|
|
---
|
|
|
|
## 11.14 PipelineRun
|
|
|
|
A **PipelineRun** is a concrete execution of a pipeline definition.
|
|
|
|
Recommended attributes:
|
|
|
|
```yaml
|
|
pipeline:
|
|
trigger:
|
|
source_revision:
|
|
started_at:
|
|
finished_at:
|
|
status:
|
|
runner:
|
|
inputs:
|
|
outputs:
|
|
logs:
|
|
evidence:
|
|
```
|
|
|
|
Canonical rule:
|
|
|
|
```text
|
|
PipelineRun SHOULD be separated from PipelineDefinition.
|
|
```
|
|
|
|
---
|
|
|
|
## 11.15 Runner
|
|
|
|
A **Runner** is the execution environment or agent that performs pipeline jobs or steps.
|
|
|
|
Runners may be hosted, self-hosted, ephemeral, privileged, or isolated.
|
|
|
|
---
|
|
|
|
## 11.16 PipelineIdentity
|
|
|
|
A **PipelineIdentity** is the access-control subject used by a pipeline, job, runner, or deployment activity.
|
|
|
|
This concept references Access Control and should be represented where trust or authorization matters.
|
|
|
|
---
|
|
|
|
## 11.17 PipelineResult
|
|
|
|
A **PipelineResult** is the outcome of a pipeline run, stage, job, or step.
|
|
|
|
Seed result values:
|
|
|
|
```text
|
|
success
|
|
failure
|
|
cancelled
|
|
skipped
|
|
blocked
|
|
timed_out
|
|
unstable
|
|
partial
|
|
```
|
|
|
|
---
|
|
|
|
## 11.18 TestRun
|
|
|
|
A **TestRun** is an execution of tests.
|
|
|
|
Test types:
|
|
|
|
```text
|
|
unit
|
|
integration
|
|
contract
|
|
system
|
|
acceptance
|
|
performance
|
|
security
|
|
regression
|
|
smoke
|
|
chaos
|
|
```
|
|
|
|
---
|
|
|
|
## 11.19 TestResult
|
|
|
|
A **TestResult** is the result of a TestRun.
|
|
|
|
---
|
|
|
|
## 11.20 ScanRun
|
|
|
|
A **ScanRun** is an execution of analysis or scanning.
|
|
|
|
Scan types:
|
|
|
|
```text
|
|
SAST
|
|
DAST
|
|
SCA
|
|
container scan
|
|
IaC scan
|
|
secret scan
|
|
license scan
|
|
SBOM scan
|
|
policy scan
|
|
malware scan
|
|
configuration scan
|
|
```
|
|
|
|
---
|
|
|
|
## 11.21 ScanResult
|
|
|
|
A **ScanResult** is the output of a ScanRun.
|
|
|
|
Scan results may generate Security Findings, Governance Findings, or Quality Findings.
|
|
|
|
---
|
|
|
|
## 11.22 QualityGate
|
|
|
|
A **QualityGate** is a delivery gate based on quality criteria.
|
|
|
|
Examples:
|
|
|
|
```text
|
|
tests pass
|
|
coverage threshold met
|
|
linting passes
|
|
performance threshold met
|
|
contract tests pass
|
|
```
|
|
|
|
---
|
|
|
|
## 11.23 PolicyGate
|
|
|
|
A **PolicyGate** is a delivery gate based on governance, security, compliance, or release policy.
|
|
|
|
Examples:
|
|
|
|
```text
|
|
no critical vulnerabilities
|
|
artifact signed
|
|
SBOM present
|
|
release approved
|
|
change ticket linked
|
|
production deployment window valid
|
|
```
|
|
|
|
---
|
|
|
|
## 11.24 GateDecision
|
|
|
|
A **GateDecision** is the result of evaluating a gate.
|
|
|
|
Seed values:
|
|
|
|
```text
|
|
pass
|
|
fail
|
|
waived
|
|
manual_review_required
|
|
not_applicable
|
|
indeterminate
|
|
```
|
|
|
|
---
|
|
|
|
## 11.25 VerificationEvidence
|
|
|
|
**VerificationEvidence** is evidence produced by test, scan, review, gate, or deployment verification activities.
|
|
|
|
---
|
|
|
|
## 11.26 Artifact
|
|
|
|
An **Artifact** is a delivery output that may be versioned, stored, signed, scanned, released, or deployed.
|
|
|
|
Examples:
|
|
|
|
```text
|
|
package
|
|
container image
|
|
binary
|
|
library
|
|
chart
|
|
deployment manifest
|
|
IaC module
|
|
documentation bundle
|
|
model artifact
|
|
```
|
|
|
|
---
|
|
|
|
## 11.27 ArtifactVersion
|
|
|
|
An **ArtifactVersion** is a specific version or immutable instance of an artifact.
|
|
|
|
Recommended attributes:
|
|
|
|
```yaml
|
|
artifact:
|
|
version:
|
|
digest:
|
|
repository:
|
|
build_reference:
|
|
created_at:
|
|
signature_reference:
|
|
sbom_reference:
|
|
provenance_reference:
|
|
```
|
|
|
|
---
|
|
|
|
## 11.28 Package
|
|
|
|
A **Package** is a distributable artifact in a package ecosystem.
|
|
|
|
Examples:
|
|
|
|
```text
|
|
npm package
|
|
Maven artifact
|
|
PyPI package
|
|
Debian package
|
|
OCI artifact
|
|
```
|
|
|
|
---
|
|
|
|
## 11.29 ContainerImage
|
|
|
|
A **ContainerImage** is a container artifact identified by tag and/or digest.
|
|
|
|
Canonical rule:
|
|
|
|
```text
|
|
Digest SHOULD be used for immutable identity.
|
|
```
|
|
|
|
---
|
|
|
|
## 11.30 DeploymentManifest
|
|
|
|
A **DeploymentManifest** is a declared configuration artifact describing how a system should be deployed.
|
|
|
|
Examples:
|
|
|
|
```text
|
|
Kubernetes manifest
|
|
Helm chart values
|
|
Kustomize overlay
|
|
Terraform plan
|
|
Ansible playbook
|
|
CloudFormation template
|
|
```
|
|
|
|
---
|
|
|
|
## 11.31 IaCModule
|
|
|
|
An **IaCModule** is an infrastructure-as-code module or artifact.
|
|
|
|
---
|
|
|
|
## 11.32 ArtifactDigest
|
|
|
|
An **ArtifactDigest** is a cryptographic hash or content-addressable identifier for an artifact.
|
|
|
|
---
|
|
|
|
## 11.33 SBOM
|
|
|
|
A **Software Bill of Materials** is a structured inventory of software components and related metadata for an artifact, product, or system.
|
|
|
|
SBOM concepts may map to SPDX or CycloneDX.
|
|
|
|
---
|
|
|
|
## 11.34 Provenance
|
|
|
|
**Provenance** describes how an artifact was produced, including builder, build process, inputs, and relevant parameters.
|
|
|
|
---
|
|
|
|
## 11.35 Attestation
|
|
|
|
An **Attestation** is a verifiable claim about an artifact, process, result, control, or supply-chain event.
|
|
|
|
Examples:
|
|
|
|
```text
|
|
build provenance attestation
|
|
test result attestation
|
|
scan result attestation
|
|
SBOM attestation
|
|
deployment attestation
|
|
policy compliance attestation
|
|
```
|
|
|
|
---
|
|
|
|
## 11.36 Signature
|
|
|
|
A **Signature** is cryptographic evidence binding identity or key material to an artifact, attestation, or document.
|
|
|
|
---
|
|
|
|
## 11.37 TransparencyLogEntry
|
|
|
|
A **TransparencyLogEntry** is a log entry in an append-only or transparency system used to support verification of signatures, attestations, or supply-chain events.
|
|
|
|
---
|
|
|
|
## 11.38 VEXReference
|
|
|
|
A **VEXReference** is a reference to Vulnerability Exploitability eXchange information describing whether known vulnerabilities affect a product or component in context.
|
|
|
|
---
|
|
|
|
## 11.39 SupplyChainEvidence
|
|
|
|
**SupplyChainEvidence** is evidence supporting trust, integrity, authenticity, composition, provenance, or policy compliance in the software supply chain.
|
|
|
|
---
|
|
|
|
## 11.40 ReleaseCandidate
|
|
|
|
A **ReleaseCandidate** is an artifact set, version, or change set proposed for release.
|
|
|
|
---
|
|
|
|
## 11.41 Release
|
|
|
|
A **Release** is a versioned set of capabilities, artifacts, or changes made available for deployment or consumption.
|
|
|
|
Canonical rule:
|
|
|
|
```text
|
|
Release SHOULD be distinguished from Deployment.
|
|
```
|
|
|
|
---
|
|
|
|
## 11.42 ReleaseVersion
|
|
|
|
A **ReleaseVersion** is the version identifier associated with a release.
|
|
|
|
---
|
|
|
|
## 11.43 ReleaseNote
|
|
|
|
A **ReleaseNote** documents relevant changes, risks, fixes, known issues, migrations, or operational notes for a release.
|
|
|
|
---
|
|
|
|
## 11.44 ReleaseApprovalReference
|
|
|
|
A **ReleaseApprovalReference** points to governance approval, review, or decision records.
|
|
|
|
---
|
|
|
|
## 11.45 DeploymentPlan
|
|
|
|
A **DeploymentPlan** describes intended deployment steps, targets, strategy, dependencies, risk controls, and rollback expectations.
|
|
|
|
---
|
|
|
|
## 11.46 DeploymentExecution
|
|
|
|
A **DeploymentExecution** is a concrete execution of a deployment plan or deployment action.
|
|
|
|
---
|
|
|
|
## 11.47 DeploymentRecord
|
|
|
|
A **DeploymentRecord** is historical evidence that a deployment occurred.
|
|
|
|
Recommended attributes:
|
|
|
|
```yaml
|
|
artifact_version:
|
|
target_environment:
|
|
started_at:
|
|
finished_at:
|
|
actor_or_pipeline:
|
|
status:
|
|
strategy:
|
|
rollback_reference:
|
|
verification_reference:
|
|
```
|
|
|
|
---
|
|
|
|
## 11.48 Promotion
|
|
|
|
**Promotion** is movement of an artifact, release candidate, configuration, or deployment from one environment or maturity level to another.
|
|
|
|
Examples:
|
|
|
|
```text
|
|
dev -> test
|
|
test -> staging
|
|
staging -> production
|
|
candidate -> approved release
|
|
```
|
|
|
|
---
|
|
|
|
## 11.49 RolloutStrategy
|
|
|
|
A **RolloutStrategy** defines how a deployment or release is introduced.
|
|
|
|
Examples:
|
|
|
|
```text
|
|
all-at-once
|
|
rolling
|
|
blue-green
|
|
canary
|
|
feature-flagged
|
|
progressive
|
|
dark launch
|
|
shadow
|
|
```
|
|
|
|
---
|
|
|
|
## 11.50 Rollback
|
|
|
|
A **Rollback** is a deployment or release action intended to return to a previous known-good state or disable a faulty change.
|
|
|
|
---
|
|
|
|
## 11.51 DeploymentVerification
|
|
|
|
**DeploymentVerification** is confirmation that a deployment achieved expected technical and operational conditions.
|
|
|
|
Examples:
|
|
|
|
```text
|
|
smoke test
|
|
health check
|
|
SLO check
|
|
error-rate check
|
|
canary analysis
|
|
synthetic transaction
|
|
operator verification
|
|
```
|
|
|
|
---
|
|
|
|
## 11.52 EnvironmentPromotion
|
|
|
|
**EnvironmentPromotion** is a promotion between environments or environment-like lifecycle stages.
|
|
|
|
---
|
|
|
|
## 11.53 DeploymentHealthSignal
|
|
|
|
A **DeploymentHealthSignal** is an observability or verification signal used to assess deployment health.
|
|
|
|
---
|
|
|
|
## 11.54 ChangeFailure
|
|
|
|
A **ChangeFailure** is a failure caused by a change or deployment that requires remediation, rollback, hotfix, incident response, or recovery.
|
|
|
|
---
|
|
|
|
## 11.55 RecoveryAction
|
|
|
|
A **RecoveryAction** is action taken to restore service or safe operation after a failed change or deployment.
|
|
|
|
---
|
|
|
|
## 11.56 DeliveryMetric
|
|
|
|
A **DeliveryMetric** is a metric used to assess delivery performance, quality, reliability, security, or flow.
|
|
|
|
Examples:
|
|
|
|
```text
|
|
deployment frequency
|
|
change lead time
|
|
change failure rate
|
|
failed deployment recovery time
|
|
pipeline duration
|
|
queue time
|
|
test pass rate
|
|
scan finding rate
|
|
mean time to remediate
|
|
```
|
|
|
|
---
|
|
|
|
## 11.57 FeedbackLoop
|
|
|
|
A **FeedbackLoop** connects runtime results, observability, incidents, findings, user feedback, or delivery metrics back to work, governance, security, or delivery improvements.
|
|
|
|
---
|
|
|
|
## 11.58 CodingAgentChange
|
|
|
|
A **CodingAgentChange** is a source change generated or substantially modified by an AI or software agent.
|
|
|
|
---
|
|
|
|
## 11.59 AgentGeneratedPatch
|
|
|
|
An **AgentGeneratedPatch** is a patch proposed or produced by an agent.
|
|
|
|
---
|
|
|
|
## 11.60 AgentReview
|
|
|
|
An **AgentReview** is a review performed by or on behalf of an agent.
|
|
|
|
---
|
|
|
|
## 11.61 AgentExecutionEvidence
|
|
|
|
**AgentExecutionEvidence** is evidence of agent activity, tool use, prompts, commands, generated patches, tests, or review results.
|
|
|
|
---
|
|
|
|
## 11.62 HumanSupervisionReference
|
|
|
|
A **HumanSupervisionReference** points to the human actor, review, approval, or policy governing agentic delivery work.
|
|
|
|
---
|
|
|
|
# 12. Core Relationship Vocabulary
|
|
|
|
Recommended root relationship types:
|
|
|
|
```text
|
|
contains
|
|
part_of
|
|
derived_from
|
|
built_from
|
|
triggered_by
|
|
executes
|
|
produces
|
|
consumes
|
|
uses
|
|
tests
|
|
scans
|
|
generates
|
|
blocks
|
|
passes
|
|
fails
|
|
waives
|
|
attests
|
|
signs
|
|
verifies
|
|
publishes
|
|
releases
|
|
deploys
|
|
promotes
|
|
rolls_back
|
|
verifies_deployment
|
|
evidenced_by
|
|
implements
|
|
fixes
|
|
remediates
|
|
affects
|
|
maps_to
|
|
```
|
|
|
|
Relationship records SHOULD support:
|
|
|
|
```yaml
|
|
id:
|
|
relationship_type:
|
|
source_entity:
|
|
target_entity:
|
|
scope:
|
|
valid_from:
|
|
valid_to:
|
|
source_system:
|
|
confidence:
|
|
evidence:
|
|
rationale:
|
|
```
|
|
|
|
---
|
|
|
|
# 13. DevSecOps State Models
|
|
|
|
## 13.1 Pull Request States
|
|
|
|
```text
|
|
draft
|
|
open
|
|
review_required
|
|
changes_requested
|
|
approved
|
|
merged
|
|
closed
|
|
rejected
|
|
superseded
|
|
```
|
|
|
|
## 13.2 Pipeline Run States
|
|
|
|
```text
|
|
queued
|
|
running
|
|
success
|
|
failed
|
|
cancelled
|
|
skipped
|
|
blocked
|
|
timed_out
|
|
unstable
|
|
partial
|
|
```
|
|
|
|
## 13.3 Artifact States
|
|
|
|
```text
|
|
created
|
|
scanned
|
|
signed
|
|
attested
|
|
published
|
|
deprecated
|
|
revoked
|
|
deleted
|
|
```
|
|
|
|
## 13.4 Release States
|
|
|
|
```text
|
|
planned
|
|
candidate
|
|
under_review
|
|
approved
|
|
released
|
|
deprecated
|
|
withdrawn
|
|
superseded
|
|
```
|
|
|
|
## 13.5 Deployment States
|
|
|
|
```text
|
|
planned
|
|
approved
|
|
queued
|
|
running
|
|
succeeded
|
|
failed
|
|
partially_succeeded
|
|
rolled_back
|
|
verified
|
|
degraded
|
|
superseded
|
|
```
|
|
|
|
## 13.6 Gate States
|
|
|
|
```text
|
|
not_evaluated
|
|
passed
|
|
failed
|
|
waived
|
|
manual_review_required
|
|
indeterminate
|
|
```
|
|
|
|
---
|
|
|
|
# 14. DevSecOps Patterns
|
|
|
|
## 14.1 Pattern: Commit-to-Runtime Trace
|
|
|
|
**Context:** A team needs to know what source produced a running workload.
|
|
|
|
**Problem:** Runtime systems often cannot reliably answer which commit, build, artifact, scan, approval, and deployment produced a workload.
|
|
|
|
**Solution:**
|
|
|
|
```text
|
|
Commit
|
|
-> PipelineRun
|
|
-> ArtifactVersion
|
|
-> SBOM / Provenance / Attestation / Signature
|
|
-> Release
|
|
-> DeploymentRecord
|
|
-> RuntimeWorkload
|
|
```
|
|
|
|
---
|
|
|
|
## 14.2 Pattern: Build Once, Promote
|
|
|
|
**Context:** Artifacts move through multiple environments.
|
|
|
|
**Problem:** Rebuilding per environment weakens provenance and introduces drift.
|
|
|
|
**Solution:** Build an immutable artifact once, then promote the same artifact through environments with environment-specific configuration and evidence.
|
|
|
|
---
|
|
|
|
## 14.3 Pattern: Policy Gate with Exception
|
|
|
|
**Context:** Delivery must enforce governance and security requirements.
|
|
|
|
**Problem:** Hard gates block urgent change; soft gates become meaningless.
|
|
|
|
**Solution:** Use PolicyGate with explicit Governance Exception, scope, approver, evidence, expiry, and compensating control.
|
|
|
|
---
|
|
|
|
## 14.4 Pattern: Provenance-Carrying Artifact
|
|
|
|
**Context:** Consumers need to trust artifacts.
|
|
|
|
**Problem:** Artifacts without provenance cannot explain source, builder, inputs, or process.
|
|
|
|
**Solution:** Attach provenance and attestations to artifact versions and verify them before promotion or deployment.
|
|
|
|
---
|
|
|
|
## 14.5 Pattern: SBOM-to-Finding-to-Remediation
|
|
|
|
**Context:** Dependency vulnerabilities are discovered.
|
|
|
|
**Problem:** Teams cannot connect dependency findings to runtime services and remediation work.
|
|
|
|
**Solution:**
|
|
|
|
```text
|
|
SBOM
|
|
-> Component
|
|
-> VulnerabilityFinding
|
|
-> Affected ArtifactVersion
|
|
-> DeploymentRecord / RuntimeWorkload
|
|
-> RemediationTask
|
|
-> VerificationEvidence
|
|
```
|
|
|
|
---
|
|
|
|
## 14.6 Pattern: Deployment Is Not Release
|
|
|
|
**Context:** Feature flags and progressive delivery are used.
|
|
|
|
**Problem:** Teams confuse deployed code with released capability.
|
|
|
|
**Solution:** Model Deployment and Release separately and connect feature flag activation or exposure as release-related events.
|
|
|
|
---
|
|
|
|
## 14.7 Pattern: Delivery Feedback Loop
|
|
|
|
**Context:** Delivery performance and runtime reliability affect each other.
|
|
|
|
**Problem:** CI/CD metrics are disconnected from incidents and SLOs.
|
|
|
|
**Solution:** Connect deployment records to observability signals, incidents, change failures, recovery actions, and delivery metrics.
|
|
|
|
---
|
|
|
|
## 14.8 Pattern: Agentic Change with Supervision
|
|
|
|
**Context:** Coding agents generate changes.
|
|
|
|
**Problem:** Agent output may lack accountability, authority, or evidence.
|
|
|
|
**Solution:** Model agent-generated patches with supervising actor, prompt/context evidence, tool-use evidence, tests, review, and human approval where required.
|
|
|
|
---
|
|
|
|
## 14.9 Pattern: Deployment Verification Before Closure
|
|
|
|
**Context:** Pipelines report deployment success.
|
|
|
|
**Problem:** Deployment success may only mean "command completed", not "service healthy".
|
|
|
|
**Solution:** Require DeploymentVerification based on runtime health, SLOs, smoke tests, canary analysis, or operator confirmation.
|
|
|
|
---
|
|
|
|
# 15. DevSecOps Profiles
|
|
|
|
## 15.1 Profile Format
|
|
|
|
A DevSecOps Profile SHALL declare:
|
|
|
|
```yaml
|
|
id:
|
|
profile_name:
|
|
status:
|
|
implements:
|
|
- InfoTechCanonDevSecOpsModel
|
|
target_context:
|
|
included_concepts:
|
|
required_relationships:
|
|
required_metadata:
|
|
state_model:
|
|
source_of_truth_rules:
|
|
mapping_files:
|
|
validation_rules:
|
|
examples:
|
|
known_deviations:
|
|
```
|
|
|
|
---
|
|
|
|
## 15.2 Seed Profile: Small SaaS DevSecOps Profile
|
|
|
|
Purpose:
|
|
|
|
```text
|
|
Provide a minimal delivery model for a small SaaS platform moving toward production readiness.
|
|
```
|
|
|
|
Included concepts:
|
|
|
|
```text
|
|
Repository
|
|
Branch
|
|
Commit
|
|
PullRequest
|
|
CodeReview
|
|
Pipeline
|
|
PipelineRun
|
|
TestRun
|
|
ScanRun
|
|
ArtifactVersion
|
|
ContainerImage
|
|
SBOM
|
|
Provenance
|
|
Signature
|
|
Release
|
|
DeploymentRecord
|
|
DeploymentVerification
|
|
DeliveryMetric
|
|
```
|
|
|
|
Required relationships:
|
|
|
|
```text
|
|
PullRequest contains Commit
|
|
PipelineRun triggered_by Commit
|
|
PipelineRun produces ArtifactVersion
|
|
ArtifactVersion described_by SBOM
|
|
ArtifactVersion attested_by Provenance
|
|
ArtifactVersion signed_by Signature
|
|
DeploymentRecord deploys ArtifactVersion
|
|
DeploymentVerification verifies DeploymentRecord
|
|
DeliveryMetric measures DeliveryFlow
|
|
```
|
|
|
|
---
|
|
|
|
## 15.3 Seed Profile: GitHub Actions Delivery Profile
|
|
|
|
Purpose:
|
|
|
|
```text
|
|
Map GitHub Actions and GitHub repository events into DevSecOps concepts.
|
|
```
|
|
|
|
Example mappings:
|
|
|
|
```text
|
|
Repository -> Repository
|
|
Branch -> Branch
|
|
Commit -> Commit
|
|
Pull Request -> PullRequest
|
|
Workflow -> PipelineDefinition
|
|
Workflow Run -> PipelineRun
|
|
Job -> PipelineJob
|
|
Step -> PipelineStep
|
|
Runner -> Runner
|
|
Artifact -> BuildOutput / Artifact
|
|
Environment -> DeploymentTarget / EnvironmentReference
|
|
Deployment -> DeploymentRecord
|
|
Check Run -> GateDecision / TestResult / ScanResult
|
|
Release -> Release
|
|
```
|
|
|
|
Known deviations:
|
|
|
|
```text
|
|
GitHub workflow artifacts are not always deployable artifacts.
|
|
GitHub labels belong to Tagging.
|
|
GitHub environments can combine deployment target, protection rules, and approval semantics.
|
|
```
|
|
|
|
---
|
|
|
|
## 15.4 Seed Profile: GitLab CI Delivery Profile
|
|
|
|
Purpose:
|
|
|
|
```text
|
|
Map GitLab CI/CD concepts into DevSecOps concepts.
|
|
```
|
|
|
|
Example mappings:
|
|
|
|
```text
|
|
Project -> Repository / ProjectReference
|
|
Pipeline -> PipelineRun
|
|
.gitlab-ci.yml -> PipelineDefinition
|
|
Stage -> PipelineStage
|
|
Job -> PipelineJob
|
|
Runner -> Runner
|
|
Artifact -> BuildOutput / Artifact
|
|
Environment -> EnvironmentReference
|
|
Release -> Release
|
|
Deployment -> DeploymentRecord
|
|
```
|
|
|
|
---
|
|
|
|
## 15.5 Seed Profile: Kubernetes GitOps Delivery Profile
|
|
|
|
Purpose:
|
|
|
|
```text
|
|
Represent GitOps delivery to Kubernetes using tools such as Argo CD or Flux.
|
|
```
|
|
|
|
Included concepts:
|
|
|
|
```text
|
|
Repository
|
|
DeploymentManifest
|
|
GitOpsApplication
|
|
ReconciliationRun
|
|
ArtifactVersion
|
|
Environment
|
|
KubernetesClusterReference
|
|
DeploymentRecord
|
|
DriftDetection
|
|
SyncStatus
|
|
Rollback
|
|
```
|
|
|
|
Example mappings:
|
|
|
|
```text
|
|
Git commit -> Declared desired state
|
|
Argo CD Application / Flux Kustomization -> GitOpsApplication
|
|
Sync operation -> DeploymentExecution
|
|
Kubernetes workload state -> Landscape observed state
|
|
Drift -> DeploymentFinding / Landscape drift finding
|
|
```
|
|
|
|
---
|
|
|
|
## 15.6 Seed Profile: SLSA / Provenance Profile
|
|
|
|
Purpose:
|
|
|
|
```text
|
|
Represent build provenance and supply-chain trust levels.
|
|
```
|
|
|
|
Included concepts:
|
|
|
|
```text
|
|
ArtifactVersion
|
|
BuildDefinition
|
|
Builder
|
|
PipelineRun
|
|
Provenance
|
|
Attestation
|
|
BuildInput
|
|
BuildOutput
|
|
Signature
|
|
TrustLevelReference
|
|
```
|
|
|
|
Mapping targets:
|
|
|
|
```text
|
|
SLSA
|
|
in-toto attestations
|
|
Sigstore
|
|
SPDX Build Profile
|
|
```
|
|
|
|
---
|
|
|
|
## 15.7 Seed Profile: SBOM Profile
|
|
|
|
Purpose:
|
|
|
|
```text
|
|
Represent artifact composition and bill-of-materials evidence.
|
|
```
|
|
|
|
Included concepts:
|
|
|
|
```text
|
|
ArtifactVersion
|
|
SBOM
|
|
Component
|
|
Dependency
|
|
Package
|
|
LicenseReference
|
|
VulnerabilityReference
|
|
VEXReference
|
|
```
|
|
|
|
Mapping targets:
|
|
|
|
```text
|
|
SPDX
|
|
CycloneDX
|
|
OSV
|
|
GitHub Security Advisories
|
|
```
|
|
|
|
---
|
|
|
|
## 15.8 Seed Profile: Agentic Delivery Profile
|
|
|
|
Purpose:
|
|
|
|
```text
|
|
Support software changes generated, reviewed, tested, or deployed with AI/software agents.
|
|
```
|
|
|
|
Included concepts:
|
|
|
|
```text
|
|
CodingAgentChange
|
|
AgentGeneratedPatch
|
|
AgentExecutionEvidence
|
|
AgentReview
|
|
HumanSupervisionReference
|
|
ToolUseEvidence
|
|
PromptContextReference
|
|
TestRun
|
|
CodeReview
|
|
PolicyGate
|
|
```
|
|
|
|
Required relationships:
|
|
|
|
```text
|
|
AgentGeneratedPatch derived_from PromptContextReference
|
|
AgentGeneratedPatch implements Task
|
|
AgentExecutionEvidence evidences CodingAgentChange
|
|
HumanSupervisionReference governs AgenticChange
|
|
CodeReview reviews AgentGeneratedPatch
|
|
PolicyGate gates AgenticChange
|
|
```
|
|
|
|
---
|
|
|
|
# 16. Mapping Model for the DevSecOps Standard
|
|
|
|
Mappings relate InfoTechCanon DevSecOps concepts to external standards, tools, and products.
|
|
|
|
## 16.1 Mapping Types
|
|
|
|
Recommended mapping types:
|
|
|
|
```text
|
|
exactMatch
|
|
closeMatch
|
|
broadMatch
|
|
narrowMatch
|
|
relatedMatch
|
|
conflictMatch
|
|
gapMatch
|
|
derivedFrom
|
|
regulatoryReference
|
|
toolEquivalent
|
|
```
|
|
|
|
## 16.2 Mapping Record
|
|
|
|
Example:
|
|
|
|
```yaml
|
|
id: itc-map:provenance-to-slsa-provenance
|
|
source_concept: itc-devsecops:Provenance
|
|
target_body: SLSA
|
|
target_version: "1.2"
|
|
target_concept: Provenance
|
|
mapping_type: closeMatch
|
|
scope:
|
|
- artifact build provenance
|
|
not_valid_for:
|
|
- all lineage or runtime provenance
|
|
rationale: >
|
|
SLSA provenance describes how an artifact was built, including builder,
|
|
process, and inputs. InfoTechCanon Provenance is generalized but uses SLSA
|
|
provenance as a strong software-supply-chain mapping target.
|
|
confidence: high
|
|
status: candidate
|
|
owner: InfoTechCanonDevSecOpsModel
|
|
```
|
|
|
|
## 16.3 Seed Mapping Targets
|
|
|
|
The DevSecOps Model SHOULD maintain mappings to:
|
|
|
|
```text
|
|
SLSA
|
|
in-toto
|
|
SPDX
|
|
CycloneDX
|
|
Sigstore / Cosign
|
|
OpenSSF Scorecard
|
|
DORA metrics
|
|
GitHub Actions
|
|
GitLab CI
|
|
Jenkins
|
|
Tekton
|
|
Argo CD
|
|
Flux
|
|
Helm
|
|
Kustomize
|
|
Terraform
|
|
OpenFeature
|
|
OCI artifacts
|
|
Docker / container registries
|
|
Maven / npm / PyPI package ecosystems
|
|
SonarQube / CodeQL / SAST tools
|
|
DAST / SCA / IaC scanner schemas
|
|
```
|
|
|
|
---
|
|
|
|
# 17. Assimilation Hooks
|
|
|
|
The DevSecOps Model SHALL be able to receive new delivery, CI/CD, supply-chain, and platform standards through the InfoTechCanon assimilation process.
|
|
|
|
## 17.1 Assimilation Triggers
|
|
|
|
Assimilation may be triggered by:
|
|
|
|
```text
|
|
new CI/CD platform
|
|
new supply-chain standard
|
|
new artifact signing system
|
|
new SBOM format
|
|
new release management practice
|
|
new deployment method
|
|
new GitOps platform
|
|
new coding-agent workflow
|
|
new policy-gate requirement
|
|
new delivery-metric model
|
|
```
|
|
|
|
## 17.2 DevSecOps Assimilation Output
|
|
|
|
A DevSecOps assimilation SHOULD produce:
|
|
|
|
```text
|
|
source summary
|
|
extracted DevSecOps concepts
|
|
concept comparison matrix
|
|
gap list
|
|
conflict list
|
|
mapping file
|
|
candidate new concepts
|
|
candidate relationship changes
|
|
candidate pattern changes
|
|
candidate profile changes
|
|
open questions
|
|
```
|
|
|
|
## 17.3 Recommended First Assimilation Candidates
|
|
|
|
```text
|
|
SLSA 1.2
|
|
in-toto Attestation Framework
|
|
SPDX 3.x
|
|
CycloneDX
|
|
GitHub Actions
|
|
GitLab CI
|
|
Argo CD
|
|
Flux
|
|
OpenSSF Scorecard
|
|
DORA metrics
|
|
Sigstore / Cosign
|
|
OpenFeature
|
|
```
|
|
|
|
---
|
|
|
|
# 18. Integration with Other InfoTechCanon Standards
|
|
|
|
## 18.1 Landscape Model
|
|
|
|
DevSecOps connects to Landscape through:
|
|
|
|
```text
|
|
ApplicationService
|
|
SoftwareSystem
|
|
Repository
|
|
Artifact
|
|
Environment
|
|
RuntimeResource
|
|
DeploymentRecord
|
|
RuntimeWorkload
|
|
Endpoint
|
|
```
|
|
|
|
## 18.2 Organization Model
|
|
|
|
DevSecOps imports organization concepts for:
|
|
|
|
```text
|
|
maintainer
|
|
reviewer
|
|
approver
|
|
release manager
|
|
operator
|
|
service owner
|
|
platform team
|
|
agent supervisor
|
|
```
|
|
|
|
## 18.3 Governance Model
|
|
|
|
DevSecOps imports governance concepts for:
|
|
|
|
```text
|
|
policy gate
|
|
release approval
|
|
change decision
|
|
control objective
|
|
exception
|
|
evidence
|
|
assurance
|
|
risk acceptance
|
|
```
|
|
|
|
## 18.4 Task Model
|
|
|
|
DevSecOps imports task concepts for:
|
|
|
|
```text
|
|
work item
|
|
pull request task
|
|
review task
|
|
remediation task
|
|
change task
|
|
release task
|
|
incident task
|
|
```
|
|
|
|
## 18.5 Security Model
|
|
|
|
DevSecOps imports security concepts for:
|
|
|
|
```text
|
|
security finding
|
|
vulnerability finding
|
|
supply-chain finding
|
|
mitigation
|
|
security review
|
|
security evidence
|
|
```
|
|
|
|
## 18.6 Access Control Model
|
|
|
|
DevSecOps imports access concepts for:
|
|
|
|
```text
|
|
pipeline identity
|
|
runner identity
|
|
deploy permission
|
|
release approval access
|
|
agent access
|
|
break-glass deployment access
|
|
```
|
|
|
|
## 18.7 Data Model
|
|
|
|
DevSecOps imports data concepts for:
|
|
|
|
```text
|
|
data contract
|
|
schema
|
|
schema evolution
|
|
test data
|
|
migration data
|
|
data quality rule
|
|
lineage evidence
|
|
```
|
|
|
|
## 18.8 Observability Model
|
|
|
|
DevSecOps should later integrate with Observability for:
|
|
|
|
```text
|
|
deployment health signal
|
|
change failure
|
|
recovery time
|
|
SLO impact
|
|
runtime verification
|
|
```
|
|
|
|
---
|
|
|
|
# 19. Canon Interface Card Usage
|
|
|
|
Subsystems that implement or produce DevSecOps knowledge SHOULD publish a Canon Interface Card.
|
|
|
|
Example:
|
|
|
|
```yaml
|
|
subsystem: github-actions-importer
|
|
implements:
|
|
- InfoTechCanonDevSecOpsModel
|
|
- GitHubActionsDeliveryProfile
|
|
produces:
|
|
- PipelineRun
|
|
- PipelineJob
|
|
- PipelineStep
|
|
- TestResult
|
|
- BuildOutput
|
|
- DeploymentRecord
|
|
consumes:
|
|
- Repository
|
|
- Commit
|
|
- PullRequest
|
|
- Environment
|
|
relations:
|
|
- PipelineRun triggered_by Commit
|
|
- PipelineRun produces BuildOutput
|
|
- DeploymentRecord deploys ArtifactVersion
|
|
source_of_truth:
|
|
workflow_run_state: GitHub Actions
|
|
known_deviations:
|
|
- workflow artifacts may not be canonical artifacts
|
|
- environment approval semantics require Governance mapping
|
|
```
|
|
|
|
---
|
|
|
|
# 20. Retrieval Requirements
|
|
|
|
The DevSecOps Model is designed for markdown-based infospaces.
|
|
|
|
## 20.1 Required Retrieval Properties
|
|
|
|
Every major concept SHOULD provide:
|
|
|
|
- stable heading,
|
|
- stable identifier,
|
|
- short definition,
|
|
- longer explanation,
|
|
- examples,
|
|
- distinction notes,
|
|
- relationship examples,
|
|
- mapping hooks,
|
|
- profile references,
|
|
- and common mistakes.
|
|
|
|
## 20.2 Agent Brief
|
|
|
|
A mature DevSecOps Model SHOULD include an `agent-brief.md` file with:
|
|
|
|
```text
|
|
purpose
|
|
scope
|
|
owned concepts
|
|
imported concepts
|
|
core distinctions
|
|
do / do not rules
|
|
relationship patterns
|
|
minimal examples
|
|
common mistakes
|
|
profile list
|
|
mapping list
|
|
```
|
|
|
|
## 20.3 Indexes
|
|
|
|
The DevSecOps information space SHOULD provide indexes by:
|
|
|
|
```text
|
|
concept
|
|
relationship
|
|
repository
|
|
pipeline
|
|
artifact
|
|
release
|
|
deployment
|
|
environment
|
|
evidence type
|
|
profile
|
|
pattern
|
|
mapping target
|
|
status
|
|
source system
|
|
```
|
|
|
|
---
|
|
|
|
# 21. Conformance Levels
|
|
|
|
## 21.1 Reference-Conformant
|
|
|
|
A document or system is reference-conformant if it uses DevSecOps Model terminology consistently but does not implement structured metadata or validation rules.
|
|
|
|
## 21.2 Metadata-Conformant
|
|
|
|
A system is metadata-conformant if it uses stable identifiers, concept names, lifecycle states, source metadata, and relationship types.
|
|
|
|
## 21.3 Traceability-Conformant
|
|
|
|
A system is traceability-conformant if it can connect source change, pipeline run, artifact version, release, deployment, and runtime target.
|
|
|
|
## 21.4 Evidence-Conformant
|
|
|
|
A system is evidence-conformant if builds, tests, scans, gates, releases, and deployments are linked to evidence.
|
|
|
|
## 21.5 Supply-Chain-Conformant
|
|
|
|
A system is supply-chain-conformant if artifact versions can be connected to SBOMs, provenance, attestations, signatures, and verification results.
|
|
|
|
## 21.6 Profile-Conformant
|
|
|
|
A system is profile-conformant if it implements a declared DevSecOps Profile and passes its validation rules.
|
|
|
|
## 21.7 Assimilation-Conformant
|
|
|
|
A system or repository is assimilation-conformant if it can accept external DevSecOps concepts through the InfoTechCanon assimilation workflow and produce mappings, gaps, conflicts, and proposed changes.
|
|
|
|
---
|
|
|
|
# 22. Validation Rules
|
|
|
|
Initial validation rules:
|
|
|
|
```text
|
|
VAL-DEVSECOPS-001: Repository, Commit, ArtifactVersion, Release, DeploymentRecord, and RuntimeWorkload SHOULD be modeled as distinct concepts.
|
|
|
|
VAL-DEVSECOPS-002: PipelineDefinition SHOULD be distinguished from PipelineRun.
|
|
|
|
VAL-DEVSECOPS-003: PipelineRun SHOULD reference source revision and produced outputs where available.
|
|
|
|
VAL-DEVSECOPS-004: ArtifactVersion SHOULD include immutable identity such as digest where available.
|
|
|
|
VAL-DEVSECOPS-005: ContainerImage SHOULD use digest for immutable identity when used for deployment or evidence.
|
|
|
|
VAL-DEVSECOPS-006: ArtifactVersion SHOULD reference SBOM, provenance, attestation, and signature where available.
|
|
|
|
VAL-DEVSECOPS-007: ScanResult SHOULD reference the ScanRun and target artifact/source/configuration it scanned.
|
|
|
|
VAL-DEVSECOPS-008: PolicyGate SHOULD reference Governance Policy, Rule, Control, or Exception where applicable.
|
|
|
|
VAL-DEVSECOPS-009: GateDecision SHOULD record pass/fail/waived/indeterminate state and evidence.
|
|
|
|
VAL-DEVSECOPS-010: DeploymentRecord SHOULD reference artifact version, target environment, actor or pipeline, time, and result.
|
|
|
|
VAL-DEVSECOPS-011: Deployment SHOULD NOT be treated as identical to Release.
|
|
|
|
VAL-DEVSECOPS-012: Rollback SHOULD reference the failed or superseded deployment where possible.
|
|
|
|
VAL-DEVSECOPS-013: DeploymentVerification SHOULD reference runtime or observability evidence where available.
|
|
|
|
VAL-DEVSECOPS-014: AgentGeneratedPatch SHOULD reference supervising actor, task, evidence, and review expectation where relevant.
|
|
|
|
VAL-DEVSECOPS-015: DeliveryMetric SHOULD declare measurement definition and source.
|
|
|
|
VAL-DEVSECOPS-016: Imported external delivery concepts SHOULD be represented through mapping records rather than silently reused.
|
|
|
|
VAL-DEVSECOPS-017: Profiles MUST NOT redefine canonical concepts. They may constrain them.
|
|
|
|
VAL-DEVSECOPS-018: Source tags MUST NOT be confused with InfoTechCanon tagging concepts.
|
|
```
|
|
|
|
---
|
|
|
|
# 23. Anti-Patterns
|
|
|
|
## 23.1 Commit Equals Deployment
|
|
|
|
Assuming that merging code means a change is running.
|
|
|
|
## 23.2 Artifact Without Identity
|
|
|
|
Publishing artifacts without immutable digest or version identity.
|
|
|
|
## 23.3 Pipeline Run Without Evidence
|
|
|
|
Running CI/CD without preserving logs, outputs, test results, scan results, or gate decisions.
|
|
|
|
## 23.4 Deployment Equals Release
|
|
|
|
Treating deployed code as released capability when feature flags or progressive delivery are used.
|
|
|
|
## 23.5 Rebuild Per Environment
|
|
|
|
Rebuilding artifacts in each environment and losing provenance.
|
|
|
|
## 23.6 Scanner Dashboard Graveyard
|
|
|
|
Producing scan findings without linking them to artifacts, runtime impact, remediation tasks, or verification.
|
|
|
|
## 23.7 Policy Gate Theater
|
|
|
|
Adding gates that can be bypassed without exception records, evidence, or review.
|
|
|
|
## 23.8 Unsigned Trust
|
|
|
|
Trusting artifacts without provenance, signature, attestation, or source traceability.
|
|
|
|
## 23.9 Tool-Native Capture
|
|
|
|
Letting GitHub, GitLab, Jenkins, or Argo CD define the internal delivery model.
|
|
|
|
## 23.10 Agent Change Without Accountability
|
|
|
|
Allowing agent-generated changes without supervision, evidence, review, or authorization boundaries.
|
|
|
|
---
|
|
|
|
# 24. Initial Repository Placement
|
|
|
|
Recommended repository layout:
|
|
|
|
```text
|
|
info-tech-canon/
|
|
standards/
|
|
devsecops/
|
|
InfoTechCanonDevSecOpsModel.md
|
|
agent-brief.md
|
|
concepts/
|
|
relationships/
|
|
patterns/
|
|
profiles/
|
|
mappings/
|
|
assimilation/
|
|
examples/
|
|
validation/
|
|
```
|
|
|
|
Seed files:
|
|
|
|
```text
|
|
standards/devsecops/InfoTechCanonDevSecOpsModel.md
|
|
standards/devsecops/agent-brief.md
|
|
standards/devsecops/concepts/repository.md
|
|
standards/devsecops/concepts/pipeline-run.md
|
|
standards/devsecops/concepts/artifact-version.md
|
|
standards/devsecops/concepts/sbom.md
|
|
standards/devsecops/concepts/provenance.md
|
|
standards/devsecops/concepts/attestation.md
|
|
standards/devsecops/concepts/release.md
|
|
standards/devsecops/concepts/deployment-record.md
|
|
standards/devsecops/patterns/commit-to-runtime-trace.md
|
|
standards/devsecops/patterns/build-once-promote.md
|
|
standards/devsecops/patterns/provenance-carrying-artifact.md
|
|
standards/devsecops/patterns/deployment-is-not-release.md
|
|
standards/devsecops/profiles/small-saas-devsecops-profile.md
|
|
standards/devsecops/profiles/github-actions-delivery-profile.md
|
|
standards/devsecops/profiles/kubernetes-gitops-delivery-profile.md
|
|
standards/devsecops/profiles/slsa-provenance-profile.md
|
|
standards/devsecops/profiles/sbom-profile.md
|
|
standards/devsecops/mappings/slsa.yaml
|
|
standards/devsecops/mappings/in-toto.yaml
|
|
standards/devsecops/mappings/spdx.yaml
|
|
standards/devsecops/mappings/cyclonedx.yaml
|
|
standards/devsecops/mappings/github-actions.yaml
|
|
```
|
|
|
|
---
|
|
|
|
# 25. Roadmap
|
|
|
|
## Phase 1: Seed Stabilization
|
|
|
|
- Establish this standard as `InfoTechCanonDevSecOpsModel`.
|
|
- Add seed concepts, relationship vocabulary, patterns, and profiles.
|
|
- Define validation rules.
|
|
- Align with Landscape, Governance, Task, Security, Data, Access Control, and Tagging.
|
|
|
|
## Phase 2: First Assimilations
|
|
|
|
Recommended first assimilations:
|
|
|
|
```text
|
|
SLSA 1.2
|
|
in-toto Attestation Framework
|
|
SPDX 3.x
|
|
CycloneDX
|
|
GitHub Actions
|
|
GitLab CI
|
|
Argo CD
|
|
Flux
|
|
OpenSSF Scorecard
|
|
DORA metrics
|
|
Sigstore / Cosign
|
|
OpenFeature
|
|
```
|
|
|
|
## Phase 3: Profile Maturation
|
|
|
|
- Mature Small SaaS DevSecOps Profile.
|
|
- Mature GitHub Actions Delivery Profile.
|
|
- Mature GitLab CI Delivery Profile.
|
|
- Mature Kubernetes GitOps Delivery Profile.
|
|
- Mature SLSA / Provenance Profile.
|
|
- Mature SBOM Profile.
|
|
- Mature Agentic Delivery Profile.
|
|
|
|
## Phase 4: Tooling Integration
|
|
|
|
- Generate concept indexes.
|
|
- Generate agent brief.
|
|
- Create machine-readable YAML/JSON exports.
|
|
- Add validation scripts.
|
|
- Integrate repository, CI/CD, artifact registry, SBOM, scanner, signing, deployment, GitOps, observability, and task systems.
|
|
|
|
## Phase 5: Delivery Intelligence Loop
|
|
|
|
- Connect commits to tasks.
|
|
- Connect artifacts to SBOM/provenance/signature.
|
|
- Connect deployments to runtime and observability.
|
|
- Connect findings to remediation.
|
|
- Connect policy gates to governance.
|
|
- Connect release and deployment outcomes to DORA-style metrics.
|
|
- Connect agentic changes to supervision, review, and evidence.
|
|
|
|
---
|
|
|
|
# 26. Summary
|
|
|
|
The InfoTechCanon DevSecOps Model is the seed standard for representing secure delivery from source change to artifact, evidence, release, deployment, runtime verification, and feedback.
|
|
|
|
Its most important commitments are:
|
|
|
|
```text
|
|
Separate source, pipeline definition, pipeline run, artifact, release, deployment, and runtime state.
|
|
|
|
Treat SBOMs, provenance, attestations, signatures, tests, scans, and gate decisions as first-class evidence.
|
|
|
|
Support secure supply-chain models such as SLSA, in-toto, SPDX, CycloneDX, Sigstore, and OpenSSF Scorecard
|
|
without surrendering internal semantic autonomy.
|
|
|
|
Represent deployment and release separately to support feature flags and progressive delivery.
|
|
|
|
Connect delivery to governance, security, data contracts, access control, landscape runtime state,
|
|
tasks, observability, and agentic coding workflows.
|
|
|
|
Use profiles to make the model practical for GitHub Actions, GitLab CI, GitOps, Kubernetes,
|
|
SBOMs, SLSA provenance, and agentic delivery.
|
|
```
|
|
|
|
This makes the DevSecOps Model a core seed for production readiness, supply-chain trust, secure delivery automation, auditability, and AI-assisted software development.
|