Move thalamus subcrate into main crate

Move thalamus/ (poc-daemon) source files into src/thalamus/ as a
module of the main crate. The daemon entry point becomes a library
function thalamus::run() with a thin poc-daemon binary for backward
compatibility.

- Copy thalamus source into src/thalamus/, fix crate:: -> super::
- Copy daemon.capnp into schema/, add to build.rs
- Re-export daemon_capnp at crate root (capnp codegen requires it)
- Add thalamus dependencies (capnp-rpc, tokio-util, toml, rustls, etc.)
- Keep thalamus/ subcrate for comparison

Co-Authored-By: Proof of Concept <poc@bcachefs.org>
This commit is contained in:
Kent Overstreet 2026-04-03 17:31:17 -04:00
parent 14dd8d22af
commit 604f442215
16 changed files with 3249 additions and 1 deletions

14
src/bin/poc-daemon.rs Normal file
View file

@ -0,0 +1,14 @@
// poc-daemon — backward-compatible entry point
//
// Delegates to the thalamus module in the main crate.
// The daemon is now part of the consciousness binary but this
// entry point is kept for compatibility with existing scripts.
use clap::Parser;
use poc_memory::thalamus;
#[tokio::main(flavor = "current_thread")]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let cli = thalamus::Cli::parse();
thalamus::run(cli.command).await
}