src/vela/vela-core/
├── Cargo.toml # workspace root with shared dependency versions
├── crates/
│ ├── vela-crypto/ # Cryptographic primitives (signing, hashing, key management)
│ ├── vela-flashpack/ # FlashPack (.fpk) update bundle format
│ ├── vela-attestation/ # Device identity attestation and session tokens
│ ├── vela-lifecycle/ # Update lifecycle state machine
│ ├── vela-slotmgr/ # Primary/Alternate dual-slot partition management
│ ├── vela-pulse/ # Health pulse status reporting
│ ├── vela-ffi/ # C ABI layer for C# interop
│ └── vela-core/ # Top-level orchestration crate
└── tests/ # Integration tests
Sub-Issue 1: Rust workspace scaffolding for vela-core
Workspace structure
Tech stack
tracing0.1.x (JSON output)tokio1.xthiserror2.x#![forbid(unsafe_code)]on all crates exceptvela-ffiCompleted
Cargo.tomlwith unified version management and complete dependency declarationsCargo.tomlfiles with precise version pinninglib.rsfiles with trait definitions, error types, and core data structuresvela-ffiC ABI exports (vela_init, vela_shutdown, vela_fpk_open, vela_fpk_close, vela_last_error, vela_clear_error)vela-coretop-level crate with structured JSON logging initialization and unifiedVelaErrortypeDependencies
Branch
feat/vela-ota