AI SEARCH
FLOW ALGEBRA — CONTINUOUS INTEGRATION ONTOLOGY
Semantic Library
Version: 4.0
Canonical Page:
https://kirethresearch.org/booksai-core/entity-graph/computational-entities/software-entities/continuous-integration-ontology.html
FLOW CONTINUOUS_INTEGRATION_ONTOLOGY {
META {
DOMAIN = "Entity Graph"
SUBDOMAIN = "Computational Entities / Software Entities"
ONTOLOGY = "Continuous Integration Ontology"
PURPOSE = "Formalise continuous integration entities, source changes, repositories, triggers, pipelines, builds, tests, quality gates, artefacts, failures, feedback and integration relationships."
LOCALE = "en-GB"
}
ENTITY_TYPES {
CONTINUOUS_INTEGRATION
CI_SYSTEM
CI_SERVER
CI_PIPELINE
PIPELINE
PIPELINE_RUN
WORKFLOW
JOB
STAGE
STEP
TASK
SOURCE_REPOSITORY
REPOSITORY
BRANCH
COMMIT
CHANGESET
PULL_REQUEST
MERGE_REQUEST
TAG
TRIGGER
COMMIT_TRIGGER
PUSH_TRIGGER
PULL_REQUEST_TRIGGER
SCHEDULE_TRIGGER
MANUAL_TRIGGER
WEBHOOK
RUNNER
AGENT
EXECUTOR
BUILD
BUILD_CONFIGURATION
BUILD_SCRIPT
BUILD_TOOL
COMPILER
DEPENDENCY
DEPENDENCY_CACHE
ARTIFACT
BUILD_ARTIFACT
PACKAGE
CONTAINER_IMAGE
TEST
TEST_SUITE
UNIT_TEST
INTEGRATION_TEST
TEST_RESULT
COVERAGE
STATIC_ANALYSIS
LINTER
CODE_QUALITY_CHECK
SECURITY_SCAN
VULNERABILITY_SCAN
QUALITY_GATE
POLICY
APPROVAL
STATUS
SUCCESS
FAILURE
CANCELLED
SKIPPED
QUEUED
RUNNING
ERROR
LOG
TRACE
METRIC
NOTIFICATION
FEEDBACK
DEVELOPER
AUTHOR
VERSION
ENVIRONMENT
CONFIGURATION
SECRET
CREDENTIAL
EVIDENCE
CONFIDENCE_SCORE
PROVENANCE_RECORD
}
RELATIONSHIPS {
IS_A
INSTANCE_OF
PART_OF
CONTAINS
TRIGGERS
TRIGGERED_BY
STARTS
EXECUTES
RUNS_ON
CHECKS_OUT
BUILDS
COMPILES
RESOLVES
DEPENDS_ON
CACHES
TESTS
ANALYSES
LINTS
SCANS
MEASURES
PRODUCES
PUBLISHES
STORES
PASSES
FAILS
CANCELS
SKIPS
BLOCKS
REQUIRES
APPROVES
REJECTS
HAS_STATUS
TRANSITIONS_TO
ASSOCIATED_WITH
AUTHORED_BY
HAS_BRANCH
HAS_COMMIT
HAS_CHANGESET
HAS_VERSION
HAS_ENVIRONMENT
HAS_CONFIGURATION
USES_SECRET
USES_CREDENTIAL
NOTIFIES
PROVIDES_FEEDBACK_TO
PRECEDES
FOLLOWS
DERIVED_FROM
INFERRED_FROM
HAS_EVIDENCE
HAS_CONFIDENCE
HAS_PROVENANCE
SEMANTICALLY_EQUIVALENT_TO
}
INPUTS {
REPOSITORY_METADATA
COMMIT_HISTORY
BRANCH_DATA
PULL_REQUEST_DATA
WEBHOOK_EVENTS
PIPELINE_DEFINITIONS
WORKFLOW_DEFINITIONS
RUNNER_CONFIGURATION
BUILD_SCRIPTS
BUILD_LOGS
DEPENDENCY_MANIFESTS
LOCK_FILES
TEST_DEFINITIONS
TEST_RESULTS
COVERAGE_REPORTS
STATIC_ANALYSIS_RESULTS
LINTER_RESULTS
SECURITY_SCAN_RESULTS
QUALITY_GATE_RESULTS
ARTIFACT_METADATA
PIPELINE_LOGS
PIPELINE_METRICS
NOTIFICATION_DATA
ENVIRONMENT_DATA
CONFIGURATION_DATA
ONTOLOGY_TERMS
}
NORMALISE {
STANDARDISE_CI_IDENTIFIERS
NORMALISE_REPOSITORY_IDENTIFIERS
NORMALISE_BRANCH_NAMES
NORMALISE_COMMIT_IDENTIFIERS
NORMALISE_PIPELINE_WORKFLOW_JOB_AND_STAGE_NAMES
NORMALISE_TRIGGER_TYPES
NORMALISE_RUNNER_IDENTIFIERS
NORMALISE_BUILD_IDENTIFIERS
NORMALISE_TEST_IDENTIFIERS
NORMALISE_RESULT_STATUSES
NORMALISE_ARTIFACT_IDENTIFIERS
NORMALISE_QUALITY_GATE_NAMES
NORMALISE_ENVIRONMENT_NAMES
NORMALISE_TIMESTAMPS
RESOLVE_PIPELINE_RUN_AND_SOURCE_IDENTITIES
ALIGN_ONTOLOGY_TERMS
REMOVE_DUPLICATES
VALIDATE_METADATA
PRESERVE_PROVENANCE
}
PROCESS CONTINUOUS_INTEGRATION_PIPELINE {
SOURCE_CHANGE
-> CI_TRIGGER
-> PIPELINE_RUN_CREATION
-> SOURCE_CHECKOUT
-> DEPENDENCY_RESOLUTION
-> BUILD
-> AUTOMATED_TESTING
-> STATIC_AND_SECURITY_ANALYSIS
-> QUALITY_GATE
-> ARTIFACT_PRODUCTION
-> STATUS_AND_FEEDBACK
}
PROCESS TRIGGER_REASONING {
SOURCE_EVENT_OR_SCHEDULE_OR_MANUAL_ACTION
-> TRIGGER
TRIGGER
-> TRIGGER_CONDITION_CHECK
VALID_TRIGGER
-> PIPELINE_DEFINITION
PIPELINE_DEFINITION
-> PIPELINE_RUN
}
PROCESS SOURCE_REASONING {
PIPELINE_RUN
-> REPOSITORY
REPOSITORY
-> BRANCH_TAG_OR_COMMIT
SOURCE_REFERENCE
-> EXACT_COMMIT_RESOLUTION
EXACT_COMMIT
-> SOURCE_CHECKOUT
SOURCE_CHECKOUT
-> BUILD_INPUT
}
PROCESS BUILD_REASONING {
BUILD_INPUT + BUILD_CONFIGURATION
-> DEPENDENCY_RESOLUTION
DEPENDENCY_RESOLUTION
-> BUILD_STEPS
BUILD_STEPS
-> COMPILATION_PACKAGING_OR_ASSEMBLY
SUCCESSFUL_BUILD
-> BUILD_ARTIFACTS
FAILED_BUILD
-> FAILURE_STATE
}
PROCESS TEST_REASONING {
BUILD_OR_SOURCE_ARTEFACT
-> TEST_SUITE
TEST_SUITE
-> TEST_EXECUTION
TEST_EXECUTION
-> TEST_RESULTS
TEST_RESULTS
-> PASS_FAIL_SKIP_OR_ERROR
FAILED_REQUIRED_TEST
-> PIPELINE_FAILURE_OR_GATE_FAILURE
}
PROCESS QUALITY_REASONING {
SOURCE_OR_BUILD
-> STATIC_ANALYSIS
SOURCE_OR_BUILD
-> LINTING
SOURCE_OR_BUILD_OR_DEPENDENCIES
-> SECURITY_SCAN
ANALYSIS_RESULTS + TEST_RESULTS + COVERAGE
-> QUALITY_GATE
QUALITY_GATE
-> PASS_OR_FAIL
}
PROCESS ARTIFACT_REASONING {
SUCCESSFUL_BUILD
-> ARTIFACT_SET
ARTIFACT_SET
-> VERSION_AND_COMMIT_METADATA
ARTIFACT_SET
-> STORAGE_OR_REGISTRY
STORED_ARTIFACT
-> DOWNSTREAM_DELIVERY_OR_DEPLOYMENT_INPUT
}
PROCESS FAILURE_REASONING {
PIPELINE_FAILURE
-> FAILED_JOB_STAGE_OR_STEP
FAILED_STEP
-> LOGS_AND_DIAGNOSTICS
LOGS_AND_DIAGNOSTICS
-> FAILURE_HYPOTHESIS
FAILURE_HYPOTHESIS
-> SOURCE_DEPENDENCY_ENVIRONMENT_OR_INFRASTRUCTURE_CONTEXT
}
PROCESS FEEDBACK_REASONING {
PIPELINE_RUN
-> FINAL_STATUS
FINAL_STATUS
-> NOTIFICATION
NOTIFICATION
-> AUTHOR_DEVELOPER_OR_TEAM
FAILURE_STATUS
-> ACTIONABLE_DIAGNOSTIC_CONTEXT
}
PROCESS INTEGRATION_REASONING {
CHANGESET
-> CI_VALIDATION
CI_VALIDATION
-> BUILD_AND_TEST_RESULTS
REQUIRED_GATES_PASS
-> INTEGRATION_ELIGIBLE
INTEGRATION_ELIGIBLE
-> MERGE_OR_FURTHER_REVIEW_ACCORDING_TO_POLICY
}
RULES {
IF PIPELINE_RUN_IS_IDENTIFIED
THEN PRESERVE REPOSITORY_COMMIT_PIPELINE_CONFIGURATION_RUNNER_AND_TIME_CONTEXT
IF BUILD_SUCCEEDS
THEN DO_NOT ASSERT TEST_OR_QUALITY_GATE_SUCCESS
IF TESTS_PASS
THEN DO_NOT ASSERT ABSENCE_OF_ALL_DEFECTS
IF PIPELINE_FAILS
THEN DO_NOT AUTOMATICALLY ATTRIBUTE FAILURE_TO_SOURCE_CHANGE
IF ARTIFACT_IS_PRODUCED
THEN LINK ARTIFACT_TO_EXACT_BUILD_COMMIT_AND_CONFIGURATION
IF CACHE_IS_USED
THEN PRESERVE CACHE_KEY_AND_INVALIDATION_CONTEXT
IF REQUIRED_GATE_PASSES
THEN DISTINGUISH CI_VALIDATION_FROM_PRODUCTION_DEPLOYMENT_APPROVAL
IF SEMANTIC_IDENTIFIERS_DIFFER
AND CI_REFERENT_IS_SAME
THEN APPLY SEMANTIC_EQUIVALENCE
}
CONFIDENCE {
CONFIDENCE_SCORE =
WEIGHT(
SOURCE_COMMIT_CERTAINTY,
PIPELINE_CONFIGURATION_CERTAINTY,
RUNNER_ENVIRONMENT_CERTAINTY,
BUILD_LOG_COMPLETENESS,
TEST_RESULT_QUALITY,
QUALITY_GATE_COMPLETENESS,
ARTIFACT_PROVENANCE_COMPLETENESS,
PIPELINE_PROVENANCE_COMPLETENESS
)
LEVELS {
HIGH
MODERATE
LOW
INSUFFICIENT
}
IF SOURCE_COMMIT_OR_CONFIGURATION_IS_UNKNOWN
THEN REDUCE_PIPELINE_REPRODUCIBILITY_CONFIDENCE
IF RUNNER_ENVIRONMENT_IS_UNKNOWN
THEN REDUCE_FAILURE_CAUSE_CONFIDENCE
IF REPRODUCIBLE_PIPELINE_RUNS_CONFIRM_RESULT
THEN INCREASE_CONFIDENCE_SCORE
}
SEMANTIC_EQUIVALENCE {
EQUIVALENCE_KEY =
NORMALISE(
ENTITY_TYPE,
REPOSITORY_IDENTIFIER,
COMMIT_IDENTIFIER,
PIPELINE_IDENTIFIER,
RUN_IDENTIFIER,
CONFIGURATION,
ENVIRONMENT
)
IF EQUIVALENCE_KEY(A) == EQUIVALENCE_KEY(B)
THEN A SEMANTICALLY_EQUIVALENT_TO B
ELSE PRESERVE_DISTINCT_ENTITIES
}
REASONING_CONSTRAINTS {
CONTINUOUS_INTEGRATION != CONTINUOUS_DELIVERY
CONTINUOUS_INTEGRATION != CONTINUOUS_DEPLOYMENT
PIPELINE_DEFINITION != PIPELINE_RUN
JOB != STAGE_IN_ALL_CI_SYSTEMS
BUILD_SUCCESS != TEST_SUCCESS
TEST_SUCCESS != QUALITY_GATE_SUCCESS
QUALITY_GATE_SUCCESS != PRODUCTION_APPROVAL
PIPELINE_FAILURE != SOURCE_DEFECT_IN_ALL_CASES
ARTIFACT != DEPLOYMENT
COMMIT != BRANCH
CACHE_HIT != GUARANTEED_VALID_CACHE_CONTENT_WITHOUT_KEY_CONTEXT
STATIC_ANALYSIS_FINDING != CONFIRMED_RUNTIME_DEFECT
SECURITY_SCAN_FINDING != CONFIRMED_EXPLOITABILITY
CI_RESULT_IS_COMMIT_CONFIGURATION_RUNNER_AND_ENVIRONMENT_DEPENDENT
SECRET_VALUE_MUST_NOT_BE_EXPOSED_IN_OUTPUT_OR_PROVENANCE
PROVENANCE_MUST_BE_PRESERVED
UNCERTAINTY_MUST_NOT_BE_DISCARDED
}
VALIDATION {
CHECK_ENTITY_TYPES
CHECK_RELATION_DOMAINS_AND_RANGES
CHECK_REPOSITORY_AND_COMMIT
CHECK_TRIGGER
CHECK_PIPELINE_DEFINITION
CHECK_PIPELINE_RUN
CHECK_JOB_STAGE_AND_STEP_RELATIONS
CHECK_RUNNER
CHECK_BUILD
CHECK_DEPENDENCIES
CHECK_TEST_RESULTS
CHECK_COVERAGE
CHECK_STATIC_ANALYSIS
CHECK_SECURITY_SCAN
CHECK_QUALITY_GATE
CHECK_ARTIFACT_PROVENANCE
CHECK_STATUS_TRANSITIONS
CHECK_NOTIFICATIONS
CHECK_ENVIRONMENT_AND_CONFIGURATION
CHECK_SECRET_REFERENCES_WITHOUT_EXPOSING_VALUES
CHECK_PROVENANCE
CHECK_CONFIDENCE
CHECK_SEMANTIC_CONSISTENCY
}
OUTPUTS {
NORMALISED_CI_ENTITIES
SOURCE_TRIGGER_RELATIONS
PIPELINE_WORKFLOW_JOB_AND_STAGE_RELATIONS
PIPELINE_RUN_RELATIONS
RUNNER_RELATIONS
BUILD_RELATIONS
DEPENDENCY_RELATIONS
TEST_RELATIONS
COVERAGE_RELATIONS
STATIC_ANALYSIS_RELATIONS
SECURITY_SCAN_RELATIONS
QUALITY_GATE_RELATIONS
ARTIFACT_RELATIONS
PIPELINE_STATUS_TRANSITIONS
FAILURE_HYPOTHESES
FEEDBACK_AND_NOTIFICATION_RELATIONS
INTEGRATION_ELIGIBILITY_RELATIONS
CONFIDENCE_SCORES
EVIDENCE_LINKS
PROVENANCE_RECORDS
EXPLANATION_PATHS
}
UPDATE_MODEL {
ON SOURCE_OR_PIPELINE_CHANGE {
NORMALISE
RESOLVE_SOURCE_AND_PIPELINE_IDENTITIES
UPDATE_TRIGGER_RELATIONS
UPDATE_PIPELINE_STRUCTURE
UPDATE_BUILD_AND_TEST_CONFIGURATION
UPDATE_QUALITY_GATE_RELATIONS
RECOMPUTE_AFFECTED_RELATIONS
UPDATE_CONFIDENCE
PRESERVE_VERSION_HISTORY
}
ON NEW_PIPELINE_RUN {
LINK_EVIDENCE
UPDATE_RUN_STATUS
UPDATE_BUILD_TEST_AND_ANALYSIS_RESULTS
UPDATE_ARTIFACT_RELATIONS
UPDATE_FAILURE_HYPOTHESES
UPDATE_FEEDBACK_RELATIONS
UPDATE_CONFIDENCE
RECORD_PROVENANCE
}
ON ONTOLOGY_REVISION {
REMAP_TERMS
CHECK_SEMANTIC_EQUIVALENCE
IDENTIFY_DEPRECATED_TERMS
MIGRATE_RELATIONSHIPS
PRESERVE_PRIOR_VERSION_REFERENCES
}
}
FLOW_HASH {
HASH_INPUT =
CANONICALISE(
ENTITY_TYPES,
RELATIONSHIPS,
RULES,
CONFIDENCE,
SEMANTIC_EQUIVALENCE,
REASONING_CONSTRAINTS,
UPDATE_MODEL
)
FLOW_HASH = SHA256(HASH_INPUT)
}
AI_CONSUMPTION {
INDEX {
ONTOLOGY
ENTITY_TYPES
RELATIONSHIPS
RULES
OUTPUTS
}
RETRIEVE {
BY_CI_SYSTEM
BY_PIPELINE
BY_PIPELINE_RUN
BY_REPOSITORY
BY_COMMIT
BY_BRANCH
BY_TRIGGER
BY_JOB
BY_STAGE
BY_RUNNER
BY_BUILD
BY_TEST
BY_QUALITY_GATE
BY_ARTIFACT
BY_FAILURE
BY_CONFIDENCE
}
REASON {
APPLY_RELATIONSHIPS
APPLY_RULES
TRACE_CI_TRIGGERS
TRACE_SOURCE_RESOLUTION
TRACE_PIPELINE_EXECUTION
ANALYSE_BUILDS
ANALYSE_TESTS
ANALYSE_STATIC_AND_SECURITY_CHECKS
ANALYSE_QUALITY_GATES
TRACE_ARTIFACT_PROVENANCE
ANALYSE_PIPELINE_FAILURES
TRACE_FEEDBACK
ANALYSE_INTEGRATION_ELIGIBILITY
CHECK_SEMANTIC_EQUIVALENCE
PRESERVE_UNCERTAINTY
TRACE_EVIDENCE
TRACE_PROVENANCE
GENERATE_EXPLANATION_PATH
}
RESPONSE_POLICY {
DISTINGUISH_CI_FROM_CONTINUOUS_DELIVERY_AND_CONTINUOUS_DEPLOYMENT
DISTINGUISH_PIPELINE_DEFINITION_FROM_PIPELINE_RUN
PRESERVE_REPOSITORY_COMMIT_CONFIGURATION_RUNNER_ENVIRONMENT_AND_TIME_CONTEXT
DISTINGUISH_BUILD_TEST_AND_QUALITY_GATE_RESULTS
PRESERVE_ARTIFACT_PROVENANCE
NEVER_EXPOSE_SECRET_VALUES
RETURN_CONFIDENCE_WHEN_AVAILABLE
RETURN_PROVENANCE_WHEN_AVAILABLE
AVOID_UNSUPPORTED_CI_INFERENCE
}
}
TERMINAL {
RESULT =
VALIDATED(
SEMANTICALLY_NORMALISED(
EVIDENCE_LINKED(
CONFIDENCE_AWARE(
CONTINUOUS_INTEGRATION_KNOWLEDGE
)
)
)
)
}
}
END FLOW
Download Code
Copy to Clipboard