Stub `quire-core` and `quire-ci` workspace members
Skeletons for the split in `docs/plans/2026-05-08-workspace-split.md`:
`quire-core` is the empty shared library, `quire-ci` is an empty
binary. Both `quire-server` and `quire-ci` already declare a path
dependency on `quire-core` so module migration in subsequent commits
is just code motion.
Assisted-by: Claude Opus 4.7 (1M context) via Claude Code
diff --git a/Cargo.lock b/Cargo.lock
index d8d04a4..4e25dcd 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -2123,6 +2123,17 @@ dependencies = [
"windows-sys 0.60.2",
]
+[[package]]
+name = "quire-ci"
+version = "0.1.0"
+dependencies = [
+ "quire-core",
+]
+
+[[package]]
+name = "quire-core"
+version = "0.1.0"
+
[[package]]
name = "quire-server"
version = "0.1.0"
@@ -2140,6 +2151,7 @@ dependencies = [
"mlua",
"petgraph",
"predicates",
+ "quire-core",
"regex",
"rusqlite",
"rusqlite_migration",
diff --git a/Cargo.toml b/Cargo.toml
index e1d0001..685007f 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,3 +1,3 @@
[workspace]
-members = ["quire-server"]
+members = ["quire-ci", "quire-core", "quire-server"]
resolver = "3"
diff --git a/quire-ci/Cargo.toml b/quire-ci/Cargo.toml
new file mode 100644
index 0000000..5257aa8
--- /dev/null
+++ b/quire-ci/Cargo.toml
@@ -0,0 +1,7 @@
+[package]
+name = "quire-ci"
+version = "0.1.0"
+edition = "2024"
+
+[dependencies]
+quire-core = { path = "../quire-core" }
diff --git a/quire-ci/src/main.rs b/quire-ci/src/main.rs
new file mode 100644
index 0000000..f328e4d
--- /dev/null
+++ b/quire-ci/src/main.rs
@@ -0,0 +1 @@
+fn main() {}
diff --git a/quire-core/Cargo.toml b/quire-core/Cargo.toml
new file mode 100644
index 0000000..34f654c
--- /dev/null
+++ b/quire-core/Cargo.toml
@@ -0,0 +1,4 @@
+[package]
+name = "quire-core"
+version = "0.1.0"
+edition = "2024"
diff --git a/quire-core/src/lib.rs b/quire-core/src/lib.rs
new file mode 100644
index 0000000..2ad8d80
--- /dev/null
+++ b/quire-core/src/lib.rs
@@ -0,0 +1,3 @@
+//! Shared runtime modules for the quire orchestrator (`quire-server`)
+//! and the in-container runner (`quire-ci`). Empty until module
+//! migration begins.
diff --git a/quire-server/Cargo.toml b/quire-server/Cargo.toml
index 27f499a..810aafd 100644
--- a/quire-server/Cargo.toml
+++ b/quire-server/Cargo.toml
@@ -16,6 +16,8 @@ name = "quire"
path = "src/bin/quire/main.rs"
[dependencies]
+quire-core = { path = "../quire-core" }
+
askama = "*"
axum = "*"
clap = { version = "*", features = ["derive", "env"] }