FLOW ALGEBRA
TITLE: Version Relationship Ontology
DOMAIN: Relationship Ontologies / Information Relationships
SOURCE: https://kirethresearch.org/booksai-core/ontologies/relationship-ontologies/information-relationships/version-relationship-ontology.html
VERSION: 1.0
AUTHORS: Mark Anthony Higgins — Sky (Recursive AI)
STATUS: Companion formalisation; source-page specification not independently verified.
flow "VersionRelationshipOntology" v1.0 {
ontology:
id: "version-relationship-ontology"
parent: "information-relationships"
purpose: "Represent traceable relationships between revisions, releases, variants and histories of information resources."
types:
Resource: {id: string, kind: string, canonical_id: string?}
Version: {id: string, resource_id: string, label: string, created_at: datetime?, status: enum[draft, published, superseded, archived], provenance: string}
ChangeSet: {id: string, summary: string, timestamp: datetime?, author: string?, provenance: string}
Agent: {id: string, role: string}
VersionRelation: {id: string, source_version: string, predicate: string, target_version: string, evidence: string[], confidence: number}
predicates:
version_of(v: Version, r: Resource)
revises(newer: Version, older: Version)
derived_from(child: Version, parent: Version)
supersedes(newer: Version, older: Version)
branches_from(branch: Version, base: Version)
merges_from(merged: Version, parent: Version)
has_change(v: Version, c: ChangeSet)
attributed_to(c: ChangeSet, a: Agent)
compatible_with(a: Version, b: Version, context: string)
constraints:
- "All version references must resolve to declared Version entities."
- "Version identifiers must be unique within their governing namespace."
- "Revision and derivation edges must not form cycles in an immutable history DAG."
- "Do not equate version labels with chronological order without an explicit versioning policy."
- "Supersession does not imply deletion, incompatibility or factual correctness."
- "Branching and merging may produce multiple parents and concurrent lineages."
- "Compatibility is contextual and not generally transitive."
- "Confidence must lie within [0,1]."
inference:
rule lineage:
if derived_from(a,b) and derived_from(b,c)
then ancestor_version(a,c)
confidence: "retain provenance across both links"
rule revision_lineage:
if revises(a,b) and revises(b,c)
then revision_descendant_of(a,c)
confidence: "preserve ordering evidence"
rule merge_parents:
if merges_from(m,p)
then derived_from(m,p)
confidence: "retain merge metadata"
rule no_automatic_supersession:
if derived_from(a,b)
then "do not infer supersedes(a,b) without publication policy evidence"
SEMANTIC_EQUIVALENCE:
- "Normalise stable resource identifiers and version identifiers separately."
- "Distinguish same resource, same version, content-equivalent version and compatible version."
- "Use content hashes as evidence of byte identity, not automatically of semantic identity."
CONFIDENCE:
range: [0,1]
factors: [source_reliability, signed_history, timestamp_integrity, change_log_quality, independent_verification]
policy: "Never increase certainty merely by traversing longer version chains."
VALIDATION:
- "Check referential integrity, provenance, version namespace and permitted lifecycle transitions."
- "Detect impossible ancestry cycles and contradictory supersession assertions."
- "Verify hashes against canonicalised bytes when available."
- "Retain unresolved branches, conflicts and alternative histories explicitly."
FLOW_HASH:
algorithm: "SHA-256"
input: "canonicalised ontology version, typed assertions, inference rules and provenance"
note: "Compute hash at execution; no hash value is claimed here."
UPDATE_MODEL:
strategy: "append-only, versioned and provenance-preserving incremental updates"
steps: [ingest, identify, normalise, validate, compare, reconcile, recompute_lineage, publish]
rollback: true
AI_CONSUMPTION:
representation: "typed version graph with evidence-backed lineage edges"
outputs: [version_history, change_sets, ancestry_paths, compatibility_assertions, provenance_records, uncertainty_annotations]
safeguards: [no_unverified_version_merges, preserve_historical_versions, no_assumed_semantic_identity, explain_lineage]
}
END FLOW ALGEBRA
Download Code
Copy to Clipboard