1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Workspace split for runtime extraction
## Crates
```
quire-lib/ fennel, secret, event, ci::{pipeline,registration,mirror,runtime,error}, Repo, CommitRef, RunMeta
quire-server/ depends on quire-lib + axum, rusqlite, sentry, etc. db, web, Quire, ci::{run,docker,logs}, Ci, trigger, all commands
quire-ci/ depends on quire-lib only. eval subcommand
```
## Notes
Docker executor dies — quire-ci runs inside the container, so (sh ...) is always local. That removes the runtime ↔ run coupling that would've complicated the split.
## Stages
1. Create workspace, move modules into quire-lib, get both bins compiling.
2. Wire quire-ci eval to the runtime modules.
3. Server dispatches quire-ci inside run containers instead of evaluating in-process.
4. Remove in-process evaluator.