Skip to content

THCLab/oca-dag

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OCA DAG

Rust implementation of OCA DAG

oca-dag-rs — model your Overlays Capture Architecture as a versioned, traceable graph.

It lib for managing Directed Acyclic Graphs (DAGs) that represent the structure and evolution of Overlays Capture Architecture (OCA) bundles. It serves as a foundational layer for versioning, history tracking, and dependency management in systems built on the OCA model.

Features

  • DAG-based Model Management Represents OCA data (capture bases, overlays, bundles etc.) as a Directed Acyclic Graph, enabling clear and scalable relationships between versions and components.

  • Powerful Versioning System Every change to an OCA bundle—whether it's a new overlay, update, or branching—forms a new node in the DAG, supporting sophisticated version control.

  • Full History Tracking Enables tracking of the complete change history of an OCA bundle, including merges and branches/forks, akin to Git-like semantics.

  • Dependency Resolution Naturally handles dependencies between capture bases, overlays, and other OCA elements via parent-child relationships in the graph.

  • Current State Representation Maintains a clear representation of the current state of a bundle

  • Graph Construction Allows for the construction and updating of the DAG from a stream of input commands, effectively modeling the evolution of OCA bundles over time.

Use Cases

  • Versioning of OCA bundles
  • Collaborative OCA editing with conflict resolution
  • Auditing and provenance of overlays and capture bases
  • Programmatic traversal and analysis of OCA dependencies

Related Projects

  • oca-rs — Core implementation of the Overlays Capture Architecture
  • oca-ast — AST structures for OCA semantics

About

Rust implementation of OCA DAG

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages