generated from eblume/project-template
Some checks failed
Build / validate (pull_request) Failing after 3s
Slice 6 (tech-spec §3, §6, §10). First async component — the per-device daemon in local mode. - `LockGuard`: exclusive advisory flock on a sidecar `<db>.lock`; a second acquire fails and releases on drop (the §3.1 lock handoff). - JSON-RPC (line-delimited): `rpc::dispatch` maps node/task/next/links/log methods onto the heph-core Store; `Daemon::serve` accepts unix-socket connections and runs dispatch on tokio's blocking pool behind an Arc<Mutex<LocalStore>> (DB never touches an async worker). - Synchronous `Client` for surfaces/CLI; `hephd` binary (clap) opens the store under lock and serves the default socket. - heph-core model/ranking types are now serde-(de)serializable; added node.tombstone + Store::tombstone_node. Tests: 2 lock unit tests + 5 real-socket e2e (round-trip with clock injection, next, error paths, recurring roll-forward over RPC, 8-client concurrency). 60 tests green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
37 lines
891 B
TOML
37 lines
891 B
TOML
[workspace]
|
|
resolver = "2"
|
|
members = ["crates/heph-core", "crates/hephd"]
|
|
|
|
[workspace.package]
|
|
edition = "2021"
|
|
version = "0.0.0"
|
|
license = "LicenseRef-Proprietary"
|
|
publish = false
|
|
authors = ["Erich Blume <blume.erich@gmail.com>"]
|
|
rust-version = "1.85"
|
|
|
|
[workspace.dependencies]
|
|
rusqlite = { version = "0.32", features = ["bundled"] }
|
|
ulid = "1"
|
|
thiserror = "2"
|
|
anyhow = "1"
|
|
pulldown-cmark = { version = "0.13", default-features = false }
|
|
rrule = "0.13"
|
|
chrono = { version = "0.4", default-features = false, features = ["clock"] }
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
tokio = { version = "1", features = [
|
|
"rt-multi-thread",
|
|
"net",
|
|
"io-util",
|
|
"macros",
|
|
"sync",
|
|
"time",
|
|
] }
|
|
tracing = "0.1"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
|
clap = { version = "4", features = ["derive"] }
|
|
fs4 = "0.12"
|
|
|
|
[profile.release]
|
|
lto = "thin"
|