daemon: background job orchestration for memory maintenance
Replace fragile cron+shell approach with `poc-memory daemon` — a single long-running process using jobkit for worker pool, status tracking, retry, cancellation, and resource pools. Jobs: - session-watcher: detects ended Claude sessions, triggers extraction - scheduler: runs daily decay, consolidation, knowledge loop, digests - health: periodic graph metrics check - All Sonnet API calls serialized through a ResourcePool(1) Status queryable via `poc-memory daemon status`, structured log via `poc-memory daemon log`. Phase 1: shells out to existing subcommands. Co-Authored-By: ProofOfConcept <poc@bcachefs.org>
This commit is contained in:
parent
c085679a0f
commit
e37f819dd2
4 changed files with 499 additions and 1 deletions
32
Cargo.lock
generated
32
Cargo.lock
generated
|
|
@ -755,6 +755,17 @@ version = "1.0.17"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2"
|
||||
|
||||
[[package]]
|
||||
name = "jobkit"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"crossbeam-deque",
|
||||
"log",
|
||||
"profiling",
|
||||
"serde",
|
||||
"serde_json",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "js-sys"
|
||||
version = "0.3.91"
|
||||
|
|
@ -1069,7 +1080,9 @@ dependencies = [
|
|||
"capnpc",
|
||||
"chrono",
|
||||
"faer",
|
||||
"jobkit",
|
||||
"libc",
|
||||
"log",
|
||||
"memmap2",
|
||||
"paste",
|
||||
"peg",
|
||||
|
|
@ -1125,6 +1138,25 @@ dependencies = [
|
|||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "profiling"
|
||||
version = "1.0.17"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3eb8486b569e12e2c32ad3e204dbaba5e4b5b216e9367044f25f1dba42341773"
|
||||
dependencies = [
|
||||
"profiling-procmacros",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "profiling-procmacros"
|
||||
version = "1.0.17"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "52717f9a02b6965224f95ca2a81e2e0c5c43baacd28ca057577988930b6c3d5b"
|
||||
dependencies = [
|
||||
"quote",
|
||||
"syn 2.0.117",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ptr_meta"
|
||||
version = "0.1.4"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue