Files
ruvnet--RuView/v2/crates/homecore-assist/Cargo.toml
T
ruv 26ad45fbdb feat(homecore-assist/p1): ADR-133 intent pipeline + ruflo runner stub (23 tests pass)
- Creates v2/crates/homecore-assist with intent, recognizer, handler,
  runner, and pipeline modules per ADR-133 §2 design
- RegexIntentRecognizer: HA-style named-capture-group pattern matching
- Built-in handlers: HassTurnOn, HassTurnOff, HassLightSet, HassNevermind,
  HassCancelAll — dispatch to homecore ServiceRegistry
- RufloRunner trait + NoopRunner P1 stub (Windows-safe subprocess teardown
  deferred to P2 per ADR-133 §Q3)
- AssistPipeline + default_pipeline() wires recognizer → handler → response
- SemanticIntentRecognizer P2 stub (ruvector HNSW deferred)
- 23 unit tests, 0 failures; cargo build -p homecore-assist clean

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-05-25 18:31:54 -04:00

48 lines
1.5 KiB
TOML

# HOMECORE-ASSIST — Voice/intent pipeline + ruflo agent bridge.
# Implements ADR-133 (HOMECORE-ASSIST), P1 scaffold:
# - IntentName, Intent, IntentResponse types
# - IntentRecognizer trait + RegexIntentRecognizer (P1)
# - IntentHandler trait + 5 built-in HA-mirroring handlers
# - RufloRunner trait + NoopRunner (P1 stub; real subprocess in P2)
# - AssistPipeline: utterance → recognizer → handler → response
[package]
name = "homecore-assist"
version = "0.1.0-alpha.0"
edition = "2021"
license = "MIT"
authors = ["rUv <ruv@ruv.net>", "HOMECORE Contributors"]
description = "HOMECORE voice/intent pipeline + ruflo agent bridge (ADR-133 P1 scaffold)"
repository = "https://github.com/ruvnet/RuView"
[lib]
name = "homecore_assist"
path = "src/lib.rs"
[dependencies]
# HOMECORE state machine — local path (ADR-127).
homecore = { path = "../homecore", version = "0.1.0-alpha.0" }
# Async runtime — same feature set as workspace.
# tokio::process is used by the P2 runner; included now so the trait compiles.
tokio = { version = "1", features = ["full"] }
# Async trait support for IntentRecognizer, IntentHandler, RufloRunner.
async-trait = "0.1"
# Error handling.
thiserror = "1"
# Serialisation (intents, slots, ruflo request/response payloads).
serde = { version = "1", features = ["derive"] }
serde_json = "1"
# Regex for P1 intent pattern matching.
regex = "1"
# Structured logging.
tracing = "0.1"
[dev-dependencies]
tokio = { version = "1", features = ["full", "test-util"] }