mirror of
https://github.com/ruvnet/RuView.git
synced 2026-08-26 02:04:55 +00:00
Use mesh-aligned capture timestamps, remediate Rust advisories, harden the audit gate, and correct deployment claims. Includes the live MQTT subscriber lifetime fix verified against Mosquitto.
70 lines
2.2 KiB
TOML
70 lines
2.2 KiB
TOML
# homecore-recorder — SQLite state history + semantic search (ADR-132)
|
|
#
|
|
# P1 ships: SQLite structural persistence with HA-compat schema.
|
|
# P2 ships: ruvector-backed SemanticIndex — hash embeddings, HNSW search (ADR-132 P2, Iter-6 track C).
|
|
# P3 plan: replace hash embeddings with ruvector-attention sentence embeddings (dim → 384).
|
|
#
|
|
# Build: cargo build -p homecore-recorder --features ruvector
|
|
# Test (P2): cargo test -p homecore-recorder --features ruvector (20 tests)
|
|
# Test (P1): cargo test -p homecore-recorder --no-default-features (14 tests)
|
|
|
|
[package]
|
|
name = "homecore-recorder"
|
|
version = "0.1.0-alpha.0"
|
|
edition = "2021"
|
|
license = "MIT"
|
|
authors = ["rUv <ruv@ruv.net>", "HOMECORE Contributors"]
|
|
description = "SQLite state-history recorder for HOMECORE — HA-compat schema + ruvector semantic search (ADR-132)"
|
|
repository = "https://github.com/ruvnet/RuView"
|
|
|
|
[lib]
|
|
name = "homecore_recorder"
|
|
path = "src/lib.rs"
|
|
|
|
[features]
|
|
default = []
|
|
ruvector = ["dep:ruvector-core", "dep:sha2"]
|
|
|
|
[dependencies]
|
|
homecore = { path = "../homecore", version = "0.1.0-alpha.0" }
|
|
|
|
# Async runtime
|
|
tokio = { version = "1", features = ["sync", "rt", "rt-multi-thread", "time", "macros"] }
|
|
|
|
# SQLite-only SQLx crates, pinned in lockstep because their direct APIs are
|
|
# semver-exempt. Depending on the umbrella `sqlx` package also resolves its
|
|
# unused MySQL backend (and vulnerable `rsa`) into Cargo.lock.
|
|
sqlx-core = { version = "=0.8.6", default-features = false, features = [
|
|
"_rt-tokio",
|
|
"chrono",
|
|
"uuid",
|
|
] }
|
|
sqlx-sqlite = { version = "=0.8.6", default-features = false, features = [
|
|
"bundled",
|
|
"chrono",
|
|
"uuid",
|
|
] }
|
|
|
|
# Serialisation
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
|
|
# Time
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
|
|
# Error handling
|
|
thiserror = "1"
|
|
|
|
# Structured logging
|
|
tracing = "0.1"
|
|
|
|
# Trait objects for SemanticIndex
|
|
async-trait = "0.1"
|
|
|
|
# P2: ruvector-core HNSW index + sha2 for hash-based embeddings (ruvector feature)
|
|
ruvector-core = { version = "2.2.0", optional = true, default-features = false }
|
|
sha2 = { version = "0.10", optional = true }
|
|
|
|
[dev-dependencies]
|
|
tokio = { version = "1", features = ["full", "test-util"] }
|