Versioning Architecture

Version 3.4 by Robert Schaub on 2025/12/16 21:49

Versioning Architecture

This diagram shows how each entity type maintains its version history with parent-child relationships.

Versioning Architecture Explanation

Version Chains:

  • Each entity type (Claim, Scenario, Evidence, Verdict) maintains independent version history
  • ParentVersionID creates directed acyclic graph (DAG) of changes
  • Arrow direction: Old version → New version (evolution over time)

Version Metadata (stored with every version):

  • VersionID: Unique identifier for this specific version
  • ParentVersionID: Links to previous version (null for v1)
  • AuthorType: Human, AI, or ExternalNode
  • Timestamp: Creation datetime (UTC)
  • JustificationText: Brief explanation of changes

Entity Relationships (dotted lines):

  • Claims have Scenarios: One claim can have multiple scenario interpretations
  • Scenarios use Evidence: Each scenario version references specific evidence versions
  • Scenarios produce Verdicts: Each scenario version gets verdict based on evidence

Branching Support:

  • In federated environments, versions can branch:
      - Node A: Version 1 → Version 2a
      - Node B: Version 1 → Version 2b (parallel branch)
  • Both branches preserved for conflict resolution

Immutability:

  • Versions never deleted, only superseded
  • Historical versions remain accessible
  • Complete audit trail for all changes