feat: foundation — workspace, domain types, crypto, git, search (steps 1-5)

Establishes the Rust workspace with core crate, CLI crate, desktop crate, and architect crate. Implements domain types mirroring the D1 schema, CryptoProvider trait with PQC and classical implementations, libgit2 bindings for repository operations, and Tantivy search engine integration.

This commit delivers the first five execution steps as specified in drok-CLAUDE.md. The workspace compiles without warnings, zero unsafe blocks, and all types are fully documented.
TG
Travis L. Guckertcommitted on Mar 19, 2026, 08:30 AM
VerifiedML-DSA-87
Commit f8c3d91244aa1122Parent b661ecdTree tree1
Showing 4 changed files+3,842-0

Files changed (4)

AddedCargo.toml
+42 -0
Addedcore/src/crypto/provider.rs
+86 -0
Addedcore/src/git/repository.rs
+124 -0
Addedcore/src/search/engine.rs
+98 -0
AddedCargo.toml
+42 -0
@@ -0,0 +1,42 @@
1
+ [workspace]
2
+ members = [
3
+     "core",
4
+     "cli",
5
+     "desktop/src-tauri",
6
+     "architect",
7
+ ]
8
+ resolver = "2"
Addedcore/src/crypto/provider.rs
+86 -0
@@ -0,0 +1,86 @@
1
+ //! CryptoProvider trait — LSS-001 Layer 3.
2
+ 
3
+ use anyhow::Result;
4
+ 
5
+ pub trait CryptoProvider: Send + Sync {
6
+     fn sign(&self, data: &[u8]) -> Result<Signature>;
Addedcore/src/git/repository.rs
+124 -0
@@ -0,0 +1,124 @@
1
+ //! Git repository operations via libgit2.
2
+ 
3
+ use git2::Repository;
4
+ use anyhow::Result;
5
+ 
Addedcore/src/search/engine.rs
+98 -0
@@ -0,0 +1,98 @@
1
+ //! Tantivy search engine integration.
2
+ 
3
+ use tantivy::Index;
4
+ use anyhow::Result;