sara-core
Core library for SARA - Solution Architecture Requirement for Alignment.
This crate provides the business logic for managing architecture documents and requirements as an interconnected knowledge graph.
Features
- Knowledge Graph - Build and traverse a graph of requirements and architecture documents
- Markdown Parsing - Parse Markdown files with YAML frontmatter
- Multi-Repository Support - Aggregate documents from multiple Git repositories
- Validation - Detect broken references, orphaned items, circular dependencies, and duplicate identifiers
- Traceability Queries - Traverse upstream or downstream relationships
- Reports - Generate coverage reports and traceability matrices
- Version Comparison - Compare knowledge graphs between Git commits or branches
- Templates - Generate YAML frontmatter templates for new documents
Usage
Example
use Path;
use ;
Document Types
The library supports 9 document types forming a requirements hierarchy:
| Type | Description |
|---|---|
| Solution | Customer-facing solution |
| Use Case | Customer/market need |
| Scenario | Abstract system behavior |
| System Requirement | Quantifiable system-level need |
| System Architecture | Platform implementation |
| Hardware Requirement | Hardware-specific need |
| Software Requirement | Software-specific need |
| HW Detailed Design | Hardware implementation |
| SW Detailed Design | Software implementation |
Traceability Hierarchy
Solution
-> Use Case
-> Scenario
-> System Requirement
-> System Architecture
-> Hardware Requirement
| -> HW Detailed Design
-> Software Requirement
-> SW Detailed Design
License
Licensed under the Apache-2.0 License. See LICENSE for details.