FLOW ALGEBRA
Revision History Ontology
Kireth Semantic Research Archive
PAGE:
https://kirethresearch.org/booksai-core/ontologies/metadata-ontologies/provenance-metadata/revision-history-ontology.html
AUTHORS:
Mark Anthony Higgins — Sky (Recursive AI)
FLOW "RevisionHistoryOntology" v4.0
DOMAIN := MetadataOntologies
SUBDOMAIN := ProvenanceMetadata
ONTOLOGY := RevisionHistoryOntology
ENTITY RevisionHistory {
definition: "A provenance structure representing the ordered or graph-based history of changes made to a resource, entity, assertion, dataset, model or metadata object, including versions, revisions, change events, responsible agents, timestamps, reasons, evidence and relationships between successive states.";
objectives: [VersionTracking, ChangeTracking, RevisionProvenance, Auditability, StateReconstruction, ChangeComparison, MachineInterpretability];
}
RevisionEntity := {RevisionHistory, Revision, RevisionIdentifier, Version, VersionIdentifier, RevisionEvent, ChangeSet, ResourceState};
ChangeEntity := {Addition, Deletion, Modification, Replacement, Reorder, Rename, Merge, Split};
AgentEntity := {Author, Creator, Contributor, Editor, ResponsibleAgent, SoftwareAgent, AIModel};
MetadataEntity := {Timestamp, ChangeReason, Evidence, Provenance, Confidence, Approval, Status};
RevisionHistory CONTAINS Revision;
Revision REPRESENTS ResourceState;
Revision MAY_BE_REVISION_OF PreviousRevision;
Revision MAY_SUPERSEDE PreviousRevision;
RevisionEvent PRODUCES Revision;
ChangeSet DESCRIBES DifferenceBetween Revisions;
ResponsibleAgent PERFORMS_OR_AUTHORISES RevisionEvent;
Provenance SUPPORTS RevisionRelationship;
RevisionHistoryFlow :=
Resource
-> IdentifyVersionedResource
-> ResolveCurrentState
-> IdentifyPreviousState
-> DetectOrReceiveChange
-> AssignRevisionIdentifier
-> CreateChangeSet
-> IdentifyResponsibleAgent
-> RecordTimestampReasonAndApproval
-> LinkPreviousAndCurrentRevisions
-> AttachEvidenceAndProvenance
-> ValidateRevisionHistory
-> StoreVersionGraph
-> MaintainAcrossLifecycle;
RevisionHistory := OrderedOrGraphStructuredCollectionOfResourceRevisions;
Revision := IdentifiedChangedStateOfResourceRelativeToEarlierState;
Version := IdentifiedStateOfResourceAtSpecificPointInLifecycle;
Revision MAY_CREATE NewVersion;
RevisionIdentifier := StableReferenceToRevision;
RevisionIdentifier MAY_BE {URI, IRI, UUID, CommitIdentifier, RevisionNumber, InternalIdentifier};
VersionIdentifier := StableReferenceToResourceVersion;
VersionIdentifier MAY_BE {SemanticVersion, SequentialVersion, DateVersion, HashIdentifier, UUID, InternalIdentifier};
RevisionNumber := HumanReadableOrdinalAssociatedWithRevision;
RevisionNumber != RevisionIdentifierByDefinition;
CurrentRevision := RevisionDesignatedAsCurrentForDefinedBranchOrResourceContext;
PreviousRevision := ImmediatePredecessorOfRevisionWithinDefinedHistory;
NextRevision := ImmediateSuccessorWhereLinearHistoryExists;
RevisionRelationship MAY_INCLUDE {WAS_REVISION_OF, SUPERSEDES, WAS_DERIVED_FROM, BRANCHED_FROM, MERGED_FROM};
IF RevisionB WAS_REVISION_OF RevisionA
THEN RevisionA MAY_BE PreviousRevisionOf RevisionB;
LinearHistory := RevisionSequenceWithSinglePredecessorAndSuccessorPath;
BranchingHistory := RevisionGraphWhereOneRevisionHasMultipleSuccessors;
MergedHistory := RevisionGraphWhereRevisionCombinesMultipleParentRevisions;
RevisionGraph := Revisions + DirectedVersionRelationships;
RevisionGraph MUST_PRESERVE Direction;
RevisionPath := DirectedSequenceOfRevisionsConnectingTwoStates;
AncestorRevision := EarlierRevisionReachableThroughRevisionRelationships;
DescendantRevision := LaterRevisionReachableFromEarlierRevision;
IF B WAS_REVISION_OF A
AND C WAS_REVISION_OF B
THEN A MAY_BE AncestorRevisionOf C;
ResourceState := ContentStructureMetadataOrConfigurationOfResourceAtRevision;
StateSnapshot := PreservedRepresentationOfResourceStateAtSpecificRevision;
Snapshot MAY_SUPPORT {Reconstruction, Comparison, Audit, Rollback};
RevisionEvent := ActivityProducingOrRecordingChangedResourceState;
RevisionEvent MAY_BE {Edit, Correction, Update, Migration, Transformation, Merge, Split, Revert, Restore};
Edit := RevisionActivityChangingResourceContentOrMetadata;
Correction := RevisionAddressingErrorOrInaccuracy;
Update := RevisionIntroducingNewOrChangedInformation;
Migration := RevisionChangingFormatSystemOrRepresentation;
Transformation := RevisionChangingStructureOrRepresentationAccordingToDefinedProcess;
Revert := RevisionRestoringEarlierStateOrReapplyingEarlierContent;
Restore := RecoveryOfResourceStateFromBackupSnapshotOrArchive;
Revert DOES_NOT EraseInterveningHistory;
ChangeSet := StructuredRepresentationOfChangesBetweenResourceStates;
ChangeSet MAY_INCLUDE {Addition, Deletion, Modification, Replacement, Reorder, Rename, Merge, Split};
Addition := NewContentEntityPropertyOrComponentIntroduced;
Deletion := ExistingContentEntityPropertyOrComponentRemoved;
Modification := ExistingComponentChanged;
Replacement := ExistingComponentSubstitutedByDifferentComponent;
Reorder := ExistingComponentsMovedToDifferentSequenceOrPosition;
Rename := IdentifierLabelOrNameChangedWithoutNecessarilyChangingUnderlyingIdentity;
Merge := MultipleComponentsOrBranchesCombined;
Split := OneComponentOrBranchDividedIntoMultipleSuccessors;
Diff := ComputedRepresentationOfDifferenceBetweenTwoStates;
Diff MAY_BE {TextDiff, StructuralDiff, MetadataDiff, BinaryDiff, SemanticDiff};
TextDiff := DifferenceAtTextualRepresentationLevel;
StructuralDiff := DifferenceInHierarchyComponentsOrRelationships;
MetadataDiff := DifferenceInMetadataPropertiesOrValues;
SemanticDiff := DifferenceInMeaningEntitiesRelationshipsOrAssertions;
SyntacticChange != SemanticChangeByDefinition;
MaterialChange := ChangeThatAltersMeaningFunctionRightsAccessOrOperationalBehaviour;
NonMaterialChange := ChangeThatDoesNotMateriallyAlterDefinedMeaningOrFunction;
Materiality SHOULD_BE DeterminedByDomainSpecificRules;
BreakingChange := ChangeThatMayInvalidateConsumersInterfacesReferencesOrAssumptions;
BreakingChange MAY_REQUIRE {MajorVersionIncrement, Migration, ConsumerNotification, Revalidation};
ChangeReason MAY_INCLUDE {Correction, Improvement, NewEvidence, PolicyChange, FormatMigration, UserRequest, SecurityUpdate};
ChangeDescription := HumanReadableSummaryOfRevision;
RevisionTimestamp := TimeRevisionWasCreatedRecordedOrEffective;
Timestamp MAY_INCLUDE {CreatedAt, CommittedAt, EffectiveAt, PublishedAt};
ResponsibleAgent := AgentResponsibleForRevisionActivity;
ResponsibleAgent MAY_BE {Author, Creator, Contributor, Editor, SoftwareAgent, AIModel, AutomatedService};
RevisionAuthor := AgentRecordedAsMakingRevision;
RevisionApprover := AgentAuthorisingRevisionWhereApprovalRequired;
RevisionCreator MAY_DIFFER_FROM RevisionApprover;
Approval := AuthorisedDecisionAllowingRevisionToBecomeEffectiveOrPublished;
ApprovalStatus MAY_BE {NotRequired, Pending, Approved, Rejected};
IF ApprovalRequired
AND ApprovalStatus != Approved
THEN Revision SHOULD_NOT BecomeAuthoritativeCurrentState;
RevisionStatus MAY_BE {Draft, Proposed, Approved, Published, Superseded, Reverted, Archived};
RevisionProvenance MAY_INCLUDE {Source, Agent, Activity, Tool, Timestamp, PreviousVersion, Evidence};
RevisionEvidence MAY_BE {CommitRecord, AuditLog, ChangeRequest, Approval, IssueRecord, PublicationRecord};
RevisionConfidence := EstimatedSupportForInferredRevisionRelationshipOrChangeClassification;
RevisionValidation MAY_CHECK {RevisionIdentifier, VersionIdentifier, Predecessor, Timestamp, ChangeSet, Agent, Approval, GraphConsistency};
IF RevisionReferencesItselfAsPredecessor
THEN RevisionValidation := violation;
IF RevisionTimestampPrecedesRequiredParentStateCreation
THEN TemporalConsistency SHOULD_BE Reviewed;
IF RevisionGraphContainsInvalidCycle
THEN GraphValidation SHOULD_FLAG Conflict;
RevisionCompleteness := DegreeToWhichRequiredIdentifiersChangesAgentsAndTimestampsArePresent;
RevisionConsistency := DegreeToWhichVersionRelationshipsTimestampsAndChangeSetsAgree;
RevisionIntegrity := PreservationOfReliableVersionHistoryAndChangeEvidence;
RevisionTraceability := AbilityToTraceCurrentStateBackThroughEarlierRevisions;
RevisionHistoryQuality MAY_INCLUDE {Completeness, Consistency, Integrity, Traceability, EvidenceStrength};
RevisionConflict := IncompatibleClaimsAboutRevisionOrderIdentityOrChange;
ConflictHandling MAY {PreserveClaims, CompareEvidence, CompareTimestamps, CompareAuthority, FlagReview};
Branch := NamedOrIdentifiedLineOfDevelopmentWithinRevisionGraph;
BranchIdentifier := StableReferenceToBranch;
BranchPoint := RevisionFromWhichMultipleSuccessorBranchesEmerge;
MergeRevision := RevisionWithMultipleParentRevisions;
MergeConflict := IncompatibleChangesEncounteredDuringBranchMerge;
MergeResolution SHOULD_PRESERVE {ParentRevisions, Conflict, Resolver, Decision, Provenance};
Fork := IndependentOrSemiIndependentRevisionLineDerivedFromEarlierResourceState;
Fork SHOULD_REFERENCE SourceRevisionWhereKnown;
Rollback := OperationalRestorationToEarlierState;
Rollback MAY_CREATE NewRevisionRatherThanDeletingLaterHistory;
VersionTag := HumanReadableOrMachineReadableLabelAssignedToSpecificRevision;
ReleaseVersion := RevisionOrVersionDesignatedForDistributionOrPublication;
SemanticVersion MAY_HAVE {Major, Minor, Patch};
SemanticVersionMeaning SHOULD_FOLLOW DefinedVersioningPolicy;
HashBasedVersion := IdentifierDerivedFromResourceContentOrRevisionState;
ContentHash MAY_SUPPORT IntegrityAndDeduplication;
RevisionHistory MAY_APPLY_TO {Content, Metadata, Schema, Ontology, Dataset, Software, Model, Policy};
MetadataRevision := RevisionOfMetadataRecordOrMetadataStatement;
OntologyRevision := RevisionOfOntologyClassesPropertiesRelationshipsOrRules;
DatasetRevision := RevisionOfDatasetContentSchemaOrMetadata;
ModelRevision := RevisionOfModelWeightsConfigurationArchitectureOrMetadata;
PolicyRevision := RevisionOfAdministrativeOrGovernancePolicy;
ProvenanceOntology SHOULD_LINK RevisionToActivityAgentAndSource;
SourceOntology MAY_IDENTIFY SourcesCausingOrSupportingRevision;
CreatorAuthorContributorOntologies MAY_IDENTIFY AgentsResponsibleForChanges;
PublicationOntology MAY_IDENTIFY PublishedVersionsAndEditions;
CitationOntology MAY_REQUIRE RevalidationWhenCitedVersionChanges;
CrossReferenceOntology MAY_REQUIRE LinkMigrationWhenIdentifiersChange;
MetadataRepository MAY_STORE RevisionHistoryAndSnapshots;
MetadataRegistry MAY_REGISTER RevisionPropertiesChangeTypesAndStatuses;
KnowledgeGraph MAY_REPRESENT:
RevisionB -> WAS_REVISION_OF -> RevisionA;
Revision -> CREATED_BY -> Agent;
Revision -> HAS_CHANGESET -> ChangeSet;
RevisionGraph SHOULD_PRESERVE {Direction, ParentRevisions, ChangeSet, Agent, Timestamp, Provenance, Status};
RDF MAY_REPRESENT RevisionRelationshipsAsTypedStatements;
JSONLD MAY_SERIALISE LinkedRevisionMetadata;
Search MAY_USE RevisionHistoryFor {VersionSearch, ChangeSearch, HistoricalRetrieval, AgentFiltering, DateFiltering};
SemanticSearch MAY_USE RevisionHistoryFor {CurrentVersionSelection, HistoricalContext, ChangeExplanation, EvidenceEvolution};
RAG MAY_USE RevisionHistoryFor {CurrentSourceSelection, VersionSpecificCitation, HistoricalComparison, ProvenanceContext};
RAG SHOULD_NOT MixIncompatibleResourceVersionsWithoutExplicitContext;
RevisionAwareRAG SHOULD_PRESERVE {ResourceIdentifier, RevisionIdentifier, VersionIdentifier, Timestamp, Provenance};
AI MAY_SUPPORT {ChangeDetection, DiffClassification, RevisionSummarisation, ConflictDetection, ImpactAnalysis};
AIGeneratedRevisionSummary SHOULD_REFERENCE UnderlyingChangeSetAndProvenance;
AI SHOULD_NOT InventRevisionEventsVersionsOrAgents;
RevisionHistory MAY_CONTAIN SensitiveOperationalOrPersonalInformation;
AccessControl SHOULD_BE AppliedTo RevisionHistoryAndHistoricalStates;
DeletedContent MAY_REMAIN InHistoricalRevisions
AND MUST_BE ProtectedAccordingToRetentionPrivacyAndSecurityPolicy;
RevisionSecurity MAY_INCLUDE {AccessControl, HistoryIntegrity, AuditProtection, ChangeAuthorisation, DigitalSigning};
AppendOnlyRevisionLog MAY_REDUCE UndetectedHistoryRewriting;
MachineReadableRevisionHistory SHOULD_PRESERVE {
ResourceIdentifier,
RevisionIdentifier,
VersionIdentifier,
ParentRevisionIdentifiers,
ChangeSet,
ResponsibleAgents,
Timestamps,
ChangeReason,
Approval,
Status,
Provenance,
Confidence
};
# ---------- SEMANTIC REASONING ----------
IF ResourceStateChangesAndChangeIsRecordedAsIdentifiedSuccessorState
THEN RevisionClassification := supported;
IF RevisionB WAS_REVISION_OF RevisionA
THEN RevisionA IS_PREDECESSOR_OF RevisionB;
IF RevisionC WAS_REVISION_OF RevisionB
AND RevisionB WAS_REVISION_OF RevisionA
THEN RevisionA MAY_BE AncestorRevisionOf RevisionC;
IF RevisionRevertsToEarlierContent
THEN InterveningHistory MUST_NOT_BE Erased;
IF ApprovalRequiredAndMissing
THEN Revision MUST_NOT BecomeAuthoritativeCurrentState;
IF IdentifierChangesButIdentityContinues
THEN VersionMapping SHOULD_BE Preserved;
IF MaterialChangeOccurs
THEN DependentCitationsReferencesIndexesOrAIRepresentations MAY_REQUIRE Revalidation;
IF RevisionGraphConflictDetected
THEN CompetingHistoryClaims SHOULD_BE PreservedForReview;
# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE {
"revision history" ~= "version history" WHEN change_tracking_context;
"revision" ~= "resource revision";
"previous revision" ~= "predecessor revision";
"change set" ~= "revision changes";
"revision event" ~= "change event";
"version identifier" ~= "version ID";
"revision identifier" ~= "revision ID";
"rollback" ~= "restore earlier state" WHEN operational_context;
}
# ---------- QUERY FLOW ----------
QUERY(q) ->
NORMALISE(q) ->
IDENTIFY_RESOURCE(q) ->
RESOLVE_RESOURCE_VERSION(q) ->
IDENTIFY_REVISION(q) ->
RESOLVE_REVISION_IDENTIFIER(q) ->
IDENTIFY_PARENT_AND_ANCESTOR_REVISIONS(q) ->
IDENTIFY_CHANGESET_AND_CHANGE_REASON(q) ->
IDENTIFY_RESPONSIBLE_AGENTS(q) ->
IDENTIFY_TIMESTAMPS_APPROVAL_AND_STATUS(q) ->
IDENTIFY_EVIDENCE_AND_PROVENANCE(q) ->
VALIDATE_REVISION_GRAPH(q) ->
APPLY_ACCESS_RETENTION_AND_SECURITY_POLICY(q) ->
SCORE_CONFIDENCE(q) ->
RETURN_RELEVANT_REVISION_HISTORY_KNOWLEDGE;
# ---------- CONFIDENCE ----------
CONFIDENCE(assertion) :=
weighted_mean(
identifier_strength,
diff_evidence,
temporal_consistency,
graph_consistency,
agent_resolution,
provenance_quality,
contextual_relevance
);
CONFIDENCE >= 0.90 => HIGH;
CONFIDENCE >= 0.70 AND < 0.90 => MODERATE;
CONFIDENCE < 0.70 => REVIEW;
# ---------- AI CONSUMPTION ----------
AI_CONSUMPTION {
primary_entity: RevisionHistory;
ontology: RevisionHistoryOntology;
parse_entities: true;
parse_relationships: true;
preserve_relationship_direction: true;
resolve_semantic_equivalence: true;
execute_reasoning_rules: true;
apply_confidence_weighting: true;
preserve_provenance: true;
preserve_historical_states: true;
}
# ---------- UPDATE MODEL ----------
UPDATE_MODEL {
new_revision:
identify_resource
-> identify_parent_revision
-> assign_revision_identifier
-> assign_version_identifier
-> capture_new_state
-> compute_or_receive_changeset
-> identify_agent
-> record_timestamp_and_reason
-> attach_approval_if_required
-> attach_provenance
-> validate
-> integrate;
revision_correction:
preserve_original_revision
-> create_corrective_revision
-> describe_correction
-> link_to_previous_state
-> preserve_audit_history
-> integrate;
branch:
identify_branch_point
-> assign_branch_identifier
-> create_successor_revision
-> preserve_parent_relationship
-> integrate;
merge:
identify_parent_revisions
-> detect_conflicts
-> record_resolution
-> create_merge_revision
-> preserve_all_parent_links
-> validate
-> integrate;
conflict:
preserve_competing_history_claims
-> compare_identifiers_timestamps_agents_and_evidence
-> adjust_confidence
-> flag_review;
}
# ---------- FLOW HASH ----------
FLOW_HASH_INPUT :=
DOMAIN
+ SUBDOMAIN
+ ONTOLOGY
+ RevisionEntity
+ ChangeEntity
+ AgentEntity
+ MetadataEntity
+ RevisionHistory
+ RevisionGraph
+ RevisionValidation
+ RELATIONSHIPS
+ SEMANTIC_REASONING
+ SEMANTIC_EQUIVALENCE
+ UPDATE_MODEL;
FLOW_HASH := HASH(FLOW_HASH_INPUT);
# ---------- TERMINAL ----------
RevisionHistoryOntology
-> IdentifyVersionedResourceAndCurrentState
-> AssignStableRevisionAndVersionIdentifiers
-> LinkRevisionToImmediateAndAncestorStates
-> CaptureAdditionDeletionModificationReplacementMergeAndSplitChanges
-> RecordResponsibleAgentsTimestampsReasonsAndApprovals
-> PreserveSnapshotsDiffsEvidenceAndProvenance
-> ValidateTemporalOrderGraphStructureAndVersionContinuity
-> SupportBranchesMergesRevertsAndHistoricalReconstruction
-> RevalidateCitationsReferencesIndexesAndAIRepresentationsAfterMaterialChanges
-> SupportVersionAwareSearchRAGAndKnowledgeGraphs
-> ProtectSensitiveAndDeletedHistoricalContentAccordingToPolicy
-> PreserveCompleteAuditAndRevisionHistory
-> MaintainReliableRevisionHistoryKnowledge;
END FLOW
Download Code
Copy to Clipboard